|
|
|
@ -1,8 +1,9 @@
|
|
|
|
|
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
|
|
|
|
|
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesCraftRouteService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesPartService;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.api.base.IMesProdCraftRouteService;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
|
|
|
|
|
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
|
|
|
|
|
import cn.estsh.i3plus.platform.common.util.MesConstWords;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
|
|
|
|
|
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
|
|
|
|
@ -12,9 +13,9 @@ import cn.estsh.i3plus.pojo.mes.bean.MesCraftRoute;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesProdCraftRoute;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesCraftRouteRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesProdRouteCfgRepository;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.repository.MesWorkCenterRepository;
|
|
|
|
|
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
|
|
|
|
|
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
|
|
|
|
|
import cn.estsh.impp.framework.boot.util.ValidatorBean;
|
|
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
@ -37,11 +38,13 @@ import java.util.Objects;
|
|
|
|
|
public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRoute> implements IMesProdCraftRouteService {
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesCraftRouteRepository mesCraftRouteRDao;
|
|
|
|
|
private IMesCraftRouteService mesCraftRouteService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesWorkCenterRepository mesWorkCenterRDao;
|
|
|
|
|
@Autowired
|
|
|
|
|
private IMesPartService mesPartService;
|
|
|
|
|
@Autowired
|
|
|
|
|
private MesProdRouteCfgRepository mesProdRouteCfgRepository;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void setPackQueryBean(MesProdCraftRoute bean, DdlPackBean packBean) {
|
|
|
|
@ -56,111 +59,19 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
|
|
|
|
|
@Override
|
|
|
|
|
protected void onInsertBean(MesProdCraftRoute item) {
|
|
|
|
|
// 数据校验
|
|
|
|
|
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteCode(), "工艺路线代码不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteName(), "工艺路线名称不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteType(), "工艺路线类型不能为空");
|
|
|
|
|
|
|
|
|
|
String partNo = item.getPartNo();
|
|
|
|
|
String pptCode = item.getPptCode();
|
|
|
|
|
String workCenterCode = item.getWorkCenterCode();
|
|
|
|
|
//校验产线
|
|
|
|
|
MesCraftRoute mesCraftRoute = mesCraftRouteRDao.getByProperty(
|
|
|
|
|
new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "craftRouteCode"},
|
|
|
|
|
new Object[]{item.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
|
|
|
|
|
CommonEnumUtil.IS_VAILD.VAILD.getValue(), item.getCraftRouteCode()});
|
|
|
|
|
if (null == mesCraftRoute) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】无效", item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode)) {//生产线维度配置 工艺路线类型必须与产线类型保持一致
|
|
|
|
|
//校验产线
|
|
|
|
|
MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(
|
|
|
|
|
new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "workCenterCode"},
|
|
|
|
|
new Object[]{item.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
|
|
|
|
|
CommonEnumUtil.IS_VAILD.VAILD.getValue(), item.getWorkCenterCode()});
|
|
|
|
|
if (null == mesWorkCenter) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("产线代码【%s】无效", item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (!Objects.equals(mesCraftRoute.getCraftRouteType(), mesWorkCenter.getCenterType())) {//todo 工作版本",notes = "使用: 生产线类型: 排序/非排序
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】工艺路线类型必须与产线类型保持一致,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
item.setAreaCode(mesWorkCenter.getAreaCode());
|
|
|
|
|
}
|
|
|
|
|
//20 非排序类型
|
|
|
|
|
if (item.getCraftRouteType().equals("20")) {
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {//零件维度配置 ①非排序类型的工艺路线直接跟物料关联,生产线与零件产品类型均不填
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode) || !StringUtil.isEmpty(pptCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】【零件维度配置】生产线与零件产品类型均不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
} else if (!StringUtil.isEmpty(pptCode)) {//零件产品类型维度配置 ①非排序类型的工艺路线直接跟零件产品类型关联,生产线与零件均不填
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode) || !StringUtil.isEmpty(partNo)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】【零件产品类型维度配置】生产线与零件均不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {//10 排序类型
|
|
|
|
|
if (StringUtil.isEmpty(workCenterCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】产线代码【%s】不能为空", item.getCraftRouteCode(), item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {//零件维度配置 -排序类型的工艺路线与生产线+零件关联,零件产品类型不填;
|
|
|
|
|
if (!StringUtil.isEmpty(pptCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【排序类型】的工艺路线与生产线+零件关联,零件产品类型不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
} else if (!StringUtil.isEmpty(pptCode)) {//零件产品类型维度配置 -排序类型的工艺路线与生产线+零件产品类型关联,零件不填
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】的工艺路线与生产线+零件产品类型关联,零件不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getCraftRouteCode(), "craftRouteCode", roadPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getCraftRouteName(), "craftRouteName", roadPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(item.getCraftRouteType(), "craftRouteType", roadPackBean);
|
|
|
|
|
boolean flg = baseRDao.isExitByHql(roadPackBean);
|
|
|
|
|
if (flg) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】已经存在,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
checkData(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
protected void onUpdateBean(MesProdCraftRoute item) {
|
|
|
|
|
// 数据校验
|
|
|
|
|
checkData(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkData(MesProdCraftRoute item) {
|
|
|
|
|
// 数据校验
|
|
|
|
|
ValidatorBean.checkNotNull(item.getOrganizeCode(), "工厂号不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteCode(), "工艺路线代码不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteName(), "工艺路线名称不能为空");
|
|
|
|
|
ValidatorBean.checkNotNull(item.getCraftRouteType(), "工艺路线类型不能为空");
|
|
|
|
@ -169,17 +80,7 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
|
|
|
|
|
String pptCode = item.getPptCode();
|
|
|
|
|
String workCenterCode = item.getWorkCenterCode();
|
|
|
|
|
//校验产线
|
|
|
|
|
MesCraftRoute mesCraftRoute = mesCraftRouteRDao.getByProperty(
|
|
|
|
|
new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_DELETED, MesConstWords.IS_VALID, "craftRouteCode"},
|
|
|
|
|
new Object[]{item.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
|
|
|
|
|
CommonEnumUtil.IS_VAILD.VAILD.getValue(), item.getCraftRouteCode()});
|
|
|
|
|
if (null == mesCraftRoute) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】无效", item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
MesCraftRoute mesCraftRoute = mesCraftRouteService.getMesCraftRouteByCode(item.getCraftRouteCode(), item.getOrganizeCode());
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode)) {//生产线维度配置 工艺路线类型必须与产线类型保持一致
|
|
|
|
|
//校验产线
|
|
|
|
|
MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(
|
|
|
|
@ -187,79 +88,59 @@ public class MesProdCraftRouteServiceImpl extends BaseMesService<MesProdCraftRou
|
|
|
|
|
new Object[]{item.getOrganizeCode(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(),
|
|
|
|
|
CommonEnumUtil.IS_VAILD.VAILD.getValue(), item.getWorkCenterCode()});
|
|
|
|
|
if (null == mesWorkCenter) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("产线代码【%s】无效", item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
MesException.throwMesBusiException("产线代码【%s】无效", item.getWorkCenterCode());
|
|
|
|
|
}
|
|
|
|
|
if (!Objects.equals(mesCraftRoute.getCraftRouteType(), mesWorkCenter.getCenterType())) {//todo 工作版本",notes = "使用: 生产线类型: 排序/非排序
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】工艺路线类型必须与产线类型保持一致,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
if (!Objects.equals(mesCraftRoute.getCraftRouteType(), mesWorkCenter.getCenterType())) {
|
|
|
|
|
MesException.throwMesBusiException("工艺路线代码【%s】工艺路线类型必须与产线类型保持一致,请检查数据", item.getCraftRouteCode());
|
|
|
|
|
}
|
|
|
|
|
item.setAreaCode(mesWorkCenter.getAreaCode());
|
|
|
|
|
}
|
|
|
|
|
//零件号&产型只能维护一个
|
|
|
|
|
if (!StringUtil.isEmpty(partNo) && !StringUtil.isEmpty(pptCode)) {
|
|
|
|
|
MesException.throwMesBusiException("工艺路线代码【%s】【%s】,零件与零件产品类型二选一维护,请检查数据", item.getCraftRouteCode(),MesExtEnumUtil.WORK_CENTER_TYPE.valueOfDescription(item.getCraftRouteType()));
|
|
|
|
|
}
|
|
|
|
|
//20 非排序类型
|
|
|
|
|
if (item.getCraftRouteType().equals("20")) {
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {//零件维度配置 ①非排序类型的工艺路线直接跟物料关联,生产线与零件产品类型均不填
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode) || !StringUtil.isEmpty(pptCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】【零件维度配置】生产线与零件产品类型均不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
} else if (!StringUtil.isEmpty(pptCode)) {//零件产品类型维度配置 ①非排序类型的工艺路线直接跟零件产品类型关联,生产线与零件均不填
|
|
|
|
|
if (!StringUtil.isEmpty(workCenterCode) || !StringUtil.isEmpty(partNo)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】【零件产品类型维度配置】生产线与零件均不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
if (MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue() == item.getCraftRouteType()) {
|
|
|
|
|
if(StringUtil.isEmpty(workCenterCode) && StringUtil.isEmpty(partNo) && StringUtil.isEmpty(pptCode)){
|
|
|
|
|
MesException.throwMesBusiException("工艺路线代码【%s】【%s】,请选择产线、零件、零件产品类,请检查数据", item.getCraftRouteCode(),MesExtEnumUtil.WORK_CENTER_TYPE.valueOfDescription(item.getCraftRouteType()));
|
|
|
|
|
}
|
|
|
|
|
} else {//10 排序类型
|
|
|
|
|
if (StringUtil.isEmpty(workCenterCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】产线代码【%s】不能为空", item.getCraftRouteCode(), item.getWorkCenterCode())
|
|
|
|
|
.build();
|
|
|
|
|
MesException.throwMesBusiException("工艺路线代码【%s】【%s】,产线代码不能为空,请检查数据", item.getCraftRouteCode(), MesExtEnumUtil.WORK_CENTER_TYPE.valueOfDescription(item.getCraftRouteType()));
|
|
|
|
|
}
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {//零件维度配置 -排序类型的工艺路线与生产线+零件关联,零件产品类型不填;
|
|
|
|
|
if (!StringUtil.isEmpty(pptCode)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【排序类型】的工艺路线与生产线+零件关联,零件产品类型不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
} else if (!StringUtil.isEmpty(pptCode)) {//零件产品类型维度配置 -排序类型的工艺路线与生产线+零件产品类型关联,零件不填
|
|
|
|
|
if (!StringUtil.isEmpty(partNo)) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】【非排序类型】的工艺路线与生产线+零件产品类型关联,零件不填,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
}
|
|
|
|
|
//校验产线是否绑定有流程
|
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(workCenterCode,"workCenterCode",packBean);
|
|
|
|
|
if(!mesProdRouteCfgRepository.isExitByHql(packBean)){
|
|
|
|
|
MesException.throwMesBusiException("【%s】【%s】未绑定流程信息,请检查数据", MesExtEnumUtil.WORK_CENTER_TYPE.valueOfDescription(item.getCraftRouteType()),workCenterCode);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//唯一性校验
|
|
|
|
|
checkExist(item);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void checkExist(MesProdCraftRoute item) {
|
|
|
|
|
DdlPackBean roadPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getCraftRouteCode(), "craftRouteCode", roadPackBean);
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getCraftRouteName(), "craftRouteName", roadPackBean);
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(item.getCraftRouteType(), "craftRouteType", roadPackBean);
|
|
|
|
|
if(StringUtil.isEmpty(item.getWorkCenterCode())){
|
|
|
|
|
DdlPreparedPack.getIsNull("workCenterCode", roadPackBean);
|
|
|
|
|
}else{
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", roadPackBean);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isEmpty(item.getPartNo())){
|
|
|
|
|
DdlPreparedPack.getIsNull("partNo", roadPackBean);
|
|
|
|
|
}else{
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getPartNo(), "partNo", roadPackBean);
|
|
|
|
|
}
|
|
|
|
|
if(StringUtils.isEmpty(item.getPptCode())){
|
|
|
|
|
DdlPreparedPack.getIsNull("pptCode", roadPackBean);
|
|
|
|
|
}else{
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(item.getPptCode(), "pptCode", roadPackBean);
|
|
|
|
|
}
|
|
|
|
|
DdlPreparedPack.getNumNOEqualPack(item.getId(), "id", roadPackBean);
|
|
|
|
|
boolean flg = baseRDao.isExitByHql(roadPackBean);
|
|
|
|
|
if (flg) {
|
|
|
|
|
throw ImppExceptionBuilder.newInstance()
|
|
|
|
|
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
|
|
|
|
|
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
|
|
|
|
|
.setErrorDetail("工艺路线代码【%s】已经存在,请检查数据", item.getCraftRouteCode())
|
|
|
|
|
.build();
|
|
|
|
|
if (baseRDao.isExitByHql(roadPackBean)) {
|
|
|
|
|
MesException.throwMesBusiException("工艺路线类型【%s】生产线代码【%s】物料编码【%s】物料产品类型【%s】数据已经存在,请检查数据",
|
|
|
|
|
MesExtEnumUtil.WORK_CENTER_TYPE.valueOfDescription(item.getCraftRouteType()), item.getWorkCenterCode(), item.getPartNo(), item.getPptCode());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|