From f60476d8753efa5e94a5aab08964c74bd491a618 Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期二, 28 十一月 2023 13:43:34 +0800
Subject: [PATCH] 新建分支 用于AGV新的出库任务下发模式

---
 src/main/java/com/zy/asrs/service/LocDetlService.java                |    2 +
 src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java |   12 +++++-
 src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java       |    6 +++
 src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java       |   26 +++++++++++--
 src/main/resources/application.yml                                   |   20 +++++-----
 5 files changed, 50 insertions(+), 16 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/LocDetlService.java b/src/main/java/com/zy/asrs/service/LocDetlService.java
index 89da6e2..dece3cb 100644
--- a/src/main/java/com/zy/asrs/service/LocDetlService.java
+++ b/src/main/java/com/zy/asrs/service/LocDetlService.java
@@ -75,4 +75,6 @@
 
     LocDetl selectByContainerCode(String containerCode);
 
+    List<LocDetl> selectByLocWithoutContainer(String locNo);
+
 }
diff --git a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
index af9589a..ef94416 100644
--- a/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/LocDetlServiceImpl.java
@@ -244,6 +244,12 @@
     }
 
     @Override
+    public List<LocDetl> selectByLocWithoutContainer(String locNo) {
+        return this.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locNo)
+                .andNew().eq("supp_code", "").or().isNull("supp_code"));
+    }
+
+    @Override
     public int updateStockFreeze(String matnr, String locNo, Integer stockFreeze) {
         return this.baseMapper.updateStockFreeze(matnr, locNo, stockFreeze);
     }
diff --git a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
index 3f08e02..3c85552 100644
--- a/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AutoReplenishmentScheduler.java
@@ -13,7 +13,9 @@
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Set;
 
 @Slf4j
 @Component
@@ -35,8 +37,9 @@
     /*
     瀹氭椂渚垮埄搴撳瓨锛岀敓鎴愯嚜鍔ㄨˉ璐у崟鎹�
      */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0 */1 * * * ? ")
     public void createOrder(){
+        System.out.println(new Date());
         //妫�娴嬫槸鍚︽湁鏈畬鎴愮殑琛ヨ揣鍗曟嵁
         DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�"));
         int count = orderService.selectCount(new EntityWrapper<Order>()
@@ -56,12 +59,27 @@
                 if(Cools.isEmpty(anfmeSum)){
                     anfmeSum = 0.0;
                 }
-                //鏌ヨ褰撳墠鐗╂枡鍥涢」搴撴槸鍚﹀瓨鍦�
+                //褰撳墠鐗╂枡涓嶉渶瑕佽ˉ璐�
+                if(anfmeSum > mat.getStoreMin()){
+                    continue;
+                }
+                //鏌ヨ褰撳墠鐗╂枡鍥涢」搴撴槸鍚﹀瓨鍦�,骞朵笖鎵樼洏涓嶅惈鏈夐潪鏂欑鐗╂枡
                 if(Cools.isEmpty(locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("matnr", mat.getMatnr())))){
                     continue;
                 }
 
-                if(anfmeSum < mat.getStoreMin()){
+                Set<String> locNosSearch = locDetlService.selectLocNos(mat.getMatnr());
+                //鏄惁鍚湁鍙ˉ璐у嚭搴撶殑搴撲綅
+                boolean flag = false;
+                for (String locNo : locNosSearch){
+                    log.info("闇�瑕佹嫞鏂欑殑璐т綅锛�" + locNo +"锛岄渶瑕佽ˉ璐х殑鐗╂枡锛�" + mat.getMatnr());
+                    if(Cools.isEmpty(locDetlService.selectByLocWithoutContainer(locNo))){
+                        flag = true;
+                        continue;
+                    }
+                }
+
+                if(flag){
                     autoReplenishmentHandler.create(mat,mat.getStoreMax() - anfmeSum);
                     break;
                 }
@@ -72,7 +90,7 @@
     /*
     瀹氭椂澶勭悊鑷姩琛ヨ揣鍗曟嵁
      */
-    @Scheduled(cron = "0/5 * * * * ? ")
+    @Scheduled(cron = "0/10 * * * * ? ")
     public void excuteOrder(){
         DocType docType = docTypeService.selectOne(new EntityWrapper<DocType>().eq("doc_name", "鑷姩琛ヨ揣鍗�"));
         List<Order> orderList = orderService.selectList(new EntityWrapper<Order>()
diff --git a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
index 65b4f1a..c946ef9 100644
--- a/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/AutoReplenishmentHandler.java
@@ -165,11 +165,19 @@
                 if(locMast.getLocType1() == 3){
                     return false;
                 }else {
-                    return true;
+                    //涓旀娴嬭搴撲綅鏄惁鍚病鏈夋枡绠辩爜鐨勭墿鏂欙紝濡傛湁鏈夊垯涓嶅厑璁稿嚭搴�
+//                    LocDetl locDetl = locDetlService.selectOne(new EntityWrapper<LocDetl>().eq("loc_no", locNo)
+//                            .andNew().eq("supp_code", "").or().isNull("supp_code"));
+
+                    if(Cools.isEmpty(locDetlService.selectByLocWithoutContainer(locNo))){
+                        return true;
+                    }else {
+                        return false;
+                    }
                 }
             }).collect(Collectors.toSet());
 
-            //閲嶆柊鎺掑簭 骞朵笖妫�娴嬭搴撲綅鏄惁鍚病鏈夋枡绠辩爜鐨勭墿鏂欙紝濡傛湁鏈夊垯涓嶅厑璁稿嚭搴�
+            //閲嶆柊鎺掑簭
             Set<String> resort = resort(locNosSearch);
 
             for(String locNo : resort){
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 74c7ea8..c0ffce8 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