tags/yfai-mes-ext-v1.0
王杰 10 months ago
commit 741ef4d549

@ -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<MesEquipmentVariable> {
@ApiModelProperty("设备变量导入")
void addMesEquipmentVariable(List<Map<String, Object>> mapList, String equipmentCode, String userName, String organizeCode);
List<MesEquipmentVariable> validateReturnImport(List<MesEquipmentVariable> beanList);
}

@ -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<MesEquipmentVariable> {
@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<Map<String, Object>> 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);
}
}
}

@ -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<MesEquipmentVari
// }
}
}
@Override
public void addMesEquipmentVariable(List<Map<String, Object>> mapList,String equipmentCode, String userName, String organizeCode) {
MesEquipment mesEquipment = getMesEquipment(organizeCode,equipmentCode);
List<MesEquipmentVariable> mesEquipmentVariables = new ArrayList<>();
for (Map<String, Object> objectMap : mapList) {
List<Object> 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<MesEquipmentVariable> validateReturnImport(List<MesEquipmentVariable> beanList) {
@ -72,20 +102,21 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
}
ValidatorBean.checkNotNull(item.getEquipmentCode(), "设备代码不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getEquipmentCode(), "equipmentCode", seriesPackBean);
MesEquipment itemFlg = equipmentRepository.getByProperty(seriesPackBean);
if (StringUtil.isEmpty(itemFlg)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】设备代码不存在请检查数据", item.getEquipmentCode())
.build();
}
MesEquipment itemFlg = getMesEquipment(item.getOrganizeCode(),item.getEquipmentCode());
item.setEquipId(itemFlg.getEquipId());
i++;
}
return beanList;
}
private MesEquipment getMesEquipment(String organizeCode,String equipmentCode) {
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", seriesPackBean);
MesEquipment mesEquipment = equipmentRepository.getByProperty(seriesPackBean);
if(Objects.isNull(mesEquipment)){
MesException.throwMesBusiException("设备代码【%s】信息不存在",equipmentCode);
}
return mesEquipment;
}
}

@ -1,6 +1,5 @@
package cn.estsh.i3plus.ext.mes.apiservice.utils;
import cn.estsh.i3plus.mes.apiservice.util.BeanMapUtils;
import cn.hutool.core.text.csv.*;
import cn.hutool.core.util.CharsetUtil;
import lombok.extern.slf4j.Slf4j;
@ -16,7 +15,7 @@ import java.util.Map;
public class CsvImportUtil {
// 读取csv中的数据
public static <T> List<T> csvImports(MultipartFile file, Class<T> dbClass) {
public static List<Map<String, Object>> 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;
}
/**

Loading…
Cancel
Save