| | |
| | | package com.zy.asrs.task; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.OrderPakout; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.service.BasDevpService; |
| | | import com.zy.asrs.service.DigitalTwinService; |
| | | import com.zy.asrs.service.OrderPakoutService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | |
| | | jlerHandler.autoGenerateOutTask(orderPakout); |
| | | } |
| | | |
| | | @Resource |
| | | private BasDevpService basDevpService; |
| | | |
| | | /** |
| | | * 根据出库任务自动呼叫料箱机器人搬运 |
| | | */ |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | private void outboundCallBinRobot() { |
| | | // 每次取3条 |
| | | List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().setSqlSelect("TOP 3 *").eq("source_sta_no", 101).eq("wrk_sts", 11).orderBy("io_type")); |
| | | for(WrkMast wrkMast:wrkMastList) { |
| | | // 判断输送线有多少货 |
| | | int loadingCount = basDevpService.selectCount(new EntityWrapper<BasDevp>().eq("loading", "Y")); |
| | | |
| | | // 判断有多少出库任务在执行 |
| | | int execCount = wrkMastService.selectCount(new EntityWrapper<WrkMast>().eq("wrk_sts", 12)); |
| | | // 判断还能发几个出库任务 |
| | | int count = 6 - loadingCount - execCount; |
| | | if (count <= 0) { |
| | | return; |
| | | } |
| | | List<WrkMast> wrkMastList = wrkMastService.selectList(new EntityWrapper<WrkMast>().setSqlSelect("TOP " + count + " *").eq("source_sta_no", 101).eq("wrk_sts", 11).orderBy("io_type")); |
| | | for (WrkMast wrkMast : wrkMastList) { |
| | | jlerHandler.outboundCallBinRobot(wrkMast); |
| | | } |
| | | } |