From 3050db3dbea1d48ed07b79290ac42df76f0361d2 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期一, 09 十二月 2024 08:45:41 +0800
Subject: [PATCH] 修改调度逻辑为按预排的格子进行调度

---
 hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java |   92 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 88 insertions(+), 4 deletions(-)

diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
index af6a8b1..900fa28 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/test/java/com/mes/CacheVerticalGlassModuleApplicationTest.java
@@ -4,20 +4,30 @@
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.github.yulichang.toolkit.JoinWrappers;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import com.mes.bigstorage.entity.BigStorageCage;
+import com.mes.bigstorage.entity.BigStorageCageDetails;
 import com.mes.bigstorage.service.BigStorageCageDetailsService;
 import com.mes.bigstorage.service.BigStorageCageService;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
 import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
+import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
 import com.mes.common.config.Const;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.service.DamageService;
 import com.mes.edgglasstask.entity.EdgGlassTaskInfo;
 import com.mes.edgglasstask.service.EdgGlassTaskInfoService;
+import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.job.PlcStorageCageTask;
 import com.mes.pp.entity.ReportingWork;
 import com.mes.pp.entity.ReportingWorkDetail;
 import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -25,6 +35,7 @@
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.junit4.SpringRunner;
 
+import javax.annotation.Resource;
 import java.io.BufferedReader;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
@@ -54,6 +65,9 @@
     DamageService damageService;
     @Autowired
     EdgGlassTaskInfoService edgGlassTaskInfoService;
+    @Autowired
+    BigStorageCageFeedTaskService bigStorageCageFeedTaskService;
+
 
 //    @Autowired
 //    BigStorageCageFeedTaskMapper bigStorageCageFeedTaskMapper;
@@ -170,7 +184,7 @@
 
     @Test
     public void insertDamage() {
-        Damage damage=new Damage();
+        Damage damage = new Damage();
         damage.setGlassId("P24060403|3|6");
         damage.setLine(2001);
         damage.setWorkingProcedure("鍐峰姞宸�");
@@ -185,7 +199,7 @@
     }
 
     @Test
-    public void chaxun(){
+    public void chaxun() {
         List<EdgGlassTaskInfo> edgGlassTaskInfoList = edgGlassTaskInfoService.list(new QueryWrapper<EdgGlassTaskInfo>()
                 .select("Top 1 *")
                 .eq("glass_id", "P24072402|1|13")
@@ -194,13 +208,83 @@
     }
 
     @Test
-    public void deleteByGlassId(){
+    public void deleteByGlassId() {
         damageService.deleteByGlassId("P24081203|2|5");
     }
 
+    @Test
+    public void testttt() {
+        List<Integer> deviceUsedList = bigStorageCageService.queryFreeDeviceByUsed(6);
+        List<Integer> deviceUseds = deviceUsedList;
+        List<BigStorageCageDetails> engineerCount1 = bigStorageCageDetailsService.list(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
+                        .select(BigStorageCageDetails::getEngineerId)
+                        .groupBy(BigStorageCageDetails::getEngineerId)
+                        .between(BigStorageCageDetails::getDeviceId, 1, 5)
+        );
+        List<BigStorageCageDetails> engineerCount2 = bigStorageCageDetailsService.list(
+                new LambdaQueryWrapper<BigStorageCageDetails>()
+                        .notIn(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT, Const.GLASS_STATE_DAMAGE, Const.GLASS_STATE_TAKE)
+                        .select(BigStorageCageDetails::getEngineerId)
+                        .groupBy(BigStorageCageDetails::getEngineerId)
+                        .between(BigStorageCageDetails::getDeviceId, 6, 8)
+        );
+        if (engineerCount1.size() > engineerCount2.size()) {
+            deviceUsedList.removeIf(device -> device < 6);
+        } else {
+            deviceUsedList.removeIf(device -> device > 5);
+        }
+        if (CollectionUtils.isEmpty(deviceUsedList)) {
+            deviceUsedList = deviceUseds;
+        }
+        log.info("zhi:{}", deviceUsedList);
+    }
 
     @Test
-    public void ca(){
+    public void ca1() {
+        List<BigStorageCageFeedTask> bigStorageCageFeedTasks = bigStorageCageFeedTaskService.list(
+                new LambdaQueryWrapper<BigStorageCageFeedTask>()
+                        .gt(BigStorageCageFeedTask::getTargetSlot, 0)
+                        .eq(BigStorageCageFeedTask::getLine, Const.A09_OUT_TARGET_POSITION)
+                        .eq(BigStorageCageFeedTask::getTaskState, Const.BIG_STORAGE_IN_UP)
+        );
+        if (CollectionUtils.isEmpty(bigStorageCageFeedTasks)) {
+            log.info("zhi:" + bigStorageCageFeedTasks);
+        }
+
+    }
+
+    @Test
+    public void ca11() {
+        plcStorageCageTask.queryAndChangeGlass("P24110503|17|4");
+    }
+
+    @Resource
+    TemperingGlassInfoService temperingGlassInfoService;
+    @Test
+    public void computeOutMoreGlassInfo() {
+        List<TemperingGlassInfo> temperingGlassInfoList = temperingGlassInfoService.selectJoinList(TemperingGlassInfo.class, new MPJLambdaWrapper<TemperingGlassInfo>()
+                .selectAll(TemperingGlassInfo.class)
+                .leftJoin(BigStorageCageOutTask.class, BigStorageCageOutTask::getGlassId, TemperingGlassInfo::getGlassId)
+                .eq(TemperingGlassInfo::getState, Const.TEMPERING_NEW)
+                .isNull(BigStorageCageOutTask::getGlassId)
+                .orderByAsc(TemperingGlassInfo::getTemperingFeedSequence));
+        plcStorageCageTask.computeOutMoreGlassInfo(temperingGlassInfoList,true,1);
+    }
+
+    @Test
+    public void ca111() {
+        List<Integer> slotList = new ArrayList<>(Arrays.asList(62));  // 娉ㄦ剰 null 鍏冪礌
+        Set<Integer> remainSlotList = new HashSet<>(Arrays.asList(62));
+
+        slotList.removeAll(remainSlotList);
+        log.info("1");
+//        plcStorageCageTask.computeSlot("P24111102|1|1");
+    }
+
+    @Test
+    public void ca() {
         try {
             // 鐩爣绯荤粺鐨凙PI URL
             String url = "http://192.168.3.119:8086/reportingWork/mesSaveReportingWorkWorn";

--
Gitblit v1.8.0