|
|
|
@ -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<MesPartPullDetail> 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);
|
|
|
|
|