排序产品加工规则

tags/yfai-mes-ext-v2.3
王杰 7 months ago
parent c7145fa51b
commit 3c10e80081

@ -1,6 +1,7 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesProdRuleSortCfgService; import cn.estsh.i3plus.ext.mes.api.base.IMesProdRuleSortCfgService;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum; import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
@ -18,10 +19,12 @@ import java.util.List;
public class MesProdRuleSortCfgService extends BaseMesService<MesProdRuleSortCfg> implements IMesProdRuleSortCfgService { public class MesProdRuleSortCfgService extends BaseMesService<MesProdRuleSortCfg> implements IMesProdRuleSortCfgService {
protected void setPackQueryBean(MesProdRuleSortCfg bean, DdlPackBean packBean) { protected void setPackQueryBean(MesProdRuleSortCfg bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), "workCenterCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean);
DdlPreparedPack.getStringLikerPack(bean.getAssemblyPartNo(), "assemblyPartNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getWorkCellCode(), MesExtConstWords.WORK_CELL_CODE, packBean);
DdlPreparedPack.getStringLikerPack(bean.getAssemblyPartName(), "assemblyPartName", packBean); DdlPreparedPack.getStringEqualPack(bean.getProcessCode(), MesExtConstWords.PROCESS_CODE, packBean);
DdlPreparedPack.getStringEqualPack(bean.getCraftCode(), MesExtConstWords.CRAFT_CODE, packBean);
DdlPreparedPack.getStringLikerPack(bean.getAssemblyPartNo(), MesExtConstWords.ASSEMBLY_PART_NO, packBean);
DdlPreparedPack.getStringLikerPack(bean.getAssemblyPartName(), MesExtConstWords.ASSEMBLY_PART_NAME, packBean);
} }
@Override @Override
@ -34,52 +37,27 @@ public class MesProdRuleSortCfgService extends BaseMesService<MesProdRuleSortCfg
} }
protected void onInsertBean(MesProdRuleSortCfg item) { protected void onInsertBean(MesProdRuleSortCfg item) {
// 数据校验
//ValidatorBean.checkNotNull(item.getInPartNo(), "进件零件号不能为空");
ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空"); ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCode(), "工位不能为空"); ValidatorBean.checkNotNull(item.getWorkCellCode(), "工位不能为空");
ValidatorBean.checkNotNull(item.getProcessCode(), "工序不能为空");
ValidatorBean.checkNotNull(item.getCraftCode(), "工艺不能为空");
ValidatorBean.checkNotNull(item.getEquipmentCode(), "设备不能为空");
ValidatorBean.checkNotNull(item.getAssemblyPartNo(), "零件号不能为空"); ValidatorBean.checkNotNull(item.getAssemblyPartNo(), "零件号不能为空");
ValidatorBean.checkNotNull(item.getProcessSeq(), "工艺顺序号不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); ValidatorBean.checkNotNull(item.getRouteSeq(), "装备顺序号不能为空");
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", seriesPackBean); ValidatorBean.checkNotNull(item.getMatchType(), "装配件条码确认方式不能为空");
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", seriesPackBean); ValidatorBean.checkNotNull(item.getReportType(), "汇报方式不能为空");
DdlPreparedPack.getStringEqualPack(item.getAssemblyPartNo(), "assemblyPartNo", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("该排序加工规则已存在,请检查数据")
.build();
} }
protected void onUpdateBean(MesProdRuleSortCfg item) {
onInsertBean(item);
} }
@Override @Override
public void validateImport(List<MesProdRuleSortCfg> beanList) { public void validateImport(List<MesProdRuleSortCfg> beanList) {
for (MesProdRuleSortCfg item : beanList) { for (MesProdRuleSortCfg item : beanList) {
// 数据校验 onInsertBean(item);
//ValidatorBean.checkNotNull(item.getInPartNo(), "进件零件号不能为空");
ValidatorBean.checkNotNull(item.getWorkCenterCode(), "产线不能为空");
ValidatorBean.checkNotNull(item.getWorkCellCode(), "工位不能为空");
ValidatorBean.checkNotNull(item.getAssemblyPartNo(), "零件号不能为空");
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(item.getWorkCellCode(), "workCellCode", seriesPackBean);
DdlPreparedPack.getStringEqualPack(item.getWorkCenterCode(), "workCenterCode", seriesPackBean);
DdlPreparedPack.getStringEqualPack(item.getAssemblyPartNo(), "assemblyPartNo", seriesPackBean);
boolean flg = baseRDao.isExitByHql(seriesPackBean);
if (flg) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("该排序加工规则已存在,请检查数据")
.build();
}
} }
} }

@ -89,6 +89,8 @@ public class MesExtConstWords {
public static final String PROCESS_CODE = "processCode"; public static final String PROCESS_CODE = "processCode";
//工序名称 //工序名称
public static final String PROCESS_NAME = "processName"; public static final String PROCESS_NAME = "processName";
//工艺代码
public static final String CRAFT_CODE = "craftCode";
//数量 //数量
public static final String QTY = "qty"; public static final String QTY = "qty";
//完成数量 //完成数量
@ -145,6 +147,10 @@ public class MesExtConstWords {
public static final String CFG_KEY = "cfgKey"; public static final String CFG_KEY = "cfgKey";
//配置类型 //配置类型
public static final String CFG_TYPE = "cfgType"; public static final String CFG_TYPE = "cfgType";
//装配件零件号
public static final String ASSEMBLY_PART_NO = "assemblyPartNo";
//装配件零件名称
public static final String ASSEMBLY_PART_NAME = "assemblyPartName";
//时间[开始/结束]条件 //时间[开始/结束]条件
public static final String START_TIME_START = "startTimeStart"; public static final String START_TIME_START = "startTimeStart";

Loading…
Cancel
Save