From e32fc76d4159be3e9a6fc37f64d84c5942abe136 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期二, 13 八月 2024 09:48:13 +0800
Subject: [PATCH] 空单生成空指针异常处理

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index b9a473e..3899c27 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -122,8 +122,13 @@
         // 鏌ュ嚭閲嶇偣鐐逛綅銆佹櫘閫氱偣浣嶇殑澶勭悊鏃堕棿
         SysConfig important = configMapper.checkConfigKeyUnique("important.wordkorder.time");
         SysConfig normal = configMapper.checkConfigKeyUnique("normal.wordkorder.alarm.time");
+        // 濡傛灉鍗冲皢鐢熸垚宸ュ崟锛屼絾鏄澶囧浗鏍囩爜鏌ヤ笉鍒扮偣浣嶏紝鍒欎笉娣诲姞锛�
+        List<WorkOrder> notAddList = new ArrayList<>();
         for (WorkOrder workOrder : waitAddList) {
             YwPoint point = pointMapping.get(workOrder.getSerialNumber());
+            if (Objects.isNull(point)) {
+                notAddList.add(workOrder);
+            }
             workOrder.setWorkOrderNo(IdUtils.timeAddRandomNO(5));
             workOrder.setUnitId(Math.toIntExact(point.getUnitId()));
             if (point.getImportantTag() || point.getImportantCommandImageTag()) {
@@ -132,6 +137,7 @@
                 workOrder.setProcessingPeriod(Integer.valueOf(normal.getConfigValue()));
             }
         }
+        waitAddList.removeAll(notAddList);
         this.saveBatch(waitAddList);
         // 濡傛灉鏄洿鎺ヤ笅鍙戯紝娣诲姞涓嬪彂璁板綍
         if (WorkOrderStatusEnum.DISTRIBUTED.equals(waitAddList.get(0).getStatus())) {
@@ -343,11 +349,6 @@
     public Result distributePage(DistributeWorkOrderQuery query) {
         IPage<WorkOrderVO> page = PageUtil.getPage(query, WorkOrderVO.class);
         baseMapper.distributePage(page, query);
-        page.getRecords().stream().forEach(workOrder -> {
-            if (StringUtils.hasText(workOrder.getPointTag()) && workOrder.getPointTag().contains(IMPORTANT)) {
-                workOrder.setImportant(Boolean.TRUE);
-            }
-        });
         return Result.ok().data(page).total(page.getTotal());
     }
 

--
Gitblit v1.8.0