From d07a7672eb185c4fb2bcb6589994d23e93d144f6 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期二, 14 一月 2025 14:57:07 +0800
Subject: [PATCH] 优化异常处理及订单同步逻辑

---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java |   31 ++++++++++++++++++++++---------
 1 files changed, 22 insertions(+), 9 deletions(-)

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 376531f..955aa3b 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -103,7 +103,7 @@
             List<AgvWaitPakin> agvWaitPakinList = agvWaitPakinService.selectList(new EntityWrapper<AgvWaitPakin>().eq("supp_code", agvBasDevp.getBarcode()));
 
             //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-            AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false);
+            AgvLocMast agvLocMast = agvCommonService.getLocNo(agvBasDevp.getLocType1(), agvBasDevp.getFloor(), false, false,null);
             //鐢熸垚宸ヤ綔妗�
             AgvWrkMast wrkMast = createWrkMast(1, 201L, agvBasDevp.getDevNo(), agvLocMast.getLocNo(), agvBasDevp.getBarcode(), now, userId, agvBasDevp.getLocType2(), agvLocMast.getPltType());
             //鏍囪鏄惁涓鸿緭閫佺嚎鍏ュ簱
@@ -480,7 +480,7 @@
     鍏ュ簱
      */
     @Transactional
-    public String emptyPlateIn(String station, String containerCode, Short containerType, Long userId, boolean emptyAutoIn) {
+    public String emptyPlateIn(String station, String containerCode, Short containerType, Long userId, boolean emptyAutoIn,String factory) {
 
         Date now = new Date();
 
@@ -507,6 +507,9 @@
             case 30:
                 br = 3;
                 break;
+            case 31:
+                br = 6;
+                break;
             case 40:
                 br = 5;
                 break;
@@ -525,7 +528,9 @@
             locType = 2;
         } else if (containerType == 30) {
             locType = 3;
-        } else {
+        }  else if (containerType == 31) {
+            locType = 6;
+        }else {
             locType = agvBasDevp.getLocType1();
         }
 
@@ -564,19 +569,19 @@
             Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "elevatorTasks"));
             if (Cools.isEmpty(config)) {
                 if (isCurrLev.get()) {
-                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true);
+                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true,factory);
                 } else {
-                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, false);
+                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, false,factory);
                 }
             } else {
                 List<AgvWrkMast> agvWrkMasts = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().like("loc_no", "02F1").like("source_loc_no", "F1"));
                 if (Integer.parseInt(config.getValue()) <= agvWrkMasts.size()) {
-                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true);
+                    agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true,factory);
                 } else {
                     if (isCurrLev.get()) {
-                        agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true);
+                        agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, true,factory);
                     } else {
-                        agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, false);
+                        agvLocMast = agvCommonService.getLocNo(locType, agvBasDevp.getFloor(), false, false,factory);
                     }
                     //agvLocMast = agvCommonService.getLocNo(locType,agvBasDevp.getFloor(),false,false);
                 }
@@ -640,7 +645,8 @@
         }
 
         if (Cools.isEmpty(agvLocMast)) {
-            throw new CoolException("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
+            log.info("鏆傛棤褰撳墠鍑哄簱绔欑偣绫诲瀷鐨勭┖璐ф灦锛�");
+            return;
         }
         //鐢熸垚宸ヤ綔妗�
         createWrkMast(110, 21L, agvLocMast.getLocNo(), agvBasDevp.getDevNo(), agvLocMast.getBarcode(), now, userId, containerType, agvLocMast.getPltType());
@@ -1242,6 +1248,9 @@
             throw new CoolException(matnr + "鍟嗗搧缁存姢澶辫触");
         }
         OrderDetl orderDetl = orderDetlService.selectItem(orderNo, mat.getMatnr(), batch, csocode);
+        if (orderDetl == null) {
+            throw new CoolException("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+        }
         AgvWrkDetl wrkDetl = new AgvWrkDetl();
         wrkDetl.sync(mat);
         if (orderDetl != null) {
@@ -1324,6 +1333,10 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
+        if (!Cools.isEmpty(locNo) && Cools.isEmpty(pltType)) {
+            AgvLocMast agvLocMast = agvLocMastService.selectById(locNo);
+            pltType = agvLocMast.getPltType();
+        }
         wrkMast.setPltType(pltType);
         wrkMast.setLogErrMemo("createWaitPainWrkMastStart");
 

--
Gitblit v1.9.1