From d84ed060312f3e7fd5f53dd47d3a1729706a880b Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 04 十一月 2024 16:52:50 +0800
Subject: [PATCH] #优化

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java          |    3 +
 src/main/java/com/zy/asrs/controller/OrderController.java        |    2 
 src/main/java/com/zy/asrs/controller/AgvMobileController.java    |   13 +++++-
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   48 ++++++++++++-----------
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |   35 ++++++++++++++---
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |    1 
 src/main/java/com/zy/asrs/controller/OrderDetlController.java    |    4 +-
 7 files changed, 70 insertions(+), 36 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 34ec03d..1b80143 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -631,6 +631,7 @@
         Date now = new Date();
         List<HashMap<String,String>> dbList = (List<HashMap<String, String>>) params.get("dbList");
         params.get("dbList");
+        String orderNo = params.get("orderNo").toString();
         for (HashMap<String, String> map : dbList) {
             String locNo = map.get("locNo");
             String barcode = map.get("suppCode");
@@ -661,11 +662,19 @@
                 // 鏇存柊璁㈠崟
                 // 鍏堟煡璇㈠簱璁㈠崟鏄庣粏 鎵�灞炵殑璁㈠崟
 
-                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+                OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
                 orderDetl.setQty(orderDetl.getQty() + agvLocDetl.getAnfme());
-                if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("source",36).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
+                if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no",orderNo).eq("source",17).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
                     throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
                 }
+                // 鏇存柊璁㈠崟鐘舵��
+                Order order = orderService.selectByNo(orderNo);
+                Long settle = order.getSettle();
+                if (settle == 1L) {
+                    if (!orderService.updateSettle(order.getId(),2L,getUserId())) {
+                        throw new CoolException("璁㈠崟鍙凤細{"+order.getOrderNo()+"}鏇存柊璁㈠崟鐘舵�侊細1-->2 澶辫触锛�(鍗婃垚鍝佽皟鎷ㄥ崟浠诲姟)" );
+                    }
+                }
             }
             // 鏇存柊婧愬簱浣�
             AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 0d7cb2b..f60743d 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -337,7 +337,7 @@
         List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
         List<Long> docIds = new ArrayList<>();
         for (DocType pakin : pakins) {
-            if (pakin.getDocId() == 36) {
+            if (pakin.getDocId() == 17) {
                 docIds.add(pakin.getDocId());
             }
         }
diff --git a/src/main/java/com/zy/asrs/controller/OrderDetlController.java b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
index 349450e..83caf0b 100644
--- a/src/main/java/com/zy/asrs/controller/OrderDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderDetlController.java
@@ -169,11 +169,11 @@
         List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakout", 1));
         List<Long> docIds = new ArrayList<>();
         for (DocType pakin : pakins) {
-            if (pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) {
+            if (pakin.getDocId() != 17 && pakin.getDocId() != 33 && pakin.getDocId() != 34 && pakin.getDocId() != 35) {
                 docIds.add(pakin.getDocId());
             }
         }
-        wrapper.ne("source",19);
+        wrapper.in("source",docIds);
         Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(curr, limit), wrapper);
         for (OrderDetl record : page.getRecords()) {
             Double sumAnfme = agvLocDetlService.getSumAnfme(record.getMatnr(), record.getThreeCode());
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 03b6140..3d635a7 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java
@@ -422,6 +422,8 @@
             if (agvLocMast.getFloor() != floor) {
                 if (agvLocMast.getFloor() == 1 && (floor == 2 || floor == 3)) {
                     throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍗曡皟鎷紒");
+                } else if  ((agvLocMast.getFloor() == 2 || agvLocMast.getFloor() == 3) && (floor == 1 || floor == 4)) {
+                    throw new CoolException("褰撳墠搴撲綅璇烽�夋嫨璋冩嫧鍥炴祦鍗曞洖閫�锛�");
                 } else {
                     ioType = 12;
                 }
@@ -512,29 +514,29 @@
             });
         }
 
-        // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗�
-        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("source", 33));
-                if (Cools.isEmpty(orderDetl)) {
-                    throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒");
-                }
-                Order order = orderService.selectByNo(orderDetl.getOrderNo());
-                if (Cools.isEmpty(order)) {
-                    throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒");
-                }
-                if (order.getSettle() == 4L) {
-                    if (!orderService.updateSettle(order.getId(),2L,userId)) {
-                        throw new CoolException("璋冩嫧鍗曞洖婊氬紓甯�!");
-                    }
-                }
-                orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
-                if (!orderDetlService.updateById(orderDetl)) {
-                    throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
-                }
-            }
-        }
+//        // 濡傛灉褰撳墠浠诲姟鏄澹充簩涓夋ゼ鍥為��涓�妤肩殑 鍥炴粴璋冩嫧鍗�
+//        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("source", 33));
+//                if (Cools.isEmpty(orderDetl)) {
+//                    throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒");
+//                }
+//                Order order = orderService.selectByNo(orderDetl.getOrderNo());
+//                if (Cools.isEmpty(order)) {
+//                    throw new CoolException("褰撳墠鐗╂枡鐨勮皟鎷ㄥ崟涓嶅瓨鍦紒");
+//                }
+//                if (order.getSettle() == 4L) {
+//                    if (!orderService.updateSettle(order.getId(),2L,userId)) {
+//                        throw new CoolException("璋冩嫧鍗曞洖婊氬紓甯�!");
+//                    }
+//                }
+//                orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+//                if (!orderDetlService.updateById(orderDetl)) {
+//                    throw new CoolException("淇濆瓨宸ヤ綔鏄庣粏澶辫触");
+//                }
+//            }
+//        }
         //鏇存柊鐩爣搴撲綅鐘舵��
         updateAgvLocMast(agvLocMast,"P");
         updateAgvLocMast(locMast,"Q");
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 f40d65e..02adbc8 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -1008,15 +1008,15 @@
                 String locNo = wrkMast.getSourceLocNo();
                 // 鐩爣搴撲綅
                 String targetLocNo = wrkMast.getLocNo();
-                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo),"",(short)0);
+                agvLocMastService.updateLocStsByLocNo(locNo, "F", wrkMast.getBarcode(), (short) getContainerTypeByloc(locNo), "", (short) 0);
                 if (wrkMast.getIoType() == 108) {
                     if (wrkMast.getWrkSts() != 22) {
-                        agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                        agvLocMastService.updateLocStsByLocNo(targetLocNo, "O", "", null);
                     }
                 } else {
                     if (wrkMast.getWrkSts() != 207L && wrkMast.getWrkSts() != 205L) {
                         if (wrkMast.getWrkSts() != 22) {
-                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo,"O","",wrkMast.getWhsType().shortValue());
+                            agvBasDevpService.updateLocStsAndBarcodeByDevNo(targetLocNo, "O", "", wrkMast.getWhsType().shortValue());
                         }
                     } else {
                         throw new CoolException("褰撳墠浣滀笟涓嶈兘鍙栨秷锛�");
@@ -1028,10 +1028,10 @@
                 List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
                 // 鏇存柊璁㈠崟
                 for (AgvLocDetl agvLocDetl : agvLocDetls) {
-                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()));
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()));
                     orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
-                    if (!orderDetlService.update(orderDetl,new EntityWrapper<OrderDetl>().eq("order_no","DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code",agvLocDetl.getThreeCode()))){
-                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�"+agvLocDetl.getOrderNo()+agvLocDetl.getMatnr());
+                    if (!orderDetlService.update(orderDetl, new EntityWrapper<OrderDetl>().eq("order_no", "DB" + agvLocDetl.getOrderNo()).eq("matnr", agvLocDetl.getMatnr()).eq("three_code", agvLocDetl.getThreeCode()))) {
+                        throw new CoolException("淇敼璁㈠崟鏄庣粏澶辫触锛岃鑱旂郴绠$悊鍛�" + agvLocDetl.getOrderNo() + agvLocDetl.getMatnr());
                     }
 //                    FlowLog flowLog = new FlowLog();
 //                    flowLog.setFid(String.valueOf(flowId));
@@ -1060,6 +1060,27 @@
 //                    if (!flowLogService.insert(flowLog)) {
 //                        throw new CoolException("鍚屾鍗婃垚鍝佽皟鎷ㄥ崟娴佹按璁板綍澶辫触");
 //                    }
+                }
+
+                // 鍥炴祦鍗曞彇娑�
+            } else if (wrkMast.getIoType() == 114) {
+                //婧愬簱浣�
+                String locNo = wrkMast.getSourceLocNo();
+                // 鐩爣搴撲綅
+                String targetLocNo = wrkMast.getLocNo();
+                agvLocMastService.updateLocStsByLocNo(locNo,"F",wrkMast.getBarcode(),(short)getContainerTypeByloc(locNo));
+                agvLocMastService.updateLocStsByLocNo(targetLocNo,"O","",null);
+                // 婧愬簱浣� 搴撲綅涓绘。
+                AgvLocMast sourceLocMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
+                AgvLocMast locMast = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", targetLocNo));
+                // 褰撳墠浠诲姟鏄法灞傜Щ搴�  涓旂洰鏍囨ゼ灞傛槸1妤肩殑 鍥炴粴璋冩嫧鍗�
+                List<AgvLocDetl> agvLocDetls = agvLocDetlService.selectList(new EntityWrapper<AgvLocDetl>().eq("loc_no", locNo));
+                for (AgvLocDetl agvLocDetl : agvLocDetls) {
+                    OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("three_code", agvLocDetl.getThreeCode()).eq("matnr", agvLocDetl.getMatnr()).eq("source", 17));
+                    orderDetl.setQty(orderDetl.getQty() - agvLocDetl.getAnfme());
+                    if (!orderDetlService.updateById(orderDetl)) {
+                        throw new CoolException("鏇存柊璁㈠崟鏄庣粏澶辫触");
+                    }
                 }
                 //鍑哄簱鍙栨秷
             } else {
@@ -1104,7 +1125,7 @@
 
             }
 
-            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
+            if(wrkMast.getIoType() != 114 && wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12 && wrkMast.getIoType() != 11){
                 //璁㈠崟鍥炴粴
                 //List<AgvWrkDetl> agvWrkDetlList = agvWrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
                 List<AgvWrkDetl> agvWrkDetlList1 = agvWrkDetlService.selectList(new EntityWrapper<AgvWrkDetl>().eq("wrk_no", wrkMast.getWrkNo()));
diff --git a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
index ddfc242..7c0f98f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -225,6 +225,7 @@
         }
         agvTaskCreateParam.setTaskCode(agvWrkMast.getWrkNo().toString());
         switch (agvWrkMast.getIoType()) {
+            case 114:
             case 108:
             case 12:
                 agvTaskCreateParam.setTaskTyp("F06");
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index a7dcc13..5e9d85a 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -135,7 +135,8 @@
                 .or().eq("io_type", 108)
                 .or().eq("io_type", 111)
                 .or().eq("io_type", 112)
-                .or().eq("io_type", 113)).getRecords();
+                .or().eq("io_type", 113)
+                .or().eq("io_type", 114)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
             agvWrkMastList.forEach(agvWrkMast -> {

--
Gitblit v1.9.1