From 775d4714ca9e650631659d7467f5c43dc021f931 Mon Sep 17 00:00:00 2001
From: 18516761980 <56479841@qq.com>
Date: 星期四, 16 六月 2022 17:16:20 +0800
Subject: [PATCH] Merge branch 'master' of https://gitee.com/luxiaotao1123/zy-asrs into hylyasrs

---
 src/main/java/com/zy/asrs/task/CheckDeepScheduler.java |   99 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 81 insertions(+), 18 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
index 6050b5d..f68eafb 100644
--- a/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
+++ b/src/main/java/com/zy/asrs/task/CheckDeepScheduler.java
@@ -28,10 +28,8 @@
 
     @Value("${wcs-slave.doubleDeep}")
     private boolean confirmDeep;
-    @Value("${wcs-slave.doubleLocs}")
-    private String deepLocs;
-    @Value("${wcs-slave.shallowLocs}")
-    private String shallowLocs;
+    @Value("${scheduler.autoMove}")
+    private boolean autoMove;
     @Autowired
     private LocDetlService locDetlService;
     @Autowired
@@ -49,6 +47,7 @@
     @Scheduled(cron = "0/30 * * * * ?")
     private void locMoveToDeep(){
         if (!confirmDeep) return;
+        if (!autoMove) return;
 
         List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>()
                 .eq("crn_no",1)
@@ -56,26 +55,90 @@
         );
         if (wrkMasts.size() > 0) return;
 
+        //閬嶅巻搴撳瓨涓紝娴呭簱浣嶇姸鎬丗/D锛屾繁搴撲綅鐘舵�丱鐨勬暟鎹紝鐢熸垚搴撲綅绉昏浆宸ヤ綔妗e皢娴呭簱浣嶇Щ杞埌瀵瑰簲娣卞簱浣嶄腑鍘�
         List<LocMast> locMasts = locMastService.queryShallowLocFMast();
+        if (null != locMasts) {
+            for (LocMast sourceLoc : locMasts) {
+                String deep = Utils.getDeepLoc(slaveProperties, sourceLoc.getLocNo());
+                LocMast destLoc = locMastService.selectById(deep);
 
-        if (null == locMasts) return;
-
-        for (LocMast sourceLoc : locMasts){
-            String deep = Utils.getDeepLoc(slaveProperties, sourceLoc.getLocNo());
-            LocMast destLoc = locMastService.selectById(deep);
-            
-            if(!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
-                //鏌ユ壘婧愬簱浣嶆槸鍚︽湁杞Щ浠诲姟,濡傛灉鏈�,涓嶇敓鎴愬簱浣嶇Щ杞�
-                WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
-                        .eq("source_loc_no", sourceLoc.getLocNo()));
-                if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
-                        (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
-                    workService.locMove(sourceLoc.getLocNo(), deep, 1L);
-                    break;
+                if (!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
+                    //鏌ユ壘婧愬簱浣嶆槸鍚︽湁杞Щ浠诲姟,濡傛灉鏈�,涓嶇敓鎴愬簱浣嶇Щ杞�
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                            .eq("source_loc_no", sourceLoc.getLocNo()));
+                    if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
+                            (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
+                        workService.locMove(sourceLoc.getLocNo(), deep, 1L);
+                        return;
+                    }
                 }
             }
         }
 
+        //閬嶅巻搴撳瓨涓紝娴呭簱浣嶇姸鎬丗锛屾繁搴撲綅鐘舵�丏鐨勬暟鎹紝鐢熸垚搴撲綅绉昏浆宸ヤ綔妗e皢娴呭簱浣嶇Щ杞埌鏂扮殑搴撲綅涓幓
+        List<LocMast> locMasts1 = locMastService.queryNeedMoveShallLocF();
+        if (null != locMasts1) {
+            for (LocMast sourceLoc : locMasts1) {
+                LocMast destLoc = locMastService.queryEmptyDeepLoc();
+
+                if (!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
+                    //鏌ユ壘婧愬簱浣嶆槸鍚︽湁杞Щ浠诲姟,濡傛灉鏈�,涓嶇敓鎴愬簱浣嶇Щ杞�
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                            .eq("source_loc_no", sourceLoc.getLocNo()));
+                    if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
+                            (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
+                        workService.locMove(sourceLoc.getLocNo(), destLoc.getLocNo(), 1L);
+                        return;
+                    }
+                }
+            }
+        }
+
+        //閬嶅巻搴撳瓨涓紝娴呭簱浣嶇姸鎬丗锛屾繁搴撲綅鐘舵�丏鐨勬暟鎹紝鐢熸垚搴撲綅绉昏浆宸ヤ綔妗e皢娴呭簱浣嶇Щ杞埌鏂扮殑搴撲綅涓幓
+        List<LocMast> locMasts2 = locMastService.queryNeedMoveShallLocD();
+        if (null != locMasts2) {
+            for (LocMast sourceLoc : locMasts2) {
+                LocMast destLoc = locMastService.queryEmptyDeepLoc();
+
+                if (!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
+                    //鏌ユ壘婧愬簱浣嶆槸鍚︽湁杞Щ浠诲姟,濡傛灉鏈�,涓嶇敓鎴愬簱浣嶇Щ杞�
+                    WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                            .eq("source_loc_no", sourceLoc.getLocNo()));
+                    if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
+                            (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
+                        workService.locMove(sourceLoc.getLocNo(), destLoc.getLocNo(), 1L);
+                        return;
+                    }
+                }
+            }
+        }
+
+        //閬嶅巻搴撳瓨涓紝娣卞簱浣嶇姸鎬丏锛屾祬搴撲綅鐘舵�佷负O鐨勬繁搴撲綅鏁版嵁锛岀敓鎴愬簱浣嶇Щ杞伐浣滄。灏嗕袱涓狣搴撲綅鍚堝苟涓烘繁娴呭簱浣�
+        List<LocMast> locMasts3 = locMastService.queryDeepLocDMast();
+        if (null != locMasts3) {
+            for (LocMast sourceLoc : locMasts3) {
+                List<LocMast> locMasts4 = locMastService.queryDeepLocDMast();
+                for (LocMast deepLoc : locMasts4){
+                    if(sourceLoc.getLocNo().equals(deepLoc.getLocNo())){
+                        continue;
+                    }
+                    String shallow = Utils.getShallowLoc(slaveProperties, deepLoc.getLocNo());
+                    LocMast destLoc = locMastService.selectById(shallow);
+                    if (!Cools.isEmpty(sourceLoc) && !Cools.isEmpty(destLoc)) {
+                        //鏌ユ壘婧愬簱浣嶆槸鍚︽湁杞Щ浠诲姟,濡傛灉鏈�,涓嶇敓鎴愬簱浣嶇Щ杞�
+                        WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>()
+                                .eq("source_loc_no", sourceLoc.getLocNo()));
+                        if (Cools.isEmpty(wrkMast) && destLoc.getLocSts().equals("O") &&
+                                (sourceLoc.getLocSts().equals("F") || sourceLoc.getLocSts().equals("D"))) {
+                            workService.locMove(sourceLoc.getLocNo(), destLoc.getLocNo(), 1L);
+                            return;
+                        }
+                    }
+                }
+
+            }
+        }
+
     }
 
     /**

--
Gitblit v1.9.1