From 41326b3129ae3e4ef7a45bc16dba64dc9dd27404 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期三, 04 九月 2024 09:58:14 +0800
Subject: [PATCH] Merge branch 'phyzasrs' of http://47.97.1.152:5880/r/zy-asrs into phyzasrs-erp

---
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   61 +++++++++++++++++++++++++-----
 1 files changed, 50 insertions(+), 11 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 f31eea5..c8b1273 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -388,6 +388,20 @@
     public String handControlLocMove(LocMoveParam param, Long userId) {
         String fl = String.valueOf(param.getFloor());
         short floor =(short)Integer.parseInt(fl.substring(0, 1));
+        switch (param.getFloor()) {
+            case "1F01":
+                floor = 1;
+                break;
+            case "1F02":
+                floor = 4;
+                break;
+            case "2F":
+                floor = 2;
+                break;
+            case "3F":
+                floor = 3;
+                break;
+        }
         Integer ioType = 0;
         AgvLocMast agvLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", param.getLocNo()));
         if (Cools.isEmpty(agvLocMast)) {
@@ -405,17 +419,21 @@
             }
         } else {
             if (agvLocMast.getFloor() != floor) {
-//                if (floor==1 && agvLocMast.getFloor()!=1){
-//                    ioType = 121;
-//                }else {
-                    if (agvLocMast.getFloor() == 1) {
-                        throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
+                if (agvLocMast.getFloor() == 1 && (floor == 2 || floor == 3)) {
+                    throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
+                } else {
+                    ioType = 12;
+                }
+            } else {
+                if (agvLocMast.getFloor() == 1) {
+                    if (agvLocMast.getLev1() == 1 && floor == 1) {
+                        ioType = 11;
                     } else {
                         ioType = 12;
                     }
-//                }
-            } else {
-                ioType = 11;
+                } else {
+                    ioType = 11;
+                }
             }
         }
         Date now = new Date();
@@ -425,7 +443,21 @@
             throw new CoolException("褰撳墠"+agvLocMast.getBarcode()+"璐ф灦鐮佸凡鍦ㄥ伐浣滄。涓�");
         }
         //妫�绱㈠簱浣嶏紝閫夋嫨鍚堥�傜殑搴撲綅
-        AgvLocMast locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,true);
+        AgvLocMast locMast = null;
+        if (floor == 1) {
+            locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,true,false);
+        } else {
+            locMast = agvCommonService.getLocNo(agvLocMast.getLocType1(),floor,false,false);
+        }
+
+        // 鐩爣妤煎眰鍘� 鍚稿2妤�
+        if (floor == 4) {
+            if (locMast.getLev1() == 1) {
+                throw new CoolException("鍚稿涓�妤兼病鏈夌┖搴撲綅鍙互绉诲簱锛�");
+            }
+
+        }
+
         if (Cools.isEmpty(locMast)) {
             throw new CoolException("褰撳墠妤煎眰娌℃湁绌哄簱浣�");
         }
@@ -455,6 +487,7 @@
         mast.setAppeTime(now);
         mast.setModiUser(userId);
         mast.setModiTime(now);
+        mast.setLogErrMemo("handControlLocMove");
         if (!agvWrkMastService.insertByIncrease(mast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }
@@ -479,7 +512,7 @@
         }
 
         // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗�
-        if (ioType == 12 && locMast.getFloor() == 1) {
+        if (ioType == 12 && locMast.getFloor() == 1 && floor != 4 && agvLocMast.getFloor() != 1) {
             List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", agvLocMast.getLocNo()));
             for (AgvLocDetl agvLocDetl : agvLocDetls) {
                 OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("order_no", "DB" + agvLocDetl.getOrderNo()));
@@ -700,6 +733,12 @@
 
         List<AgvWrkDetl> agvWrkDetls = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("supp_code",param.getBarcode()));
         agvWrkDetls.forEach(agvWrkDetl -> {
+            for (AgvWrkDetl wrkDetl : param.getWrkDetls()) {
+                if (wrkDetl.getMatnr().equals(agvWrkDetl.getMatnr()) && wrkDetl.getThreeCode().equals(agvWrkDetl.getThreeCode())) {
+                    agvWrkDetl.setAnfme(wrkDetl.getAnfme());
+                    break;
+                }
+            }
             agvWrkDetl.setProcessSts(2);
             agvWrkDetl.setOrderNo(agvWrkDetl.getOrderNo().substring(2));
             agvWrkDetl.setModiUser(userId);
@@ -809,7 +848,7 @@
         wrkMast.setAppeTime(now);
         wrkMast.setModiUser(userId);
         wrkMast.setModiTime(now);
-
+        wrkMast.setLogErrMemo("doBack");
         if (!agvWrkMastService.insertByIncrease(wrkMast)) {
             throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
         }

--
Gitblit v1.9.1