From f5e49b2c04137fdc88c453cbe5d190cf7daab079 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期二, 30 十二月 2025 15:39:53 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/utils/StationOperateProcessUtils.java |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
index 4c037b5..c3c8516 100644
--- a/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
+++ b/src/main/java/com/zy/core/utils/StationOperateProcessUtils.java
@@ -3,8 +3,10 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.service.*;
+import com.zy.common.entity.FindCrnNoResult;
 import com.zy.common.model.StartupDto;
 import com.zy.common.service.CommonService;
 import com.zy.common.utils.RedisUtil;
@@ -91,13 +93,13 @@
                     }
 
                     String locNo = wrkMast.getLocNo();
-                    Integer crnNo = commonService.findCrnNoByLocNo(locNo);
-                    if (crnNo == null) {
+                    FindCrnNoResult findCrnNoResult = commonService.findCrnNoByLocNo(locNo);
+                    if (findCrnNoResult == null) {
                         News.taskInfo(wrkMast.getWrkNo(), "鏈尮閰嶅埌鍫嗗灈鏈�");
                         continue;
                     }
 
-                    Integer targetStationId = commonService.findInStationId(crnNo, stationId);
+                    Integer targetStationId = commonService.findInStationId(findCrnNoResult, stationId);
                     if (targetStationId == null) {
                         News.taskInfo(wrkMast.getWrkNo(), "鎼滅储鍏ュ簱绔欑偣澶辫触");
                         continue;
@@ -246,7 +248,7 @@
                     if (runBlockReassignLocStationList.contains(stationProtocol.getStationId())) {
                         //绔欑偣澶勪簬閲嶆柊鍒嗛厤搴撲綅鍖哄煙
                         //杩愯鍫靛锛岄噸鏂扮敵璇蜂换鍔�
-                        String response = wmsOperateUtils.applyReassignTaskLocNo(wrkMast.getWrkNo());
+                        String response = wmsOperateUtils.applyReassignTaskLocNo(wrkMast.getWrkNo(), stationProtocol.getStationId());
                         if (response == null) {
                             News.taskError(wrkMast.getWrkNo(), "璇锋眰WMS閲嶆柊鍒嗛厤搴撲綅鎺ュ彛澶辫触锛屾帴鍙f湭鍝嶅簲锛侊紒锛乺esponse锛歿}", response);
                             continue;
@@ -280,13 +282,14 @@
                                 continue;
                             }
 
-                            Integer crnNo = commonService.findCrnNoByLocNo(locNo);
-                            if (crnNo == null) {
+                            FindCrnNoResult findCrnNoResult = commonService.findCrnNoByLocNo(locNo);
+                            if (findCrnNoResult == null) {
                                 News.taskInfo(wrkMast.getWrkNo(), "鏈尮閰嶅埌鍫嗗灈鏈�");
                                 continue;
                             }
+                            Integer crnNo = findCrnNoResult.getCrnNo();
 
-                            Integer targetStationId = commonService.findInStationId(crnNo, stationProtocol.getStationId());
+                            Integer targetStationId = commonService.findInStationId(findCrnNoResult, stationProtocol.getStationId());
                             if (targetStationId == null) {
                                 News.taskInfo(wrkMast.getWrkNo(), "鎼滅储鍏ュ簱绔欑偣澶辫触");
                                 continue;
@@ -310,8 +313,16 @@
 
                             //鏇存柊宸ヤ綔妗f暟鎹�
                             wrkMast.setLocNo(locNo);
-                            wrkMast.setCrnNo(crnNo);
                             wrkMast.setStaNo(targetStationId);
+
+                            if (findCrnNoResult.getCrnType().equals(SlaveType.Crn)) {
+                                wrkMast.setCrnNo(crnNo);
+                            } else if (findCrnNoResult.getCrnType().equals(SlaveType.DualCrn)) {
+                                wrkMast.setDualCrnNo(crnNo);
+                            }else {
+                                throw new CoolException("鏈煡璁惧绫诲瀷");
+                            }
+
                             if (wrkMastService.updateById(wrkMast)) {
                                 MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
                             }

--
Gitblit v1.9.1