| | |
| | | //如果站点可出禁用,则不生成空盘出库任务 |
| | | switch (site){ |
| | | case 1108:staProtocol = devpThread.getStation().get(site - 2);break; |
| | | case 2031:staProtocol = devpThread2.getStation().get(site);break; |
| | | case 2031:staProtocol = devpThread2.getStation().get(site + 1);break; |
| | | } |
| | | if (staProtocol == null) { |
| | | return; |
| | |
| | | } |
| | | //遍历rgv入库取货站点 |
| | | DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, rgvStn.getDevpPlcId()); |
| | | StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()); //倒数第二个 |
| | | StaProtocol staProtocol = devpThread.getStation().get(rgvStn.getStaNo2()==1043?1044:1103); //倒数第二个 |
| | | StaProtocol staProtocol2 = null; //连续取货任务站点 |
| | | RgvThread rgvThread = (RgvThread) SlaveConnection.get(SlaveType.Rgv, (int) rgvProtocol.getRgvNo()); |
| | | WrkMastSta wrkMastSta3 = null;//连取两个 |
| | | Integer staNo = null; //与调度 |
| | | switch (rgvStn.getStaNo2()){ |
| | | case 1043: staNo = 1044;break; |
| | | case 1104: staNo = 1103;break; |
| | | } |
| | | if(staNo != null ){ |
| | | staProtocol2 = devpThread.getStation().get(staNo); |
| | | if (staProtocol2 == null) { |
| | | News.infoNoLog(" - Rgv入库站信息(staProtocol!=null继续执行):staProtocol=" + staProtocol); |
| | | continue; |
| | | } else { |
| | | staProtocol2 = staProtocol2.clone(); |
| | | } |
| | | BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2()); |
| | | if (staDetl2 == null) { |
| | | News.error(" - 入库 ===>>Rgv站点在数据库不存在, 站点编号={}", rgvStn.getStaNo()); |
| | | continue; |
| | | } |
| | | if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){ |
| | | //当连续取货站点为相同类型时才能连续取 |
| | | wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo()); |
| | | } |
| | | |
| | | } |
| | | // WrkMastSta wrkMastSta3 = null;//连取两个 |
| | | // Integer staNo = null; //与调度 |
| | | // switch (rgvStn.getStaNo2()){ |
| | | // case 1043: staNo = 1044;break; |
| | | // case 1104: staNo = 1103;break; |
| | | // } |
| | | // if(staNo != null ){ |
| | | // staProtocol2 = devpThread.getStation().get(staNo); |
| | | // if (staProtocol2 == null) { |
| | | // News.infoNoLog(" - Rgv入库站信息(staProtocol!=null继续执行):staProtocol=" + staProtocol); |
| | | // continue; |
| | | // } else { |
| | | // staProtocol2 = staProtocol2.clone(); |
| | | // } |
| | | // BasDevp staDetl2 = basDevpService.selectById(rgvStn.getStaNo2()); |
| | | // if (staDetl2 == null) { |
| | | // News.error(" - 入库 ===>>Rgv站点在数据库不存在, 站点编号={}", rgvStn.getStaNo()); |
| | | // continue; |
| | | // } |
| | | // if((staProtocol.getWorkNo()>9999 && staProtocol2.getWorkNo()>9999) || (staProtocol.getWorkNo()<10000 && staProtocol2.getWorkNo()<10000)){ |
| | | // //当连续取货站点为相同类型时才能连续取 |
| | | // wrkMastSta3 = wrkMastStaMapper.selectByWrkNo(staProtocol2.getWorkNo()); |
| | | // } |
| | | // |
| | | // } |
| | | if(rgvProtocol.getTaskNo2() > 9999 && staProtocol.getWorkNo() < 10000){ |
| | | continue; |
| | | } |
| | |
| | | sign = rgvTakeFullAll(basRgvMap.getRgvNo(), wrkMastSta); //命令下发 |
| | | if (sign){ |
| | | |
| | | if(wrkMastSta3 != null ){ |
| | | List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); |
| | | if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//已有标记不再标记 |
| | | wrkMastSta3.setMk(1); |
| | | basRgv.setPakAll("0"); |
| | | basRgvService.updateById(basRgv); |
| | | |
| | | try{ |
| | | wrkMastStaMapper.updateById(wrkMastSta3); |
| | | log.error("锁定相隔站点任务"); |
| | | }catch (Exception e){ |
| | | log.error("锁定相隔站点任务失败"); |
| | | } |
| | | } |
| | | } |
| | | // if(wrkMastSta3 != null ){ |
| | | // List<WrkMastSta> wrkMastStaPaking = wrkMastStaService.selectPakingWrk(wrkMastSta3.getStaStart()); |
| | | // if(wrkMastStaPaking.size() < 1 && !wrkMastSta3.getWrkNo().equals(wrkMastSta.getWrkNo())){//已有标记不再标记 |
| | | // wrkMastSta3.setMk(1); |
| | | // basRgv.setPakAll("0"); |
| | | // basRgvService.updateById(basRgv); |
| | | // |
| | | // try{ |
| | | // wrkMastStaMapper.updateById(wrkMastSta3); |
| | | // log.error("锁定相隔站点任务"); |
| | | // }catch (Exception e){ |
| | | // log.error("锁定相隔站点任务失败"); |
| | | // } |
| | | // } |
| | | // } |
| | | basRgv.setPakOut("0");//出库不允许 |
| | | basRgvService.updateById(basRgv); |
| | | rgvThread.setPaking(false);//任务下发锁定 |