From e84b6c48322a84e1e1404a39f6bab8568a4cdd09 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期二, 03 九月 2024 13:19:52 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/controller/OrderController.java        |   62 ++++++++++++++++++++
 src/main/java/com/zy/asrs/controller/AgvMobileController.java    |    1 
 src/main/java/com/zy/asrs/service/impl/AgvMobileServiceImpl.java |   52 ++++++++++++++---
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |    6 +
 4 files changed, 109 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvMobileController.java b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
index 48b40e8..4fcccae 100644
--- a/src/main/java/com/zy/asrs/controller/AgvMobileController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvMobileController.java
@@ -697,6 +697,7 @@
         return R.ok();
     }
 
+
     public static void main(String[] args) {
         List<AgvLocDetl> agvLocDetls1 = new ArrayList<>();
         List<AgvLocDetl> agvLocDetls2 = new ArrayList<>();
diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java
index 10de0f4..a19d45a 100644
--- a/src/main/java/com/zy/asrs/controller/OrderController.java
+++ b/src/main/java/com/zy/asrs/controller/OrderController.java
@@ -8,11 +8,13 @@
 import com.core.common.*;
 import com.core.exception.CoolException;
 import com.zy.asrs.entity.*;
+import com.zy.asrs.entity.param.AgvMobileStartPakin;
 import com.zy.asrs.entity.param.OrderDomainParam;
 import com.zy.asrs.entity.result.WrkTraceVo;
 import com.zy.asrs.service.*;
 import com.zy.common.model.DetlDto;
 import com.zy.common.web.BaseController;
+import lombok.Synchronized;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.apache.poi.ss.usermodel.DataFormatter;
@@ -54,6 +56,26 @@
     private MatService matService;
     @Autowired
     private AgvLocDetlService agvLocDetlService;
+
+    @GetMapping("/doc/type/list")
+    @Transactional
+    @ManagerAuth(memo = "鍗曟嵁绫诲瀷")
+    @Synchronized
+    public R docTypeList(){
+        List<DocType> result = new ArrayList<>();
+        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
+        List<Long> unDocIds = new ArrayList<>();
+        unDocIds.add(19L);
+        unDocIds.add(30L);
+        unDocIds.add(32L);
+        unDocIds.add(36L);
+        for (DocType pakin : pakins) {
+            if (!unDocIds.contains(pakin.getDocId())) {
+                result.add(pakin);
+            }
+        }
+        return R.ok().add(result);
+    }
 
     @RequestMapping(value = "/order/nav/list/auth")
     @ManagerAuth
@@ -166,6 +188,46 @@
 //        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
     }
 
+    @RequestMapping(value = "/order/detls/pakin")
+    @ManagerAuth
+    public R orderDetlsIn(@RequestParam(defaultValue = "1")Integer curr,
+                        @RequestParam(defaultValue = "100")Integer limit,
+                        @RequestParam(required = false)String orderByField,
+                        @RequestParam(required = false)String orderByType,
+                        @RequestParam(required = false)Long docType,
+                        @RequestParam Map<String, Object> param){
+        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
+        param.remove("docType");
+        excludeTrash(param);
+        convert(param, wrapper);
+//        return R.ok(orderDetlService.getPakoutPage(toPage(curr, limit, param, OrderDetl.class)));
+        List<DocType> pakins = docTypeService.selectList(new EntityWrapper<DocType>().eq("pakin", 1));
+        List<Long> docIds = new ArrayList<>();
+        List<Long> unDocIds = new ArrayList<>();
+        unDocIds.add(19L);
+        unDocIds.add(30L);
+        unDocIds.add(32L);
+        unDocIds.add(36L);
+        for (DocType pakin : pakins) {
+            if (!unDocIds.contains(pakin.getDocId())) {
+                docIds.add(pakin.getDocId());
+            }
+        }
+
+        if (docIds.size() > 0) {
+            if (docType > 0) {
+                wrapper.in("source",docType);
+            } else {
+                wrapper.in("source",docIds);
+            }
+
+        } else {
+            wrapper.in("source",0);
+        }
+
+        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
+    }
+
     @RequestMapping(value = "/order/wait/detls/pakin/page/auth")
     @ManagerAuth
     public R waitOrderDetls(@RequestParam(defaultValue = "1")Integer curr,
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 6c1417e..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,false);
+        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("褰撳墠妤煎眰娌℃湁绌哄簱浣�");
         }
@@ -480,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()));
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 36c7eb6..8959640 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -842,9 +842,11 @@
                 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妤肩殑 鍥炴粴璋冩嫧鍗�
-                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1) {
+                if (wrkMast.getIoType() == 12 && locMast.getFloor() == 1 && sourceLocMast.getFloor() != 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("order_no", "DB" + agvLocDetl.getOrderNo()));
@@ -932,7 +934,7 @@
 
             }
 
-            if(wrkMast.getIoType() != 1 && wrkMast.getIoType() != 10 && wrkMast.getIoType()!=111 && wrkMast.getIoType()!=108 && wrkMast.getIoType() != 12){
+            if(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()));

--
Gitblit v1.9.1