From 71766083557d54a4e60b370d6244dd7ff42f0b57 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sat, 28 Sep 2024 13:37:43 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E5=BA=8F=20=E5=8A=A0=E5=B7=A5?= =?UTF-8?q?=E8=AE=B0=E5=BD=95=20=E6=A0=B9=E6=8D=AE=E5=B7=A5=E5=8D=95?= =?UTF-8?q?=E8=A3=85=E9=85=8D=E4=BB=B6=E5=86=99=E5=8A=A0=E5=B7=A5=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E7=9A=84=E6=B1=87=E6=8A=A5=E6=96=B9=E5=BC=8F=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=B1=87=E6=8A=A5=E9=9B=B6=E4=BB=B6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MesProductionRecordGenerateStepService.java | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionRecordGenerateStepService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionRecordGenerateStepService.java index 9696c16..bc644cc 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionRecordGenerateStepService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/step/MesProductionRecordGenerateStepService.java @@ -130,17 +130,29 @@ public class MesProductionRecordGenerateStepService extends BaseStepService { productionRecord.setEquipmentName(cellEquipContext.getEquipmentName()); if (workCenter.getCenterType().compareTo(MesExtEnumUtil.WORK_CENTER_TYPE.NOSORT.getValue()) == 0) { + //非排序 productionRecord.setReportType((null != prodRuleContext && !StringUtils.isEmpty(prodRuleContext.getReportType())) ? prodRuleContext.getReportType() : MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue()); if (productionRecord.getReportType().compareTo(MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue()) != 0) productionRecord.setReportPartNo(productionPsOutContext.getPartNo()); productionRecord.setReportStatus(productionRecord.getReportType().compareTo(MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue()) != 0 ? MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue() : MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue()); - if (productionRecord.getReportStatus().compareTo(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()) == 0 && isSamePart(productionPsInContext, productionPsOutContext) && - checkPsIsReported(reqBean.getOrganizeCode(), productionPsOutContext.getProductSn(), productionPsOutContext.getPartNo())) productionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue()); } else { - //排序的汇报基于工单装配件,加工记录默认不汇报 - productionRecord.setReportType(MesExtEnumUtil.NOSORT_REPORT_TYPE.NO_REPORT.getValue()); - productionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue()); + //排序 + List productionAssemblySortContextList = prodRuleContext.getSortAssemblyDataContext(); + Optional optional = CollectionUtils.isEmpty(productionAssemblySortContextList) ? null : + productionAssemblySortContextList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getReportType()) && o.getReportType().compareTo(MesExtEnumUtil.MES_REPORT_TYPE.NO_REPORT.getValue()) != 0)).findFirst(); + if (null == optional || !optional.isPresent()) { + productionRecord.setReportType(MesExtEnumUtil.MES_REPORT_TYPE.NO_REPORT.getValue()); + productionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue()); + } else { + productionRecord.setReportType(optional.get().getReportType()); + productionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); + productionRecord.setReportPartNo(!StringUtils.isEmpty(optional.get().getReportPartNo()) ? optional.get().getReportPartNo() : productionRecord.getPartNo()); + } } + //非排序与排序 相同验证: 判断是否已经存在汇报状态的加工记录 + if (productionRecord.getReportStatus().compareTo(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()) == 0 && isSamePart(productionPsInContext, productionPsOutContext) && + checkPsIsReported(reqBean.getOrganizeCode(), productionPsOutContext.getProductSn(), productionPsOutContext.getPartNo())) productionRecord.setReportStatus(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue()); + productionRecord.setModuleStatisticsStatus(CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); productionRecord.setAreaCode(reqBean.getAreaCode());