diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java index 2b6e648..926c6f1 100644 --- a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesEquipmentVariableService.java @@ -1,9 +1,10 @@ package cn.estsh.i3plus.ext.mes.api.base; -import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentSpotCheckDetail; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; +import io.swagger.annotations.ApiModelProperty; import java.util.List; +import java.util.Map; /** * @Description : SAP生产计划 @@ -14,5 +15,8 @@ import java.util.List; **/ public interface IMesEquipmentVariableService extends IBaseMesService { + @ApiModelProperty("设备变量导入") + void addMesEquipmentVariable(List> mapList, String equipmentCode, String userName, String organizeCode); + List validateReturnImport(List beanList); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java index 658e7d1..709ad27 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesEquipmentVariableController.java @@ -1,14 +1,55 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.base; +import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentVariableService; +import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; +import cn.estsh.i3plus.ext.mes.apiservice.utils.CsvImportUtil; import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable; +import cn.estsh.impp.framework.boot.auth.AuthUtil; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ResultBean; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; +import java.util.Map; @Api(description = "设备变量属性") @RestController @RequestMapping(MesCommonConstant.MES_YANFEN + "/mesEquipmentVariable") public class MesEquipmentVariableController extends BaseMesController { + @Autowired + private IMesEquipmentVariableService mesEquipmentVariableService; + + @PostMapping(value = "/import-csv") + @ApiOperation(value = "导入数据CSV") + public ResultBean importMesWorkOrderExcel(@RequestParam("file") MultipartFile file, @RequestParam("equipmentCode") String equipmentCode) { + try { + //导入csv文件 + List> mapList = CsvImportUtil.csvImports(file); + if (CollectionUtils.isEmpty(mapList)) { + MesException.throwMesBusiException("导入数据不存在"); + } + String userName = AuthUtil.getSessionUser().getUserName(); + String organizeCode = AuthUtil.getOrganize().getOrganizeCode(); + mesEquipmentVariableService.addMesEquipmentVariable(mapList, equipmentCode, userName, organizeCode); + + return ResultBean.success("导入成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()); + } catch (ImppBusiException e) { + return ResultBean.fail(e); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java index c95feda..a468822 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesEquipmentVariableService.java @@ -1,7 +1,10 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentVariableService; +import cn.estsh.i3plus.ext.mes.api.base.IMesEquitmentService; import cn.estsh.i3plus.ext.mes.apiservice.schedulejob.MesWorkOrderProcessCcscTaskToSapJob; +import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; +import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; @@ -10,6 +13,7 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository; import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository; +import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; @@ -18,7 +22,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.List; +import java.util.*; /** * @Description :SAP生产计划 @@ -59,6 +63,32 @@ public class MesEquipmentVariableService extends BaseMesService> mapList,String equipmentCode, String userName, String organizeCode) { + MesEquipment mesEquipment = getMesEquipment(organizeCode,equipmentCode); + List mesEquipmentVariables = new ArrayList<>(); + for (Map objectMap : mapList) { + List objects = Arrays.asList(objectMap.values().toArray()); + try { + MesEquipmentVariable mesEquipmentVariable = new MesEquipmentVariable(); + mesEquipmentVariable.setEquipId(mesEquipment.getEquipId()); + mesEquipmentVariable.setEquipmentCode(mesEquipment.getEquipmentCode()); + mesEquipmentVariable.setTagName(String.valueOf(objects.get(0))); + mesEquipmentVariable.setTagAddress(String.valueOf(objects.get(1))); + mesEquipmentVariable.setVariableDataType(MesExtEnumUtil.VARIABLE_DATA_TYPE.descriptionOfValue(String.valueOf(objects.get(2)))); + mesEquipmentVariable.setVariableType(Integer.parseInt(objects.get(3) + "")); + mesEquipmentVariable.setReadWriteFlag(MesExtEnumUtil.READ_WRITE_FLAG.descriptionOfValue(String.valueOf(objects.get(4)))); + mesEquipmentVariable.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(mesEquipmentVariable, userName); + mesEquipmentVariables.add(mesEquipmentVariable); + } catch (NumberFormatException e) { + log.info("设备变量导入异常:" + objects); + } + } + insertBatch(mesEquipmentVariables); + } + @Override public List validateReturnImport(List beanList) { @@ -72,20 +102,21 @@ public class MesEquipmentVariableService extends BaseMesService List csvImports(MultipartFile file, Class dbClass) { + public static List> csvImports(MultipartFile file) { //2. 进行配置 CsvReadConfig csvReadConfig = new CsvReadConfig(); // 是否跳过空白行 @@ -35,7 +34,7 @@ public class CsvImportUtil { } mapList.add(map); } - return BeanMapUtils.mapToBean(mapList, dbClass); + return mapList; } /**