CommonRefreshThread.java 2.5 KB
package com.bsth.vehicle.common;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import com.bsth.entity.CarPark;
import com.bsth.entity.Cars;
import com.bsth.entity.Station;
import com.bsth.repository.CarParkRepository;
import com.bsth.repository.CarsRepository;
import com.bsth.repository.StationRepository;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;

/**
 * 
 * @ClassName: CommonRefreshThread 
 * @Description: TODO(刷新映射数据) 
 * @author PanZhao
 * @date 2016年6月7日 下午4:05:34 
 *
 */
@Component
public class CommonRefreshThread extends Thread{

	@Autowired
	CarsRepository carsRepository;

	@Autowired
	StationRepository stationRepository;
	
	@Autowired
	CarParkRepository carParkRepository;
	
	Logger logger = LoggerFactory.getLogger(this.getClass());
	
	@Override
	public void run() {
		try {
			initVehicMapp();
			initStationCodeMap();
		} catch (Exception e) {
			logger.error("", e);
		}
	}
	
	/**
	 * 
	 * @Title: initDeviceMapp 
	 * @Description: TODO(初始化车辆相关对照) 
	 */
	public void initVehicMapp(){
		BiMap<String, String> biMap = HashBiMap.create();
		//车辆和公司代码对照
		Map<String, String> vcMap = new HashMap<>();
		Iterator<Cars> carIterator = carsRepository.findAll().iterator();
		Cars car;
		while(carIterator.hasNext()){
			car = carIterator.next();
			biMap.put(car.getEquipmentCode(), car.getInsideCode());
			vcMap.put(car.getInsideCode(), car.getBusinessCode());
		}
		
		CommonMapped.vehicDeviceBiMap = biMap;
		CommonMapped.vehicCompanyMap = vcMap;
	}
	
	/**
	 * 
	 * @Title: initStationCodeMap 
	 * @Description: TODO(初始化站点和编码对照) 
	 */
	public void initStationCodeMap(){
		Map<String, String> newMap = new HashMap<>();
		Iterator<Station> iterator = stationRepository.findAll().iterator();
		//站点
		Station station;
		while(iterator.hasNext()){
			station = iterator.next();
			newMap.put(station.getStationCod(), station.getStationName());
		}
		//停车场
		Iterator<CarPark> iterator2 = carParkRepository.findAll().iterator();
		CarPark carPark;
		while(iterator2.hasNext()){
			carPark = iterator2.next();
			newMap.put(carPark.getParkCode(), carPark.getParkName());
		}
		
		CommonMapped.stationCodeMap = newMap;
	}
}