From c37ae85eab15d2c7566677bfb26920c31da879fe Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期五, 24 十一月 2023 12:07:51 +0800
Subject: [PATCH] agv拣货流程更改

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java          |    4 +-
 src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java    |    6 +-
 src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java     |   28 +-------------
 src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java   |    4 +
 src/main/java/com/zy/asrs/task/OrderSyncScheduler.java           |   12 ++++++
 src/main/java/com/zy/asrs/controller/AgvOpenController.java      |   16 ++++++-
 src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java |   10 +++--
 src/main/resources/application.yml                               |   20 +++++-----
 8 files changed, 51 insertions(+), 49 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/AgvOpenController.java b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
index a02a99c..bc92bad 100644
--- a/src/main/java/com/zy/asrs/controller/AgvOpenController.java
+++ b/src/main/java/com/zy/asrs/controller/AgvOpenController.java
@@ -78,7 +78,10 @@
         }
         AgvWrkMast agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("wrk_no", wrkNo));
         if(Cools.isEmpty(agvWrkMast)){
-            return R.error("浠诲姟缂栧彿閿欒");
+            agvWrkMast = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",param.getContainerCode()));
+            if (Cools.isEmpty(agvWrkMast)){
+                return R.error("浠诲姟缂栧彿閿欒");
+            }
         }
 
         AgvTask agvTask = AgvTask.valueOf(param.getEventType());
@@ -115,7 +118,10 @@
         @Transactional
         public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
             //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
-            agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
+            agvWrkMast.setWrkSts(205L);
+            agvWrkMast.setLocNo(param.getLocationCode());
+            agvWrkMastService.updateById(agvWrkMast);
+            //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),205);
 
             //鍑哄簱浠诲姟 101.鍑哄簱 || 103.鎷f枡鍑哄簱 || 107.鐩樼偣鍑哄簱
             if(agvWrkMast.getIoType() == 101 || agvWrkMast.getIoType() == 103 || agvWrkMast.getIoType() == 107){
@@ -200,7 +206,11 @@
         @Transactional
         public void success(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
             //淇敼宸ヤ綔妗g姸鎬佷负204.鏀捐揣瀹屾垚
-            agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+            agvWrkMast.setWrkSts(204L);
+            agvWrkMast.setLocNo(param.getLocationCode());
+            agvWrkMastService.updateById(agvWrkMast);
+            //agvWrkMastService.updateWrkStsByWrkNo(agvWrkMast.getWrkNo(),204);
+
         }
 
         public void fail(AgvWrkMast agvWrkMast, AgvTaskCallBackParam param) {
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 d92368e..27d77a6 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWorkServiceImpl.java
@@ -506,7 +506,9 @@
         if (Cools.isEmpty(wrkMast)){
             throw new CoolException(workNo+"宸ヤ綔妗d笉瀛樺湪");
         }
-
+        if(!wrkMast.getLocNo().contains("@") || !wrkMast.getSourceLocNo().contains("@")){
+            throw new CoolException("鐩爣搴撲綅鎴栬�呮簮搴撲綅鏆傛湭鍒嗛厤锛屾棤娉曞彇娑�");
+        }
         //淇敼AGV宸ヤ綔妗g殑宸ヤ綔鐘舵�佷负205.宸ヤ綔瀹屾垚
         agvWrkMastService.updateWrkStsByWrkNo(wrkMast.getWrkNo(),205);
 
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 dc74a33..964f52f 100644
--- a/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
+++ b/src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -45,9 +45,6 @@
     @Value("${agv.containerArrivedPath}")
     private String containerArrivedPath;
 
-    @Value("${agvBasDev.maxWorkNum}")
-    private int maxWrokNum;
-
     @Autowired
     AgvWrkMastMapper agvWrkMastMapper;
     @Autowired
@@ -182,7 +179,12 @@
             if(agvWrkMast.getSourceLocNo().contains("CS") || agvWrkMast.getSourceLocNo().contains("SK")){
                 agvTaskkDescribeParam.setFromLocationCode(agvWrkMast.getSourceLocNo());
             }
-            agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+
+            if(agvWrkMast.getLocNo().contains("SK")){
+                agvTaskkDescribeParam.setToLocationCode(agvWrkMast.getLocNo());
+            }else {
+                agvTaskkDescribeParam.setToStationCode(agvWrkMast.getLocNo());
+            }
             agvTaskkDescribeParam.setContainerCode(agvWrkMast.getBarcode());
             return agvTaskParam;
         }).collect(Collectors.toList());
diff --git a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
index 5cc5352..7d2b56e 100644
--- a/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -100,39 +100,15 @@
             }
         }
         // 濡傛灉 浣滀笟鏁伴噺绛変簬鍗曟嵁鎬绘暟閲� && 宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹� && AGV宸ヤ綔鏄庣粏妗d腑鏃犺鍗曟嵁鐨勬暟鎹�
+        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
         boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo)) < 1;
         boolean agvWrkDetlExist = agvWrkDetlService.selectCount(new EntityWrapper<AgvWrkDetl>().eq("order_no",orderNo)) < 1;
         boolean waitPakinExist = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",orderNo)) < 1;
 
         ManPakOut manPakOut = manPakOutService.selectByOrderWithName(orderNo);
 
-        boolean manPakoutExist = Cools.isEmpty(manPakOut) || manPakOut.getPayment() == 1;
+        boolean manPakoutExist = Cools.isEmpty(manPakOut) ||  (manPakOut.getPayment() != null && manPakOut.getPayment() == 1);
         if (complete && wrkDeltExist && agvWrkDetlExist && waitPakinExist && manPakoutExist) {
-
-            // 鍑哄簱璁㈠崟閲嶆柊鏁寸悊鏄庣粏
-//            DocType docType = docTypeService.selectById(order.getDocType());
-//            if (null != docType && docType.getPakout() == 1) {
-//                // 閲嶇粍鏄庣粏
-//                if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) {
-//                    throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-//                }
-//                List<WrkDetl> wrkDetls = wrkDetlService.selectAndLogByOrderNo(orderNo);
-//                for (WrkDetl wrkDetl : wrkDetls) {
-//                    OrderDetl orderDetl = new OrderDetl();
-//                    orderDetl.sync(wrkDetl);
-//                    orderDetl.setQty(orderDetl.getAnfme());
-//                    orderDetl.setOrderId(order.getId());
-//                    orderDetl.setOrderNo(orderNo);
-//                    orderDetl.setStatus(1);
-//                    orderDetl.setCreateTime(order.getCreateTime());
-//                    orderDetl.setCreateBy(order.getCreateBy());
-//                    orderDetl.setUpdateTime(order.getUpdateTime());
-//                    orderDetl.setUpdateBy(order.getUpdateBy());
-//                    if (!orderDetlService.insert(orderDetl)) {
-//                        throw new CoolException("閲嶆暣鍑哄簱璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戞槑缁嗗け璐�");
-//                    }
-//                }
-//            }
             if (!this.updateSettle(order.getId(), 4L, null)) {
                 throw new CoolException("淇敼璁㈠崟銆恛rderNo = " + order.getOrderNo() + "銆戠姸鎬佷负宸插畬鎴愬け璐�");
             }
diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index 3bfcbea..efcdff9 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -103,7 +103,7 @@
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50)
                 ,new EntityWrapper<AgvWrkMast>()
                         .eq("wrk_sts", 21)
-                        .like("loc_no","@")
+                        //.like("loc_no","@")
                         .andNew().eq("io_type", 101)
                         .or().eq("io_type", 103)
                         .or().eq("io_type", 11)
@@ -122,7 +122,7 @@
     /*
     瀹氭椂澶勭悊绛夊緟鎵ц鐨勪换鍔� 宸ヤ綔鐘舵�佷负21.鐢熸垚鍑哄簱浠诲姟 涓旂洰鏍囧簱浣嶄腑涓嶅惈@瀛楃
      */
-    @Scheduled(cron = "0/10 * * * * ? ")
+    //@Scheduled(cron = "0/10 * * * * ? ")
     public void dealWatiWrk(){
         List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectReadyAgvWrkMast();
         if(!Cools.isEmpty(agvWrkMastList)){
diff --git a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
index 1619b74..84bfaa1 100644
--- a/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
+++ b/src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -1,5 +1,6 @@
 package com.zy.asrs.task;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.common.Cools;
 import com.zy.asrs.entity.Order;
 import com.zy.asrs.service.ApiLogService;
@@ -53,4 +54,15 @@
         }
     }
 
+    /*
+    瀹氭椂鏌ヨ鐘舵�佷负2.浣滀笟涓殑鍗曟嵁锛屾鏌ユ槸鍚﹀畬鎴�
+     */
+    @Scheduled(cron = "0 */1 * * * ? ")
+    public void completeOrder(){
+        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
+        orderList.forEach(order -> {
+            orderService.checkComplete(order.getOrderNo());
+        });
+    }
+
 }
diff --git a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
index 7ea6bfb..8d5d43a 100644
--- a/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -182,11 +182,11 @@
 
     @Transactional
     public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException {
-        log.info(agvWrkMastList.toString());
+        //log.info(agvWrkMastList.toString());
         //浠诲姟杩囨护锛岃繃婊ゆ帀宸插瓨鍦ㄧ浉鍚岀洰鏍囧簱浣嶇殑宸ヤ綔妗�
-        agvWrkMastList = filter(agvWrkMastList);
+        //agvWrkMastList = filter(agvWrkMastList);
         int code = agvWrkMastService.startWrk(agvWrkMastList,"carry");
-        log.info(agvWrkMastList.toString());
+        //log.info(agvWrkMastList.toString());
         if (Cools.isEmpty(agvWrkMastList)){
             return SUCCESS;
         }
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index c0ffce8..74c7ea8 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -73,16 +73,16 @@
     password: Wlzh44338
 
 agv:
-  url: localhost:8080
-  taskCreatePath: /agv/task/create
-  containerMoveInPath: /agv/container/moveIn
-  containerMoveOutPath: /agv/container/moveOut
-  containerArrivedPath: /agv/containerArrived
-#  url: 10.10.10.182:9046
-#  taskCreatePath: /task/create
-#  containerMoveInPath: /expand/api/moveIn/container
-#  containerMoveOutPath: /expand/api/moveOut/container
-#  containerArrivedPath: /conveyor/containerArrived
+#  url: localhost:8080
+#  taskCreatePath: /agv/task/create
+#  containerMoveInPath: /agv/container/moveIn
+#  containerMoveOutPath: /agv/container/moveOut
+#  containerArrivedPath: /agv/containerArrived
+  url: 10.10.10.182:9046
+  taskCreatePath: /task/create
+  containerMoveInPath: /expand/api/moveIn/container
+  containerMoveOutPath: /expand/api/moveOut/container
+  containerArrivedPath: /conveyor/containerArrived
 
 u8:
   url: http://192.168.1.55:8010

--
Gitblit v1.9.1