diff --git a/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesItemPartErrorPreventionService.java b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesItemPartErrorPreventionService.java new file mode 100644 index 0000000..ade96d1 --- /dev/null +++ b/modules/i3plus-ext-mes-api/src/main/java/cn/estsh/i3plus/ext/mes/api/base/IMesItemPartErrorPreventionService.java @@ -0,0 +1,14 @@ +package cn.estsh.i3plus.ext.mes.api.base; + +import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig; +import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention; + +/** + * @Description: + * @CreateDate 2024/04/16 + * @Author mingliang.li + */ +public interface IMesItemPartErrorPreventionService extends IBaseMesService { + + +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesItemPartErrorPreventionController.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesItemPartErrorPreventionController.java new file mode 100644 index 0000000..e9e40a5 --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/controller/base/MesItemPartErrorPreventionController.java @@ -0,0 +1,13 @@ +package cn.estsh.i3plus.ext.mes.apiservice.controller.base; + +import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.mes.bean.MesDefectAlarmConfig; +import cn.estsh.i3plus.pojo.mes.bean.MesItemPartErrorPrevention; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesItemPartErrorPrevention") + +public class MesItemPartErrorPreventionController extends BaseMesController{ +} diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesItemPartErrorPreventionService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesItemPartErrorPreventionService.java new file mode 100644 index 0000000..190f51e --- /dev/null +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesItemPartErrorPreventionService.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; + +import cn.estsh.i3plus.ext.mes.api.base.IMesItemPartErrorPreventionService; +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.MesItemPartErrorPrevention; +import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; +import cn.estsh.impp.framework.boot.util.ValidatorBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class MesItemPartErrorPreventionService extends BaseMesService implements IMesItemPartErrorPreventionService { + + + protected void onInsertBean(MesItemPartErrorPrevention item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getBarrelBarcode(), "料桶条码不能为空"); + + DdlPackBean errorPrePackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getBarrelBarcode(), "barrelBarcode", errorPrePackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", errorPrePackBean); + boolean flg = baseRDao.isExitByHql(errorPrePackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】料桶条码【%s】零件号已经存在,请检查数据", item.getBarrelBarcode(), item.getPartNo()) + .build(); + } + + } + + protected void onUpdateBean(MesItemPartErrorPrevention item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getBarrelBarcode(), "料桶条码不能为空"); + DdlPackBean errorPrePackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getBarrelBarcode(), "barrelBarcode", errorPrePackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", errorPrePackBean); + DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", errorPrePackBean); + boolean flg = baseRDao.isExitByHql(errorPrePackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("【%s】料桶条码【%s】零件号已经存在,请检查数据", item.getBarrelBarcode(), item.getPartNo()) + .build(); + } + } + + protected void setPackQueryBean(MesItemPartErrorPrevention bean, DdlPackBean packBean) { + DdlPreparedPack.getStringLikerPack(bean.getBarrelBarcode(), "barrelBarcode", packBean); + DdlPreparedPack.getStringEqualPack(bean.getPartNo(), "partNo", packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean); + DdlPreparedPack.getStringLikerPack(bean.getLot(), "lot", packBean); + } + +}