From b6f3a10c3d4336345c20fd29c9f441206453863e Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 3 Apr 2025 18:56:44 +0800 Subject: [PATCH] =?UTF-8?q?=2045787=20PDA=20=E7=82=B9=E6=A3=80=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E5=B7=A5=E5=8D=95=E6=8E=92=E5=BA=8F=E9=A1=BA?= =?UTF-8?q?=E5=BA=8F=EF=BC=9A=E6=96=B0=E5=B7=A5=E5=8D=95=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E6=9C=80=E5=89=8D=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../serviceimpl/busi/MesSpotCheckOrderService.java | 35 +++++++++++++++------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java index 7e38a7d..f0fd068 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSpotCheckOrderService.java @@ -95,22 +95,35 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService { DdlPackBean packBean = getDdlPackBean(spotCheckOrder); pager = PagerHelper.getPager(pager, spotCheckOrderRepository.findByHqlWhereCount(packBean)); - - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue(),CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"status","createDatetime"}, packBean); +// DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue(),CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"status","createDatetime"}, packBean); List resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager); if (CollectionUtils.isEmpty(resultList)) { - return new ListPager<>(resultList, pager); + return new ListPager<>(resultList, pager); + } + + List equipmentCodeList = (resultList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipCode()))) + .map(MesSpotCheckOrder::getEquipCode).collect(Collectors.toList())).stream().filter(o -> !StringUtils.isEmpty(o)).distinct().collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(equipmentCodeList)) { + DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode()); + if (equipmentCodeList.size() == 1) DdlPreparedPack.getStringEqualPack(equipmentCodeList.get(0), MesPcnExtConstWords.EQUIPMENT_CODE, ddlPackBean); + else DdlPreparedPack.getInPackList(equipmentCodeList, MesPcnExtConstWords.EQUIPMENT_CODE, ddlPackBean); + List mesEquipments = mesEquipmentRepository.findByHqlWhere(ddlPackBean); + Map> equipMap = mesEquipments.stream().collect(Collectors.groupingBy(MesEquipment::getEquipmentCode)); + if (!CollectionUtils.isEmpty(equipMap)) { + resultList.stream().filter(o -> (null != o && !StringUtils.isEmpty(o.getEquipCode()))) + .forEach(o -> o.setEquipId(equipMap.containsKey(o.getEquipCode()) ? equipMap.get(o.getEquipCode()).get(0).getEquipId() : null)); + } } - List equipmentlist = resultList.stream().map(MesSpotCheckOrder::getEquipCode).collect(Collectors.toList()); - DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode()); - DdlPreparedPack.getInPackList(equipmentlist, "equipmentCode", ddlPackBean); - List mesEquipments = mesEquipmentRepository.findByHqlWhere(ddlPackBean); - Map> map = mesEquipments.stream().collect(Collectors.groupingBy(MesEquipment::getEquipmentCode)); + List resultList2Create = resultList.stream().filter(o -> (null != o && o.getStatus().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) == 0)).collect(Collectors.toList()); + List resultList2Other = resultList.stream().filter(o -> (null != o && o.getStatus().compareTo(MesExtEnumUtil.SPOT_CHECK_ORDER_STATUS.CREATE.getValue()) != 0)).collect(Collectors.toList()); - resultList.forEach(mesSpotCheckOrder -> { - mesSpotCheckOrder.setEquipId(map.get(mesSpotCheckOrder.getEquipCode()).get(0).getEquipId()); - }); + if (!CollectionUtils.isEmpty(resultList2Create)) resultList2Create = resultList2Create.stream().filter(o -> null != o).sorted(Comparator.comparing(MesSpotCheckOrder::getCreateDatetime).reversed()).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(resultList2Other)) resultList2Other = resultList2Other.stream().filter(o -> null != o).sorted(Comparator.comparing(MesSpotCheckOrder::getModifyDatetime).reversed()).collect(Collectors.toList()); + + resultList.clear(); + if (!CollectionUtils.isEmpty(resultList2Create)) resultList.addAll(resultList2Create); + if (!CollectionUtils.isEmpty(resultList2Other)) resultList.addAll(resultList2Other); return new ListPager<>(resultList, pager);