diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTypeDefectService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTypeDefectService.java index 53f151c..67cdff4 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTypeDefectService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartTypeDefectService.java @@ -5,10 +5,16 @@ import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesDefectType; +import cn.estsh.i3plus.pojo.mes.bean.MesPartType; import cn.estsh.i3plus.pojo.mes.bean.MesPartTypeDefect; +import cn.estsh.i3plus.pojo.mes.repository.MesDefectTypeRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartRepository; +import cn.estsh.i3plus.pojo.mes.repository.MesPartTypeRepository; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @@ -17,6 +23,11 @@ import java.util.List; @Slf4j public class MesPartTypeDefectService extends BaseMesService implements IBaseMesService { + @Autowired + private MesPartTypeRepository partTypeRepository; + + @Autowired + private MesDefectTypeRepository defectTypeRepository; @Override protected void setPackQueryBean(MesPartTypeDefect bean, DdlPackBean packBean) { @@ -87,4 +98,52 @@ public class MesPartTypeDefectService extends BaseMesService } } } + + @Override + public List validateReturnImport(List beanList) { + + for (MesPartTypeDefect item : beanList) { + // 数据校验 + ValidatorBean.checkNotNull(item.getDefectTypeCode(), "缺陷类型不能为空"); + ValidatorBean.checkNotNull(item.getPartTypeCode(), "零件类型不能为空"); + + DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", roadPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartTypeCode(), "partTypeCode", roadPackBean); + + boolean flg = baseRDao.isExitByHql(roadPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("缺陷类型【%s】零件类型【%s】已经存在,请检查数据", item.getDefectTypeCode(), item.getPartTypeCode()) + .build(); + } + + DdlPackBean partTypePackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPartTypeCode(), "partTypeCode", partTypePackBean); + MesPartType partType = partTypeRepository.getByProperty(partTypePackBean); + if (partType == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("零件类型【%s】不存在,请检查数据", item.getPartTypeCode()) + .build(); + } + item.setPartTypeName(partType.getPartTypeName()); + + DdlPackBean defectTypePackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getDefectTypeCode(), "defectTypeCode", defectTypePackBean); + MesDefectType defectType = defectTypeRepository.getByProperty(defectTypePackBean); + if (defectType == null) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("缺陷类型【%s】不存在,请检查数据", item.getDefectTypeCode()) + .build(); + } + item.setDefectTypeName(defectType.getDefectTypeName()); + } + return beanList; + } }