From 3e8bdb0a23a86fbba965ba06fb901a5e8298dbb7 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Thu, 10 Apr 2025 02:25:28 +0800 Subject: [PATCH] =?UTF-8?q?merge=20=2045787=20PDA=20=E7=82=B9=E6=A3=80?= =?UTF-8?q?=E7=95=8C=E9=9D=A2=EF=BC=8C=E5=B7=A5=E5=8D=95=E6=8E=92=E5=BA=8F?= =?UTF-8?q?=E9=A1=BA=E5=BA=8F=EF=BC=9A=E6=96=B0=E5=B7=A5=E5=8D=95=E9=9C=80?= =?UTF-8?q?=E8=A6=81=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 | 33 ++++++++++++++-------- 1 file changed, 22 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 b86c872..8bc7b4a 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,33 @@ 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); List resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager); - if (CollectionUtils.isEmpty(resultList)) { - return new ListPager<>(resultList, pager); + if (CollectionUtils.isEmpty(resultList)) 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);