| | |
| | | private HashMap<Integer, HashMap<String, List<Integer>>> levNodesMap = null; |
| | | |
| | | |
| | | private HashMap<Integer,Long> shuttleReportErrorMap = new HashMap<>(); |
| | | private HashMap<Integer,Long> pathIdleShuttleMap = new HashMap<>(); |
| | | private HashMap<Integer,Long> applyRecordsMap = new HashMap<>(); |
| | | private HashMap<String, List<NavigateNode>> taskNodesMap = new HashMap<>(); |
| | |
| | | |
| | | controlDataModel.setTotalNodeList(newTotalNodeList); |
| | | trafficControlDataList.set(i, controlDataModel); |
| | | shuttleReportErrorMap.remove(shuttleNo); |
| | | return true; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | @Override |
| | | public boolean trafficReportError(Integer shuttleNo, Integer taskNo) { |
| | | ShuttleThread shuttleThread = (ShuttleThread) SlaveConnection.get(SlaveType.Shuttle, shuttleNo); |
| | | if (shuttleThread == null) { |
| | | return false; |
| | | } |
| | | |
| | | if(shuttleReportErrorMap.containsKey(shuttleNo)) { |
| | | Long errorTime = shuttleReportErrorMap.get(shuttleNo); |
| | | if((System.currentTimeMillis() - errorTime) > 1000 * 10) { |
| | | shuttleReportErrorMap.remove(shuttleNo); |
| | | shuttleThread.restartCalcPath(); |
| | | } |
| | | }else { |
| | | shuttleReportErrorMap.put(shuttleNo, System.currentTimeMillis()); |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | @Override |
| | | public synchronized boolean cancelTrafficControl(Integer shuttleNo, Integer taskNo) { |
| | | //检测车子是否存在管制 |
| | | for (int i = 0; i < trafficControlDataList.size(); i++) { |