| | |
| | | try { |
| | | BasCrnp basCrnp = basCrnpService.selectById(crnNo); |
| | | if (!Cools.isEmpty(basCrnp)) { |
| | | if (basCrnp.getWrkNo() == 0 && basCrnp.getCrnSts() != 3) { |
| | | if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) { |
| | | continue; |
| | | } |
| | | if (basCrnp.getCrnStatusOne() == 20 && basCrnp.getCrnStatusTwo() == 20) {//堆垛机工位1有物待作业 工位2有物待作业 |
| | |
| | | } |
| | | } |
| | | |
| | | @Scheduled(cron = "0/3 * * * * ? ") |
| | | private void executeThree() { |
| | | for (Integer crnNo : SplitTwin_CRN_NO) { |
| | | try { |
| | | BasCrnp basCrnp = basCrnpService.selectById(crnNo); |
| | | if (!Cools.isEmpty(basCrnp)) { |
| | | if (basCrnp.getWrkNo() != 0 || basCrnp.getWrkNoTwo()!=0 || basCrnp.getCrnSts() != 3) { |
| | | continue; |
| | | } |
| | | if (basCrnp.getCrnStatusOne() == 0 && basCrnp.getCrnStatusTwo() == 20) {//堆垛机工位1空闲 工位2有物待作业 |
| | | List<WrkMastSplitTwin> wrkMastSplitTwinListTwo = wrkMastSplitTwinService.getWrkMastSplitTwinNoComplete(crnNo, 2, null, null, 4); |
| | | if (wrkMastSplitTwinListTwo.isEmpty()){ |
| | | continue; |
| | | } |
| | | if (wrkMastSplitTwinListTwo.size() > 1){ |
| | | log.error("前后双工位拆分堆垛机执行作业生成,堆垛机号={},异常信息={},工位号={}",crnNo,"不存在或者存在多笔可执行作业,请维护执行作业!!!",2); |
| | | continue; |
| | | } |
| | | WrkMastSplitTwin wrkMastSplitTwinTwo = wrkMastSplitTwinListTwo.get(0); |
| | | if (wrkMastSplitTwinTwo.getWrkType()!=1 || wrkMastSplitTwinTwo.getWrkSts()!=2){//工作类型 0: 未知 1: 取 2: 放 3: 取放 4: 完成 //工作状态 0: 初始 1: 等待取货完成 2: 取货完成待作业 3: 等待放货完成 4: 完成 |
| | | continue; |
| | | } |
| | | wrkMastSplitTwinInItHandler.start(wrkMastSplitTwinTwo); |
| | | } |
| | | } |
| | | } catch (Exception e) { |
| | | log.error("前后双工位拆分堆垛机执行作业生成失败,堆垛机号={},异常原因={}", crnNo, e.getMessage()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |