From a12500e11babc4d2512013a56b0cb900f7f7e3a6 Mon Sep 17 00:00:00 2001
From: zhangc <zc@123>
Date: 星期一, 17 三月 2025 09:31:33 +0800
Subject: [PATCH] 四期

---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
index ddb7f00..9af4f46 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -444,7 +444,7 @@
 //            return R.error("褰撳墠搴撲綅涓嶄负鍦ㄥ簱锛屾垨鑰呯┖璐ф灦锛屼笉鏀寔绉诲簱");
 
         // 鏍¢獙妤煎眰
-        if (agvLocMast.getLocType1() != 3) { // 涓嶄负绠卞3鍖哄煙
+        if (agvLocMast.getLocType1() != 3 && agvLocMast.getLocType1() != 6) { // 涓嶄负绠卞3鍖哄煙
             if (agvLocMast.getFloor() != floor) {
                 throw new CoolException("褰撳墠搴撲綅涓嶆敮鎸佽法妤煎眰杞Щ");
             } else {
@@ -456,12 +456,16 @@
                     throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
                 } else if ((agvLocMast.getFloor() == 2 || agvLocMast.getFloor() == 3) && (floor == 1 || floor == 4)) {
                     throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍥炴祦鍗曞洖閫�锛�");
+                } else if (agvLocMast.getFloor() == 1 && agvLocMast.getLev1() == 2 && floor == 4) {
+                    ioType = 11;
                 } else {
                     ioType = 12;
                 }
             } else {
                 if (agvLocMast.getFloor() == 1) {
                     if (agvLocMast.getLev1() == 1 && floor == 1) {
+                        ioType = 11;
+                    } else if (agvLocMast.getLev1() == 2 && floor == 4) {
                         ioType = 11;
                     } else {
                         ioType = 12;
@@ -516,7 +520,7 @@
         //璐ф灦缂栫爜
         mast.setBarcode(agvLocMast.getBarcode());
         //璐ф灦绫诲瀷
-        mast.setWhsType(30);
+        mast.setWhsType(Integer.parseInt(agvLocMast.getBarcode().substring(0, 2)));
 
         mast.setAppeUser(userId);
         mast.setAppeTime(now);
@@ -666,7 +670,7 @@
             throw new CoolException("闈炴墜鍔ㄨ皟鎷ㄤ换鍔★紝涓嶆敮鎸佹鍔熻兘");
         }
         if (!Cools.isEmpty(agvWrkMast.getSourceLocNo())) {
-            throw new CoolException("褰撳墠璐ф灦鐮佷换鏈夋簮搴撲綅锛岃纭");
+            throw new CoolException("褰撳墠璐ф灦鐮佹湁婧愬簱浣嶏紝璇风‘璁�");
         }
         AgvBasDevp agvBasDevp = agvBasDevpService.selectByDevNo(param.getDevNo());
         if (Cools.isEmpty(agvWrkMast)) {
@@ -864,7 +868,7 @@
         // TODO: 鍥涙湡
         List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code", param.getBarcode()));
         String factory = param.getFactory();
-        AgvLocMast newLocMast = agvCommonService.getLocByLocRule(3, 1, factory);
+        AgvLocMast newLocMast = agvCommonService.getLocByLocRule20(3, 1, factory, false);
         if (newLocMast == null) {
             throw new CoolException("鏃犲彲鐢ㄥ簱浣�");
         }
@@ -880,7 +884,7 @@
             if (newLocMast.getLev1() == 1 && !factory.equals(AsrsConstants.SANCHANG)) {
                 agvWrkMast.setCtnNo("1");
             } else if (newLocMast.getLev1() == 2 && !factory.equals(AsrsConstants.ERCHANG)) {
-                agvWrkMast.setCtnNo("1");
+                agvWrkMast.setCtnNo("2");
             }
         }
         if (!agvWrkMastService.update(agvWrkMast, new EntityWrapper<AgvWrkMast>().eq("wrk_no", agvWrkMast.getWrkNo()))) {
@@ -977,7 +981,8 @@
             } else {
                 orderDetl = orderDetls.get(0);
             }
-            orderDetl.setQty(orderDetl.getQty() - agvWrkDetl.getAnfme());
+            double v = orderDetl.getQty() - agvWrkDetl.getAnfme();
+            orderDetl.setQty(v < 0 ? 0 : v);
             if (!orderDetlService.updateById(orderDetl)) {
                 throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + orderDetl.getOrderNo() + orderDetl.getMatnr());
             }

--
Gitblit v1.9.1