| | |
| | | * ioType 108.自动调拨 |
| | | * crnNo :2目标楼层 |
| | | */ |
| | | @Scheduled(cron = "0/1 * * * * ? ") |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | private synchronized void execute2() { |
| | | List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 108).andNew().eq("crn_no", 2).or().eq("crn_no", 3).orderBy("io_pri", false).orderBy("appe_time", true)); |
| | | if (agvWrkMastList.isEmpty()) { |
| | |
| | | * wrkSts 22.调拨待分配 |
| | | * ioType 111.手动调拨 |
| | | */ |
| | | @Scheduled(cron = "0/2 * * * * ? ") |
| | | @Scheduled(cron = "0/10 * * * * ? ") |
| | | private void execute3() { |
| | | List<AgvWrkMast> agvWrkMastList = agvWrkMastService.selectList(new EntityWrapper<AgvWrkMast>().eq("wrk_sts", 22).andNew().eq("io_type", 111).orderBy("io_pri", false).orderBy("appe_time", true)); |
| | | if (agvWrkMastList.isEmpty()) { |
| | |
| | | return; |
| | | } |
| | | |
| | | |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); |
| | | for (AgvLocMast agvLocMast : agvLocMasts) { |
| | | if (agvLocMast.getLocNo().contains("02F1")) { |
| | | Config config = configService.selectOne(new EntityWrapper<Config>().eq("code", "RETURN_3_TIME")); |
| | | boolean flag = false; |
| | | if (config != null && !Cools.isEmpty(config.getValue())) { |
| | | try { |
| | |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.asrs.task.AbstractHandler; |
| | | import com.zy.asrs.task.core.ReturnT; |
| | | import com.zy.common.service.AgvCommonService; |
| | | import lombok.Synchronized; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | |
| | | @Autowired |
| | | private ReportDataService reportDataService; |
| | | |
| | | @Autowired |
| | | private AgvCommonService agvCommonService; |
| | | |
| | | |
| | | @Transactional |
| | |
| | | wrkMast.setIoTime(now); |
| | | //优先级 |
| | | wrkMast.setIoPri(300.0); |
| | | |
| | | //源站点 |
| | | wrkMast.setSourceLocNo(agvWrkMast.getLocNo()); |
| | | |
| | | //目标站点 |
| | | if (agvWrkMast.getLocNo().startsWith("QO") && agvWrkMast.getLocNo().endsWith("F4") && Integer.valueOf(agvWrkMast.getBarcode().substring(0, 2)) == 30) { |
| | | if (!agvWrkMast.getSourceLocNo().endsWith("02F1")) { |
| | | AgvLocMast locByFloor = agvCommonService.getLocByFloor(3, 1); |
| | | if (locByFloor != null) { |
| | | wrkMast.setLocNo(locByFloor.getLocNo()); |
| | | } else { |
| | | wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); |
| | | } |
| | | } else { |
| | | wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); |
| | | } |
| | | } else { |
| | | wrkMast.setLocNo(agvWrkMast.getSourceLocNo()); |
| | | } |
| | | |
| | | |
| | | //货架编码 |
| | | wrkMast.setBarcode(agvWrkMast.getBarcode()); |
| | | //货架类型 |
| | |
| | | } |
| | | |
| | | /* |
| | | 库位规则查找 |
| | | */ |
| | | public AgvLocMast getLocByFloor(int type, int floor) { |
| | | try { |
| | | EntityWrapper<AgvLocMast> wrapper = new EntityWrapper<>(); |
| | | wrapper.eq("loc_sts", "O").eq("loc_type1", type); |
| | | wrapper.eq("floor", floor).orderBy("lev1", false); |
| | | |
| | | List<AgvLocMast> agvLocMasts = agvLocMastService.selectList(wrapper); |
| | | for (AgvLocMast agvLocMast : agvLocMasts) { |
| | | AgvLocMast agvLocMast1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", agvLocMast.getLocNo())); |
| | | if (agvLocMast1.getLocSts().equals("O")) { |
| | | return agvLocMast1; |
| | | } |
| | | } |
| | | return null; |
| | | } catch (Exception e) { |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | /* |
| | | 库位规则查找 |
| | | */ |
| | | private AgvLocMast getLocByLocCodeRule(AgvWaitPakin agvWaitPakin, int floor) { |