From ff3341549f260832dd46e2a9d9954a259e2e23c7 Mon Sep 17 00:00:00 2001 From: xy <748613696@qq.com> Date: Mon, 29 Jun 2026 20:22:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(service):=20=E4=BF=AE=E5=A4=8D=E5=8F=B0?= =?UTF-8?q?=E8=B4=A6=E6=8E=92=E5=BA=8F=E5=8A=9F=E8=83=BD=E5=B9=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=BA=8B=E4=BB=B6=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在CsEquipmentDeliveryServiceImpl中添加sort字段设置 - 重构CsEventUserPOServiceImpl中的线路电压获取逻辑,修复空指针异常 - 移除旧的模块编号生成条件,统一使用clDid判断逻辑 - 在CsLedgerServiceImpl中为项目列表添加排序功能 - 为IcdServiceImpl中的项目信息和设备信息列表添加按sort字段排序 - 优化线路信息排序逻辑,按clDid和lineNo字段排序 --- .../impl/CsEquipmentDeliveryServiceImpl.java | 1 + .../service/impl/CsLedgerServiceImpl.java | 4 +++- .../csdevice/service/impl/IcdServiceImpl.java | 18 +++++++++--------- .../service/impl/CsEventUserPOServiceImpl.java | 13 ++++++------- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java index 51a642f..ddfefc2 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/CsEquipmentDeliveryServiceImpl.java @@ -1215,6 +1215,7 @@ public class CsEquipmentDeliveryServiceImpl extends ServiceImpl i } }); - return new ArrayList<>(projectMap.values()); + List result = new ArrayList<>(projectMap.values()); + result.sort(Comparator.comparing(CsLedgerVO::getSort, Comparator.nullsLast(Comparator.naturalOrder()))); + return result; } /** diff --git a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java index a9cdbd8..81c8ea8 100644 --- a/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java +++ b/cs-device/cs-device-boot/src/main/java/com/njcn/csdevice/service/impl/IcdServiceImpl.java @@ -534,6 +534,7 @@ class IcdServiceImpl implements IcdService { vo1.setTopoId(Objects.isNull(appTopologyDiagramPOMap.get(item.getId()))?null:appTopologyDiagramPOMap.get(item.getId()).getTopoId()); result.add(vo1); }); + result.sort(Comparator.comparingInt(ProjectVO::getSort)); } vo.setProjectInfoList(result); } @@ -557,20 +558,13 @@ class IcdServiceImpl implements IcdService { vo1.setTopoId(Objects.isNull(appTopologyDiagramPOMap.get(item.getId()))?null:appTopologyDiagramPOMap.get(item.getId()).getTopoId()); result.add(vo1); }); + result.sort(Comparator.comparingInt(ProjectVO::getSort)); } vo.setProjectInfoList(result); // 设置设备信息 List devList = csEquipmentDeliveryService.getDevListByProjectId(id); + devList.sort(Comparator.comparingInt(CsEquipmentDeliveryPO::getSort)); vo.setDeviceInfoList(devList); -// if (CollectionUtil.isNotEmpty(devList)) { -// //如果不是监测设备,则不展示 -// DictTreeVO cldDict = dictTreeFeignClient.queryByCode(DicDataEnum.DEV_CLD.getCode()).getData(); -// String cldDevTypeId = cldDict.getId(); -// List cldDevIds = devList.stream() -// .filter(item -> item.getDevType().equals(cldDevTypeId)) -// .collect(Collectors.toList()); -// vo.setDeviceInfoList(cldDevIds); -// } } /** @@ -594,11 +588,13 @@ class IcdServiceImpl implements IcdService { vo1.setTopoId(Objects.isNull(appTopologyDiagramPOMap.get(item.getId()))?null:appTopologyDiagramPOMap.get(item.getId()).getTopoId()); result.add(vo1); }); + result.sort(Comparator.comparingInt(ProjectVO::getSort)); } vo.setProjectInfoList(result); } // 设置设备信息 List csEquipmentDeliveryPOS = csEquipmentDeliveryService.listByIds(Collections.singletonList(id)); + csEquipmentDeliveryPOS.sort(Comparator.comparingInt(CsEquipmentDeliveryPO::getSort)); vo.setDeviceInfoList(csEquipmentDeliveryPOS); // 设置线路信息 List list = csLinePOService.queryByDevId(id); @@ -644,6 +640,7 @@ class IcdServiceImpl implements IcdService { vo1.setTopoId(Objects.isNull(appTopologyDiagramPOMap.get(item.getId()))?null:appTopologyDiagramPOMap.get(item.getId()).getTopoId()); result.add(vo1); }); + result.sort(Comparator.comparingInt(ProjectVO::getSort)); } vo.setProjectInfoList(result); } @@ -652,6 +649,7 @@ class IcdServiceImpl implements IcdService { if (pids.length > 3) { String deviceId = pids[3]; csEquipmentDeliveryPOS = csEquipmentDeliveryService.listByIds(Collections.singletonList(deviceId)); + csEquipmentDeliveryPOS.sort(Comparator.comparingInt(CsEquipmentDeliveryPO::getSort)); vo.setDeviceInfoList(csEquipmentDeliveryPOS); } else { csEquipmentDeliveryPOS = new ArrayList<>(); @@ -668,6 +666,8 @@ class IcdServiceImpl implements IcdService { } item.setLineNo(item.getClDid()); } + line.sort(Comparator.comparingInt((CsLinePO cs) -> cs.getClDid() == null ? Integer.MAX_VALUE : cs.getClDid()) + .thenComparingInt(cs -> cs.getLineNo() == null ? Integer.MAX_VALUE : cs.getLineNo())); } vo.setLineInfoList(line); } diff --git a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java index a640d49..0a72046 100644 --- a/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java +++ b/cs-harmonic/cs-harmonic-boot/src/main/java/com/njcn/csharmonic/service/impl/CsEventUserPOServiceImpl.java @@ -469,6 +469,7 @@ public class CsEventUserPOServiceImpl extends ServiceImpl{ + CsLineDTO dto = map.get(temp.getLineId()); DevDetailDTO devDetail = csLedgerFeignClient.queryDevDetail(temp.getDeviceId()).getData(); temp.setEquipmentName(devDetail.getEquipmentName()); temp.setProjectId(devDetail.getProjectId()); @@ -476,8 +477,11 @@ public class CsEventUserPOServiceImpl extends ServiceImpl data1 = eleEvtFeignClient.queryByPid(ele.getId()).getData(); List eventDataSetDTOS = new ArrayList<>();