From e3508915adca349eb4adfc2c50ce808696e730f4 Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期二, 03 三月 2026 13:59:43 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/core/plugin/NormalProcess.java |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/zy/core/plugin/NormalProcess.java b/src/main/java/com/zy/core/plugin/NormalProcess.java
index 46d5934..8a73d82 100644
--- a/src/main/java/com/zy/core/plugin/NormalProcess.java
+++ b/src/main/java/com/zy/core/plugin/NormalProcess.java
@@ -70,6 +70,8 @@
         stationOperateProcessUtils.stationInExecute();
         //鎵ц杈撻�佺珯鐐瑰嚭搴撲换鍔�
         stationOperateProcessUtils.stationOutExecute();
+        //妫�娴嬪嚭搴撲换鍔″埌杈剧洰鐨勫湴
+//        stationOperateProcessUtils.arriveAtTheDestination();
         //妫�娴嬭緭閫佺珯鐐瑰嚭搴撲换鍔℃墽琛屽畬鎴�
         stationOperateProcessUtils.stationOutExecuteFinish();
 
@@ -120,18 +122,29 @@
                     if (stationProtocol == null) {
                         continue;
                     }
+                    String barcode = stationProtocol.getBarcode();
 
                     // 婊¤冻鑷姩銆佹湁鐗┿�佹湁宸ヤ綔鍙凤紝鐢熸垚鍏ュ簱鏁版嵁
                     if (stationProtocol.isAutoing()
                             && stationProtocol.isLoading()
-                            && stationProtocol.getTaskNo() > 0) {
+                            && stationProtocol.getTaskNo() == 0) {
                         if (Cools.isEmpty(stationProtocol.getBarcode())) {
                             continue;
                         }
+                        //鏄惁鎶ヨ
+                        if (stationProtocol.getError()>0){
+                            StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO,
+                                    9991, 1015, 1013, 0);
+                            stationProtocol.setSystemWarning(stationProtocol.getErrorMsg());
+                            MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
+                            continue;
+                        }
 
+                        String[] split = barcode.split(",");
+                        String bar = split[0];
                         // 妫�娴嬩换鍔℃槸鍚︾敓鎴�
                         List<WrkMast> wrkMasts = wrkMastService
-                                .selectList(new EntityWrapper<WrkMast>().eq("barcode", stationProtocol.getBarcode()));
+                                .selectList(new EntityWrapper<WrkMast>().eq("barcode", bar));
                         if (!wrkMasts.isEmpty()) {
                             continue;
                         }
@@ -141,7 +154,7 @@
                             continue;
                         }
 
-                        String barcode = stationProtocol.getBarcode();
+
                         Integer stationIdVal = stationProtocol.getStationId();
 
                         // 1. 棣栧厛鏌ヨ鏄惁鏈夊凡瀹屾垚鐨勫紓姝ュ搷搴�
@@ -154,8 +167,9 @@
                                 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);
+//                                stationProtocol.setSys
                                 continue;
                             }
 
@@ -165,25 +179,34 @@
                                 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);
+                                taskParam.setBarcode(dto.getBarcode());
+                                taskParam.setSourceStaNo(String.valueOf(dto.getSourceStaNo()));
+                                taskParam.setStaNo(String.valueOf(dto.getStaNo()));
+                                taskParam.setCrnNo(dto.getCrnNo());
                                 WrkMast wrkMast = commonService.createInTask(taskParam);
 
                                 StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO,
-                                        wrkMast.getWrkNo(), stationId, stationId, 0);
+                                        wrkMast.getWrkNo(), dto.getSourceStaNo(), dto.getStaNo(), 0);
                                 if (command == null) {
                                     News.taskInfo(wrkMast.getWrkNo(), "鑾峰彇杈撻�佺嚎鍛戒护澶辫触");
                                     continue;
                                 }
+                                stationProtocol.setSystemWarning("");
                                 MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
                             } else {
+
+                                stationProtocol.setSystemWarning(jsonObject.getString("msg"));
+                                StationCommand command = stationThread.getCommand(StationCommandType.WRITE_INFO,
+                                        9991, 1015, 1013, 0);
+                                MessageQueue.offer(SlaveType.Devp, basDevp.getDevpNo(), new Task(2, command));
                                 // 鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹�
                                 News.error("WMS鍏ュ簱鎺ュ彛杩斿洖闈�200锛岄噸鏂板彂璧疯姹傦紝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);
                             }
                         } else {
@@ -192,7 +215,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);
                             }
                             // 濡傛灉鏈夎姹傝繘琛屼腑锛岀瓑寰呬笅娆″惊鐜啀妫�鏌�

--
Gitblit v1.9.1