From 84e27510eac3b86af8a98d7498eb451b876c5413 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期五, 20 三月 2026 09:11:30 +0800
Subject: [PATCH] 入库口强制入库确认后还会退回一次,才可入库修复

---
 src/main/java/com/zy/core/plugin/FakeProcess.java |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

diff --git a/src/main/java/com/zy/core/plugin/FakeProcess.java b/src/main/java/com/zy/core/plugin/FakeProcess.java
index 4a137df..7b5b282 100644
--- a/src/main/java/com/zy/core/plugin/FakeProcess.java
+++ b/src/main/java/com/zy/core/plugin/FakeProcess.java
@@ -327,8 +327,8 @@
 
                     CreateInTaskParam taskParam = new CreateInTaskParam();
                     taskParam.setTaskNo(String.valueOf(commonService.getWorkNo(WrkIoType.IN.id)));
-                    taskParam.setSourceStaNo(stationId);
-                    taskParam.setStaNo(targetStationId);
+                    taskParam.setSourceStaNo(String.valueOf(stationId));
+                    taskParam.setStaNo(String.valueOf(targetStationId));
                     taskParam.setLocNo(locMast.getLocNo());
                     taskParam.setBarcode(stationProtocol.getBarcode());
                     WrkMast wrkMast = commonService.createInTask(taskParam);
@@ -480,6 +480,10 @@
 
                         String barcode = stationProtocol.getBarcode();
                         Integer stationIdVal = stationProtocol.getStationId();
+                        String stationBackKey = RedisKeyType.GENERATE_STATION_BACK_LIMIT.key + barcode + "_" + stationIdVal;
+                        if (redisUtil.get(stationBackKey) != null) {
+                            continue;
+                        }
 
                         // 1. 棣栧厛鏌ヨ鏄惁鏈夊凡瀹屾垚鐨勫紓姝ュ搷搴�
                         String response = wmsOperateUtils.queryAsyncInTaskResponse(barcode, stationIdVal);
@@ -491,7 +495,7 @@
                                 News.error("WMS鍏ュ簱璇锋眰澶辫触锛岄噸鏂板彂璧疯姹傦紝barcode={}锛宻tationId={}锛宺esponse={}", barcode,
                                         stationIdVal, response);
                                 wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal,
-                                        stationProtocol.getPalletHeight());
+                                        stationProtocol.getPalletHeight(),stationProtocol.getWeight());
                                 redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2);
                                 continue;
                             }
@@ -502,7 +506,7 @@
                                 StartupDto dto = jsonObject.getObject("data", StartupDto.class);
 
                                 CreateInTaskParam taskParam = new CreateInTaskParam();
-                                taskParam.setTaskNo(dto.getTaskNo());
+                                taskParam.setTaskNo(String.valueOf(dto.getTaskNo()));
                                 taskParam.setLocNo(dto.getLocNo());
                                 taskParam.setTaskPri(dto.getTaskPri());
                                 taskParam.setBarcode(barcode);
@@ -514,14 +518,19 @@
                                     News.taskInfo(wrkMast.getWrkNo(), "鑾峰彇杈撻�佺嚎鍛戒护澶辫触");
                                     continue;
                                 }
+                                redisUtil.del(stationBackKey);
                                 MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
                             } else {
-                                // 鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹�
-                                News.error("WMS鍏ュ簱鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹傦紝barcode={}锛宻tationId={}锛宺esponse={}", barcode,
+                                StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO,
+                                        9991, 1015, 1013, 0);
+                                MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
+                                redisUtil.set(stationBackKey, "lock", 15);
+                                wmsOperateUtils.clearAsyncInTaskCache(barcode, stationIdVal);
+                                // 鎺ュ彛杩斿洖闈�200锛屽厛閫�鍥烇紝绛夊緟涓嬫寰幆閲嶆柊璇锋眰
+                                News.error("WMS鍏ュ簱鎺ュ彛杩斿洖闈�200锛屽厛閫�鍥炲悗绛夊緟閲嶈瘯锛宐arcode={}锛宻tationId={}锛宺esponse={}", barcode,
                                         stationIdVal, response);
-                                wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal,
-                                        stationProtocol.getPalletHeight());
                                 redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2);
+                                continue;
                             }
                         } else {
                             // 3. 娌℃湁鍝嶅簲缁撴灉锛屾鏌ユ槸鍚︽湁璇锋眰姝e湪杩涜涓�
@@ -529,7 +538,7 @@
                                 // 娌℃湁璇锋眰杩涜涓紝鍙戣捣鏂扮殑寮傛璇锋眰
                                 News.info("鍙戣捣寮傛WMS鍏ュ簱璇锋眰锛宐arcode={}锛宻tationId={}", barcode, stationIdVal);
                                 wmsOperateUtils.applyInTaskAsync(barcode, stationIdVal,
-                                        stationProtocol.getPalletHeight());
+                                        stationProtocol.getPalletHeight(),stationProtocol.getWeight());
                                 redisUtil.set(RedisKeyType.GENERATE_IN_TASK_LIMIT.key + stationId, "lock", 2);
                             }
                         }
@@ -789,9 +798,10 @@
 
                 wrkMast.setWrkSts(updateWrkSts);
                 wrkMast.setSystemMsg("");
+                wrkMast.setWeight(Cools.isEmpty(crnProtocol.getWeight()) ? 11.11 : crnProtocol.getWeight());
                 wrkMast.setIoTime(new Date());
                 if (wrkMastService.updateById(wrkMast)) {
-                    CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getCrnNo());
+                    CrnCommand resetCommand = crnThread.getResetCommand(crnProtocol.getTaskNo(), crnProtocol.getCrnNo());
                     MessageQueue.offer(SlaveType.Crn, crnProtocol.getCrnNo(), new Task(2, resetCommand));
                     News.info("鍫嗗灈鏈轰换鍔$姸鎬佹洿鏂版垚鍔燂紝鍫嗗灈鏈哄彿={}锛屽伐浣滃彿={}", basCrnp.getCrnNo(), crnProtocol.getTaskNo());
                 }

--
Gitblit v1.9.1