From a8bb23b90b99f1898c2a0d0335115c69a6db761d Mon Sep 17 00:00:00 2001
From: zyh <zyh@123>
Date: 星期六, 24 一月 2026 08:33:19 +0800
Subject: [PATCH] 添加了联结器库特殊站点时调用AGV特殊模板,添加人员入侵系统检测到有人时急停AGV的接口,修复AGV工作档没有任务号的漏洞

---
 src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java |   48 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index d715373..c9a3aed 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -93,6 +93,7 @@
                         locMast.setLocSts("D");
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
+                        locMast.setPic(wrkMast.getPic());
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("绌烘澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐�;[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -177,6 +178,7 @@
                         locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
+                        locMast.setPic(wrkMast.getPic());
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("鍏ㄦ澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -244,9 +246,9 @@
                     for (WrkDetl wrkDetl : wrkDetls53) {
 
                         LocDetl locDetl = locDetlService.selectItem(locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand()
-                                , wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
+                                , null, wrkDetl.getStandby2(), wrkDetl.getStandby3(), wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3());
                         if (null != locDetl) {
-                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(), wrkDetl.getStandby1(), wrkDetl.getStandby2(), wrkDetl.getStandby3()
+                            if (!locDetlService.updateAnfme(locDetl.getAnfme() - wrkDetl.getAnfme(), locMast.getLocNo(), wrkDetl.getMatnr(), wrkDetl.getBatch(), wrkDetl.getBrand(),null, wrkDetl.getStandby2(), wrkDetl.getStandby3()
                                     , wrkDetl.getBoxType1(), wrkDetl.getBoxType2(), wrkDetl.getBoxType3())) {
 //                                exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撳瓨鏄庣粏鏁伴噺澶辫触锛沎workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                                 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -285,6 +287,7 @@
                         locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
+                        locMast.setPic(wrkMast.getPic());
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("鎷f枡鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -354,6 +357,7 @@
                         locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
+                        locMast.setPic(wrkMast.getPic());
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("骞舵澘鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -391,6 +395,7 @@
                         locMast.setBarcode(wrkMast.getBarcode());
                         locMast.setIoTime(now);
                         locMast.setModiTime(now);
+                        locMast.setPic(wrkMast.getPic());
                         if (!locMastService.updateById(locMast)) {
 //                            exceptionHandle("鐩樼偣鍏ュ簱 ===>> 淇敼搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -413,8 +418,10 @@
                         }
                     }
                     // 淇敼婧愬簱浣嶇姸鎬� ==> O
+                    String picUrl = "";
                     LocMast sourceLoc = locMastService.selectById(wrkMast.getSourceLocNo());
                     if (null != sourceLoc) {
+                        picUrl = sourceLoc.getPic();
                         sourceLoc.setBarcode("");
                         sourceLoc.setLocSts("O");
                         sourceLoc.setModiTime(now);
@@ -430,6 +437,7 @@
                     locMast.setBarcode(wrkMast.getBarcode());
                     locMast.setIoTime(now);
                     locMast.setModiTime(now);
+                    locMast.setPic(picUrl);
                     if (!locMastService.updateById(locMast)) {
 //                        exceptionHandle("搴撲綅绉昏浆 ===>> 淇敼鐩爣搴撲綅鐘舵�佸け璐ワ紱[workNo={0}],[locNo={1}]", wrkMast.getWrkNo(), wrkMast.getLocNo());
                         TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
@@ -604,31 +612,37 @@
         //鏌ヨ鏄惁鏈夊叧鑱旂殑WrkMast浠诲姟
         WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", task.getWrkNo()));
         if (wrkMast != null) {
-            if (wrkMast.getIoType()==110){
+            if (wrkMast.getIoType()==110&& wrkMast.getWrkSts()>12){
                 wrkMast.setWrkSts(32L);//32.绛夊緟缁勬墭
-            }else if (wrkMast.getIoType()==101){
+            }else if (wrkMast.getIoType()==101 && wrkMast.getWrkSts()>12){
                 wrkMast.setWrkSts(15L);//15.鍑哄簱鏇存柊瀹屾垚
+            }else if (wrkMast.getIoType()==103 && wrkMast.getWrkSts()>12){
+                wrkMast.setWrkSts(20L);//20.绛夊緟鍥炲簱
             }
             wrkMast.setModiTime(new Date());
+            wrkMast.setOveMk("Y");
             wrkMastService.updateById(wrkMast);
             task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
             task.setModiTime(new Date());
             taskService.updateById(task);
 
             //瀵硅浆搴忔惉杩愬畬鎴愮殑浠诲姟缁撴灉鍙嶉缁檓es
-        }else if(task.getTaskType().equals("ZX-AGV")){
-            HashMap<String,Object> map = new HashMap<>();
-            map.put("taskno", task.getTaskNo());
-            String mesUrl = url+"AGVArrivalCompletedFit";
-            String response = RcsServiceImpl.sendPost(mesUrl, JSONObject.toJSONString(map));
-            if (!StringUtils.isEmpty(response) && response.contains("Success")){
-                MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
-                if("1".equals(mesReturn.getSuccess())) {
-                    task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
-                    task.setModiTime(new Date());
-                    taskService.updateById(task);
-                }else {
-                    return new ReturnT<>(500, mesReturn.getMessage());
+        }else if(task.getTaskType().equals("ZX-AGV-08-1")||task.getTaskType().equals("ZX-AGV-08-2")){
+            if(!task.getStaNo().equals("307")){
+                HashMap<String,Object> map = new HashMap<>();
+                map.put("taskno", task.getTaskNo());
+                map.put("StationId", task.getSourceStaNo());
+                String mesUrl = url+"AGVArrivalCompletedFit";
+                String response = RcsServiceImpl.sendPost(mesUrl, JSONObject.toJSONString(map));
+                if (!StringUtils.isEmpty(response) && response.contains("Success")){
+                    MesReturn mesReturn = JSONObject.parseObject(response, MesReturn.class);
+                    if("1".equals(mesReturn.getSuccess())) {
+                        task.setWrkSts(305L);//浠诲姟鐘舵�佷粠304--銆�305
+                        task.setModiTime(new Date());
+                        taskService.updateById(task);
+                    }else {
+                        return new ReturnT<>(500, mesReturn.getMessage());
+                    }
                 }
             }
         }else {

--
Gitblit v1.9.1