From b646e9087e2e4dd701731cf8b6d3aa12ce64da28 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期二, 10 二月 2026 15:02:12 +0800
Subject: [PATCH] 空库位校验null防错

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
index 5f450cc..4379309 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java
@@ -1057,7 +1057,7 @@
                     String shallowLocNo = LocUtils.getShallowLoc(loc1.getCode());
                     // 妫�娴嬬洰鏍囧簱浣嶆槸鍚︿负绌哄簱浣�
                     Loc shallowLoc = locService.getOne(new LambdaQueryWrapper<Loc>().eq(Loc::getCode, shallowLocNo));
-                    if (shallowLoc != null && shallowLoc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+                    if (shallowLoc != null && Objects.equals(shallowLoc.getUseStatus(), LocStsType.LOC_STS_TYPE_O.type)) {
                         if (LocUtils.locMoveCheckLocTypeComplete(shallowLoc, locTypeDto)) {
                             loc = shallowLoc;
                             channel = shallowLoc.getChannel();
@@ -1240,7 +1240,7 @@
             loc = null;
         }
         // 閫掑綊鏌ヨ
-        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+        if (Cools.isEmpty(loc) || !Objects.equals(loc.getUseStatus(), LocStsType.LOC_STS_TYPE_O.type)) {
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < rowCount * 2) {
                 times = times + 1;
@@ -1306,7 +1306,7 @@
             inTaskMsgDto.setStaNo(deviceSite.getDeviceSite());
         }
         // 閫掑綊鏌ヨ
-        if (Cools.isEmpty(loc) || !loc.getUseStatus().equals(LocStsType.LOC_STS_TYPE_O.type)) {
+        if (Cools.isEmpty(loc) || !Objects.equals(loc.getUseStatus(), LocStsType.LOC_STS_TYPE_O.type)) {
             // 褰撳墠宸烽亾鏃犵┖搴撲綅鏃讹紝閫掑綊璋冩暣鑷充笅涓�宸烽亾锛屾绱㈠叏閮ㄥ贩閬撴棤鏋滃悗锛岃烦鍑洪�掑綊
             if (times < 5) {
                 times = times + 1;
@@ -1376,7 +1376,8 @@
         // 鎯呭喌1锛氬鏋滄槸鎷f枡/鐩樼偣鍏ュ簱浠诲姟锛岀姸鎬�199宸茬粡鍦╟reateInTask涓洿鏂颁负2浜�
         // 鎯呭喌2锛氬鏋滄槸鏂板垱寤虹殑浠诲姟锛堟棤璁㈠崟鍙风粍鎵橈級锛岀姸鎬佹槸1锛岄渶瑕佹洿鏂颁负2
         // 鎯呭喌3锛氬鏋滅姸鎬佸凡缁忔槸2锛屼笉闇�瑕佹洿鏂�
-        if (task.getTaskStatus().equals(TaskStsType.GENERATE_IN.id)) {
+        Integer taskStatus = task.getTaskStatus();
+        if (taskStatus != null && taskStatus.equals(TaskStsType.GENERATE_IN.id)) {
             log.info("鏂板垱寤虹殑鍏ュ簱浠诲姟锛堟棤璁㈠崟鍙风粍鎵橈級锛孯CS鐢宠鍏ュ簱鏃舵洿鏂颁负鐘舵��2 - 浠诲姟缂栫爜锛歿}", task.getTaskCode());
             Long loginUserId = SystemAuthUtils.getLoginUserId();
             if (loginUserId == null) {
@@ -1397,11 +1398,11 @@
                 log.warn("鏂板垱寤虹殑鍏ュ簱浠诲姟鐘舵�佹洿鏂颁负2澶辫触锛屽彲鑳界姸鎬佸凡鍙樻洿 - 浠诲姟缂栫爜锛歿}锛屽綋鍓嶇姸鎬侊細{}", 
                         task.getTaskCode(), task.getTaskStatus());
             }
-        } else if (task.getTaskStatus().equals(TaskStsType.WCS_EXECUTE_IN.id)) {
+        } else if (taskStatus != null && taskStatus.equals(TaskStsType.WCS_EXECUTE_IN.id)) {
             log.info("鍏ュ簱浠诲姟鐘舵�佸凡缁忔槸2锛圧CS浠诲姟宸蹭笅鍙戯級锛屾棤闇�鏇存柊 - 浠诲姟缂栫爜锛歿}", task.getTaskCode());
         } else {
             log.info("鍏ュ簱浠诲姟褰撳墠鐘舵�侊細{}锛孯CS鐢宠鍏ュ簱鏃朵繚鎸佸綋鍓嶇姸鎬� - 浠诲姟缂栫爜锛歿}", 
-                    task.getTaskStatus(), task.getTaskCode());
+                    taskStatus, task.getTaskCode());
         }
         
         log.info("========== RCS-鐢宠鍏ュ簱浠诲姟鎴愬姛 ==========");

--
Gitblit v1.9.1