From a688088130d6907c87f7bb1218f48ba9cb8e6555 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Sat, 27 Jul 2024 13:41:53 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E8=BF=94=E5=B7=A5=E6=9B=BF=E6=8D=A2?= =?UTF-8?q?=E6=9D=A1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java index d978131..a7a0f52 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/base/MesReworkTaskServiceImpl.java @@ -352,7 +352,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService { private void updateOldSn(MesProductionAssembly mesProductionAssembly) { DdlPackBean oldSnPackBean = DdlPackBean.getDdlPackBean(); - DdlPreparedPack.getStringEqualPack(mesProductionAssembly.getProductSn(), "productSn", oldSnPackBean); + DdlPreparedPack.getStringEqualPack(mesProductionAssembly.getAssemblySn(), "productSn", oldSnPackBean); DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"createDatetime"}, oldSnPackBean); MesProduceSn oldProduceSn = mesProduceSnRepository.getByProperty(oldSnPackBean); From f043086f1bec5606e1de347d278388aaf7df33a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Sat, 27 Jul 2024 15:59:09 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesWorkOrderService.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index c93e76c..a663ee7 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -658,6 +658,14 @@ public class MesWorkOrderService implements IMesWorkOrderService { String shiftCode = productionRecord.getShiftCode(); String workCenterCode = productionRecord.getWorkCenterCode(); + //查询工作中心 + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); + MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); + if (Objects.isNull(mesWorkCenter)) { + MesPcnException.throwMesBusiException("产线【%s】不存在",workCenterCode); + } + List shiftList = mesShiftService.queryMesShift(organizeCode, workCenterCode); // 如果当前班次是早班 if (CollectionUtils.isEmpty(shiftList)) { @@ -680,9 +688,11 @@ public class MesWorkOrderService implements IMesWorkOrderService { workOrders = oldMesWorkOrders.stream().filter(workOrder -> beginDate.getTime() >= transfer(workOrder.getPlanStartTime()).getTime() && beginDate.getTime() <= transfer(workOrder.getPlanEndTime()).getTime()).collect(Collectors.toList()); + MesWorkOrder bestWorkOrder = getBestWorkOrder(productionRecord, workOrders, mesWorkCenter); + String date = productionRecord.getLotNo(); // 如果找不到需要找 当天的其它班次 - if (CollectionUtils.isEmpty(workOrders)) { + if (CollectionUtils.isEmpty(workOrders) || bestWorkOrder == null) { // 如果开始时间大于结束时间,说明跨天了,跨天说明是晚班,需要找, 如果是晚班, 则找早中班的工单 if (currentShift.getStartTime().compareTo(currentShift.getEndTime()) > 0) { // 如果比0点大,需要找日期前一天的班次的工单号,如果是0点前,date =lotNO 如果是0点后,则找lot的前一天 @@ -783,11 +793,16 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getInPackList( statusList,"reportStatus",ddlPackBean); DdlPreparedPack.getIsNull("workOrderNo",ddlPackBean); String workCenterCodes = configService.getCfgValue(organizeCode, "MES_PCN_REPORT_CENTER"); - //String workCenterCodes ="B19CK01A"; + if (!StringUtils.isEmpty(workCenterCodes)) { List centerList = Arrays.asList(workCenterCodes.split(",")); DdlPreparedPack.getNotInPack(centerList, "workCenterCode", ddlPackBean); } + /*String workCenterCodes ="C06CK01B"; + if (!StringUtils.isEmpty(workCenterCodes)) { + List centerList = Arrays.asList(workCenterCodes.split(",")); + DdlPreparedPack.getInPack(centerList, "workCenterCode", ddlPackBean); + }*/ DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean); List mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 1000); List recordList = new ArrayList<>(); From 663c0110523b3c4d85b917c9957ffd34ece68cf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=AE=E7=AC=91=E7=9D=80=E9=9D=A2=E5=AF=B9=E6=98=8E?= =?UTF-8?q?=E5=A4=A9?= <752558143@qq.com> Date: Sat, 27 Jul 2024 17:36:40 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E6=8A=A5=E5=B7=A5=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E6=94=B9=E6=88=90=E4=B8=80=E6=AC=A1=E6=80=A7=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesWorkOrderService.java | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java index a663ee7..c23f7b9 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -804,16 +804,20 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getInPack(centerList, "workCenterCode", ddlPackBean); }*/ DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean); - List mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 1000); + + String numStr = configService.getCfgValue(organizeCode, "MES_PCN_REPORT_NUM"); + int num = StringUtils.isEmpty(numStr) ? 50 : Integer.valueOf(numStr); + + List mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, num); List recordList = new ArrayList<>(); // 根据零件号分组 - if(!CollectionUtils.isEmpty(mesProductionRecordList)) { + /*if(!CollectionUtils.isEmpty(mesProductionRecordList)) { Map> map = mesProductionRecordList.stream().collect(Collectors.groupingBy(MesProductionRecord::getPartNo)); map.forEach((k, v) -> { recordList.add(v.get(0)); }); - } - + }*/ + recordList.addAll(mesProductionRecordList); return recordList; } @@ -832,10 +836,10 @@ public class MesWorkOrderService implements IMesWorkOrderService { DdlPreparedPack.getNotInPack(centerList, "workCenterCode", ddlPackBean); } DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"modifyDatetime"}, ddlPackBean); - List mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 10); + List mesProductionRecordList = productionRecordRao.findByHqlTopWhere(ddlPackBean, 50); List recordList = new ArrayList<>(); // 根据零件号分组 - if(!CollectionUtils.isEmpty(mesProductionRecordList)) { + /*if(!CollectionUtils.isEmpty(mesProductionRecordList)) { Map> map = mesProductionRecordList.stream().collect(Collectors.groupingBy(MesProductionRecord::getPartNo)); map.forEach((k, v) -> { DdlPackBean packBean = DdlPackBean.getDdlPackBean(); @@ -846,7 +850,9 @@ public class MesWorkOrderService implements IMesWorkOrderService { recordList.add(v.get(0)); } }); - } + }*/ + recordList.addAll(mesProductionRecordList); + return recordList; } From 89709b9af71c979840c304449c8a1f0d07ef7629 Mon Sep 17 00:00:00 2001 From: jun Date: Sat, 27 Jul 2024 21:03:59 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java | 5 +---- .../apiservice/serviceimpl/print/strategy/GqaaPrintStrategy.java | 6 ++++-- .../apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java | 6 ++++-- .../serviceimpl/print/strategy/NoSortBarCodeGzStrategy.java | 6 ++++-- .../serviceimpl/print/strategy/XiaoPengNewPrintStrategy.java | 6 ++++-- .../serviceimpl/print/strategy/XiaoPengPrintStrategy.java | 6 ++++-- 6 files changed, 21 insertions(+), 14 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java index 70f9574..3a1e937 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesProduceSnPrintService.java @@ -170,11 +170,8 @@ public class MesProduceSnPrintService implements IMesProduceSnPrintService { //保存条码 mesProduceSnRDao.insert(mesProduceSn); }); - resultModel.getMesPrintedSnLogList().forEach(model -> { + resultModel.getMesPrintedSnLogList().forEach(snLog -> { //保存打印记录 - MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); - BeanUtil.copyProperties(model, snLog); mesPrintedSnRao.insert(snLog); }); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqaaPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqaaPrintStrategy.java index eec752d..3e35a69 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqaaPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqaaPrintStrategy.java @@ -94,8 +94,9 @@ public class GqaaPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } }else { @@ -117,8 +118,9 @@ public class GqaaPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } return mesProduceSnPrintModel; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java index a14bfdc..a34c532 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/GqxnyPrintStrategy.java @@ -127,8 +127,9 @@ public class GqxnyPrintStrategy implements IPrintTemplateStrategyService { //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel, snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); } }else { @@ -150,8 +151,9 @@ public class GqxnyPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } return mesProduceSnPrintModel; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/NoSortBarCodeGzStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/NoSortBarCodeGzStrategy.java index 5364b9c..bfb4ca6 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/NoSortBarCodeGzStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/NoSortBarCodeGzStrategy.java @@ -85,8 +85,9 @@ public class NoSortBarCodeGzStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } }else { @@ -105,8 +106,9 @@ public class NoSortBarCodeGzStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } return mesProduceSnPrintModel; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengNewPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengNewPrintStrategy.java index 14f0c95..7aea21b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengNewPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengNewPrintStrategy.java @@ -95,8 +95,9 @@ public class XiaoPengNewPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } }else { @@ -110,8 +111,9 @@ public class XiaoPengNewPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengPrintStrategy.java index 8f58aad..a370e0b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/XiaoPengPrintStrategy.java @@ -97,8 +97,9 @@ public class XiaoPengPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } }else { @@ -111,8 +112,9 @@ public class XiaoPengPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } From 10f0c723a0bbb49ad03f5183386e0ef690d8d78d Mon Sep 17 00:00:00 2001 From: jun Date: Sat, 27 Jul 2024 21:08:51 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E9=97=AE=E9=A2=98=E6=B8=85=E5=8D=95?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiservice/serviceimpl/print/strategy/AionPrintStrategy.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AionPrintStrategy.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AionPrintStrategy.java index 36b0171..6198c3c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AionPrintStrategy.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/print/strategy/AionPrintStrategy.java @@ -96,8 +96,9 @@ public class AionPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnList().add(produceSn); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } }else { @@ -119,8 +120,9 @@ public class AionPrintStrategy implements IPrintTemplateStrategyService { mesProduceSnPrintModel.getMesProduceSnPrintDataModelList().add(printDataModel); //保存打印记录 MesPrintedSnLog snLog = new MesPrintedSnLog(); - ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); BeanUtil.copyProperties(printDataModel,snLog); + snLog.setOrganizeCode(organizeCode); + ConvertBean.serviceModelInitialize(snLog, mesProduceSnPrintModel.getUserName()); mesProduceSnPrintModel.getMesPrintedSnLogList().add(snLog); } return mesProduceSnPrintModel; From f5904f4430e99b0b1f56fd50ef9a8a0e2ff948d2 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sat, 27 Jul 2024 23:39:41 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF=E4=B8=8B?= =?UTF-8?q?=E7=BA=BF=20=E4=B8=8D=E5=86=8D=E6=B8=85=E9=99=A4=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=20=20=E5=8F=98=E6=9B=B4=E6=88=90=20=E4=B8=8A=E7=BA=BF?= =?UTF-8?q?=E6=97=B6=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../station/MesProductionNoSortModuleService.java | 49 ++++++++++------------ .../MesFunctionChooseCavityOrderService.java | 3 +- .../function/MesFunctionSwitchCellService.java | 13 ++---- .../MesProductionCustomContextStepService.java | 10 ++--- .../MesProductionProcessContextStepService.java | 3 +- .../MesProductionProcessMonitorService.java | 6 ++- .../mes/pcn/apiservice/util/MesPcnException.java | 2 +- .../ext/mes/pcn/pojo/util/MesPcnExtConstWords.java | 8 +++- 8 files changed, 47 insertions(+), 47 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java index 5cac2ba..69f431f 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepServi 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.api.busi.IMesWorkOrderExtService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdShiftContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; @@ -74,16 +75,15 @@ public class MesProductionNoSortModuleService extends BaseModuleService { //获取上下文信息 MesProductionProcessContext productionProcessContext = productionProcessContextStepService.getEquipmentVariableList(reqBean, MesExtEnumUtil.EQUIP_VARIABLE_TYPE.PRODUCTION.getValue()); MesWorkCell mesWorkCell = productionProcessContext.getWorkCell(); - /** - * 获取班次信息,先查询缓存,缓存没有在查询数据库 - */ + + //获取班次信息,先查询缓存,缓存没有在查询数据库 List prodShiftDataContext = getShiftRecordStationKvBeans(reqBean); MesProdShiftContext mesProdShiftKvBean = productionCustomContextStepService.getMesProdShiftKvBean(reqBean.getOrganizeCode(), reqBean.getWorkCenterCode()); if (CollectionUtils.isEmpty(prodShiftDataContext)) { this.sendMessage(reqBean, new StationResultBean().writeDbLog(), "请先开班", MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); - throw ImppExceptionBuilder.newInstance().setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()).setErrorCode("NO_SHOW_MSG").build(); + MesPcnException.throwBusiException("请先开班"); } // 发送班次班组和工单 StationResultBean resultBean = getStationResultBean(reqBean, moduleContentContext, prodShiftDataContext); @@ -92,8 +92,8 @@ public class MesProductionNoSortModuleService extends BaseModuleService { // 整合班次加工数量 List productionStatisticsContext = productionCustomContextStepService.getProductionStatisticsContext(reqBean); if (CollectionUtils.isEmpty(productionStatisticsContext)) { - productionStatisticsContext = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), new StationKvBean(new StringJoiner(MesPcnExtConstWords.AND).add(mesProdShiftKvBean.getShiftGroup()).add(mesProdShiftKvBean.getShiftCode()).toString(), "加工数", "0"), - new StationKvBean("color", "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); + productionStatisticsContext = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), new StationKvBean(new StringJoiner(MesPcnExtConstWords.AND).add(mesProdShiftKvBean.getShiftGroup()).add(mesProdShiftKvBean.getShiftCode()).toString(), "加工数", MesPcnExtConstWords.ZERO_STR), + new StationKvBean(MesPcnExtConstWords.COLOR, "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); } StationResultBean shiftCountBean = getStationResultBean(reqBean, productionStatisticsContext,mesWorkCell, mesProdShiftKvBean); this.sendMessage(reqBean, shiftCountBean); @@ -137,14 +137,6 @@ public class MesProductionNoSortModuleService extends BaseModuleService { return resultBean; } - private List packDataAttrList() { - List attrBeanList = new ArrayList<>(); - PojoAttrUtil.loadPojoAttrs(attrBeanList, "index", "序号",true); - PojoAttrUtil.loadPojoAttrs(attrBeanList, "custPartNo", "客户零件号", true); - PojoAttrUtil.loadPojoAttrs(attrBeanList, "orderNo", "工单号", true); - - return attrBeanList; - } private StationResultBean getStationResultBean(StationRequestBean reqBean, List productionStatisticsContext, MesWorkCell mesWorkCell, MesProdShiftContext mesProdShiftKvBean) { StationResultBean resultBean = new StationResultBean(); resultBean.setBusiType(MesPcnEnumUtil.STATION_BUSI_TYPE.MODULE_CUSTOM_CONTENT.getValue()); @@ -158,7 +150,7 @@ public class MesProductionNoSortModuleService extends BaseModuleService { if (!StringUtils.isEmpty(mesWorkCell.getFileId())) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(); - DdlPreparedPack.getNumEqualPack(Long.parseLong(mesWorkCell.getFileId()), "id", packBean); + DdlPreparedPack.getNumEqualPack(Long.parseLong(mesWorkCell.getFileId()), MesPcnExtConstWords.ID, packBean); MesFile mesFile = mesFileRepository.getByProperty(packBean); if (mesFile != null) { url = mesFile.getFileUrl(); @@ -169,15 +161,15 @@ public class MesProductionNoSortModuleService extends BaseModuleService { List workOrderList = workOrderExtService.getWorkOrderListByShiftCode(reqBean.getOrganizeCode(), mesWorkCell.getWorkCenterCode(), mesProdShiftKvBean.getShiftCode()); if (CollectionUtils.isEmpty(workOrderList)) { StationKvBeanUtil.addStationKvBeanList(orderQtyKvBeans, new ArrayList<>(), - new StationKvBean(MesPcnExtConstWords.QTY, "工单计划数", 0 + ""), - new StationKvBean(MesPcnExtConstWords.COMPLATED_QTY, "工单完成数", 0 + "")); + new StationKvBean(MesPcnExtConstWords.QTY, "工单计划数", MesPcnExtConstWords.ZERO_STR), + new StationKvBean(MesPcnExtConstWords.COMPLATED_QTY, "工单完成数", MesPcnExtConstWords.ZERO_STR)); } else { - double qty = workOrderList.stream().map(MesWorkOrder::getQty).reduce((a, b) -> a + b).get(); - double complateQty = workOrderList.stream().map(MesWorkOrder::getCompleteQty).reduce((a, b) -> a + b).get(); + Double qty = workOrderList.stream().map(MesWorkOrder::getQty).reduce((a, b) -> a + b).get(); + Double complateQty = workOrderList.stream().map(MesWorkOrder::getCompleteQty).reduce((a, b) -> a + b).get(); StationKvBeanUtil.addStationKvBeanList(orderQtyKvBeans, new ArrayList<>(), - new StationKvBean(MesPcnExtConstWords.QTY, "工单计划数", qty + ""), - new StationKvBean(MesPcnExtConstWords.COMPLATED_QTY, "工单完成数", complateQty + "")); + new StationKvBean(MesPcnExtConstWords.QTY, "工单计划数", qty.toString()), + new StationKvBean(MesPcnExtConstWords.COMPLATED_QTY, "工单完成数", complateQty.toString())); } if (!CollectionUtils.isEmpty(productionPartContextList)) { @@ -186,11 +178,11 @@ public class MesProductionNoSortModuleService extends BaseModuleService { resultBean.setResultList(orderQtyKvBeans); } else if (Objects.equal(MesExtEnumUtil.WORK_FILE_TYPE.PROD_VIDEO.getValue(), mesWorkCell.getIsShowMsg())) { dataType = MesPcnEnumUtil.STATION_DATA_TYPE.VIDEO.getValue(); - reqJson.put("url", url); + reqJson.put(MesPcnExtConstWords.URL, url); resultBean.setResultObj(reqJson); } else if (Objects.equal(MesExtEnumUtil.WORK_FILE_TYPE.WORK_CELL_PICTURE.getValue(), mesWorkCell.getIsShowMsg())) { dataType = MesPcnEnumUtil.STATION_DATA_TYPE.IMAGE.getValue(); - reqJson.put("url", url); + reqJson.put(MesPcnExtConstWords.URL, url); resultBean.setResultObj(reqJson); } @@ -205,19 +197,20 @@ public class MesProductionNoSortModuleService extends BaseModuleService { return resultBean; } + @Override public boolean execStateModule(StationRequestBean reqBean, List states, Map wcpcMap) { init(reqBean); return true; } + //封装展示组件班组班次内容 private List getProdShiftData(MesProdShiftRecord record) { return StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), - new StationKvBean("shiftGroup", "班组", record.getShiftGroup()), - new StationKvBean("shiftGroupName", "班组名称", record.getShiftGroupName()), - new StationKvBean("shiftCode", "班次", record.getShiftCode()), - new StationKvBean("shiftName", "班次名称", record.getShiftName())) - ; + new StationKvBean(MesPcnExtConstWords.SHIFT_GROUP, "班组", record.getShiftGroup()), + new StationKvBean(MesPcnExtConstWords.SHIFT_GROUP_NAME, "班组名称", record.getShiftGroupName()), + new StationKvBean(MesPcnExtConstWords.SHIFT_CODE, "班次", record.getShiftCode()), + new StationKvBean(MesPcnExtConstWords.SHIFT_NAME, "班次名称", record.getShiftName())); } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionChooseCavityOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionChooseCavityOrderService.java index 6c0c378..fb79e3b 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionChooseCavityOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionChooseCavityOrderService.java @@ -49,8 +49,9 @@ public class MesFunctionChooseCavityOrderService extends BaseSwsService implemen MesWorkCell workCell = productionProcessContext.getWorkCell(); + //暂定不需要卡控 // if (StringUtils.isEmpty(workCell.getIsAllowOrder()) || CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue() == workCell.getIsAllowOrder()) { -// this.sendMessage(reqBean, resultBean.writeDbLog(MesExtEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), +// this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), // String.format("生产线[%s]工位[%s]%s失败,工位未设置允许界面选工单!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); // return false; // } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java index 531d9a0..a091ffe 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java @@ -1,14 +1,12 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; import cn.estsh.i3plus.pojo.mes.model.StationResultBean; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.StringUtils; @@ -18,18 +16,15 @@ import org.springframework.util.StringUtils; @Service public class MesFunctionSwitchCellService extends BaseSwsService implements IFsmModuleFunctionService { - @Autowired - private IShippingDispatchService shippingDispatchService; - @Override public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { + resultBean.isWs(false).writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()); + if (StringUtils.isEmpty(buttonDynamicModel.getFunctionValue()) || buttonDynamicModel.getFunctionValue().equals(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValueStr())) - this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), - String.format("生产线[%s]工位[%s]%s,客户端已下线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); + this.sendMessage(reqBean, resultBean, String.format("生产线[%s]工位[%s]执行工位按钮[%s]客户端下线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); else - this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), - String.format("生产线[%s]工位[%s]%s,客户端已在线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); + this.sendMessage(reqBean, resultBean, String.format("生产线[%s]工位[%s]执行工位按钮[%s]客户端上线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); return true; diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java index 94569af..66ab184 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionCustomContextStepService.java @@ -118,8 +118,8 @@ public class MesProductionCustomContextStepService extends BaseStepService imple if (CollectionUtils.isEmpty(stationKvBeans)) { return null; } - StationKvBean shiftGroupKvBean = stationKvBeans.stream().filter(stationKvBean -> Objects.equal(stationKvBean.getKey(), "shiftGroup")).findFirst().orElse(null); - StationKvBean shiftCodeKvBean = stationKvBeans.stream().filter(stationKvBean -> Objects.equal(stationKvBean.getKey(), "shiftCode")).findFirst().orElse(null); + StationKvBean shiftGroupKvBean = stationKvBeans.stream().filter(stationKvBean -> Objects.equal(stationKvBean.getKey(), MesPcnExtConstWords.SHIFT_GROUP)).findFirst().orElse(null); + StationKvBean shiftCodeKvBean = stationKvBeans.stream().filter(stationKvBean -> Objects.equal(stationKvBean.getKey(), MesPcnExtConstWords.SHIFT_CODE)).findFirst().orElse(null); mesProdShiftContext.setShiftCode(shiftGroupKvBean == null ? null : shiftCodeKvBean.getValue()); mesProdShiftContext.setShiftGroup(shiftCodeKvBean == null ? null : shiftGroupKvBean.getValue()); @@ -186,18 +186,18 @@ public class MesProductionCustomContextStepService extends BaseStepService imple List stationKvBeans = getProductionStatisticsContext(reqBean); + String countStr = String.valueOf(count); AtomicReference amount = new AtomicReference<>(); amount.set(count); if (CollectionUtils.isEmpty(stationKvBeans)) { String name = "加工数"; - String value = count + ""; stationKvBeans = StationKvBeanUtil.addStationKvBeanList(new ArrayList<>(), - new StationKvBean(mesProdShiftKvBean.getShiftGroup(), name, value), new StationKvBean("color", "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); + new StationKvBean(mesProdShiftKvBean.getShiftGroup(), name, countStr), new StationKvBean(MesPcnExtConstWords.COLOR, "颜色", MesExtEnumUtil.COLOR.BLACK.getValue())); } else { stationKvBeans.stream().forEach(stationKvBean -> { if (stationKvBean.getKey().contains(mesProdShiftKvBean.getShiftGroup())) { - stationKvBean.setValue(stationKvBean == null ? count + "" : (Integer.valueOf(stationKvBean.getValue()) + count) + ""); + stationKvBean.setValue(stationKvBean == null ? countStr : String.valueOf(Integer.valueOf(stationKvBean.getValue()) + count)); amount.set(Integer.valueOf(stationKvBean.getValue())); } }); 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 f8fb8d3..2520c12 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 @@ -441,6 +441,7 @@ public class MesProductionProcessContextStepService extends BaseStepService impl if (null == scanMonitorContext) return false; //开模记录ID, 工序开始时间 if (isSetMouldRecordId) scanMonitorContext.mouldRecordId(snowflakeIdMaker.nextId()).startDateTime(TimeTool.getNowTime(true)); + log.info("工厂{}生产线{}工位{}:工序缓存工位扫描监控信息:{}", reqBean.getOrganizeCode(), reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), JSONObject.toJSONString(scanMonitorContext)); return saveFsmBusiData(reqBean.getOrganizeCode(), getContextKey(reqBean), MesPcnExtConstWords.SCAN_MONITOR_CONTEXT, JSONObject.toJSONString(scanMonitorContext)); } @@ -457,7 +458,7 @@ public class MesProductionProcessContextStepService extends BaseStepService impl } private String getContextKey(String organizeCode, String workCenterCode, String workCellCode) { - return new StringJoiner(":").add(organizeCode).add(workCenterCode).add(workCellCode).add(MesPcnExtConstWords.PRODUCTION_PROCESS_CONTEXT).add(MesPcnExtConstWords.BASE_DATA_CONTEXT).toString(); + return new StringJoiner(MesPcnExtConstWords.COLON).add(organizeCode).add(workCenterCode).add(workCellCode).add(MesPcnExtConstWords.PRODUCTION_PROCESS_CONTEXT).add(MesPcnExtConstWords.BASE_DATA_CONTEXT).toString(); } //获取上下文工位扫描监控信息 diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java index afa3d1e..9895e7c 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/context/MesProductionProcessMonitorService.java @@ -67,7 +67,7 @@ public class MesProductionProcessMonitorService extends BaseProcessMonitorServic //客户端下线 @Override - public Boolean doOffLine(StationRequestBean requestBean) { + public Boolean doOnLine(StationRequestBean requestBean) { //删除当前工步集 fsmCommonService.doFlushCache(requestBean); //清除上下文中的所有业务数据 @@ -77,6 +77,10 @@ public class MesProductionProcessMonitorService extends BaseProcessMonitorServic return true; } + //客户端下线 + @Override + public Boolean doOffLine(StationRequestBean requestBean) { return true; } + //工位流程重置 【父类已经调用: 删除当前工步集; 清除工位工序流程; TASK_COMPLETE】 @Override public Boolean fsmReset(StationRequestBean requestBean) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java index dcc721c..6777821 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/util/MesPcnException.java @@ -75,7 +75,7 @@ public class MesPcnException { */ public static void throwBusiException(String errorDetail, Object...args){ throw ImppExceptionBuilder.newInstance() - .setSystemID(CommonEnumUtil.SOFT_TYPE.MES.getCode()) + .setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode()) .setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode()) .setErrorDetail(errorDetail, args) .build(); 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 a9fba24..98eff65 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 @@ -85,10 +85,14 @@ public class MesPcnExtConstWords { public static final String MOULD_NO = "mouldNo"; // 工单完成数 public static final String COMPLATED_QTY = "complateQty"; - // 班次 + // 班次代码 public static final String SHIFT_CODE = "shiftCode"; + // 班次名称 + public static final String SHIFT_NAME = "shiftName"; // 班组 public static final String SHIFT_GROUP = "shiftGroup"; + // 班组名称 + public static final String SHIFT_GROUP_NAME = "shiftGroupName"; // 工序代码 public static final String PROCESS_CODE = "processCode"; // 工艺代码 @@ -163,6 +167,8 @@ public class MesPcnExtConstWords { public static final String RULE_CODE = "ruleCode"; // 打印状态 public static final String PRINT_STATUS = "printStatus"; + // 颜色 + public static final String COLOR = "color"; // 时间格式 public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss"; From a18028a8262f6c29e975e670ea4d13c5e5d2f953 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sun, 28 Jul 2024 00:33:34 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E9=80=9A=E7=94=A8=E5=B7=A5=E4=BD=8D?= =?UTF-8?q?=E6=8C=89=E9=92=AE=20=E7=A7=BB=E5=8A=A8=E5=88=B0=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../function/MesFunctionJumpProcessService.java | 53 ---------------------- .../function/MesFunctionJumpStateService.java | 53 ---------------------- .../function/MesFunctionSwitchCellService.java | 33 -------------- 3 files changed, 139 deletions(-) delete mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpProcessService.java delete mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpStateService.java delete mode 100644 modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpProcessService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpProcessService.java deleted file mode 100644 index cf4fb00..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpProcessService.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function; - -import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmCommonService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; -import cn.estsh.i3plus.platform.common.util.MesPcnConstWords; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; -import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; -import cn.estsh.i3plus.pojo.mes.model.StationResultBean; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - -import java.util.Map; - -/** - * @Description : 工位参数按钮事件接口实现【重置工序】 - **/ -@Service -public class MesFunctionJumpProcessService extends BaseSwsService implements IFsmModuleFunctionService { - - @Autowired - private IFsmCommonService fsmCommonService; - - @Autowired - private IShippingDispatchService shippingDispatchService; - - @Override - public Boolean doFunction(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { - - Map wcpcMap = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean); - String jumpState = wcpcMap.get(MesPcnEnumUtil.STATION_REQUEST_BEAN_CMD.JUMP_STATE.getCode()); - - if (StringUtils.isEmpty(jumpState)) { - this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), - String.format("生产线[%s]工位[%s]%s失败,未配置工位参数[%s]!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName(), MesPcnEnumUtil.STATION_REQUEST_BEAN_CMD.FORCE_JUMP_PROCESS.getCode()), - MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); - return false; - } - - reqBean.setClientInfo(shippingDispatchService.getActorClientInfo(reqBean)); - reqBean.setInterfaceType(MesPcnConstWords.SHIPPING); - reqBean.setBusiType(MesPcnEnumUtil.ACTOR_RECEIVE_STRATEGY.WS_CMD_DO_SCAN.getCode()); - reqBean.setForceJumpProcess(true); - shippingDispatchService.doSendScanQueueNextExec(reqBean); - - return true; - - } - -} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpStateService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpStateService.java deleted file mode 100644 index b7b78a6..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionJumpStateService.java +++ /dev/null @@ -1,53 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function; - -import cn.estsh.i3plus.mes.pcn.actor.shipping.dispatch.IFsmCommonService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.IShippingDispatchService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; -import cn.estsh.i3plus.platform.common.util.MesPcnConstWords; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; -import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; -import cn.estsh.i3plus.pojo.mes.model.StationResultBean; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - -import java.util.Map; - -/** - * @Description : 工位参数按钮事件接口实现【强过工步集】 - **/ -@Service -public class MesFunctionJumpStateService extends BaseSwsService implements IFsmModuleFunctionService { - - @Autowired - private IFsmCommonService fsmCommonService; - - @Autowired - private IShippingDispatchService shippingDispatchService; - - @Override - public Boolean doFunction(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { - - Map wcpcMap = fsmCommonService.doHandleFsmWcpcMapDataForDoScan(reqBean); - String jumpState = wcpcMap.get(MesPcnEnumUtil.STATION_REQUEST_BEAN_CMD.JUMP_STATE.getCode()); - - if (StringUtils.isEmpty(jumpState)) { - this.sendMessage(reqBean, resultBean.writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()), - String.format("生产线[%s]工位[%s]%s失败,未配置工位参数[%s]!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName(), MesPcnEnumUtil.STATION_REQUEST_BEAN_CMD.JUMP_STATE.getCode()), - MesPcnEnumUtil.STATION_BUSI_TYPE.MESSAGE, MesPcnEnumUtil.STATION_DATA_TYPE.EXP_TEXT); - return false; - } - - reqBean.setClientInfo(shippingDispatchService.getActorClientInfo(reqBean)); - reqBean.setInterfaceType(MesPcnConstWords.SHIPPING); - reqBean.setBusiType(MesPcnEnumUtil.ACTOR_RECEIVE_STRATEGY.WS_CMD_DO_SCAN.getCode()); - reqBean.setScanInfo(jumpState); - shippingDispatchService.doSendScanQueueNextExec(reqBean); - - return true; - - } - -} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java deleted file mode 100644 index a091ffe..0000000 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/function/MesFunctionSwitchCellService.java +++ /dev/null @@ -1,33 +0,0 @@ -package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.station.function; - -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseSwsService; -import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.function.IFsmModuleFunctionService; -import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; -import cn.estsh.i3plus.pojo.base.enumutil.MesPcnEnumUtil; -import cn.estsh.i3plus.pojo.mes.model.ButtonDynamicModel; -import cn.estsh.i3plus.pojo.mes.model.StationRequestBean; -import cn.estsh.i3plus.pojo.mes.model.StationResultBean; -import org.springframework.stereotype.Service; -import org.springframework.util.StringUtils; - -/** - * @Description : 工位参数按钮事件接口实现【切换工位】 - **/ -@Service -public class MesFunctionSwitchCellService extends BaseSwsService implements IFsmModuleFunctionService { - - @Override - public Object doCustomApiDispatch(StationRequestBean reqBean, StationResultBean resultBean, ButtonDynamicModel buttonDynamicModel) { - - resultBean.isWs(false).writeDbLog(MesPcnEnumUtil.WORK_CELL_SCAN_MONITOR_LOG_TYPE.PICK.getValue()).scanInfo(buttonDynamicModel.getFunctionValue()); - - if (StringUtils.isEmpty(buttonDynamicModel.getFunctionValue()) || buttonDynamicModel.getFunctionValue().equals(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValueStr())) - this.sendMessage(reqBean, resultBean, String.format("生产线[%s]工位[%s]执行工位按钮[%s]客户端下线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); - else - this.sendMessage(reqBean, resultBean, String.format("生产线[%s]工位[%s]执行工位按钮[%s]客户端上线!", reqBean.getWorkCenterCode(), reqBean.getWorkCellCode(), buttonDynamicModel.getButtonName()), MesPcnEnumUtil.STATION_BUSI_TYPE.RUNNING_INFO, MesPcnEnumUtil.STATION_DATA_TYPE.TEXT); - - return true; - - } - -}