FirstScheduleIssuedThread.java 1.59 KB
package com.bsth.vehicle.directive.thread;

import java.util.List;
import java.util.Set;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.bsth.entity.realcontrol.ScheduleRealInfo;
import com.bsth.service.realcontrol.buffer.ScheduleBuffer;
import com.bsth.vehicle.directive.service.DirectiveService;

/**
 * 
 * @ClassName: ScheduleIssuedThread 
 * @Description: TODO(首班调度指令下发线程) 
 * @author PanZhao
 * @date 2016年6月29日 下午11:09:39 
 *
 */
@Component
public class FirstScheduleIssuedThread extends Thread{

	@Autowired
	DirectiveService directiveService;
	
	@Override
	public void run() {
		
		Set<String> keys = ScheduleBuffer.vehSchListMap.keySet();
		List<ScheduleRealInfo> list;
		
		Long t = System.currentTimeMillis();
		ScheduleRealInfo sch;
		for(String nbbm : keys){
			list = ScheduleBuffer.vehSchListMap.get(nbbm);
			
			if(list.size() == 0)
				continue;
			
			sch = list.get(0);
			
			if(sch.getStatus() == 0 && sch.getFcsjT() > t){
				directiveService.send60Dispatch(sch, 0);
			}
		}
		
		/*Set<String> keys = ScheduleBuffer.vehLinkedMap.keySet();
		LinkedList<ScheduleRealInfo> linkedList;
		ScheduleRealInfo sch;
		for(String nbbm : keys){
			linkedList = ScheduleBuffer.vehLinkedMap.get(nbbm);
			
			sch = linkedList.getFirst();
			
			//没有完成班次,且头班车没有发车时间
			if(!ScheduleBuffer.finishLinkedMap.containsKey(nbbm) 
					&& sch.getFcsjActual() == null)
				directiveService.send60Dispatch(sch, 0);
		}*/
	}
}