| | |
| | | if (config != null && config.getStatus() == 1) { |
| | | crnAvailableOut = true; |
| | | } |
| | | // 限制去捆绑机器任务数 |
| | | int kbWrks = wrkMastMapper.selectCountByKb(); |
| | | for (CrnSlave.CrnStn crnStn : slave.getCrnOutStn()) { |
| | | // 获取工作状态为11(生成出库ID)的出库工作档 |
| | | List<WrkMast> wrkMasts = wrkMastMapper.selectPakOutStep11(slave.getId(), crnStn.getStaNo()); |
| | | for (WrkMast wrkMast : wrkMasts) { |
| | | if (wrkMast == null) { |
| | | continue; |
| | | } |
| | | if (wrkMast.getStaNo() == 1031) { |
| | | // 获取1033无状态时任务数+1 |
| | | SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, 1); |
| | | StaProtocol staProtocol = devpThread.getStation().get(1033); |
| | | if (staProtocol.isLoading() && staProtocol.getWorkNo() == 0) { |
| | | kbWrks ++; |
| | | } |
| | | if (kbWrks > 1) { |
| | | continue; |
| | | } |
| | | } |
| | | // 工作档状态判断 |
| | | if (wrkMast.getIoType() < 100 || wrkMast.getSourceStaNo() == null) { |
| | |
| | | continue; |
| | | } |
| | | // 1083,1086,1089 外形检测失败,不是去异常口的 停在原处 |
| | | // if (staProtocol.getSiteId() == 1083 || staProtocol.getSiteId() == 1086 || staProtocol.getSiteId() == 1089 && wrkMast.getStaNo() != 1090) { |
| | | // boolean back = false; |
| | | // String errMsg = ""; |
| | | // if (staProtocol.isFrontErr()) { |
| | | // errMsg = "前超限"; |
| | | // back = true; |
| | | // } |
| | | // if (!back && staProtocol.isBackErr()) { |
| | | // errMsg = "后超限"; |
| | | // back = true; |
| | | // } |
| | | // if (!back && staProtocol.isHighErr()) { |
| | | // errMsg = "高超限"; |
| | | // back = true; |
| | | // } |
| | | // if (!back && staProtocol.isLeftErr()) { |
| | | // errMsg = "左超限"; |
| | | // back = true; |
| | | // } |
| | | // if (!back && staProtocol.isRightErr()) { |
| | | // errMsg = "右超限"; |
| | | // back = true; |
| | | // } |
| | | // if (back) { |
| | | // log.error("{}站点,外形检测失败:{}",site,errMsg); |
| | | // continue; |
| | | // } |
| | | // } |
| | | if (staProtocol.getSiteId() == 1083 || staProtocol.getSiteId() == 1086 || staProtocol.getSiteId() == 1089 && wrkMast.getStaNo() != 1090) { |
| | | boolean back = false; |
| | | String errMsg = ""; |
| | | if (staProtocol.isFrontErr()) { |
| | | errMsg = "前超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isBackErr()) { |
| | | errMsg = "后超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isHighErr()) { |
| | | errMsg = "高超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isLeftErr()) { |
| | | errMsg = "左超限"; |
| | | back = true; |
| | | } |
| | | if (!back && staProtocol.isRightErr()) { |
| | | errMsg = "右超限"; |
| | | back = true; |
| | | } |
| | | if (back) { |
| | | log.error("{}站点,外形检测失败:{}",site,errMsg); |
| | | continue; |
| | | } |
| | | } |
| | | if (staProtocol.getSiteId() == 1090 && wrkMast.getStaNo() == 1090) { |
| | | continue; |
| | | } |
| | |
| | | DevpThread devpThread2 = (DevpThread) SlaveConnection.get(SlaveType.Devp, 2); |
| | | StaProtocol staProtocol2 = devpThread2.getStation().get(1090); |
| | | if(!staProtocol2.isAutoing() || staProtocol2.isLoading() || staProtocol2.getWorkNo() != 0) { |
| | | log.info("去异常口目标站点,非自动,有物,工作号为:{}",staProtocol2.getWorkNo()); |
| | | log.info("{}去异常口目标站点,自动:{},有物:{},工作号为:{}",wrkMast.getWrkNo(),staProtocol2.isAutoing(),staProtocol2.isLoading(),staProtocol2.getWorkNo()); |
| | | continue; |
| | | } |
| | | int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().where("sta_no = 1090 and wrk_sts in (9,10)")); |
| | | int count = wrkMastService.selectCount(new EntityWrapper<WrkMast>().where("sta_no = 1090 AND (wrk_sts IN (9,10) OR (wrk_sts = 2 AND rgv_finish_time IS NOT NULL))")); |
| | | if (count > 0) { |
| | | log.info("去异常口,但是前面有去异常口任务数:{}",count); |
| | | log.info("{}去异常口,但是前面有去异常口任务数:{}",wrkMast.getWrkNo(),count); |
| | | continue; |
| | | } |
| | | } |