新增时,需判定唯一,唯一条件,区域+产线+班次代码

tags/yfai-mes-ext-v1.0
LML丶 12 months ago
parent da8a39da4a
commit 270b4941ea

@ -1,10 +1,13 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesShiftService;
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.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesShift;
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;
@ -20,4 +23,54 @@ public class MesShiftService extends BaseMesService<MesShift> implements IMesShi
DdlPreparedPack.getStringLikerPack(bean.getShiftName(), "shiftName", packBean);
}
protected void onInsertBean(MesShift item) {
// 数据校验
ValidatorBean.checkNotNull(item.getAreaCode(), "区域不能为空");
ValidatorBean.checkNotNull(item.getShiftCode(), "班次代码不能为空");
ValidatorBean.checkNotNull(item.getShiftName(), "班次名称不能为空");
ValidatorBean.checkNotNull(item.getStartTime(), "开始时间不能为空");
ValidatorBean.checkNotNull(item.getEndTime(), "结束时间不能为空");
ValidatorBean.checkNotNull(item.getWorkerQty(), "作业人数不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】区域【%s】产线【%s】班次代码已经存在请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode())
.build();
}
}
protected void onUpdateBean(MesShift item) {
// 数据校验
ValidatorBean.checkNotNull(item.getAreaCode(), "区域不能为空");
ValidatorBean.checkNotNull(item.getShiftCode(), "班次代码不能为空");
ValidatorBean.checkNotNull(item.getShiftName(), "班次名称不能为空");
ValidatorBean.checkNotNull(item.getStartTime(), "开始时间不能为空");
ValidatorBean.checkNotNull(item.getEndTime(), "结束时间不能为空");
ValidatorBean.checkNotNull(item.getWorkerQty(), "作业人数不能为空");
DdlPackBean cellBinPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getAreaCode(), "areaCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getShiftCode(), "shiftCode", cellBinPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", cellBinPackBean);
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", cellBinPackBean);
boolean flg = baseRDao.isExitByHql(cellBinPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("【%s】区域【%s】产线【%s】班次代码已经存在请检查数据", item.getAreaCode(), item.getWorkCenterCode(), item.getShiftCode())
.build();
}
}
}

Loading…
Cancel
Save