|  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /* | 
 |  |  |      * agv任务生成  Empty | 
 |  |  |      * */ | 
 |  |  |     public synchronized void agvTaskCreateR() { | 
 |  |  |         // 根据输送线plc遍历 | 
 |  |  |         for (DevpSlave devp : slaveProperties.getDevp()) { | 
 |  |  |             // 遍历出库口 | 
 |  |  |             for (DevpSlave.Sta inStaAgv : devp.getInStaAgv())  { | 
 |  |  |                 // 获取入库站信息 | 
 |  |  |                 SiemensDevpThread devpThread = (SiemensDevpThread) SlaveConnection.get(SlaveType.Devp, devp.getId()); | 
 |  |  |                 StaProtocol staProtocol = devpThread.getStation().get(inStaAgv.getStaNo()); | 
 |  |  |                 if (staProtocol == null) { | 
 |  |  |                     continue; | 
 |  |  |                 } else { | 
 |  |  |                     staProtocol = staProtocol.clone(); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 // 判断是否满足入库条件 | 
 |  |  |                 if (staProtocol.isLoading()){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 if (staProtocol.isAutoing()) { | 
 |  |  |  | 
 |  |  |                     // 判断重复工作档 | 
 |  |  |                     List<BasAgvMast> basAgvMastList = basAgvMastService.selectList(new EntityWrapper<BasAgvMast>().eq("sta_no", inStaAgv.getStaNo())); | 
 |  |  |                     if (!basAgvMastList.isEmpty()) { | 
 |  |  |                         News.info("{}号站点存在任务执行中,等待任务执行完毕!!!", inStaAgv.getStaNo()); | 
 |  |  |                         continue; | 
 |  |  |                     } | 
 |  |  |                     // 任务生成区 -------------------------------------------------------------------------- | 
 |  |  |  | 
 |  |  |                     BasAgvMast basAgvMast = new BasAgvMast(); | 
 |  |  |                     try { | 
 |  |  |                         List<LocMast> locMastList = locMastService.selectList(new EntityWrapper<LocMast>() | 
 |  |  |                                 .eq("loc_sts", "D") | 
 |  |  |                                 .ge("row1", 23) | 
 |  |  |                                 .le("row1", 32) | 
 |  |  |                                 .orderBy("io_time",true) | 
 |  |  |                         ); | 
 |  |  |  | 
 |  |  |                         for (LocMast locMast : locMastList){ | 
 |  |  |                             basAgvMast.setTaskNo(inStaAgv.getStaNo()); | 
 |  |  |                             basAgvMast.setSourceLocNo(locMast.getLocNo()); | 
 |  |  |                             basAgvMast.setStaNo(inStaAgv.getStaNo()); | 
 |  |  |                             basAgvMast.setDevpId(devp.getId()); | 
 |  |  |                             basAgvMast.setIoType(0);//AGV库位==》输送线站点  0 | 
 |  |  |                             basAgvMastService.insert(basAgvMast); | 
 |  |  |                             break; | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } catch (Exception e) { | 
 |  |  |                         News.error(JSON.toJSONString(e.getMessage())); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /* | 
 |  |  |      * agv任务下发:AGV库位==》输送线站点 |