From 6cfcb307f01b9550b6cd67321f2c1db345b4da19 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 13 一月 2025 16:07:21 +0800
Subject: [PATCH] 优化自动移库逻辑及调拨信息上报

---
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java |   55 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 40 insertions(+), 15 deletions(-)

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 bf9592c..22b7f22 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -43,9 +43,9 @@
     //绉诲簱绫诲瀷鏁扮粍
     private static final List<Integer> MOVE_TYPE_List = new ArrayList<Integer>() {{
         add(11);
-        add(101);
         add(12);
         add(53);
+        add(101);
         add(103);
         add(108);
         add(111);
@@ -135,6 +135,26 @@
             }
 
 
+            Integer pltType = agvWrkMast.getPltType();
+            if (Cools.isEmpty(pltType)) {
+                AgvLocMast agvLocMast;
+                if (!Cools.isEmpty(agvWrkMast.getLocNo())) {
+                    agvLocMast = agvLocMastService.selectById(agvWrkMast.getLocNo());
+                    if (agvLocMast != null) {
+                        pltType = agvLocMast.getPltType();
+                    }
+                }
+                if (!Cools.isEmpty(agvWrkMast.getSourceLocNo())) {
+                    agvLocMast = agvLocMastService.selectById(agvWrkMast.getSourceLocNo());
+                    if (agvLocMast != null) {
+                        pltType = agvLocMast.getPltType();
+                    }
+                }
+                if (pltType != null) {
+                    agvWrkMast.setPltType(pltType);
+                }
+                log.info("宸ヤ綔鍙�--{},浠撳簱缂栫爜锛歿}", agvWrkMast.getWrkNo(), agvWrkMast.getPltType());
+            }
             agvWrkMast.setModiTime(new Date());
             //淇敼宸ヤ綔妗g姸鎬佷负207.搴撳瓨鏇存柊瀹屾垚
             agvWrkMast.setWrkSts(207L);
@@ -339,12 +359,13 @@
 
             if (!isJSON(orderNo)) {
                 //妫�鏌ヨ鍗曟槸鍚﹀凡瀹屾垚
-                orderService.checkComplete(orderNo, agvWrkMast.getPltType());
+                orderService.checkComplete(orderNo, pltType);
             } else {
                 List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
+                Integer finalPltType = pltType;
                 maps.forEach(map -> {
                     String o = map.get("orderNo").toString();
-                    orderService.checkComplete(o, agvWrkMast.getPltType());
+                    orderService.checkComplete(o, finalPltType);
                 });
             }
 
@@ -706,23 +727,27 @@
         if (Cools.isEmpty(agvWrkDetls)) {
             return;
         }
+        List<AgvWrkDetl> data = new ArrayList<>();
         //鍖哄垎涓嶅悓浠诲姟绫诲瀷鐨勪笂鎶ユ柟寮�
-
-        if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) {
-            String barcode = agvWrkMast.getBarcode();
-            if (barcode.startsWith("20") || barcode.startsWith("21") || barcode.startsWith("40")) {
-                reportMesPakinOrder(agvWrkMast, agvWrkDetls);
+        for (AgvWrkDetl agvWrkDetl : agvWrkDetls) {
+            if (agvWrkDetl.getMatnr().compareTo("39") <= 0) {
+                data.add(agvWrkDetl);
             }
         }
-        if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
-            reportMesPakoutOrder(agvWrkMast, agvWrkDetls);
+        if (!data.isEmpty()) {
+            if (IN_TYPE_LIST.contains(agvWrkMast.getIoType())) {
+                reportMesPakinOrder(agvWrkMast, data);
+            }
+            if (OUT_TYPE_List.contains(agvWrkMast.getIoType())) {
+                reportMesPakoutOrder(agvWrkMast, data);
+            }
+            if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
+                generateMesParam(agvWrkMast, data);
+            }
         }
-        if (MOVE_TYPE_List.contains(agvWrkMast.getIoType())) {
-            generateMesParam(agvWrkMast, agvWrkDetls);
-        }
-
 
     }
+
 
     private void reportMesPakinOrder(AgvWrkMast agvWrkMast, List<AgvWrkDetl> agvWrkDetls) {
 
@@ -748,7 +773,7 @@
                 iteam.setLineNo(orderDetl.getItemNum());
                 iteam.setSupplierCode(order.getSalesman());
                 iteam.setUnit(agvWrkDetl.getUnit());
-
+                iteam.setRemark(agvWrkDetl.getThreeCode());
                 iteams.add(iteam);
 
                 mesBuyPakinReportParam.setCode(orderNo);

--
Gitblit v1.9.1