diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPullDetailService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPullDetailService.java index 73d4df1..db94ac6 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPullDetailService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPartPullDetailService.java @@ -5,6 +5,7 @@ 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.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.MesPartPullDetail; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; import cn.estsh.impp.framework.boot.util.ValidatorBean; @@ -16,7 +17,51 @@ import java.util.List; @Service @Slf4j public class MesPartPullDetailService extends BaseMesService implements IMesPartPullDetailService { + @Override + protected void onInsertBean(MesPartPullDetail item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); + //43112 MES:PC拉动单页面问题 6.同一拉动组-根据工位代码&零件号做唯一校验 + if (!StringUtil.isEmpty(item.getWorkCellCode())&&!StringUtil.isEmpty(item.getPartNo())){ + DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPullCode(), "pullCode", partPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", partPackBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", partPackBean); + boolean flg = baseRDao.isExitByHql(partPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("拉动组【%s】零件号【%s】工位【%s】已经存在,请检查数据", + item.getPullCode(), item.getPartNo(), item.getWorkCellCode()) + .build(); + } + } + } + @Override + protected void onUpdateBean(MesPartPullDetail item) { + // 数据校验 + ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空"); +// ValidatorBean.checkNotNull(item.getPartNo(), "零件号不能为空"); + + //同一拉动组-根据工位代码&零件号做唯一校验 + if (!StringUtil.isEmpty(item.getWorkCellCode())&&!StringUtil.isEmpty(item.getPartNo())){ + DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); + DdlPreparedPack.getStringEqualPack(item.getPullCode(), "pullCode", partPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", partPackBean); + DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", partPackBean); + boolean flg = baseRDao.isExitByHql(partPackBean); + if (flg) { + throw ImppExceptionBuilder.newInstance() + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) + .setErrorDetail("拉动组【%s】零件号【%s】工位【%s】已经存在,请检查数据", + item.getPullCode(), item.getPartNo(), item.getWorkCellCode()) + .build(); + } + } + } protected void setPackQueryBean(MesPartPullDetail bean, DdlPackBean packBean) { DdlPreparedPack.getStringLikerPack(bean.getPullCode(), "pullCode", packBean); DdlPreparedPack.getStringLikerPack(bean.getWorkCellCode(), "workCellCode", packBean);