From 114657d034c80ca40f08d767a71d169c34bde0b5 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期二, 16 四月 2024 23:50:07 +0800
Subject: [PATCH] #

---
 src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java |   84 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
index e703d2d..4eb2f8d 100644
--- a/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
+++ b/src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -1,19 +1,23 @@
 package com.zy.asrs.task;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.core.common.Cools;
+import com.zy.asrs.entity.AgvBasDevp;
 import com.zy.asrs.entity.AgvWrkMast;
 import com.zy.asrs.service.AgvBasDevpService;
 import com.zy.asrs.service.AgvWrkMastService;
 import com.zy.asrs.task.core.ReturnT;
 import com.zy.asrs.task.handler.AgvWrkMastHandler;
+import com.zy.common.entity.Parameter;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.io.IOException;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -56,7 +60,7 @@
     }
 
     /*
-    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.瀹瑰櫒绂诲満瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
+    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
      */
     @Scheduled(cron = "0/10 * * * * ? ")
     public void excuteCarryWrk(){
@@ -70,6 +74,23 @@
             });
         }
     }
+
+    /*
+    瀹氭椂澶勭悊AGV宸ヤ綔妗d腑宸ヤ綔鐘舵�佷负206.鍑哄簱瀹屾垚 涓� (101.鍑哄簱 || 110.绌烘澘鍑哄簱)
+     */
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void excuteCarryWrk2(){
+        List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>()
+                .eq("wrk_sts", 208)
+                .andNew().eq("io_type",110)
+                .or().eq("io_type",101));
+        if(!Cools.isEmpty(agvWrkMastList)){
+            agvWrkMastList.stream().forEach(agvWrkMast -> {
+                ReturnT<String> returnT = agvWrkMastHandler.completedCarryWrk2(agvWrkMast);
+            });
+        }
+    }
+
 
     /*
     putaway锛氫笂鏋�
@@ -113,8 +134,25 @@
                         .or().eq("io_type", 107)).getRecords();
 
         if(!Cools.isEmpty(agvWrkMastList)){
+            List<String> devNos = new ArrayList<>();
             agvWrkMastList.forEach(agvWrkMast -> {
                 try {
+
+                    //杩囨护璇ユ壒宸ヤ綔妗d腑閲嶅鐨勫嚭绔欑偣
+                    if (devNos.contains(agvWrkMast.getLocNo())){
+                        return;
+                    }
+                    devNos.add(agvWrkMast.getLocNo());
+
+                    //妫�娴嬪綋鍓嶅伐浣滀换鍔′腑鐨勭珯鐐规槸鍚﹀凡鏈夋湁浣滀笟涓殑浠诲姟
+                    AgvWrkMast agvWrkMastWorking = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>()
+                            .eq("loc_no", agvWrkMast.getLocNo())
+                            .ge("wrk_sts", 202L));
+
+                    if(!Cools.isEmpty(agvWrkMastWorking)){
+                        return;
+                    }
+
                     agvWrkMastHandler.startPutWayWrk(agvWrkMast);
                 } catch (IOException e) {
                     log.error(e.getMessage());
@@ -137,4 +175,48 @@
             }
         }
     }
+
+    /*
+    鑷姩鐢熸垚绌烘澘鍑哄簱浠诲姟
+     */
+    @Scheduled(cron = "0/10 * * * * ? ")
+    public void autoEmptyOut(){
+        boolean packageEmptyAutoOUt = Cools.eq("Y",Parameter.get().getPackageEmptyAutoOUt());
+        boolean mateEmptyAutoOut = Cools.eq("Y",Parameter.get().getMateEmptyAutoOut());
+        boolean boxEmptyAutoOut = Cools.eq("Y",Parameter.get().getBoxEmptyAutoOut());
+
+        if(!packageEmptyAutoOUt && !mateEmptyAutoOut && !boxEmptyAutoOut){
+            return;
+        }
+
+        List<Integer> locType1Condition = new ArrayList<>();
+        if(packageEmptyAutoOUt){
+            locType1Condition.add(1);
+        }
+        if(mateEmptyAutoOut){
+            locType1Condition.add(2);
+        }
+        if(boxEmptyAutoOut){
+            locType1Condition.add(3);
+        }
+
+        //鎵惧嚭闇�瑕佽ˉ鏂欑殑绔欑偣
+        Wrapper<AgvBasDevp> wrapper = new EntityWrapper<AgvBasDevp>()
+                .eq("in_enable", "Y")
+                .eq("loc_sts", "O")
+                .in("loc_type1", locType1Condition);
+
+        List<AgvBasDevp> agvBasDevpList = agvBasDevpService.selectList(wrapper);
+        for (AgvBasDevp agvBasDevp : agvBasDevpList){
+            try {
+                agvWrkMastHandler.autoEmptyOut(agvBasDevp);
+            }catch (Exception e){
+                log.error(e.getMessage());
+                e.printStackTrace();
+            }
+
+        }
+
+    }
+
 }

--
Gitblit v1.9.1