From e7ce0875d414a1a9a4db7f3acdca072dab8499fc Mon Sep 17 00:00:00 2001 From: lcj <2331845269@qq.com> Date: Wed, 17 Dec 2025 19:11:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/MaterialsManagementServiceImpl.java | 4 +- .../service/impl/BusMrpBaseServiceImpl.java | 1 + .../service/impl/MatMaterialsServiceImpl.java | 2 +- .../service/BigScreenWebSocketServer.java | 183 ++++++++++-------- 4 files changed, 110 insertions(+), 80 deletions(-) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/MaterialsManagementServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/MaterialsManagementServiceImpl.java index ee9fd562..95f865d3 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/MaterialsManagementServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/bigscreen/service/impl/MaterialsManagementServiceImpl.java @@ -284,7 +284,7 @@ public class MaterialsManagementServiceImpl implements IMaterialsManagementServi inventoryHashMap.put(item.getMaterialsId(), new BigDecimal(item.getNumber())); } }); - Set mids = inventories.stream().map(MatMaterialsInventory::getMaterialsId).collect(Collectors.toSet()); + Set mids = inventories.stream().filter(item -> item.getMaterialsId() != null).map(MatMaterialsInventory::getMaterialsId).collect(Collectors.toSet()); if (CollUtil.isEmpty(mids)){ return List.of(); } @@ -344,7 +344,7 @@ public class MaterialsManagementServiceImpl implements IMaterialsManagementServi if (CollUtil.isEmpty(warehouseCameraList)){ return list; } - Set cameraIds = warehouseCameraList.stream().map(MatWarehouseCamera::getCameraId).collect(Collectors.toSet()); + Set cameraIds = warehouseCameraList.stream().filter(item -> item.getCameraId() != null).map(MatWarehouseCamera::getCameraId).collect(Collectors.toSet()); //生成摄像头与仓库关系 Map warehouseCameraMap = warehouseCameraList.stream().collect(Collectors.toMap(MatWarehouseCamera::getCameraId, MatWarehouseCamera::getWarehouseId)); //根据摄像头id列表获取摄像头列表 diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMrpBaseServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMrpBaseServiceImpl.java index 68bd1ffb..e4d423ce 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMrpBaseServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/cailiaoshebei/service/impl/BusMrpBaseServiceImpl.java @@ -415,6 +415,7 @@ public class BusMrpBaseServiceImpl extends ServiceImpl(); } Map planMap = matMaterialReceiveItems.stream() + .filter(matMaterialReceiveItem -> matMaterialReceiveItem.getPlanId() != null) .collect(Collectors.groupingBy( MatMaterialReceiveItem::getPlanId, Collectors.reducing(BigDecimal.ZERO, MatMaterialReceiveItem::getQuantity, BigDecimal::add) diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialsServiceImpl.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialsServiceImpl.java index dc8e0e33..c1ce37a5 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialsServiceImpl.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/materials/service/impl/MatMaterialsServiceImpl.java @@ -862,7 +862,7 @@ public class MatMaterialsServiceImpl extends ServiceImpl warehouseIds = matMaterials.stream().map(MatMaterials::getWarehouseId).collect(Collectors.toSet()); + Set warehouseIds = matMaterials.stream().filter(material -> material.getWarehouseId() != null).map(MatMaterials::getWarehouseId).collect(Collectors.toSet()); List warehouseList = new ArrayList<>(); if (CollUtil.isNotEmpty(warehouseIds)) { warehouseList = warehouseService.lambdaQuery() diff --git a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/websocket/service/BigScreenWebSocketServer.java b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/websocket/service/BigScreenWebSocketServer.java index ce29b543..30c247bf 100644 --- a/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/websocket/service/BigScreenWebSocketServer.java +++ b/xinnengyuan/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/websocket/websocket/service/BigScreenWebSocketServer.java @@ -1,5 +1,6 @@ package org.dromara.websocket.websocket.service; +import cn.hutool.core.collection.CollUtil; import cn.hutool.json.JSONUtil; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; @@ -367,31 +368,34 @@ public class BigScreenWebSocketServer { // 查询大屏-质安管理-安全员分布情况 List dpznglAqyVos = dpzaglService.listByAqy(dpznglBo); - if (dpznglAqyVos != null && dpznglAqyVos.size() > 0) { - Map map = new HashMap<>(); - map.put("type", "aqy"); - map.put("data", JSONUtil.toJsonStr(dpznglAqyVos)); - maps.add(map); + Map map1 = new HashMap<>(); + map1.put("type", "aqy"); + if (CollUtil.isNotEmpty(dpznglAqyVos)) { + map1.put("data", JSONUtil.toJsonStr(dpznglAqyVos)); + } else { + map1.put("data", "[]"); } + maps.add(map1); // 查询大屏-质安管理-站班会,巡检工单,整改情况 DpznglVo dpznglVo = dpzaglService.queryList(dpznglBo); - + Map map2 = new HashMap<>(); + map2.put("type", "zagl"); if (dpznglVo != null) { - Map map = new HashMap<>(); - map.put("type", "zagl"); - map.put("data", JSONUtil.toJsonStr(dpznglVo)); - maps.add(map); + map2.put("data", JSONUtil.toJsonStr(dpznglVo)); + } else { + map2.put("data", "{}"); } + maps.add(map2); //查询大屏-质安管理-站班会 DpznglVo byzbh = dpzaglService.listByzbh(dpznglBo); + Map map3 = new HashMap<>(); + map3.put("type", "zbh"); if (byzbh != null) { - Map map = new HashMap<>(); - map.put("type", "zbh"); - map.put("data", JSONUtil.toJsonStr(byzbh)); - maps.add(map); + map3.put("data", JSONUtil.toJsonStr(byzbh)); + } else { + map3.put("data", "{}"); } - - + maps.add(map3); } catch (JsonProcessingException e) { throw new RuntimeException(e); } @@ -410,11 +414,11 @@ public class BigScreenWebSocketServer { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd", Locale.CHINA); - if (startDate != null && startDate.size() > 0) { + if (CollUtil.isNotEmpty(startDate)) { String first = startDate.getFirst(); dpznglBo.setStartDate(LocalDate.parse(first, formatter)); } - if (endDate != null && endDate.size() > 0) { + if (CollUtil.isNotEmpty(endDate)) { String first = endDate.getFirst(); dpznglBo.setEndDate(LocalDate.parse(first, formatter)); } @@ -422,30 +426,34 @@ public class BigScreenWebSocketServer { // 查询大屏-质安管理-安全员分布情况 List dpznglAqyVos = dpzaglService.listByAqy(dpznglBo); - if (dpznglAqyVos != null && dpznglAqyVos.size() > 0) { - Map map = new HashMap<>(); - map.put("type", "aqy"); - map.put("data", JSONUtil.toJsonStr(dpznglAqyVos)); - maps.add(map); + Map map1 = new HashMap<>(); + map1.put("type", "aqy"); + if (CollUtil.isNotEmpty(dpznglAqyVos)) { + map1.put("data", JSONUtil.toJsonStr(dpznglAqyVos)); + } else { + map1.put("data", "[]"); } + maps.add(map1); // 查询大屏-质安管理-站班会,巡检工单,整改情况 DpznglVo dpznglVo = dpzaglService.queryList(dpznglBo); - + Map map2 = new HashMap<>(); + map2.put("type", "zagl"); if (dpznglVo != null) { - Map map = new HashMap<>(); - map.put("type", "zagl"); - map.put("data", JSONUtil.toJsonStr(dpznglVo)); - maps.add(map); + map2.put("data", JSONUtil.toJsonStr(dpznglVo)); + } else { + map2.put("data", "{}"); } + maps.add(map2); //查询大屏-质安管理-站班会 DpznglVo byzbh = dpzaglService.listByzbh(dpznglBo); + Map map3 = new HashMap<>(); + map3.put("type", "zbh"); if (byzbh != null) { - Map map = new HashMap<>(); - map.put("type", "zbh"); - map.put("data", JSONUtil.toJsonStr(byzbh)); - maps.add(map); + map3.put("data", JSONUtil.toJsonStr(byzbh)); + } else { + map3.put("data", "{}"); } - + maps.add(map3); } /** @@ -455,33 +463,41 @@ public class BigScreenWebSocketServer { ProgressBigScreenService service = SpringUtils.getBean(ProgressBigScreenService.class); if (service != null) { DesignProgressVo designProgress = service.getDesignProgress(projectId); + Map map1 = new HashMap<>(); + map1.put("type", "progressDesignProgress"); if (designProgress != null) { - Map map = new HashMap<>(); - map.put("type", "progressDesignProgress"); - map.put("data", JSONUtil.toJsonStr(designProgress)); - maps.add(map); + map1.put("data", JSONUtil.toJsonStr(designProgress)); + } else { + map1.put("data", "{}"); } + maps.add(map1); ProjectTotalProgressVo projectTotalProgress = service.getProjectTotalProgress(projectId); + Map map2 = new HashMap<>(); + map2.put("type", "progressProjectTotalProgress"); if (projectTotalProgress != null) { - Map map = new HashMap<>(); - map.put("type", "progressProjectTotalProgress"); - map.put("data", JSONUtil.toJsonStr(projectTotalProgress)); - maps.add(map); + map2.put("data", JSONUtil.toJsonStr(projectTotalProgress)); + } else { + map2.put("data", "{}"); } + maps.add(map2); List milestoneProgress = service.getMilestoneProgress(projectId); + Map map3 = new HashMap<>(); + map3.put("type", "progressMilestoneProgress"); if (milestoneProgress != null) { - Map map = new HashMap<>(); - map.put("type", "progressMilestoneProgress"); - map.put("data", JSONUtil.toJsonStr(milestoneProgress)); - maps.add(map); + map3.put("data", JSONUtil.toJsonStr(milestoneProgress)); + } else { + map3.put("data", "[]"); } + maps.add(map3); List materialProgress = service.getMaterialProgress(projectId); + Map map4 = new HashMap<>(); + map4.put("type", "progressMaterialProgress"); if (materialProgress != null) { - Map map = new HashMap<>(); - map.put("type", "progressMaterialProgress"); - map.put("data", JSONUtil.toJsonStr(materialProgress)); - maps.add(map); + map4.put("data", JSONUtil.toJsonStr(materialProgress)); + } else { + map4.put("data", "[]"); } + maps.add(map4); } } @@ -492,69 +508,82 @@ public class BigScreenWebSocketServer { if (materialsService != null) { //库存结构分析 InventoryStructureAnalysisVo vo = managementService.inventoryStructureAnalysis(projectId); + Map map = new HashMap<>(); + map.put("type", "inventoryStructureAnalysis"); if (vo != null) { - Map map = new HashMap<>(); - map.put("type", "inventoryStructureAnalysis"); map.put("data", JSONUtil.toJsonStr(vo)); - maps.add(map); + } else { + map.put("data", "{}"); } + maps.add(map); //消耗趋势对比 List xhqsdb = managementService.xhqsdb(projectId); + Map map1 = new HashMap<>(); + map1.put("type", "xhqsdb"); if (xhqsdb != null && !xhqsdb.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "xhqsdb"); - map.put("data", JSONUtil.toJsonStr(xhqsdb)); - maps.add(map); + map1.put("data", JSONUtil.toJsonStr(xhqsdb)); + } else { + map1.put("data", "[]"); } + maps.add(map1); //仓库监控 List warehouseMonitoringVos = managementService.warehouseMonitoring(projectId); + Map map2 = new HashMap<>(); + map2.put("type", "warehouseMonitoring"); if (warehouseMonitoringVos != null && !warehouseMonitoringVos.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "warehouseMonitoring"); - map.put("data", JSONUtil.toJsonStr(warehouseMonitoringVos)); - maps.add(map); + map2.put("data", JSONUtil.toJsonStr(warehouseMonitoringVos)); + } else { + map2.put("data", "[]"); } + maps.add(map2); } if (purchaseDocService != null) { //采购单 List purchaseDocVos = purchaseDocService.purchaseNote(projectId); + Map map3 = new HashMap<>(); + map3.put("type", "purchaseNote"); if (purchaseDocVos != null && !purchaseDocVos.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "purchaseNote"); - map.put("data", JSONUtil.toJsonStr(purchaseDocVos)); - maps.add(map); + map3.put("data", JSONUtil.toJsonStr(purchaseDocVos)); + } else { + map3.put("data", "[]"); } + maps.add(map3); } if (mrpBaseService != null) { //设计量与到货量对比 List designAndArrivalComparisonVos = mrpBaseService.designAndArrivalComparison(projectId); + Map map4 = new HashMap<>(); + map4.put("type", "designAndArrivalComparison"); if (designAndArrivalComparisonVos != null && !designAndArrivalComparisonVos.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "designAndArrivalComparison"); - map.put("data", JSONUtil.toJsonStr(designAndArrivalComparisonVos)); - maps.add(map); + map4.put("data", JSONUtil.toJsonStr(designAndArrivalComparisonVos)); + } else { + map4.put("data", "[]"); } + maps.add(map4); //物资需求与实际到货对比 List wzxqysjdhdbVos = mrpBaseService.wzxqysjdhdb(projectId); + Map map5 = new HashMap<>(); + map5.put("type", "wzxqysjdhdb"); if (wzxqysjdhdbVos != null && !wzxqysjdhdbVos.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "wzxqysjdhdb"); - map.put("data", JSONUtil.toJsonStr(wzxqysjdhdbVos)); - maps.add(map); + map5.put("data", JSONUtil.toJsonStr(wzxqysjdhdbVos)); + } else { + map5.put("data", "[]"); } + maps.add(map5); } if (materialsService != null) { //物资跟踪管理台账 List useDetailVos = materialsService.listUseDetail(projectId); + Map map6 = new HashMap<>(); + map6.put("type", "listUseDetail"); if (useDetailVos != null && !useDetailVos.isEmpty()) { - Map map = new HashMap<>(); - map.put("type", "listUseDetail"); - map.put("data", JSONUtil.toJsonStr(useDetailVos)); - maps.add(map); + map6.put("data", JSONUtil.toJsonStr(useDetailVos)); + } else { + map6.put("data", "[]"); } + maps.add(map6); } } - }