src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/service/impl/AgvWrkMastServiceImp.java
@@ -77,9 +77,6 @@ public int startWrk(List<AgvWrkMast> agvWrkMastList, String taskType) throws IOException { //任务过滤,过滤掉已存在相同目标库位的工作档 agvWrkMastList = filter(agvWrkMastList); AgvTaskCreateParam agvTaskCreateParam = new AgvTaskCreateParam(); agvTaskCreateParam.setTaskType(taskType); @@ -152,13 +149,6 @@ @Override public AgvWrkMast selectByContainerCode(String containerCode) { return this.selectOne(new EntityWrapper<AgvWrkMast>().eq("barcode",containerCode)); } private List<AgvWrkMast> filter(List<AgvWrkMast> agvWrkMastList){ return agvWrkMastList.stream().filter(agvWrkMast -> { int num = this.selectCount(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvWrkMast.getLocNo())); return num <= maxWrokNum; }).collect(Collectors.toList()); } private void getContainerMoveParam(List<AgvWrkMast> agvWrkMastList,List<Map<String,String>> positionCodeMapList){ src/main/java/com/zy/asrs/task/AgvWrkMastScheduler.java
@@ -39,7 +39,7 @@ /* 定时处理AGV工作档中工作状态为205.工作完成 且 (1.入库 || 53,拣料入库 || 57.盘点入库 || 10.空板入库 || 11.库格移载)的数据 */ @Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") public void excutePutwayWrk(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() .eq("wrk_sts", 205) @@ -58,7 +58,7 @@ /* 定时处理AGV工作档中工作状态为206.容器离场完成 且 (101.出库 || 110.空板出库) */ @Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") public void excuteCarryWrk(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>() .eq("wrk_sts", 206) @@ -75,7 +75,7 @@ putaway:上架 定时处理AGV工作档中工作状态为201.生成入库任务ID 且(出库类型为 53.拣料再入库 || 1.入库 || 10.空板入库栽 || 57.盘点再入库)的数据 */ @Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") public void startPutwayWrk(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50) ,new EntityWrapper<AgvWrkMast>() @@ -98,7 +98,7 @@ carry:搬运,统指出库、移库、点到点搬运等 定时处理AGV工作档中工作状态为21.生成出库任务 且(出库类型为 101.出库 || 103.拣料出库 || 11.库格移栽 || 110.空板出库 || 107.盘点出库)的数据 */ @Scheduled(cron = "0/5 * * * * ? ") @Scheduled(cron = "0/10 * * * * ? ") public void startCarryWrk(){ List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectPage(new Page<>(1, 50) ,new EntityWrapper<AgvWrkMast>() src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -4,7 +4,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.AgvLocDetl; import com.zy.asrs.entity.AgvWaitPakin; import com.zy.asrs.entity.AgvWrkDetl; import com.zy.asrs.entity.AgvWrkMast; import com.zy.asrs.service.*; import com.zy.asrs.task.AbstractHandler; import com.zy.asrs.task.core.ReturnT; @@ -18,6 +21,7 @@ import java.io.IOException; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Slf4j @Service @@ -178,7 +182,14 @@ @Transactional public ReturnT<String> startCarryWrk(List<AgvWrkMast> agvWrkMastList) throws IOException { log.info(agvWrkMastList.toString()); //任务过滤,过滤掉已存在相同目标库位的工作档 agvWrkMastList = filter(agvWrkMastList); int code = agvWrkMastService.startWrk(agvWrkMastList,"carry"); log.info(agvWrkMastList.toString()); if (Cools.isEmpty(agvWrkMastList)){ return SUCCESS; } if(code == 0){ agvWrkMastList.forEach(agvWrkMast -> { //202.RCS取货中 @@ -234,4 +245,17 @@ } } } private List<AgvWrkMast> filter(List<AgvWrkMast> agvWrkMastList){ return agvWrkMastList.stream().filter(agvWrkMast -> { AgvWrkMast agvWrkMastWroking = agvWrkMastService.selectOne(new EntityWrapper<AgvWrkMast>().eq("source_loc_no", agvWrkMast.getLocNo())); if(!Cools.isEmpty(agvWrkMastWroking) && agvWrkMastWroking.getWrkSts()<=202){ System.out.println("source_loc_no > 1"); return false; } log.info(agvWrkMast.toString()); int num = agvWrkMastService.selectCount(new EntityWrapper<AgvWrkMast>().eq("loc_no", agvWrkMast.getLocNo())); return num <= maxWrokNum; }).collect(Collectors.toList()); } }