From 7742daad3101df43837dbbef7f5a866aefefdd2d Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Mon, 12 May 2025 13:49:14 +0800 Subject: [PATCH] =?UTF-8?q?=2046428=20PCN=EF=BC=9A=E9=BE=99=E5=85=B4?= =?UTF-8?q?=E6=9D=A1=E7=A0=81=E6=89=93=E5=8D=B0=E7=9B=B4=E6=8E=A5=E4=BB=8E?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E9=87=8C=E5=8F=96=EF=BC=8C=E4=B8=8D?= =?UTF-8?q?=E8=B5=B0redis?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../IMesProductionDispatchContextStepService.java | 17 ++++++++++ .../IMesProductionProcessContextStepService.java | 15 --------- .../step/MesFirstMouldNoReadStepService.java | 2 +- .../step/MesProductSnGenerateStepService.java | 2 +- .../step/MesProductSnPrintNosortStepService.java | 2 +- .../step/MesProductSnPrintSortStepService.java | 2 +- .../step/MesProductSnSaveStepService.java | 2 +- .../step/MesProductionPartNoReadStepService.java | 2 +- .../step/MesProductionPartNoScanStepService.java | 4 +-- .../step/MesWorkOrderCheckNosortStepService.java | 2 +- .../step/MesWorkOrderCheckSortStepService.java | 2 +- .../step/MesWorkOrderCheckSortStepServiceBak.java | 2 +- .../step/MesWorkOrderCutCheckStepService.java | 4 +-- .../MesWorkOrderCutPackageSnSaveStepService.java | 10 +++--- .../MesWorkOrderCutProductSnSaveStepService.java | 2 +- .../MesProductionDispatchContextStepService.java | 37 ++++++++++++++++++++++ .../MesProductionProcessContextStepService.java | 35 -------------------- .../step/method/MesPartDataMapSaveStepService.java | 36 +++++---------------- 18 files changed, 82 insertions(+), 96 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionDispatchContextStepService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionDispatchContextStepService.java index f13ecce..619940c 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionDispatchContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionDispatchContextStepService.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush; import cn.estsh.i3plus.pojo.mes.bean.MesRawPartCharging; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingQueue; @@ -10,6 +11,7 @@ import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import io.swagger.annotations.ApiOperation; import java.util.List; +import java.util.Map; /** * 获取生产过程上下文对象接口【BUSI】 @@ -25,6 +27,21 @@ public interface IMesProductionDispatchContextStepService { @ApiOperation(value = "获取展示组件MODULE_CONTENT内容") List> getModuleContentContext(StationRequestBean reqBean); + @ApiOperation(value = "获取上下文零件数据信息") + Map getPartDataContext(StationRequestBean reqBean); + + @ApiOperation(value = "获取上下文零件数据信息") + Map getPartDataExtContext(StationRequestBean reqBean); + + @ApiOperation(value = "获取上下文零件数据信息") + Map getPartDataContext(StationRequestBean reqBean, Boolean isExt); + + @ApiOperation(value = "保存上下文零件数据信息", notes = "[JSON]Map") + Boolean dispatchPartDataContext(StationRequestBean reqBean, Map partDataMap); + + @ApiOperation(value = "删除上下文零件数据信息") + void removePartDataContext(StationRequestBean reqBean); + @ApiOperation(value = "获取上下文加工结果") String getProductResultContext(StationRequestBean reqBean); diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java index 97892a7..b004564 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesProductionProcessContextStepService.java @@ -101,21 +101,6 @@ public interface IMesProductionProcessContextStepService { @ApiOperation(value = "存储设备的装配件清单") Boolean dispatchAssemblyNosortCfgContext(StationRequestBean reqBean, List assemblyNosortCfgList); - @ApiOperation(value = "获取上下文零件数据信息") - Map getPartDataContext(StationRequestBean reqBean); - - @ApiOperation(value = "获取上下文零件数据信息") - Map getPartDataExtContext(StationRequestBean reqBean); - - @ApiOperation(value = "获取上下文零件数据信息") - Map getPartDataContext(StationRequestBean reqBean, Boolean isExt); - - @ApiOperation(value = "保存上下文零件数据信息", notes = "[JSON]Map") - Boolean dispatchPartDataContext(StationRequestBean reqBean, Map partDataMap); - - @ApiOperation(value = "删除上下文零件数据信息") - void removePartDataContext(StationRequestBean reqBean); - @ApiOperation(value = "获取手动选择的腔数及工单信息上下文") List getFunctionChooseCavityOrderContext(StationRequestBean reqBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java index 4c627e0..3b8c659 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesFirstMouldNoReadStepService.java @@ -204,7 +204,7 @@ public class MesFirstMouldNoReadStepService extends BaseStepService { //保存零件数据信息 public void savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List productionPartContextList, Boolean isBackError, Boolean isFilter) { //保存零件数据信息 - partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, false, false); + partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, false, true, false); } //验证一模多腔信息 diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java index b4d319c..ea3d5d8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnGenerateStepService.java @@ -132,7 +132,7 @@ public class MesProductSnGenerateStepService extends BaseStepService { //获取上下文零件数据信息 List partNoList = (prodRuleContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getOutPartNo()))).map(MesProdRuleContext::getOutPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, false); + partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, true, false); //从上下文中取出工位对象 MesWorkCell workCell = productionProcessContext.getWorkCell(); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintNosortStepService.java index 0a203b6..90e6f90 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintNosortStepService.java @@ -214,7 +214,7 @@ public class MesProductSnPrintNosortStepService extends BaseStepService { //获取上下文零件数据信息 List partNoList = (prodRuleDataContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getOutPartNo()))).map(MesProdRuleContext::getOutPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); //保存零件数据信息 - partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false); + partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false); return stepResult.isCompleted() ? (Map) stepResult.getObj() : null; } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintSortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintSortStepService.java index 847e6f3..efd1393 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintSortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnPrintSortStepService.java @@ -111,7 +111,7 @@ public class MesProductSnPrintSortStepService extends BaseStepService { Map prodRuleContextMap = prodRuleContextList.stream().filter(o -> null != o).collect(Collectors.toMap(MesProdRuleContext::getForeignKey, o -> o)); // 获取零件信息上下文 - Map partDataContext = productionProcessContextStepService.getPartDataContext(reqBean); + Map partDataContext = productionDispatchContextStepService.getPartDataContext(reqBean); //默认客户条码编码规则配置代码 String defaultCustMatchRule = getDefaultCustMatchRule(reqBean.getOrganizeCode()); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java index 2694438..bde53c8 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductSnSaveStepService.java @@ -89,7 +89,7 @@ public class MesProductSnSaveStepService extends BaseStepService { //获取上下文零件数据信息 List partNoList = (productionPsOutContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPsOutContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, false); + partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, false, true, false); //获取上下文加工结果 String productResult = productionDispatchContextStepService.getProductResultContext(reqBean); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java index 1d48742..41270b4 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoReadStepService.java @@ -173,7 +173,7 @@ public class MesProductionPartNoReadStepService extends BaseStepService { List readList = equipVariableCollectContextList.stream().filter(o -> null != o).map(MesEquipVariableCollectContext::getEquipVariableValue).collect(Collectors.toList()); List partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList()); - if (!partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false).isCompleted()) { + if (!partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false).isCompleted()) { this.sendMessage(reqBean, new StationResultBean().writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.READ.getValue()).checkRepeat(), String.format("当前未读取到设备[%s]有效的产出零件号,%s持续监听中...%s", cellEquipContext.getEquipmentName(), stepResult.getMsg(), JSONObject.toJSONString(equipLogDispatchContext)), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); stepThreadSleepAndSendTaskCompleteAndThrowEx(reqBean, resultBean, diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoScanStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoScanStepService.java index 08039ae..f187b51 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoScanStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionPartNoScanStepService.java @@ -105,7 +105,7 @@ public class MesProductionPartNoScanStepService extends BaseStepService { partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList()); //验证零件编码有效性 - if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, false); + if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false); //验证失败,删除手动选择的腔数及零件信息上下文 if (CollectionUtils.isEmpty(partNoList) || !stepResult.isCompleted()) productionProcessContextStepService.removeFunctionChooseCavityPartContext(reqBean); @@ -129,7 +129,7 @@ public class MesProductionPartNoScanStepService extends BaseStepService { partNoList = readList.stream().filter(o -> (!StringUtils.isEmpty(o) && !o.equals(productionProcessContext.getFinishCode()))).distinct().collect(Collectors.toList()); //验证零件编码有效性 - if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true); + if (!CollectionUtils.isEmpty(partNoList)) partDataMapSaveStepService.savePartDataMap(reqBean, resultBean, stepResult, partNoList, true, true, false); if (stepResult.isCompleted()) suffix = String.format("%s:%s[%s]", MesExtEnumUtil.CELL_MESSAGE_SOURCE.SCAN.getDescription(), !scanInfo.equals(productionProcessContext.getFinishCode()) ? "零件编码" : "空腔嘛", scanInfo); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java index 5d2814d..a0ccbb7 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckNosortStepService.java @@ -109,7 +109,7 @@ public class MesWorkOrderCheckNosortStepService extends MesWorkOrderCheckStepSer if (partDataMapSaveStepService.checkIsAllFinishCode(productionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "当前加工单信息全部为空腔,已清除当前的空腔数据!"); //保存零件数据信息 - if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); + if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); //保存上下文产出零件信息 productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList); 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 ec0a8a0..c1fe5ca 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 @@ -124,7 +124,7 @@ public class MesWorkOrderCheckSortStepService extends MesWorkOrderCheckStepServi if (checkPartProdGroupCodeIsExistRepeat(reqBean, productionPartContextList, cachedProductionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "不支持生产相同的零件生产组的加工单,已清除当前的加工单数据!"); //保存零件数据信息 - if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); + if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); //保存上下文产出零件信息 productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepServiceBak.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepServiceBak.java index a3874cc..0217ff1 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepServiceBak.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCheckSortStepServiceBak.java @@ -116,7 +116,7 @@ public class MesWorkOrderCheckSortStepServiceBak extends MesWorkOrderCheckStepSe if (checkPartProdGroupCodeIsExistRepeat(reqBean, productionPartContextList, cachedProductionPartContextList)) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, "不支持生产相同的零件生产组的加工单,已清除当前的加工单数据!"); //保存零件数据信息 - if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); + if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); //保存上下文产出零件信息 productionDispatchContextStepService.dispatchProductionPartContext(reqBean, productionPartContextList); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java index 59404dc..434b1ba 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutCheckStepService.java @@ -219,7 +219,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService { packProductionPartContextList(productionProcessContext, equipVariableCollectContextList, productionPartContextList, cutScheme, mesWorkOrderCutDetailList, workOrderList); //保存 上下文 零件数据信息 - if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, true, false, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); + if (!partDataMapSaveStepService.savePartDataMap2PPC(reqBean, resultBean, stepResult, productionPartContextList, true, false, true).isCompleted()) return stepNonCompleteAndSendMsgReturn(reqBean, resultBean.writeDbLog(), stepResult, stepResult.getMsg()); // 裁片方案成品配置 List mesCutSchemeFgList = workOrderCutService.queryCutSchemeFgList(cutScheme.getCutCode(), reqBean.getOrganizeCode()); @@ -281,7 +281,7 @@ public class MesWorkOrderCutCheckStepService extends BaseStepService { } - productionProcessContextStepService.dispatchPartDataContext(reqBean, partDataExtContext); + productionDispatchContextStepService.dispatchPartDataContext(reqBean, partDataExtContext); productionDispatchContextStepService.dispatchMesWorkOrderCutFgDataContext(reqBean, workOrderCutDetailModelList); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutPackageSnSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutPackageSnSaveStepService.java index 350b502..44d637a 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutPackageSnSaveStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutPackageSnSaveStepService.java @@ -2,7 +2,8 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; -import cn.estsh.i3plus.ext.mes.pcn.pojo.context.*; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPartContext; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmRouteDataService; @@ -12,12 +13,13 @@ import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.bean.*; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutPackage; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; import cn.estsh.i3plus.pojo.mes.model.StepResult; - import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderCutPackageRepository; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import lombok.extern.slf4j.Slf4j; @@ -70,7 +72,7 @@ public class MesWorkOrderCutPackageSnSaveStepService extends BaseStepService { productionProcessContextStepService.dispatchProductionProcessContext(reqBean, productionProcessContext); // 获取产成零件信息 - Map partDataContext = productionProcessContextStepService.getPartDataExtContext(reqBean); + Map partDataContext = productionDispatchContextStepService.getPartDataExtContext(reqBean); //从上下文中取出工位对象 MesWorkCell workCell = productionProcessContext.getWorkCell(); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutProductSnSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutProductSnSaveStepService.java index 9dc1ede..8589872 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutProductSnSaveStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesWorkOrderCutProductSnSaveStepService.java @@ -109,7 +109,7 @@ public class MesWorkOrderCutProductSnSaveStepService extends BaseStepService { Map prodRuleContextMapByOutPartNo = prodRuleContextList.stream().collect(Collectors.toMap(MesProdRuleContext::getOutPartNo, Function.identity(), (x, y) -> y)); // 获取产成零件信息 - Map partDataContext = productionProcessContextStepService.getPartDataContext(reqBean); + Map partDataContext = productionDispatchContextStepService.getPartDataContext(reqBean); //从上下文中取出工位对象 MesWorkCell workCell = productionProcessContext.getWorkCell(); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionDispatchContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionDispatchContextStepService.java index 1c18b48..9163afc 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionDispatchContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionDispatchContextStepService.java @@ -6,6 +6,7 @@ import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesWorkOrderCutDetailModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseStepService; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; +import cn.estsh.i3plus.pojo.mes.bean.MesPart; import cn.estsh.i3plus.pojo.mes.bean.MesQueueOrderPush; import cn.estsh.i3plus.pojo.mes.bean.MesRawPartCharging; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingQueue; @@ -20,6 +21,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import java.util.List; +import java.util.Map; import java.util.StringJoiner; /** @@ -58,6 +60,41 @@ public class MesProductionDispatchContextStepService extends BaseStepService imp return StringUtils.isEmpty(moduleContent) ? null : JSONObject.parseObject(moduleContent, new TypeReference>>() {}); } + //获取上下文零件数据信息 + @Override + public Map getPartDataContext(StationRequestBean reqBean) { + String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); + return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : null; + } + + //获取上下文零件数据信息 + @Override + public Map getPartDataExtContext(StationRequestBean reqBean) { + String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); + return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : null; + } + + //获取上下文零件数据信息 + @Override + public Map getPartDataContext(StationRequestBean reqBean, Boolean isExt) { + String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); + return !StringUtils.isEmpty(partDataJson) ? + (!isExt ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : JSONObject.parseObject(partDataJson, new TypeReference>() {})) : null; + } + + //保存上下文零件数据信息 [JSON]Map + @Override + public Boolean dispatchPartDataContext(StationRequestBean reqBean, Map partDataMap) { + if (CollectionUtils.isEmpty(partDataMap)) return false; + return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT, JSONObject.toJSONString(partDataMap)); + } + + //删除上下文零件数据信息 + @Override + public void removePartDataContext(StationRequestBean reqBean) { + removeFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); + } + //获取上下文加工结果 @Override public String getProductResultContext(StationRequestBean reqBean) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java index 8b9dc95..8b8d9ee 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessContextStepService.java @@ -389,41 +389,6 @@ public class MesProductionProcessContextStepService extends BaseStepService impl return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.ASSEMBLY_NOSORT_CFG_CONTEXT, JSONObject.toJSONString(assemblyNosortCfgList)); } - //获取上下文零件数据信息 - @Override - public Map getPartDataContext(StationRequestBean reqBean) { - String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); - return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : null; - } - - //获取上下文零件数据信息 - @Override - public Map getPartDataExtContext(StationRequestBean reqBean) { - String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); - return !StringUtils.isEmpty(partDataJson) ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : null; - } - - //获取上下文零件数据信息 - @Override - public Map getPartDataContext(StationRequestBean reqBean, Boolean isExt) { - String partDataJson = getFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); - return !StringUtils.isEmpty(partDataJson) ? - (!isExt ? JSONObject.parseObject(partDataJson, new TypeReference>() {}) : JSONObject.parseObject(partDataJson, new TypeReference>() {})) : null; - } - - //保存上下文零件数据信息 [JSON]Map - @Override - public Boolean dispatchPartDataContext(StationRequestBean reqBean, Map partDataMap) { - if (CollectionUtils.isEmpty(partDataMap)) return false; - return dispatchFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT, JSONObject.toJSONString(partDataMap)); - } - - //删除上下文零件数据信息 - @Override - public void removePartDataContext(StationRequestBean reqBean) { - removeFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.PART_DATA_CONTEXT); - } - //获取手动选择的腔数及工单信息上下文 @Override public List getFunctionChooseCavityOrderContext(StationRequestBean reqBean) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/MesPartDataMapSaveStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/MesPartDataMapSaveStepService.java index 27e5eca..c6bb540 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/MesPartDataMapSaveStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/method/MesPartDataMapSaveStepService.java @@ -1,6 +1,6 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.step.method; -import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesPartContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; @@ -33,45 +33,25 @@ import java.util.stream.Collectors; public class MesPartDataMapSaveStepService extends BaseStepService { @Autowired - private IMesProductionProcessContextStepService productionProcessContextStepService; + private IMesProductionDispatchContextStepService productionDispatchContextStepService; @Autowired private IPartService partService; //保存零件数据信息 - public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List productionPartContextList, Boolean isBackError, Boolean isFilter, Boolean isSave, Boolean isExt) { + public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List productionPartContextList, Boolean isBackError, Boolean isSave, Boolean isExt) { //从一模多腔信息中搜集零件编码并去重 List partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, isSave, isExt); + return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, true, isSave, isExt); } //保存零件数据信息 - public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List productionPartContextList, Boolean isBackError, Boolean isFilter, Boolean isSave) { + public StepResult savePartDataMap(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List partNoList, Boolean isBackError, Boolean isSave, Boolean isExt) { - //从一模多腔信息中搜集零件编码并去重 - List partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - - return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, isSave, false); - - } - - //保存零件数据信息 - public StepResult savePartDataMap2PPC(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List productionPartContextList, Boolean isBackError, Boolean isFilter) { - - //从一模多腔信息中搜集零件编码并去重 - List partNoList = (productionPartContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getPartNo()))).map(MesProductionPartContext::getPartNo).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); - - return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, true, false); - - } - - //保存零件数据信息 - public StepResult savePartDataMap(StationRequestBean reqBean, StationResultBean resultBean, StepResult stepResult, List partNoList, Boolean isBackError, Boolean isFilter) { - - return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, isFilter, true, false); + return savePartDataMap(reqBean, resultBean, stepResult, partNoList, isBackError, true, isSave, isExt); } @@ -84,7 +64,7 @@ public class MesPartDataMapSaveStepService extends BaseStepService { } //从上下文中取出零件信息集合 - Map partDataMap = productionProcessContextStepService.getPartDataContext(reqBean, isExt); + Map partDataMap = productionDispatchContextStepService.getPartDataContext(reqBean, isExt); //验证上下文中取出零件信息集合是否匹配当前搜集的零件编码 if (!CollectionUtils.isEmpty(partDataMap) && partDataMap.keySet().containsAll(partNoList)) return stepResult.obj(partDataMap); @@ -126,7 +106,7 @@ public class MesPartDataMapSaveStepService extends BaseStepService { //保存上下文零件数据信息 if (!CollectionUtils.isEmpty(finalPartList) && CollectionUtils.isEmpty(filterList)) { - if (isSave) productionProcessContextStepService.dispatchPartDataContext(reqBean, !isExt ? finalPartDataMap : finalPartDataExtMap); + if (isSave) productionDispatchContextStepService.dispatchPartDataContext(reqBean, !isExt ? finalPartDataMap : finalPartDataExtMap); return stepResult.obj(!isExt ? finalPartDataMap : finalPartDataExtMap); }