|  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     // 解析小车载货移动工作档 | 
 |  |  |     public synchronized void analyzeLadenMoveTask() { | 
 |  |  |         for (Task task : taskService.selectWaitAnalyzeLadenMoveTask()) { | 
 |  |  |             if (Cools.isEmpty(task.getShuttleNo())) { | 
 |  |  |                 //分配小车 | 
 |  |  |                 //搜索空闲车 | 
 |  |  |                 ShuttleThread shuttleThread = shuttleDispatcher.searchIdleShuttle(task); | 
 |  |  |                 if (shuttleThread == null) { | 
 |  |  |                     News.info("{}任务未找到空闲穿梭车", task.getTaskNo()); | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 task.setShuttleNo(Integer.valueOf(shuttleThread.getDevice().getDeviceNo()));//保存穿梭车号 | 
 |  |  |                 task.setUpdateTime(new Date()); | 
 |  |  |                 if (!taskService.updateById(task)) { | 
 |  |  |                     News.info("{}任务更新穿梭车号失败", task.getTaskNo()); | 
 |  |  |                 } | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |             // generate motion list | 
 |  |  |             List<Motion> motionList = analyzeService.generateShuttleLadenMoveMotion(task); | 
 |  |  |             if (motionList.isEmpty()) { | 
 |  |  |                 continue; | 
 |  |  |             } | 
 |  |  |             motionService.batchInsert(motionList, task.getUuid(), Integer.valueOf(task.getTaskNo()), task.getHostId()); | 
 |  |  |  | 
 |  |  |             // 更新工作主档 | 
 |  |  |             task.setTaskSts(TaskStsType.ANALYZE_LADEN_MOVE.sts); // 工作状态 | 
 |  |  |             task.setUpdateTime(new Date()); | 
 |  |  |             if (!taskService.updateById(task)) { | 
 |  |  |                 News.error("更新工作档失败!!! [工作号:{}]", task.getTaskNo()); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | } |