From 6d67e37ab96516f127e1635e92518109fd1c926c Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期二, 21 四月 2026 14:06:11 +0800
Subject: [PATCH] 料箱码查询优化

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 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 77f3c44..a3e4666 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
@@ -143,7 +143,7 @@
         // 楠岃瘉璁惧绔欑偣
         DeviceSite deviceSite = validateDeviceSite(param);
 
-        // 绌烘澘鍏ュ簱锛氫笌闈炵┖鏉垮悓涓�鍏ュ彛锛屼粎涓嶆牎楠岀粍鎵橈紝鍙仛鍒嗛厤搴撲綅銆佸缓浠诲姟銆佹洿鏂板簱浣�
+        // 绌烘澘鍏ュ簱锛氫笌闈炵┖鏉垮悓涓�鍏ュ彛锛沜reateInTaskForEmptyPallet 鍐呬細鎷︽埅宸茬粍鎵樻墭鐩�
         if (param.getIoType() != null && param.getIoType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)) {
             return createInTaskForEmptyPallet(param);
         }
@@ -652,7 +652,8 @@
     }
 
     /**
-     * 绌烘澘鍏ュ簱锛氫笌闈炵┖鏉垮悓涓�娴佺▼锛堟牎楠岀珯鐐广�佸垎閰嶅簱浣嶃�佸缓浠诲姟銆佹洿鏂板簱浣嶏級锛屼粎涓嶆牎楠岀粍鎵樸�佷笉鍐欎换鍔℃槑缁嗐�佷笉鏇存柊缁勬墭鐘舵�併��
+     * 绌烘澘鍏ュ簱锛氫笌闈炵┖鏉垮悓涓�娴佺▼锛堟牎楠岀珯鐐广�佸垎閰嶅簱浣嶃�佸缓浠诲姟銆佹洿鏂板簱浣嶏級锛屼笉鍐欎换鍔℃槑缁嗐�佷笉鏇存柊缁勬墭鐘舵�併��
+     * 宸茬粍鎵橈紙鍏ュ簱涓�/浠诲姟鎵ц涓級鐨勬墭鐩樼姝㈣蛋鏈祦绋嬶紝搴斾娇鐢ㄦ弧鏉垮叆搴撱��
      * 鐢� createInTask 鍦� ioType=绌烘澘鏃惰皟鐢紱闇�鍦ㄨ澶囩珯鐐逛腑閰嶇疆 type=10锛堢┖鏉垮叆搴擄級鐨勭珯鐐硅矾寰勩��
      */
     private InTaskMsgDto createInTaskForEmptyPallet(TaskInParam sourceParam) {
@@ -669,6 +670,14 @@
         // 鏍¢獙璁惧绔欑偣锛堥渶閰嶇疆 type=10 绌烘澘鍏ュ簱鐨勭珯鐐癸級
         DeviceSite deviceSite = validateDeviceSite(param);
 
+        // 宸茬粍鎵橈細涓� createInTask 婊℃澘鍒嗘敮涓�鑷达紝浠呭厑璁稿叆搴撲腑/浠诲姟鎵ц涓殑缁勬墭鍗曞弬涓庢牎楠�
+        WaitPakin palletized = waitPakinService.getOne(new LambdaQueryWrapper<WaitPakin>()
+                .eq(WaitPakin::getBarcode, barcode)
+                .in(WaitPakin::getIoStatus, PakinIOStatus.PAKIN_IO_STATUS_DONE.val, PakinIOStatus.PAKIN_IO_STATUS_TASK_EXCE.val));
+        if (palletized != null) {
+            throw new CoolException("barcode=" + barcode + ": 鎵樼洏宸茬粡缁勬墭锛屼笉鑳界┖鏉垮叆搴�");
+        }
+
         // 妫�鏌ヨ鎵樼洏鍙锋槸鍚﹀凡鏈夌┖鏉垮叆搴撲换鍔★紝鏈夊垯澶嶇敤
         Task existingInTask = taskService.getOne(new LambdaQueryWrapper<Task>()
                 .eq(Task::getBarcode, barcode)

--
Gitblit v1.9.1