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