From 1286f6fd5625d3d058d1dcff11b8fda303d6c455 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 11 三月 2025 10:28:43 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java         |    2 
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java  |   40 ++++++++++++++++----
 src/main/webapp/views/agvStoMan/stoQue.html                    |    2 
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |    8 +++
 src/main/java/com/zy/asrs/controller/AgvOpenController.java    |   28 +++++++++++--
 src/main/webapp/static/js/agvStoMan/stoQue.js                  |    2 
 6 files changed, 65 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index 01361fc..f78f672 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -180,8 +180,13 @@
 
             //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
             if (agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107) {
-                //淇敼鍑哄簱绔欑偣鐘舵��
-                agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
+                AgvBasDevp byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getLocNo());
+                if (byDevNo != null) {
+                    log.info("鍑哄簱浠诲姟杩涘叆绔欑偣===>>绔欑偣鐮侊細{}锛岀珯鐐圭姸鎬亄}", byDevNo.getDevNo(), byDevNo.getLocSts());
+                    //淇敼鍑哄簱绔欑偣鐘舵��
+                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
+
+                }
             }
             //鍑哄簱浠诲姟 110.绌烘澘鍑哄簱
             if (agvWrkMast.getIoType() == 110) {
@@ -225,16 +230,29 @@
                     String locSts = "O";
                     if (byDevNo != null) {
                         assert log != null;
-                        log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬�:{}", byDevNo.getLocSts());
-                        if (("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts()))) {
+                        log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬�:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
+                        if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
+                            log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬佷繚鎸佷笉鍙�1:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
                             locSts = byDevNo.getLocSts();
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, byDevNo.getBarcode(), null);
                         } else {
+                            log.info("鏂欐灦绂诲紑鏃跺綋鍓嶇珯鐐圭姸鎬佷繚鎸佷笉鍙�2:{},{}", byDevNo.getDevNo(), byDevNo.getLocSts());
                             locSts = "O";
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, "", null);
                         }
                     }
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), locSts, "", null);
                     break;
             }
+
+            if (agvWrkMast.getIoType() == 108 || agvWrkMast.getIoType() == 114) {
+                //鏇存柊搴撳瓨鏄庣粏
+                agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo());
+                //淇敼婧愬簱浣嶇姸鎬佷负O
+                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+            } else if (agvWrkMast.getIoType() == 109 && !agvWrkMast.getSourceLocNo().substring(0, 2).equals("DB")) {
+                //淇敼婧愬簱浣嶇姸鎬佷负O
+                agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+            }
             //if(agvWrkMast.getIoType() == 1 || agvWrkMast.getIoType() == 53 || agvWrkMast.getIoType() == 57 || agvWrkMast.getIoType() == 10){
             //    //淇敼婧愮珯鐐圭姸鎬佷负O.绌猴紝浠ュ強瑙g粦鎵樼洏鏉$爜
             //    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(),"O","",null);
diff --git a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
index c323a1c..151a581 100644
--- a/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
+++ b/src/main/java/com/zy/asrs/mapper/AgvWrkDetlMapper.java
@@ -38,7 +38,7 @@
     Double sumAnfmeByMatnr(@Param("matnr") String matnr, @Param("threeCode") String threeCode, @Param("orderNo") String orderNo);
 
 
-    @Select("SELECT d.matnr,d.three_code,d.order_no,SUM(d.anfme) anfme from agv_wrk_detl d ,agv_wrk_mast m where d.wrk_no=m.wrk_no and m.io_type in (101,103,53)  AND d.process_sts != 1 GROUP BY d.matnr,d.three_code,d.order_no")
+    @Select("SELECT d.matnr,d.three_code threeCode,d.order_no orderNo,SUM(d.anfme) anfme from agv_wrk_detl d ,agv_wrk_mast m where d.wrk_no=m.wrk_no and m.io_type in (101,103,53)  AND d.process_sts != 1 GROUP BY d.matnr,d.three_code,d.order_no")
     List<AgvWrkDetl> listAnfmeByMatnr();
 
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
index 4e595cd..542b68a 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -903,7 +903,7 @@
                     }
                 }
             }
-            if (agvLocMast==null){
+            if (agvLocMast == null) {
                 throw new CoolException("娌℃湁璇ョ被鍨嬬殑绌哄簱浣嶄簡");
             }
 
@@ -1345,6 +1345,9 @@
                 if (wrkMast.getIoType() == 112) {
                     throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
                 }
+                if (wrkMast.getIoType() == 108 && wrkMast.getWrkSts() >= 204) {
+                    throw new CoolException("婧愬簱浣嶅凡缁忛噴鏀撅紝褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
+                }
                 // 婧愬簱浣�
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
@@ -1407,6 +1410,9 @@
 
                 // 鍥炴祦鍗曞彇娑�
             } else if (wrkMast.getIoType() == 114) {
+                if (wrkMast.getWrkSts() >= 204) {
+                    throw new CoolException("婧愬簱浣嶅凡缁忛噴鏀撅紝褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
+                }
                 //婧愬簱浣�
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 15fad84..84fd2a5 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -28,6 +28,8 @@
 import java.util.*;
 import java.util.stream.Collectors;
 
+import static org.reflections.Reflections.log;
+
 @Slf4j
 @Service
 public class AgvWrkMastHandler extends AbstractHandler<String> {
@@ -188,7 +190,15 @@
                     break;
                 case 10:
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "D", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", (short) 0);
+                    AgvBasDevp byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getSourceLocNo());
+                    if (byDevNo != null) {
+                        if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
+
+                        } else {
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue());
+                        }
+                    }
+                    //agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", (short) 0);
                     break;
                 case 11:
                 case 12:
@@ -246,7 +256,14 @@
 
                     });
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue());
+                     byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getSourceLocNo());
+                    if (byDevNo != null) {
+                        if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
+
+                        } else {
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue());
+                        }
+                    }
                     break;
                 case 57:
                     // 鏇存柊搴撳瓨鏄庣粏
@@ -263,7 +280,14 @@
                         }
                     });
                     // 鏇存柊绔欑偣 + 搴撲綅鐘舵��     婧愬簱浣嶆槸绔欑偣
-                    agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue());
+                     byDevNo = agvBasDevpService.getByDevNo(agvWrkMast.getSourceLocNo());
+                    if (byDevNo != null) {
+                        if ("S".equals(byDevNo.getLocSts()) || "F".equals(byDevNo.getLocSts())) {
+
+                        } else {
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue());
+                        }
+                    }
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue(), agvWrkMast.getCtnNo());
                     break;
                 case 58:
@@ -273,10 +297,10 @@
                 case 108:
                 case 114:
                     agvLocMastService.updateLocStsByLocNo(agvWrkMast.getLocNo(), "F", agvWrkMast.getBarcode(), agvWrkMast.getWhsType().shortValue());
-                    //鏇存柊搴撳瓨鏄庣粏
-                    agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo());
-                    //淇敼婧愬簱浣嶇姸鎬佷负O
-                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+//                    //鏇存柊搴撳瓨鏄庣粏
+//                    agvLocDetlService.updateStock(agvWrkMast.getSourceLocNo(), agvWrkMast.getLocNo());
+//                    //淇敼婧愬簱浣嶇姸鎬佷负O
+//                    agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
                     break;
                 case 109:
                     // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
@@ -292,7 +316,7 @@
                         // 搴撲綅 -- 鎺ラ┏浣� / 搴撲綅
                     } else {
                         //淇敼婧愬簱浣嶇姸鎬佷负O
-                        agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
+                        //agvLocMastService.updateLocStsByLocNo(agvWrkMast.getSourceLocNo(), "O", "", agvWrkMast.getWhsType().shortValue(), "", (short) 0);
                     }
                     break;
                 case 111:
diff --git a/src/main/webapp/static/js/agvStoMan/stoQue.js b/src/main/webapp/static/js/agvStoMan/stoQue.js
index 3a9408e..27d1ef1 100644
--- a/src/main/webapp/static/js/agvStoMan/stoQue.js
+++ b/src/main/webapp/static/js/agvStoMan/stoQue.js
@@ -165,7 +165,7 @@
             case 'locDetl':
                 // locDetl(data.locNo);
                 if (data.locSts.trim() === ''
-                    || data.locSts.trim() === 'S'
+                        //|| data.locSts.trim() === 'S'
                     || data.locSts.trim() === 'D'
                     || data.locSts.trim() === 'O')  {
                     layer.msg("姝ゅ簱浣嶇殑鐘舵�佷笉瀛樺湪鐗╂枡");
diff --git a/src/main/webapp/views/agvStoMan/stoQue.html b/src/main/webapp/views/agvStoMan/stoQue.html
index 1c7d5e8..d1d0673 100644
--- a/src/main/webapp/views/agvStoMan/stoQue.html
+++ b/src/main/webapp/views/agvStoMan/stoQue.html
@@ -107,7 +107,7 @@
 <script type="text/javascript" src="../../static/layui/layui.js?v=100" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/common.js?v=100" charset="utf-8"></script>
 <script type="text/javascript" src="../../static/js/cool.js?v=100" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/agvStoMan/stoQue.js?v=100" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/agvStoMan/stoQue.js?v=101" charset="utf-8"></script>
 </body>
 </html>
 

--
Gitblit v1.9.1