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 |    7 ++++++-
 1 files changed, 6 insertions(+), 1 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 53ad1af..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,9 +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) {
-            //TODO锛歱oint涓虹┖
             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()) {
@@ -133,6 +137,7 @@
                 workOrder.setProcessingPeriod(Integer.valueOf(normal.getConfigValue()));
             }
         }
+        waitAddList.removeAll(notAddList);
         this.saveBatch(waitAddList);
         // 濡傛灉鏄洿鎺ヤ笅鍙戯紝娣诲姞涓嬪彂璁板綍
         if (WorkOrderStatusEnum.DISTRIBUTED.equals(waitAddList.get(0).getStatus())) {

--
Gitblit v1.8.0