From b9b38e7e4f68303f9ff3cd58683ce0b8548befb6 Mon Sep 17 00:00:00 2001 From: "xiangwei.zhang" <752558143@qq.com> Date: Tue, 7 Jan 2025 19:44:37 +0800 Subject: [PATCH 1/6] =?UTF-8?q?44756=20=E9=9B=B6=E4=BB=B6=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E7=BB=84=E9=85=8D=E7=BD=AE-=E5=90=AF=E7=94=A8Bom?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=8F=B7=E2=80=9D=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java index 163ed76..51a0b40 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesBomService.java @@ -184,7 +184,7 @@ public class MesBomService extends BaseMesService implements IMesBomServ DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean1); DdlPreparedPack.getStringEqualPack(bomCode, MesExtConstWords.BOM_CODE, ddlPackBean1); DdlPreparedPack.getStringSmallerPack(effStartTime, MesExtConstWords.EFF_START_TIME, ddlPackBean1); - return baseRDao.findByHqlWhere(ddlPackBean); + return baseRDao.findByHqlWhere(ddlPackBean1); } @Override From 87ef87ccc91e1baad110ae801dede3003c4821a7 Mon Sep 17 00:00:00 2001 From: "castle.zang" Date: Thu, 9 Jan 2025 10:17:31 +0800 Subject: [PATCH 2/6] =?UTF-8?q?fix=20bug=2044747=20=E5=90=8C=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=8E=9F=E9=9B=B6=E4=BB=B6=E5=AF=B9=E5=BA=94=E5=A4=9A?= =?UTF-8?q?=E4=B8=AAPTR=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesCreateWorkOrderImpl.java | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java index cef9094..88fa57e 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/busi/MesCreateWorkOrderImpl.java @@ -438,14 +438,24 @@ public class MesCreateWorkOrderImpl implements IMesCreateWorkOrder { //获取相同总成的ptrId 在ptr详情中 List custPartPtrList = ptr.stream().filter(item -> item.getIsCustomerSendPrtInfo() == null || item.getIsCustomerSendPrtInfo() != CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()).collect(Collectors.toList()); if (!custPartPtrList.isEmpty()) { - mesPartPtr = custPartPtrList.get(0); - //查询ptr总成--只有特定总成才会替换 - DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(mesPartPtr.getId(), "ptrId", detailPartPtr); - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "totalPartNo", detailPartPtr); - List ptrDetailList = partPtrDetailRao.findByHqlWhere(detailPartPtr); - if (!ptrDetailList.isEmpty()) { - mesPartPtrDetail = ptrDetailList.get(0); + /** + * 修复bug 44747 同一个原零件对应多个ptr逻辑优化 + * 同一个原零件对应多个PTR,如果是内部PTR,需要去遍历每一个PTR的明细(总成零件号),不能是只找第一个PTR; + */ + for (MesPartPtr partPtr : custPartPtrList) { + //查询ptr总成--只有特定总成才会替换 + DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getNumEqualPack(partPtr.getId(), "ptrId", detailPartPtr); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "totalPartNo", detailPartPtr); + List ptrDetailList = partPtrDetailRao.findByHqlWhere(detailPartPtr); + if (!ptrDetailList.isEmpty()) { + mesPartPtrDetail = ptrDetailList.get(0); + mesPartPtr = partPtr; + break; + } + } + if (mesPartPtr == null){ + mesPartPtr = custPartPtrList.get(0); } } } From 7831a818223aa72ecdf8e1bb4eb67a4cc15503a3 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 9 Jan 2025 18:37:54 +0800 Subject: [PATCH 3/6] =?UTF-8?q?=2044746=20=E4=BA=A7=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=8A=A5=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/IMesProductionRecordReportExtDao.java | 2 +- .../report/MesProductionRecordReportExtDao.java | 41 +++++++++++++--------- .../MesProductionRecordReportExtService.java | 19 ++++++---- .../report/MesProductionRecordReportExtModel.java | 3 -- 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java index 38f5001..0256419 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java @@ -15,6 +15,6 @@ import java.util.List; **/ public interface IMesProductionRecordReportExtDao { - ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList); + ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java index 14603b8..bfd47ae 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java @@ -34,7 +34,8 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo private EntityManager entityManager; @Override - public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList) { + public ListPager queryProductionRecordUnionWorkOrderLogReport( + MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo) { List resultList = new ArrayList<>(); @@ -48,7 +49,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo StringBuilder endHql = new StringBuilder(); StringBuilder limitHql = new StringBuilder(); - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { unionQueryHql.append("SELECT " + " o.workCenterCode, " + " o.workCellCode, " + @@ -70,7 +71,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo countQueryHql.append("SELECT count(1) FROM ( "); } - if (!CollectionUtils.isEmpty(reportStatusList)) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { prQueryHql.append("" + " SELECT " + " a.work_center_code AS workCenterCode, " + @@ -92,7 +93,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo " AND a.is_valid = :isValid " + " AND a.complete_date_time >= :completeDateTimeStart " + " AND a.complete_date_time <= :completeDateTimeEnd "); - if (reportStatusList.size() == 1) { + if (reportStatusList2Pr.size() == 1) { prQueryHql.append(" AND a.report_status = :reportStatus "); } else { prQueryHql.append(" AND a.report_status in (:reportStatus) "); @@ -123,11 +124,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { prQueryHql.append(" ) UNION ALL ( "); } - if (model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { woQueryHql.append("" + " SELECT " + " b.work_center_code AS workCenterCode, " + @@ -168,7 +169,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { endHql.append(" )) AS o "); } else { endHql.append(" ) AS o "); @@ -176,11 +177,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo limitHql.append(" LIMIT :startRow , :pageSize "); - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql); } else { - if (!CollectionUtils.isEmpty(reportStatusList)) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { queryHql.append(prQueryHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(endHql); } else { @@ -193,9 +194,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo // log.info("countHql: --- {}", countHql.toString()); Query dataQuery = entityManager.createNativeQuery(queryHql.toString()); - setQueryParams(dataQuery, model, reportStatusList, pager); + setQueryParams(dataQuery, model, reportStatusList2Pr, reportStatusList2Wo, pager); Query countQuery = entityManager.createNativeQuery(countHql.toString()); - setQueryParams(countQuery, model, reportStatusList, null); + setQueryParams(countQuery, model, reportStatusList2Pr, reportStatusList2Wo, null); Object o = countQuery.getSingleResult(); @@ -231,20 +232,26 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList, Pager pager) { + private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList2Pr, List reportStatusList2Wo, Pager pager) { query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()); query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter(MesExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); - if (!CollectionUtils.isEmpty(reportStatusList)) { - if (reportStatusList.size() == 1) { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList.get(0)); + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { + if (reportStatusList2Pr.size() == 1) { + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr.get(0)); } else { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList); + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr); + } + } + if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (reportStatusList2Pr.size() == 1) { + query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo.get(0)); + } else { + query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo); } } - if (model.getIsQueryWo()) query.setParameter(MesExtConstWords.MESSAGE_TYPE, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); if (!StringUtils.isEmpty(model.getPartNo())) { query.setParameter(MesExtConstWords.PART_NO, model.getPartNo()); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java index 22f61e7..aa62783 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java @@ -36,11 +36,15 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { List reportStatusList = !StringUtils.isEmpty(model.getReportStatusList()) - ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) - : Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), - MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue()).collect(Collectors.toList()); + ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) : + Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue() + ).collect(Collectors.toList()); List reportStatusList2Pr = null; + List reportStatusList2Wo = null; if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) { reportStatusList2Pr = new ArrayList<>(); reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); @@ -51,10 +55,13 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); } - if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode()) && - reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) model.setIsQueryWo(true); + if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode())) { + reportStatusList2Wo = new ArrayList<>(); + if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); + if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT_ADJUST.getValue()); + } - ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr); + ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr, reportStatusList2Wo); return listPager; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java index 5a2a8fc..93262bb 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java @@ -59,9 +59,6 @@ public class MesProductionRecordReportExtModel implements Serializable { @ApiParam("汇报状态名称") private String reportStatusName; - @ApiParam("是否查询工单日志表") - private Boolean isQueryWo = false; - public MesProductionRecordReportExtModel() {} public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) { From 4d34673835240a4182a8803ef19d69d92ef327e7 Mon Sep 17 00:00:00 2001 From: jun Date: Thu, 9 Jan 2025 18:39:02 +0800 Subject: [PATCH 4/6] =?UTF-8?q?44656=20=E6=8A=A5=E5=B7=A5=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E6=8A=A5=E8=A1=A8=E4=B8=AD=E5=8E=9F=E5=9B=A0=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../daoimpl/report/MesYfReportDaoImpl.java | 4 +- .../serviceimpl/base/MesWorkOrderService.java | 143 +++++++++++++++++---- .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 4 + 3 files changed, 123 insertions(+), 28 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesYfReportDaoImpl.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesYfReportDaoImpl.java index ca7f007..97201ea 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesYfReportDaoImpl.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesYfReportDaoImpl.java @@ -211,8 +211,8 @@ public class MesYfReportDaoImpl implements IMesYfReportDao { commonHql.append(" and partType.assemblyDescription = '通用追溯' and workOrder.workOrderStatus in (:workOrderStatus) "); commonHql.append(" and assembly.assemblySn != '' and assembly.assemblySn is not null "); if (!StringUtils.isEmpty(model.getWorkCenterCode())) commonHql.append(" and workOrder.workCenterCode like '%").append(model.getWorkCenterCode()).append("%' "); - if (!StringUtils.isEmpty(model.getCustSn())) commonHql.append(" and orderAssembly.custSn like '%").append(model.getCustSn()).append("%' "); - if (!StringUtils.isEmpty(model.getAssemblySn())) commonHql.append(" and orderAssembly.assemblySn like '%").append(model.getAssemblySn()).append("%' "); + if (!StringUtils.isEmpty(model.getCustSn())) commonHql.append(" and workOrder.custSn like '%").append(model.getCustSn()).append("%' "); + if (!StringUtils.isEmpty(model.getAssemblySn())) commonHql.append(" and assembly.assemblySn like '%").append(model.getAssemblySn()).append("%' "); if (!StringUtils.isEmpty(model.getWorkOrderNo())) commonHql.append(" and workOrder.workOrderNo like '%").append(model.getWorkOrderNo()).append("%' "); if (!StringUtils.isEmpty(model.getShippingTimeStart())) commonHql.append(" and workOrder.shippingTime >= :shippingTimeStart "); if (!StringUtils.isEmpty(model.getShippingTimeEnd())) commonHql.append(" and workOrder.shippingTime <= :shippingTimeEnd "); diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java index 6f7a0c9..daaa1bb 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesWorkOrderService.java @@ -3,7 +3,6 @@ package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; import cn.estsh.i3plus.ext.mes.api.base.*; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt; import cn.estsh.i3plus.ext.mes.apiservice.dao.IMesWorkOrderDao; -import cn.estsh.i3plus.ext.mes.apiservice.schedulejob.TestJob; import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.apiservice.utils.BeanMapUtilsExt; import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException; @@ -28,8 +27,6 @@ import cn.estsh.i3plus.pojo.base.util.StringUtil; import cn.estsh.i3plus.pojo.mes.bean.*; import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel; import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderModel; -import cn.estsh.i3plus.pojo.mes.model.report.MesProductAccountModel; -import cn.estsh.i3plus.pojo.mes.model.report.MesProductAccountResModel; import cn.estsh.i3plus.pojo.mes.repository.*; import cn.estsh.i3plus.pojo.mes.util.DateUtilExt; import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; @@ -1033,7 +1030,7 @@ public class MesWorkOrderService extends BaseMesService implements String nowTime = StringUtil.isEmpty(mesWorkOrder.getDescription())?TimeTool.getNowTime(true):mesWorkOrder.getDescription(); for (MesBom mesBom : mesBoms) { - mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, false,nowTime,mesBoms.size())); + mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, nowTime,mesBoms.size())); } mesProductOffLineService.insertBatch(mesProductOffLineList); } @@ -1099,8 +1096,6 @@ public class MesWorkOrderService extends BaseMesService implements } } - //物料+生产版本获取bom信息 - List mesBoms = mesBomService.findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion); //生成条码 String sn = getStringList(mesWorkOrderNew.getOrganizeCode(), AuthUtilExt.getUserName()); //保存数据 @@ -1111,9 +1106,17 @@ public class MesWorkOrderService extends BaseMesService implements String nowTime = TimeTool.getNowTime(true); //排序工单 if (MesExtEnumUtil.ORDER_TYPE.SORT.getValue() == mesWorkOrder.getWorkOrderType()) { - //报工类型 + //排序线不能做报工调整ESD属性类型 if (MesExtEnumUtil.REPORT_TYPE.WRITE_OFF.getValue() == mesWorkOrder.getReportType()) { - MesException.throwMesBusiException("工单【%s】为排序工单不允许冲销", mesWorkOrder.getWorkOrderNo()); + MesConfig config = mesConfigService.getCfgValueByCode(mesWorkOrder.getOrganizeCode(), MesExtConstWords.NOT_ALLOW_WRITE_OFF); + if (!Objects.isNull(config) && config.getCfgValue().contains(mesPart.getEsd())) { + MesException.throwMesBusiException("物料特殊移库类型为【%s】,不允许冲销", mesPart.getEsd()); + } + } + //查询工单零件表 + List partList = mesWorkOrderPartService.findMesWorkOrderPart(mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getOrganizeCode()); + if(CollectionUtils.isEmpty(partList)){ + MesException.throwMesBusiException("工单【%s】工单零件表信息不存在,不允许冲销", mesWorkOrder.getWorkOrderNo()); } //排序加工规则 MesProdRuleSortCfg mesProdRuleSortCfg = getMesProdRuleSortCfg(mesWorkOrder); @@ -1125,7 +1128,7 @@ public class MesWorkOrderService extends BaseMesService implements isReport = true; isMove = true; } else if (MesExtEnumUtil.MES_REPORT_TYPE.CUSTOMER_SUPPLY_MOVE.getValue() == mesProdRuleSortCfg.getReportType()) { - customerSupplyMove(mesWorkOrderNew, mesProductVersion, mesBoms, sn, mesProductOffLineList, mesMoveList,nowTime,true); + customerSupplyMoveSort(mesWorkOrderNew, mesProductVersion, partList, sn, mesProductOffLineList, mesMoveList, nowTime); } else { log.info("工单{}排序加工规则报工类型未维护", mesWorkOrder.getWorkOrderNo()); return; @@ -1136,8 +1139,8 @@ public class MesWorkOrderService extends BaseMesService implements MesPartSap mesPartSap = mesPartSapService.getMesPartSapByPartNo(mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode()); //成品汇报 if (isReport) { - for (MesBom mesBom : mesBoms) { - mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false,nowTime,mesBoms.size())); + for (MesWorkOrderPart orderPart : partList) { + mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, orderPart,false,nowTime,partList.size())); } } //成品移库 @@ -1148,18 +1151,23 @@ public class MesWorkOrderService extends BaseMesService implements } } } else if (MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue() == mesWorkOrder.getWorkOrderType()) { + //物料+生产版本获取bom信息 + List mesBoms = mesBomService.findBomList(mesPart.getOrganizeCode(), mesPart, bomVersion); MesProdRuleNosortCfg mesProdRuleNoSortCfg = mesProdRuleNosortCfgService.findMesProdRuleNosortCfgByWorkCenterCode(mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getPartNo(), mesWorkOrder.getOrganizeCode()); if (MesExtEnumUtil.NOSORT_REPORT_TYPE.REPORT.getValue() == mesProdRuleNoSortCfg.getReportType()) { for (MesBom mesBom : mesBoms) { - mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, false,nowTime,mesBoms.size())); + mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrderNew, mesProductVersion, sn, mesBom, nowTime,mesBoms.size())); } }else if(MesExtEnumUtil.NOSORT_REPORT_TYPE.CUSTOMER_SUPPLY_MOVE.getValue() == mesProdRuleNoSortCfg.getReportType()) { - customerSupplyMove(mesWorkOrderNew, mesProductVersion, mesBoms, sn, mesProductOffLineList, mesMoveList,nowTime,false); + customerSupplyMove(mesWorkOrderNew, mesProductVersion, mesBoms, sn, mesProductOffLineList, mesMoveList,nowTime); } } else { log.info("工单{}排序规则不属于排序工单和非排序工单", mesWorkOrder.getWorkOrderNo()); return; } + //原因备注 + mesWorkOrder.setRemark(mesWorkOrderNew.getRemark()); + mesWorkOrder.setDescription(mesWorkOrderNew.getDescription()); //更新工单 updateMesWorkOrder(mesWorkOrder, (MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrderNew.getReportType()) ? MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT : MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT_ADJUST,mesWorkOrderNew.getNum()); @@ -1528,7 +1536,56 @@ public class MesWorkOrderService extends BaseMesService implements return newMesProductOffLine; } - private void customerSupplyMove(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, List mesBoms, String sn, List mesProductOffLineList, List mesMoveList,String nowTime,boolean isSort) { + private void customerSupplyMoveSort(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, List orderPartList, String sn, List mesProductOffLineList, List mesMoveList,String nowTime) { + boolean isItemMove; + boolean isItemReport; + MesMoveRule moveRule; + MesPart itemPart; + //查询零件生产组的移库规则 + List moveRules = mesMoveRuleService.findMesMoveRuleByPartProdGroupCode(mesWorkOrder.getPartProdGroupCode(), mesWorkOrder.getOrganizeCode(), MesExtEnumUtil.MOVE_RULE_GROUP_TYPE.MOVE_RULE_GROUP_TYPE_20.getValue()); + Map> mesMoveRuleMap = moveRules.stream().filter(t -> Objects.nonNull(t.getSrcType())).collect(Collectors.groupingBy(MesMoveRule::getSrcType)); + List itemPartNoList = orderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList()); + //子物料SAP下发信息 + Map> mesPartSapMap = getPartSapMap(mesWorkOrder, itemPartNoList); + //获取物料信息 + Map> itemPartMap = getItemPartMap(mesWorkOrder, itemPartNoList); + for (MesWorkOrderPart orderPart : orderPartList) { + isItemReport = false; + isItemMove = false; + moveRule = null; + itemPart = null; + if (itemPartMap.containsKey(orderPart.getPartNo())) { + itemPart = itemPartMap.get(orderPart.getPartNo()).iterator().next(); + if (!StringUtil.isEmpty(itemPart.getEsd()) && mesMoveRuleMap.containsKey(itemPart.getEsd())) { + moveRule = mesMoveRuleMap.get(itemPart.getEsd()).iterator().next(); + if (MesExtEnumUtil.MOVE_TYPE_REPORT_TYPE.REPORT_MOVE.getValue() == moveRule.getReportType()) { + isItemMove = true; + isItemReport = true; + } else if (MesExtEnumUtil.MOVE_TYPE_REPORT_TYPE.REPORT.getValue() == moveRule.getReportType()) { + isItemReport = true; + } else if (MesExtEnumUtil.MOVE_TYPE_REPORT_TYPE.MOVE.getValue() == moveRule.getReportType()) { + isItemMove = true; + } + } + } + //汇报 + if (isItemReport) { + mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, orderPart, true, nowTime, null)); + } + //移库 + if (isItemMove) { + MesPartSap mesPartSap = null; + if (mesPartSapMap.containsKey(orderPart.getPartNo())) { + mesPartSap = mesPartSapMap.get(orderPart.getPartNo()).iterator().next(); + } + MesMove move = createMove(mesPartSap, moveRule.getErpSrcLocateNo(), moveRule.getErpDestLocateNo(), orderPart.getOrganizeCode(), mesWorkOrder.getWorkCenterCode(), orderPart.getItemQty(), MesExtConstWords.EMPTY, MesExtEnumUtil.MOVE_TYPE.RAW_MATERIAL_MOVE.getValue()); + move.setMatnr(orderPart.getPartNo()); + mesMoveList.add(move); + } + } + } + + private void customerSupplyMove(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, List mesBoms, String sn, List mesProductOffLineList, List mesMoveList,String nowTime) { boolean isItemMove; boolean isItemReport; MesMoveRule moveRule; @@ -1561,9 +1618,7 @@ public class MesWorkOrderService extends BaseMesService implements } } //汇报 - if (isItemReport && isSort) { - mesProductOffLineList.add(creatMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, true, nowTime, null)); - } else if (isItemReport) { + if (isItemReport) { String reportSn = String.valueOf(snowflakeIdMaker.nextId()); MesProductVersion itemVersion = getMesProductVersion(mesWorkOrder.getOrganizeCode(), mesBom.getItemPartNo(), mesProductVersion.getProductVersion()); List bomList = null; @@ -1574,10 +1629,10 @@ public class MesWorkOrderService extends BaseMesService implements //bom下的子节汇报 if (!CollectionUtils.isEmpty(bomList)) { for (MesBom bom : bomList) { - mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, itemVersion, reportSn, bom, mesBom.getItemQty(), true,bomList.size(), nowTime)); + mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, itemVersion, reportSn, bom, mesBom.getItemQty(), true, bomList.size(), nowTime, MesExtConstWords.SAVE_PRODUCT_VERSION_FLAG.equals(itemPart.getEsd()))); } } else { - mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, itemVersion, reportSn, mesBom, mesBom.getQty(), true,MesExtConstWords.ONE, nowTime)); + mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, itemVersion, reportSn, mesBom, mesBom.getQty(), true,MesExtConstWords.ONE, nowTime,false)); } } //移库 @@ -1593,9 +1648,9 @@ public class MesWorkOrderService extends BaseMesService implements } //bom下的子节汇报,总成也需要汇报 - if (!isSort && !CollectionUtils.isEmpty(mesProductOffLineList)) { + if (!CollectionUtils.isEmpty(mesProductOffLineList)) { for (MesBom mesBom : mesBoms) { - mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, mesBom.getQty(), false,mesBoms.size(), nowTime)); + mesProductOffLineList.add(getMesProductOffLine(mesWorkOrder, mesProductVersion, sn, mesBom, mesBom.getQty(), false,mesBoms.size(), nowTime,false)); } } } @@ -1627,7 +1682,8 @@ public class MesWorkOrderService extends BaseMesService implements } private MesProductOffLine getMesProductOffLine(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, - String sn, MesBom mesBom,Double itemQty, boolean isItemReport,Integer bomSize,String nowTime) { + String sn, MesBom mesBom,Double itemQty, boolean isItemReport, + Integer bomSize,String nowTime,boolean saveProductVersionFlag) { MesProductOffLine newMesProductOffLine = new MesProductOffLine(); BeanUtils.copyProperties(mesBom, newMesProductOffLine,MesExtConstWords.ID,MesExtConstWords.SYSTEM_SYNC_STATUS); newMesProductOffLine.setReportPartNo(mesBom.getPartNo()); @@ -1636,6 +1692,7 @@ public class MesWorkOrderService extends BaseMesService implements newMesProductOffLine.setStgeLoc(mesProductVersion.getShipInventoryPoint()); newMesProductOffLine.setQty(MathOperation.mul(mesWorkOrder.getNum(),itemQty)); newMesProductOffLine.setItemQty(MathOperation.mul(newMesProductOffLine.getQty(), mesBom.getItemQty())); + //装配费没有bom情况 if (isItemReport && mesBom.getPartNo().equals(mesWorkOrder.getPartNo())) { newMesProductOffLine.setReportPartNo(mesBom.getItemPartNo()); newMesProductOffLine.setReportPartNameRdd(mesBom.getItemPartName()); @@ -1654,7 +1711,10 @@ public class MesWorkOrderService extends BaseMesService implements newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode()); newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode()); newMesProductOffLine.setReportType(mesWorkOrder.getReportType()); - newMesProductOffLine.setSapWorkCenter(mesWorkOrder.getWorkCenterCode()); + if (Objects.equals(MesExtEnumUtil.ORDER_TYPE.BTO.getValue(), mesWorkOrder.getWorkOrderType())){ + newMesProductOffLine.setWorkCenterCode(mesProductVersion.getWorkCenterCode()); + } + newMesProductOffLine.setSapWorkCenter(saveProductVersionFlag ? mesProductVersion.getProductVersion() : mesProductVersion.getWorkCenterCode()); newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode()); newMesProductOffLine.setDescription(nowTime); newMesProductOffLine.setBomTotalSize(bomSize); @@ -1663,14 +1723,45 @@ public class MesWorkOrderService extends BaseMesService implements return newMesProductOffLine; } - private MesProductOffLine creatMesProductOffLine(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, - String sn, MesBom mesBom, boolean isItemReport,String nowTime,Integer bomTotalSize) { + String sn, MesWorkOrderPart workOrderPart, boolean isItemReport,String nowTime,Integer bomTotalSize) { MesProductOffLine newMesProductOffLine = new MesProductOffLine(); - if (!isItemReport) { + if(!isItemReport){ newMesProductOffLine.setReportPartNo(mesWorkOrder.getPartNo()); newMesProductOffLine.setReportPartNameRdd(mesWorkOrder.getPartName()); } + newMesProductOffLine.setReportSn(sn); + newMesProductOffLine.setItemPartNo(workOrderPart.getPartNo()); + newMesProductOffLine.setItemPartName(workOrderPart.getPartName()); + newMesProductOffLine.setItemQty(MathOperation.mul(mesWorkOrder.getNum(), workOrderPart.getItemQty())); + if (mesProductVersion != null){ + newMesProductOffLine.setAlort(mesProductVersion.getReceiveInventoryPoint()); + newMesProductOffLine.setStgeLoc(mesProductVersion.getShipInventoryPoint()); + newMesProductOffLine.setSapWorkCenter(mesProductVersion.getWorkCenterCode()); + } + newMesProductOffLine.setQty(Double.valueOf(mesWorkOrder.getNum())); + newMesProductOffLine.setBomVersion(mesWorkOrder.getProductVersion()); + newMesProductOffLine.setSerialNumber(sn); + newMesProductOffLine.setItemUnit(workOrderPart.getItemUnit()); + newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getWorkOrderNo()); + newMesProductOffLine.setWorkOrderType(mesWorkOrder.getWorkOrderType()); + newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode()); + newMesProductOffLine.setReportType(mesWorkOrder.getReportType()); + newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode()); + + newMesProductOffLine.setOrganizeCode(mesWorkOrder.getOrganizeCode()); + newMesProductOffLine.setDescription(nowTime); + newMesProductOffLine.setBomTotalSize(bomTotalSize); + + ConvertBean.serviceModelInitialize(newMesProductOffLine, mesWorkOrder.getCreateUser()); + return newMesProductOffLine; + } + + private MesProductOffLine creatMesProductOffLine(MesWorkOrder mesWorkOrder, MesProductVersion mesProductVersion, + String sn, MesBom mesBom, String nowTime, Integer bomTotalSize) { + MesProductOffLine newMesProductOffLine = new MesProductOffLine(); + newMesProductOffLine.setReportPartNo(mesWorkOrder.getPartNo()); + newMesProductOffLine.setReportPartNameRdd(mesWorkOrder.getPartName()); newMesProductOffLine.setReportSn(sn); newMesProductOffLine.setItemPartNo(mesBom.getItemPartNo()); diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index d97e433..bbbb6a0 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -434,5 +434,9 @@ public class MesExtConstWords { //MES汇报查询BOM是否携带结束查询条件 public static final String MES_REPORT_FIND_BOM_WITH_EFFENDTIME = "MES_REPORT_FIND_BOM_WITH_EFFENDTIME"; + //螺钉包保存生产版本标记 + public static final String SAVE_PRODUCT_VERSION_FLAG = "ZFBT"; + //排序线不能做报工调整ESD属性类型 + public static final String NOT_ALLOW_WRITE_OFF = "NOT_ALLOW_WRITE_OFF"; } From ffa9deb112fb21e6bbfd931bac9f3f40c63f6a93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=9D=B0?= Date: Thu, 9 Jan 2025 19:31:00 +0800 Subject: [PATCH 5/6] revert 7831a818223aa72ecdf8e1bb4eb67a4cc15503a3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit revert 44746 产量统计报表增加报工调整数据查询 --- .../report/IMesProductionRecordReportExtDao.java | 2 +- .../report/MesProductionRecordReportExtDao.java | 41 +++++++++------------- .../MesProductionRecordReportExtService.java | 19 ++++------ .../report/MesProductionRecordReportExtModel.java | 3 ++ 4 files changed, 27 insertions(+), 38 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java index 0256419..38f5001 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java @@ -15,6 +15,6 @@ import java.util.List; **/ public interface IMesProductionRecordReportExtDao { - ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo); + ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java index bfd47ae..14603b8 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java @@ -34,8 +34,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo private EntityManager entityManager; @Override - public ListPager queryProductionRecordUnionWorkOrderLogReport( - MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo) { + public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList) { List resultList = new ArrayList<>(); @@ -49,7 +48,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo StringBuilder endHql = new StringBuilder(); StringBuilder limitHql = new StringBuilder(); - if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { unionQueryHql.append("SELECT " + " o.workCenterCode, " + " o.workCellCode, " + @@ -71,7 +70,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo countQueryHql.append("SELECT count(1) FROM ( "); } - if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { + if (!CollectionUtils.isEmpty(reportStatusList)) { prQueryHql.append("" + " SELECT " + " a.work_center_code AS workCenterCode, " + @@ -93,7 +92,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo " AND a.is_valid = :isValid " + " AND a.complete_date_time >= :completeDateTimeStart " + " AND a.complete_date_time <= :completeDateTimeEnd "); - if (reportStatusList2Pr.size() == 1) { + if (reportStatusList.size() == 1) { prQueryHql.append(" AND a.report_status = :reportStatus "); } else { prQueryHql.append(" AND a.report_status in (:reportStatus) "); @@ -124,11 +123,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { prQueryHql.append(" ) UNION ALL ( "); } - if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (model.getIsQueryWo()) { woQueryHql.append("" + " SELECT " + " b.work_center_code AS workCenterCode, " + @@ -169,7 +168,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { endHql.append(" )) AS o "); } else { endHql.append(" ) AS o "); @@ -177,11 +176,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo limitHql.append(" LIMIT :startRow , :pageSize "); - if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql); } else { - if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { + if (!CollectionUtils.isEmpty(reportStatusList)) { queryHql.append(prQueryHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(endHql); } else { @@ -194,9 +193,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo // log.info("countHql: --- {}", countHql.toString()); Query dataQuery = entityManager.createNativeQuery(queryHql.toString()); - setQueryParams(dataQuery, model, reportStatusList2Pr, reportStatusList2Wo, pager); + setQueryParams(dataQuery, model, reportStatusList, pager); Query countQuery = entityManager.createNativeQuery(countHql.toString()); - setQueryParams(countQuery, model, reportStatusList2Pr, reportStatusList2Wo, null); + setQueryParams(countQuery, model, reportStatusList, null); Object o = countQuery.getSingleResult(); @@ -232,26 +231,20 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList2Pr, List reportStatusList2Wo, Pager pager) { + private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList, Pager pager) { query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()); query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter(MesExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); - if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { - if (reportStatusList2Pr.size() == 1) { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr.get(0)); + if (!CollectionUtils.isEmpty(reportStatusList)) { + if (reportStatusList.size() == 1) { + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList.get(0)); } else { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr); - } - } - if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { - if (reportStatusList2Pr.size() == 1) { - query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo.get(0)); - } else { - query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo); + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList); } } + if (model.getIsQueryWo()) query.setParameter(MesExtConstWords.MESSAGE_TYPE, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); if (!StringUtils.isEmpty(model.getPartNo())) { query.setParameter(MesExtConstWords.PART_NO, model.getPartNo()); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java index aa62783..22f61e7 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java @@ -36,15 +36,11 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { List reportStatusList = !StringUtils.isEmpty(model.getReportStatusList()) - ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) : - Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), - MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), - MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue(), - MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue() - ).collect(Collectors.toList()); + ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) + : Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue()).collect(Collectors.toList()); List reportStatusList2Pr = null; - List reportStatusList2Wo = null; if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) { reportStatusList2Pr = new ArrayList<>(); reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); @@ -55,13 +51,10 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); } - if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode())) { - reportStatusList2Wo = new ArrayList<>(); - if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); - if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT_ADJUST.getValue()); - } + if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode()) && + reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) model.setIsQueryWo(true); - ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr, reportStatusList2Wo); + ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr); return listPager; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java index 93262bb..5a2a8fc 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java @@ -59,6 +59,9 @@ public class MesProductionRecordReportExtModel implements Serializable { @ApiParam("汇报状态名称") private String reportStatusName; + @ApiParam("是否查询工单日志表") + private Boolean isQueryWo = false; + public MesProductionRecordReportExtModel() {} public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) { From 46e28e7efe8a1203434d2c4fd00bc53113a0af98 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 9 Jan 2025 19:34:23 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=2044746=20=E4=BA=A7=E9=87=8F=E7=BB=9F?= =?UTF-8?q?=E8=AE=A1=E6=8A=A5=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=8A=A5=E5=B7=A5?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=95=B0=E6=8D=AE=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../report/IMesProductionRecordReportExtDao.java | 2 +- .../report/MesProductionRecordReportExtDao.java | 41 +++++++++++++--------- .../MesProductionRecordReportExtService.java | 19 ++++++---- .../report/MesProductionRecordReportExtModel.java | 3 -- 4 files changed, 38 insertions(+), 27 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java index 38f5001..0256419 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/dao/report/IMesProductionRecordReportExtDao.java @@ -15,6 +15,6 @@ import java.util.List; **/ public interface IMesProductionRecordReportExtDao { - ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList); + ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java index 14603b8..bfd47ae 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/daoimpl/report/MesProductionRecordReportExtDao.java @@ -34,7 +34,8 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo private EntityManager entityManager; @Override - public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager, List reportStatusList) { + public ListPager queryProductionRecordUnionWorkOrderLogReport( + MesProductionRecordReportExtModel model, Pager pager, List reportStatusList2Pr, List reportStatusList2Wo) { List resultList = new ArrayList<>(); @@ -48,7 +49,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo StringBuilder endHql = new StringBuilder(); StringBuilder limitHql = new StringBuilder(); - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { unionQueryHql.append("SELECT " + " o.workCenterCode, " + " o.workCellCode, " + @@ -70,7 +71,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo countQueryHql.append("SELECT count(1) FROM ( "); } - if (!CollectionUtils.isEmpty(reportStatusList)) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { prQueryHql.append("" + " SELECT " + " a.work_center_code AS workCenterCode, " + @@ -92,7 +93,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo " AND a.is_valid = :isValid " + " AND a.complete_date_time >= :completeDateTimeStart " + " AND a.complete_date_time <= :completeDateTimeEnd "); - if (reportStatusList.size() == 1) { + if (reportStatusList2Pr.size() == 1) { prQueryHql.append(" AND a.report_status = :reportStatus "); } else { prQueryHql.append(" AND a.report_status in (:reportStatus) "); @@ -123,11 +124,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { prQueryHql.append(" ) UNION ALL ( "); } - if (model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { woQueryHql.append("" + " SELECT " + " b.work_center_code AS workCenterCode, " + @@ -168,7 +169,7 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { endHql.append(" )) AS o "); } else { endHql.append(" ) AS o "); @@ -176,11 +177,11 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo limitHql.append(" LIMIT :startRow , :pageSize "); - if (!CollectionUtils.isEmpty(reportStatusList) && model.getIsQueryWo()) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr) && !CollectionUtils.isEmpty(reportStatusList2Wo)) { queryHql.append(unionQueryHql).append(prQueryHql).append(woQueryHql).append(endHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(woQueryHql).append(endHql); } else { - if (!CollectionUtils.isEmpty(reportStatusList)) { + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { queryHql.append(prQueryHql).append(limitHql); countHql.append(countQueryHql).append(prQueryHql).append(endHql); } else { @@ -193,9 +194,9 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo // log.info("countHql: --- {}", countHql.toString()); Query dataQuery = entityManager.createNativeQuery(queryHql.toString()); - setQueryParams(dataQuery, model, reportStatusList, pager); + setQueryParams(dataQuery, model, reportStatusList2Pr, reportStatusList2Wo, pager); Query countQuery = entityManager.createNativeQuery(countHql.toString()); - setQueryParams(countQuery, model, reportStatusList, null); + setQueryParams(countQuery, model, reportStatusList2Pr, reportStatusList2Wo, null); Object o = countQuery.getSingleResult(); @@ -231,20 +232,26 @@ public class MesProductionRecordReportExtDao implements IMesProductionRecordRepo } - private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList, Pager pager) { + private void setQueryParams(Query query, MesProductionRecordReportExtModel model, List reportStatusList2Pr, List reportStatusList2Wo, Pager pager) { query.setParameter(MesExtConstWords.ORGANIZE_CODE, model.getOrganizeCode()); query.setParameter(MesExtConstWords.IS_DELETED, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()); query.setParameter(MesExtConstWords.IS_VALID, CommonEnumUtil.IS_VAILD.VAILD.getValue()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_START, model.getCompleteDateTimeStart()); query.setParameter(MesExtConstWords.COMPLETE_DATE_TIME_END, model.getCompleteDateTimeEnd()); - if (!CollectionUtils.isEmpty(reportStatusList)) { - if (reportStatusList.size() == 1) { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList.get(0)); + if (!CollectionUtils.isEmpty(reportStatusList2Pr)) { + if (reportStatusList2Pr.size() == 1) { + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr.get(0)); } else { - query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList); + query.setParameter(MesExtConstWords.REPORT_STATUS, reportStatusList2Pr); + } + } + if (!CollectionUtils.isEmpty(reportStatusList2Wo)) { + if (reportStatusList2Pr.size() == 1) { + query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo.get(0)); + } else { + query.setParameter(MesExtConstWords.MESSAGE_TYPE, reportStatusList2Wo); } } - if (model.getIsQueryWo()) query.setParameter(MesExtConstWords.MESSAGE_TYPE, MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); if (!StringUtils.isEmpty(model.getPartNo())) { query.setParameter(MesExtConstWords.PART_NO, model.getPartNo()); } diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java index 22f61e7..aa62783 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/report/MesProductionRecordReportExtService.java @@ -36,11 +36,15 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord public ListPager queryProductionRecordUnionWorkOrderLogReport(MesProductionRecordReportExtModel model, Pager pager) { List reportStatusList = !StringUtils.isEmpty(model.getReportStatusList()) - ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) - : Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), - MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue()).collect(Collectors.toList()); + ? Arrays.asList(model.getReportStatusList().split(MesExtConstWords.COMMA)).stream().map(Integer::parseInt).collect(Collectors.toList()) : + Stream.of(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_20.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue(), + MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue() + ).collect(Collectors.toList()); List reportStatusList2Pr = null; + List reportStatusList2Wo = null; if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_10.getValue())) { reportStatusList2Pr = new ArrayList<>(); reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue()); @@ -51,10 +55,13 @@ public class MesProductionRecordReportExtService implements IMesProductionRecord reportStatusList2Pr.add(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_20.getValue()); } - if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode()) && - reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) model.setIsQueryWo(true); + if (StringUtils.isEmpty(model.getWorkCellCode()) && StringUtils.isEmpty(model.getEquipmentCode())) { + reportStatusList2Wo = new ArrayList<>(); + if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_30.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT.getValue()); + if (reportStatusList.contains(MesExtEnumUtil.PRODUCTION_RECORD_QUREY_REPORT_STATUS.REPORT_STATUS_40.getValue())) reportStatusList2Wo.add(MesExtEnumUtil.WORK_ORDER_LOG_TYPE.REPORT_ADJUST.getValue()); + } - ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr); + ListPager listPager = productionRecordReportExtDao.queryProductionRecordUnionWorkOrderLogReport(model, pager, reportStatusList2Pr, reportStatusList2Wo); return listPager; diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java index 5a2a8fc..93262bb 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/model/report/MesProductionRecordReportExtModel.java @@ -59,9 +59,6 @@ public class MesProductionRecordReportExtModel implements Serializable { @ApiParam("汇报状态名称") private String reportStatusName; - @ApiParam("是否查询工单日志表") - private Boolean isQueryWo = false; - public MesProductionRecordReportExtModel() {} public MesProductionRecordReportExtModel(Object workCenterCode, Object workCellCode, Object partNo, Object partName, Object shiftCode, Object equipmentCode, Object equipmentName, Object reportStatus, Object dataSource, Object qty) {