diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderExtService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderExtService.java index c8c75b4..bc4e4be 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderExtService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderExtService.java @@ -23,6 +23,9 @@ public interface IMesWorkOrderExtService { @ApiOperation(value = "根据生产工单顺序号,生产线代码, 零件生产组代码查询上一个生产工单信息【排序】") MesWorkOrder getWorkOrder(String organizeCode, String workCenterCode, Long produceSeq, String partProdGroupCode); + @ApiOperation(value = "根据生产线代码, 零件生产组代码查询生产工单信息【排序】") + List getWorkOrderList(String organizeCode, String workCenterCode, String partProdGroupCode); + MesWorkOrder insert(MesWorkOrder item); void update(MesWorkOrder item); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java index aad42b5..e2b0c9b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderExtService.java @@ -85,11 +85,22 @@ public class MesWorkOrderExtService implements IMesWorkOrderExtService { if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(partProdGroupCode) || StringUtils.isEmpty(produceSeq) || produceSeq.compareTo(0L) == 0) return null; DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, MesPcnExtConstWords.PART_PROD_GROUP_CODE, packBean); DdlPreparedPack.getNumberSmallerPack(produceSeq, MesPcnExtConstWords.PRODUCE_SEQ, packBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesPcnExtConstWords.PRODUCE_SEQ}, packBean); return workOrderRepository.getByProperty(packBean); } + //根据生产线代码, 零件生产组代码查询生产工单信息【排序】 + @Override + public List getWorkOrderList(String organizeCode, String workCenterCode, String partProdGroupCode) { + if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode) || StringUtils.isEmpty(partProdGroupCode)) return null; + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesPcnExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringEqualPack(partProdGroupCode, MesPcnExtConstWords.PART_PROD_GROUP_CODE, packBean); + return workOrderRepository.findByHqlWhere(packBean); + } + @Override @MonitorLog public MesWorkOrder insert(MesWorkOrder item) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckCustOrderNoStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckCustOrderNoStepService.java index f7680ec..e10c1a7 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckCustOrderNoStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckCustOrderNoStepService.java @@ -19,10 +19,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; /** @@ -75,12 +72,12 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, String.format("生产线[%s]工位[%s]未设置顺序防错,无需进行加工单客户订单号顺序防错验证!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode())); //验证是否存在工艺强过码, 存在则保存 并返回强过的加工单 - List workOrderNoList2Jump = doHandleCraftJumpCode(reqBean, productionPartContextList); + List workOrderNoList2Jump = doHandleCraftJumpCode2Custom(reqBean, productionPartContextList); if (!CollectionUtils.isEmpty(workOrderNoList2Jump)) - return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList2Jump.toString()), stepResult, String.format("加工单%s跳过顺序防错验证成功!", workOrderNoList2Jump.toString())); + return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList2Jump.toString()), stepResult, String.format("加工单%s跳过客户订单号顺序防错验证成功!", workOrderNoList2Jump.toString())); //验证是否已经全部通过 - if (!isExistNeedCheckProduceSeq(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "加工单均已通过顺序防错验证!"); + if (!isExistNeedCheckProduceSeq2Custom(productionPartContextList)) return stepSuccessCompleteAndSendMsgReturn(reqBean, resultBean, stepResult, "加工单均已通过客户订单号顺序防错验证!"); //顺序防错验证处理 doHandleProduceSeqCheck(reqBean, resultBean, stepResult, productionProcessContext, productionPartContextList); @@ -90,19 +87,20 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck } //验证是否存在工艺强过码, 存在则保存 并返回强过的加工单 - public List doHandleCraftJumpCode(StationRequestBean reqBean, List productionPartContextList) { + private List doHandleCraftJumpCode2Custom(StationRequestBean reqBean, List productionPartContextList) { List workOrderNoList2Jump = null; for (MesProductionPartContext productionPartContext : productionPartContextList) { - if (null == productionPartContext || productionPartContext.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0 || StringUtils.isEmpty(productionPartContext.getCraftJumpCode())) continue; + if (null == productionPartContext || productionPartContext.getCustomCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) != 0 || StringUtils.isEmpty(productionPartContext.getCraftJumpCode())) continue; if (CollectionUtils.isEmpty(workOrderNoList2Jump)) workOrderNoList2Jump = new ArrayList<>(); workOrderNoList2Jump.add(productionPartContext.getWorkOrderNo()); - productionPartContext.checkSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + //验证成功不需要标记【checkSeqResult】 + productionPartContext.customCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); } @@ -113,6 +111,13 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck } + //验证是否已经全部通过 + private Boolean isExistNeedCheckProduceSeq2Custom(List productionPartContextList) { + Optional optional = productionPartContextList.stream().filter(o -> (null != o && + o.getIsFinishCode().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0 && !StringUtils.isEmpty(o.getCustOrderNo()) && o.getCustomCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) != 0)).findFirst(); + return (null == optional || !optional.isPresent()) ? false : true; + } + //顺序防错验证处理 private void doHandleProduceSeqCheck(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, List productionPartContextList) { @@ -125,8 +130,9 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck //顺序防错验证 Boolean result = doProduceSeqCheckSort(reqBean, stepResult, productionProcessContext, productionPartContext); - if (!result) productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - else productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + //验证失败需要同时标记【checkSeqResult】,但验证成功不需要标记【checkSeqResult】 + if (result) productionPartContext.customCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + else productionPartContext.customCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()).checkSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); workOrderNoList.add(productionPartContext.getWorkOrderNo()); @@ -135,24 +141,31 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck //保存上下文产出零件信息 productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList); - if (stepResult.isCompleted()) this.sendMessage(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList.toString()), String.format("加工单%s顺序防错验证成功!", workOrderNoList.toString()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); + if (stepResult.isCompleted()) this.sendMessage(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList.toString()), String.format("加工单%s客户订单号顺序防错验证成功!", workOrderNoList.toString()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); else this.sendMessage(reqBean, resultBean.writeDbLog().scanInfo(workOrderNoList.toString()), stepResult.getMsg(), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); } - //前道工艺防错验证 【排序】 + //前道工艺防错验证 【排序客户订单号】 private Boolean doProduceSeqCheckSort(StationRequestBean reqBean, StepResult stepResult, MesProductionProcessContext productionProcessContext, MesProductionPartContext productionPartContext) { - String message = StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg() + MesPcnExtConstWords.SEMICOLON; + if (StringUtils.isEmpty(productionPartContext.getCustOrderNo()) || productionPartContext.getCustOrderNo().length() <= 3) return true; - //根据生产工单顺序号,生产线代码,零件生产组代码查询上一个生产工单信息 - MesWorkOrder workOrder = workOrderExtService.getWorkOrder(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), productionPartContext.getProduceSeq(), productionPartContext.getPartProdGroupCode()); + String message = StringUtils.isEmpty(stepResult.getMsg()) ? MesPcnExtConstWords.EMPTY : stepResult.getMsg() + MesPcnExtConstWords.SEMICOLON; - if (null == workOrder) return true; + //根据生产线代码,零件生产组代码查询产工单信息 + List workOrderList = workOrderExtService.getWorkOrderList(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), productionPartContext.getPartProdGroupCode()); + //1GA2752364 【1GA=客户工厂号; 2752364 = 客户订单号】 根据固定的前三位分组, 基于同一个零件生产组下相同前缀判断客户订单的流水号 + Map> custOrderNoMap = CollectionUtils.isEmpty(workOrderList) ? null : workOrderList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getCustOrderNo()) && o.getCustOrderNo().length() > 3)).collect(Collectors.groupingBy(o -> o.getCustOrderNo().substring(0, 3))); + workOrderList = CollectionUtils.isEmpty(custOrderNoMap) ? null : custOrderNoMap.get(productionPartContext.getCustOrderNo().substring(0, 3)); + workOrderList = CollectionUtils.isEmpty(workOrderList) ? null : workOrderList.stream().filter(o -> null != o).sorted(Comparator.comparing(MesWorkOrder::getCustOrderNo).reversed()).collect(Collectors.toList()); + Optional workOrderOp = CollectionUtils.isEmpty(workOrderList) ? null : workOrderList.stream().filter(o -> (null != o && o.getCustOrderNo().compareTo(productionPartContext.getCustOrderNo()) <= 0)).findFirst(); + if (null == workOrderOp || !workOrderOp.isPresent()) return true; + MesWorkOrder workOrder = workOrderOp.get(); if (workOrder.getWorkOrderStatus().compareTo(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()) < 0) - return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]生产顺序号[%s]顺序防错验证失败,前一个加工单[%s]生产顺序号[%s]工单状态[%s]", - message, productionPartContext.getWorkOrderNo(), productionPartContext.getProduceSeq(), workOrder.getWorkOrderNo(), workOrder.getProduceSeq(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()))).isCompleted(); + return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]客户订单号[%s]顺序防错验证失败,前一个加工单[%s]客户订单号[%s]工单状态[%s]", + message, productionPartContext.getWorkOrderNo(), productionPartContext.getCustOrderNo(), workOrder.getWorkOrderNo(), workOrder.getCustOrderNo(), MesExtEnumUtil.ORDER_STATUS.valueOfDescription(workOrder.getWorkOrderStatus()))).isCompleted(); if (workOrder.getWorkOrderStatus().compareTo(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()) >= 0) return true; @@ -167,8 +180,8 @@ public class MesProduceSeqCheckCustOrderNoStepService extends MesProduceSeqCheck Map> productSnMap = CollectionUtils.isEmpty(workOrderAssemblyList) ? null : workOrderAssemblyList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesWorkOrderAssembly::getProductSn)); if (CollectionUtils.isEmpty(productSnMap)) return true; - return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]生产顺序号[%s]顺序防错验证失败,前一个加工单[%s]生产顺序号[%s]在当前工位[%s]存在未完成队列条码%s", - message, productionPartContext.getWorkOrderNo(), productionPartContext.getProduceSeq(), workOrder.getWorkOrderNo(), workOrder.getProduceSeq(), reqBean.getWorkCellCode(), productSnMap.keySet().toString())).isCompleted(); + return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]客户订单号[%s]顺序防错验证失败,前一个加工单[%s]客户订单号[%s]在当前工位存在未完成队列条码%s", + message, productionPartContext.getWorkOrderNo(), productionPartContext.getCustOrderNo(), workOrder.getWorkOrderNo(), workOrder.getCustOrderNo(), productSnMap.keySet().toString())).isCompleted(); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckNosortStepService.java index 78117d3..45fb719 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckNosortStepService.java @@ -110,8 +110,7 @@ public class MesProduceSeqCheckNosortStepService extends MesProduceSeqCheckStepS //顺序防错验证 Boolean result = doProduceSeqCheckNosort(reqBean, stepResult, productionProcessContext, productionPartContext); - if (!result) productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - else productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + productionPartContext.checkSeqResult(!result ? CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() : CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); workOrderNoList.add(productionPartContext.getWorkOrderNo()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckSortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckSortStepService.java index 16465fd..1f1e88c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckSortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProduceSeqCheckSortStepService.java @@ -101,8 +101,7 @@ public class MesProduceSeqCheckSortStepService extends MesProduceSeqCheckStepSer //顺序防错验证 Boolean result = doProduceSeqCheckSort(reqBean, stepResult, productionProcessContext, productionPartContext); - if (!result) productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); - else productionPartContext.setCheckSeqResult(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); + productionPartContext.checkSeqResult(!result ? CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() : CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()); workOrderNoList.add(productionPartContext.getWorkOrderNo()); @@ -143,8 +142,8 @@ public class MesProduceSeqCheckSortStepService extends MesProduceSeqCheckStepSer Map> productSnMap = CollectionUtils.isEmpty(workOrderAssemblyList) ? null : workOrderAssemblyList.stream().filter(o -> null != o).collect(Collectors.groupingBy(MesWorkOrderAssembly::getProductSn)); if (CollectionUtils.isEmpty(productSnMap)) return true; - return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]生产顺序号[%s]顺序防错验证失败,前一个加工单[%s]生产顺序号[%s]在当前工位[%s]存在未完成队列条码%s", - message, productionPartContext.getWorkOrderNo(), productionPartContext.getProduceSeq(), workOrder.getWorkOrderNo(), workOrder.getProduceSeq(), reqBean.getWorkCellCode(), productSnMap.keySet().toString())).isCompleted(); + return stepResult.isCompleted(false).msg(String.format("%s加工单[%s]生产顺序号[%s]顺序防错验证失败,前一个加工单[%s]生产顺序号[%s]在当前工位存在未完成队列条码%s", + message, productionPartContext.getWorkOrderNo(), productionPartContext.getProduceSeq(), workOrder.getWorkOrderNo(), workOrder.getProduceSeq(), productSnMap.keySet().toString())).isCompleted(); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java index 327dbc6..2344695 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepService.java @@ -169,10 +169,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi //验证扫描信息属于工艺强过码 并且支持跳过,进行数据变更 private void updateProductionPartAndPsInContextList(StationRequestBean reqBean, List productionPartContextList, List cachedProductionPsInContextList, String craftJumpCode) { productionPartContextList.forEach(o -> { - if (o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) { - o.setCraftJumpCode(craftJumpCode); - - } + if (o.getCheckSeqResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) o.setCraftJumpCode(craftJumpCode); }); cachedProductionPsInContextList.forEach(o -> { if (o.getCheckCraftResult().compareTo(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) == 0) o.setCraftJumpCode(craftJumpCode); diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java index 6a3d25f..1de0a86 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java @@ -174,4 +174,9 @@ public class MesProductionPartContext implements Serializable { return this; } + public MesProductionPartContext customCheckSeqResult(Integer customCheckSeqResult) { + this.customCheckSeqResult = customCheckSeqResult; + return this; + } + } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index e4831b0..b6bbba7 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -185,6 +185,8 @@ public class MesPcnExtConstWords { public static final String PACKAGE_SN = "packageSn"; //包类型 public static final String PACKAGE_TYPE_CODE = "packageTypeCode"; + //零件生产组代码 + public static final String PART_PROD_GROUP_CODE = "partProdGroupCode"; // 客制化条码长度:通用