From e0fbb31fcf45f56b7b57c741a6b11f03cf205512 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期一, 12 五月 2025 15:16:51 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java |  107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 107 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
index f6068c0..a374e5f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -5,10 +5,13 @@
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.core.exception.CoolException;
 import com.zy.asrs.domain.enums.TaskStatusType;
+import com.zy.asrs.domain.enums.WorkNoType;
 import com.zy.asrs.entity.*;
 import com.zy.asrs.entity.param.GenerateAgvTaskParam;
 import com.zy.asrs.mapper.*;
 import com.zy.asrs.service.*;
+import com.zy.asrs.utils.Utils;
+import com.zy.common.service.CommonService;
 import com.zy.common.utils.HttpHandler;
 import com.zy.core.DevpThread;
 import com.zy.core.cache.MessageQueue;
@@ -60,6 +63,8 @@
     private ApiLogService apiLogService;
     @Autowired
     private OpenService openService;
+    @Autowired
+    private CommonService commonService;
     @Value("${wcs.urlWcs}")
     private String wcsUrl;
     @Value("${wcs.inboundTaskApplyPathWcs}")
@@ -148,12 +153,114 @@
 
     //婕旂ず妯″紡-鍥涘悜搴撳嚭搴�
     private synchronized void demoShuttleOut() {
+        LocMast locMast = locMastService.selectByLocNo("0900601");
+        if(locMast == null) {
+            return;
+        }
 
+        if (!locMast.getLocSts().equals("O")) {
+            return;
+        }
+
+        ArrayList<Integer> disableLevList = new ArrayList<>();
+
+        //query in task
+        List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+                .eq("io_type", 1));
+        for (TaskWrk taskWrk : taskWrks) {
+            int lev = Utils.getLev(taskWrk.getTargetPoint());
+            if(!disableLevList.contains(lev)) {
+                disableLevList.add(lev);
+            }
+        }
+
+        List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                .notIn("lev1", disableLevList)
+                .eq("loc_sts", "F")
+        );
+
+        if(locMasts.isEmpty()) {
+            return;
+        }
+
+        LocMast locMast1 = locMasts.get(0);
+
+        Date now = new Date();
+        TaskWrk taskWrk = new TaskWrk();
+        int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+        taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙�
+        taskWrk.setWrkNo(workNo1);
+        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+        taskWrk.setCreateTime(now);
+        taskWrk.setIoType(1);//鍏ュ簱
+        taskWrk.setIoPri(100);//浼樺厛绾�
+        taskWrk.setOriginTargetPoint(locMast1.getLocNo());
+        taskWrk.setTargetPoint("1");//缁堢偣
+        boolean result = taskWrkService.insert(taskWrk);
+
+        locMast1.setLocSts("R");
+        locMast1.setModiTime(now);
+        locMastService.updateById(locMast1);
+
+        locMast.setLocSts("S");
+        locMast.setModiTime(now);
+        locMastService.updateById(locMast);
     }
 
     //婕旂ず妯″紡-鍥涘悜搴撳叆搴�
     private synchronized void demoShuttleIn() {
+        LocMast locMast = locMastService.selectByLocNo("1100601");
+        if(locMast == null) {
+            return;
+        }
 
+        if (!locMast.getLocSts().equals("F")) {
+            return;
+        }
+
+        ArrayList<Integer> disableLevList = new ArrayList<>();
+
+        //query out task
+        List<TaskWrk> taskWrks = taskWrkService.selectList(new EntityWrapper<TaskWrk>()
+                .eq("io_type", 2));
+        for (TaskWrk taskWrk : taskWrks) {
+            int lev = Utils.getLev(taskWrk.getTargetPoint());
+            if(!disableLevList.contains(lev)) {
+                disableLevList.add(lev);
+            }
+        }
+
+        List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>()
+                .notIn("lev1", disableLevList)
+                .eq("loc_sts", "O")
+        );
+
+        if(locMasts.isEmpty()) {
+            return;
+        }
+
+        LocMast locMast1 = locMasts.get(0);
+
+        Date now = new Date();
+        TaskWrk taskWrk = new TaskWrk();
+        int workNo1 = commonService.getWorkNo(WorkNoType.PAKOUT.type);//鑾峰彇鍏ュ簱宸ヤ綔鍙�
+        taskWrk.setTaskNo(String.valueOf(workNo1));//浠诲姟鍙�
+        taskWrk.setWrkNo(workNo1);
+        taskWrk.setStatus(TaskStatusType.RECEIVE.id);//浠诲姟鐘舵�侊細鎺ユ敹
+        taskWrk.setCreateTime(now);
+        taskWrk.setIoType(1);//鍏ュ簱
+        taskWrk.setIoPri(100);//浼樺厛绾�
+        taskWrk.setOriginTargetPoint("101");
+        taskWrk.setTargetPoint(locMast1.getLocNo());//缁堢偣
+        boolean result = taskWrkService.insert(taskWrk);
+
+        locMast1.setLocSts("S");
+        locMast1.setModiTime(now);
+        locMastService.updateById(locMast1);
+
+        locMast.setLocSts("R");
+        locMast.setModiTime(now);
+        locMastService.updateById(locMast);
     }
 
     /**

--
Gitblit v1.9.1