From f0adc332d570cde0084bce7372ae7b9653b8c93b Mon Sep 17 00:00:00 2001
From: 1 <1>
Date: 星期四, 02 十月 2025 11:49:59 +0800
Subject: [PATCH] #和得服务器

---
 src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java |   37 +++++++++++++++++++++++++++++++++++--
 1 files changed, 35 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
index bddeb9e..06bcea3 100644
--- a/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -311,6 +311,15 @@
                 dtos.add(new OutLocDto(locNo, locDetlDto));
             }
         }
+        Config config = configService.selectConfigByCode("AutoMPArea");
+
+        List<LocMast> list = locMastMapper.selectList(
+                new EntityWrapper<LocMast>()
+                        .eq("whs_type", 5)
+                        .eq("loc_sts", "O")
+        );
+        LocMast locMastRgv = list.isEmpty() ? null : list.get(0);
+
         Integer ioType = null;
         // 鐢熸垚宸ヤ綔妗�
         for (OutLocDto dto : dtos) {
@@ -332,6 +341,10 @@
 
             // 鑾峰彇璺緞
             StaDesc staDesc = staDescService.queryCrnStn(ioType, locMast.getCrnNo(), outSta);
+            if(ioType.equals(107)){
+                staDesc = staDescService.queryCrnStnCheck(ioType, locMast.getCrnNo(), outSta);
+            }
+
             // 鐢熸垚宸ヤ綔鍙�
             int workNo = commonService.getWorkNo(WorkNoType.getWorkNoType(ioType));
             // 鐢熸垚宸ヤ綔妗�
@@ -351,6 +364,12 @@
             wrkMast.setEmptyMk("N"); // 绌烘澘
             wrkMast.setLinkMis("N");
             wrkMast.setBarcode(locMast.getBarcode());
+            if(locMastRgv !=null){
+                if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) {  //鑻ユ湁绌哄簱浣嶄笖閰嶇疆鍏佽鍒欑粦瀹氬叾澶囨枡搴撲綅鍙�
+                    wrkMast.setLocNo(locMastRgv.getLocNo());
+                    wrkMast.setTakeNone("0");  //0rgv鏈彇锛�1rgv宸插彇璐�
+                }
+            }
             wrkMast.setAppeUser(userId); // 鎿嶄綔浜哄憳鏁版嵁
             wrkMast.setAppeTime(now);
             wrkMast.setModiUser(userId);
@@ -376,6 +395,20 @@
                     throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
                 }
             }
+            if(locMastRgv !=null){
+                if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) {  //鑻ユ湁绌哄簱浣嶄笖閰嶇疆鍏佽鍒欑粦瀹氬叾澶囨枡搴撲綅鍙�
+                    //淇敼agv澶囨枡鍖虹姸鎬�
+                    if(locMastRgv.getLocSts().equals("O") && ioType != 107){
+                        locMastRgv.setLocSts("S");
+                        locMastRgv.setModiUser(userId);
+                        locMastRgv.setModiTime(now);
+                        if (!locMastService.updateById(locMastRgv)) {
+                            throw new CoolException("棰勭害agv澶囨枡鍖哄簱浣嶇姸鎬佸け璐ワ紝搴撲綅鍙凤細"+locMastRgv.getLocNo());
+                        }
+                    }
+                }
+            }
+
             // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
             locMast = locMastService.selectById(dto.getLocNo());
             if (locMast.getLocSts().equals("F")) {
@@ -493,10 +526,10 @@
             locMastRgv.setModiUser(userId);
             locMastRgv.setModiTime(now);
             if (!locMastService.updateById(locMastRgv)) {
-                throw new CoolException("棰勭害agv澶囨枡鍖哄簱浣嶇姸鎬佸け璐ワ紝搴撲綅鍙凤細"+taskDto.getLocNo());
+                throw new CoolException("棰勭害agv澶囨枡鍖哄簱浣嶇姸鎬佸け璐ワ紝搴撲綅鍙凤細"+locMastRgv.getLocNo());
             }
         }else{
-            throw new CoolException(taskDto.getLocNo() + "澶囨枡鍖轰笉鏄┖搴撲綅鐘舵��");
+            throw new CoolException(locMastRgv.getLocNo() + "澶囨枡鍖轰笉鏄┖搴撲綅鐘舵��");
 
         }
         // 淇敼搴撲綅鐘舵��:   F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�

--
Gitblit v1.9.1