CalcOilThread.java 2.63 KB
package com.bsth.data.schedule.thread;

import com.bsth.data.directive.DayOfDirectives;
import com.bsth.data.gpsdata_v2.handlers.overspeed.OverspeedProcess;
import com.bsth.service.calc.CalcWaybillService;
import com.bsth.service.oil.DlbService;
import com.bsth.service.oil.YlbService;
import com.bsth.service.report.SheetService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 计算油、公里加注量 线程
 * Created by panzhao on 2017/3/7.
 */
@Component
public class CalcOilThread extends Thread{

    @Autowired
    YlbService ylbService;
    @Autowired
    DlbService dlbService;
    
    @Autowired
    SheetService sheetService;
    Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    DayOfDirectives dayOfDirectives;
    
    @Autowired
    CalcWaybillService calcWaybillService;

    @Override
    public void run() {
        try{
        	logger.info("开始计算路单里程加油量....");
        	ylbService.obtainDsq();
        	logger.info("计算路单里程加油量结束!");
        } catch(Exception e){
            logger.error("计算路单里程加油量失败",e);
        }
        try{
        	logger.info("开始计算路单里程充电量....");
        	dlbService.obtainDsq();
        	logger.info("计算路单里程充电量结束!");
        } catch(Exception e){
            logger.error("计算路单里程充电量失败",e);
        }
        try{
        	logger.info("开始计算班次准点率....");
            sheetService.saveSheetList("");
            logger.info("计算班次准点率结束!");
        } catch(Exception e){
        	logger.error("计算班次准点率失败",e);
        }
        try{
        	logger.info("开始保存重新统计数据....");
            calcWaybillService.autoGenerate("", "");
            logger.info("重新统计保存结束!");
        } catch(Exception e){
        	logger.error("重新统计保存失败",e);
        }
        try{
        	logger.info("开始保存统计日报....");
            calcWaybillService.calcDaily("", "");
            logger.info("统计日报保存结束!");
        } catch(Exception e){
        	logger.error("统计日报保存失败",e);
        }

        //清除指令数据
        dayOfDirectives.clearAll();
        //清除安全驾驶数据
        //SafeDrivCenter.clear();
        //清除超速缓存数据
        OverspeedProcess.clear();

        //GpsDataLoaderThread.setFlag(0);

    }
}