| | |
| | | continue; |
| | | } |
| | | |
| | | // //检测是否存在充电任务 |
| | | // WrkCharge wrkCharge = wrkChargeService.selectWorking(shuttle.getId()); |
| | | // if (wrkCharge != null) { |
| | | // continue; |
| | | // } |
| | | //检测是否存在充电任务 |
| | | Task taskCharge = taskService.selectChargeWorking(Integer.valueOf(device.getDeviceNo())); |
| | | if (taskCharge != null) { |
| | | continue; |
| | | } |
| | | |
| | | // 有没有被其他任务调度 |
| | | int currentLev = Utils.getLev(shuttleProtocol.getCurrentLocNo());//小车当前层高 |
| | |
| | | currDistance += WEIGHT; |
| | | } |
| | | |
| | | // // 挂载任务权重 |
| | | // List<Task> tasks = taskService.selectWorkingByShuttle(shuttle.getId()); |
| | | // if (!Cools.isEmpty(tasks)) { |
| | | // currDistance += tasks.size() * WEIGHT; |
| | | // } |
| | | // 挂载任务权重 |
| | | List<Task> tasks = taskService.selectWorkingByShuttle(Integer.valueOf(device.getDeviceNo())); |
| | | if (!Cools.isEmpty(tasks)) { |
| | | currDistance += tasks.size() * WEIGHT; |
| | | } |
| | | |
| | | if (currDistance < finalDistance) { |
| | | finalDistance = currDistance; |
| | |
| | | |
| | | return resThread; |
| | | } |
| | | |
| | | // /** |
| | | // * 生成穿梭车迁移任务 |
| | | // */ |
| | | // public WrkCharge generateShuttleChargeWrkComplete(Integer shuttleNo, String locNo) { |
| | | // WrkCharge wrkCharge = new WrkCharge(); |
| | | // wrkCharge.setShuttleNo(shuttleNo); |
| | | // wrkCharge.setWrkNo(commonService.getChargeWorkNo(4)); |
| | | // wrkCharge.setUuid(String.valueOf(snowflakeIdWorker.nextId())); |
| | | // wrkCharge.setWrkSts(WrkMastStsType.NEW_MOVE.sts); // 迁移任务 |
| | | // wrkCharge.setIoType(WrkIoTypeType.MOVE.sts); |
| | | // wrkCharge.setIoPri((double) 10); |
| | | // wrkCharge.setLocNo(locNo); |
| | | // wrkCharge.setMemo("reset"); |
| | | // wrkCharge.setAppeTime(new Date()); |
| | | // |
| | | // // generate motion list |
| | | // List<Motion> motionList = analyzeService.generateShuttleChargeWrkComplete(wrkCharge); |
| | | // if (Cools.isEmpty(motionList)) { |
| | | // News.error("保存{}号四向穿梭车迁移任务失败!!!", shuttleNo); |
| | | // return null; |
| | | // } |
| | | // motionService.batchInsert(motionList, wrkCharge.getUuid(), wrkCharge.getWrkNo()); |
| | | // |
| | | // wrkCharge.setWrkSts(WrkMastStsType.ANALYZE_MOVE.sts); |
| | | // |
| | | // if (!wrkChargeService.insert(wrkCharge)) { |
| | | // News.error("保存{}号四向穿梭车迁移任务失败!!!", shuttleNo); |
| | | // return null; |
| | | // } |
| | | // |
| | | // return wrkCharge; |
| | | // } |
| | | |
| | | /** |
| | | * 搜索避让库位,通过小车号和目标库位 |