From 8cdeb3f101eb31b53e1dc4cc84c14ed9ad03f44f Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期一, 26 一月 2026 14:26:00 +0800
Subject: [PATCH] lsh#

---
 rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java               |    1 
 rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java |    8 ++--
 rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/WcsServiceImpl.java              |   54 +++++++++++++++++++++-----
 3 files changed, 48 insertions(+), 15 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
index cafff1a..d7a2dcb 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/entity/enums/CallBackEvent.java
@@ -10,6 +10,7 @@
     /**浠诲姟鍥炶皟浜嬩欢*/
     CALL_BACK_EVENT_START("START", "鍙栫瀹屾垚"),
     CALL_BACK_EVENT_OBIT("OTBIN", "鎼繍涓�"),
+    CALL_BACK_EVENT_BIN("BIN", "鍑虹珯"),
     CALL_BACK_EVENT_END("END", "鏀剧瀹屾垚"),
     CALL_BACK_EVENT_TRANSFER("TRANSFER", "涓浆"),
     ;
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 7b5f7a6..2361c3a 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
@@ -475,17 +475,49 @@
         }
 
         /**鏂欑鎼繍涓紝 淇敼绔欑偣鐘舵��*/
-//        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_OBIT.event)) {
-//            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
-//                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
-//                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
-//                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
-//                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
-//                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
-//
-//            }
-//            /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
-//        } else
+        if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_BIN.event)) {
+            if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_IN.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_LOC_MOVE.type)) {
+                /**淇敼鍑哄簱绔欑偣鐘舵��*/
+                BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+                        .eq(BasStation::getStationName, task.getTargSite()));
+                if (Objects.isNull(station)) {
+                    throw new CoolException("鏁版嵁閿欒锛岀珯鐐逛笉瀛樺湪锛侊紒");
+                }
+                if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
+                    station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
+                    station.setBarcode(null);
+                    if (!basStationService.updateById(station)) {
+                        throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                    }
+                }
+            } else if (task.getTaskType().equals(TaskType.TASK_TYPE_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_AGAIN_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_MERGE_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_CHECK_OUT.type)
+                    || task.getTaskType().equals(TaskType.TASK_TYPE_EMPITY_OUT.type)) {
+
+
+                /**淇敼鍑哄簱绔欑偣鐘舵��*/
+                BasStation station = basStationService.getOne(new LambdaQueryWrapper<BasStation>()
+                        .eq(BasStation::getStationName, task.getOrgLoc()));
+                if (Objects.isNull(station)) {
+                    throw new CoolException("鏁版嵁閿欒锛岀珯鐐逛笉瀛樺湪锛侊紒");
+                }
+                if (station.getType().equals(StationTypeEnum.STATION_TYPE_NORMAL.type)) {
+                    station.setUseStatus(LocStsType.LOC_STS_TYPE_O.type);
+                    station.setBarcode(null);
+                    if (!basStationService.updateById(station)) {
+                        throw new CoolException("绔欑偣鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+                    }
+                }
+            }
+            /**鍙栫瀹屾垚锛� 淇敼浠诲姟鐘舵��*/
+        } else
         if (params.getEventType().equals(CallBackEvent.CALL_BACK_EVENT_END.event)) {
             if (task.getTaskType().equals(TaskType.TASK_TYPE_IN.type)
                     || task.getTaskType().equals(TaskType.TASK_TYPE_PICK_IN.type)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
index c39c775..63095ef 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -250,10 +250,6 @@
         BeanUtils.copyProperties(matnr, wkOrderItem);
         wkOrderItem.setMatnrCode(matnr.getCode()).setMatnrId(matnr.getId()).setMaktx(matnr.getName());
 
-        wkOrderItem.setBaseUnit(matnr.getUnit());
-        wkOrderItem.setPurUnit(matnr.getUnit());
-        wkOrderItem.setStockUnit(matnr.getUnit());
-        wkOrderItem.setPriceUnitId(matnr.getUnit());
         WkOrder wkOrder = asnOrderService.getById(Long.parseLong(params.get("orderId").toString()));
         if (Objects.isNull(wkOrder)) {
             throw new CoolException("鏁版嵁閿欒锛屽崟鎹笉瀛樺湪锛侊紒");
@@ -284,6 +280,10 @@
             }
         }
         wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId);
+        wkOrderItem.setBaseUnit(matnr.getUnit());
+        wkOrderItem.setPurUnit(matnr.getUnit());
+        wkOrderItem.setStockUnit(matnr.getUnit());
+        wkOrderItem.setPriceUnitId(matnr.getUnit());
         if (!this.saveOrUpdate(wkOrderItem)) {
             throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�");
         }

--
Gitblit v1.9.1