package com.whyc.schedule;
|
|
import com.whyc.dto.AnalysisMonFieldDTO;
|
import com.whyc.service.AnalysisMonFieldService;
|
import com.whyc.service.BatteryDataService;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.stream.Collectors;
|
|
@Slf4j
|
@Component
|
public class AnalysisSchedule {
|
|
@Resource
|
private BatteryDataService dataService;
|
|
@Resource
|
private AnalysisMonFieldService service;
|
|
@Scheduled(cron = "0 0 0 * * ?")
|
@Transactional
|
public void analysisMonVol(){
|
List<AnalysisMonFieldDTO> analysisMonFieldList = dataService.monFieldStatistics("mon_vol","mon_tmp");
|
//排除null值
|
List<AnalysisMonFieldDTO> MonFieldList = analysisMonFieldList.stream().filter(Objects::nonNull).collect(Collectors.toList());
|
//单体电压/温度数据更新到分析表中
|
service.updateBatch("tb_mon_vol",MonFieldList);
|
service.updateBatch("tb_mon_tmp",MonFieldList);
|
|
System.out.println(System.currentTimeMillis()+":分析单体电压/温度");
|
|
}
|
|
@Scheduled(cron = "0 0 0 * * ?")
|
@Transactional
|
public void analysisMonRes(){
|
List<AnalysisMonFieldDTO> analysisMonResList = dataService.monResStatistics();
|
//排除null值
|
List<AnalysisMonFieldDTO> monResList = analysisMonResList.stream().filter(Objects::nonNull).collect(Collectors.toList());
|
//单体内阻更新到分析表中
|
service.updateBatch("tb_mon_res",monResList);
|
System.out.println(System.currentTimeMillis()+":分析单体电阻");
|
}
|
|
/**
|
* 首先:查询所有的所有的测试数据stop表
|
* 查询所有stop表中所有单体的最后一笔的单体容量,求最小值,最大值,平均值
|
* 将结果放置到容量表
|
*/
|
@Scheduled(cron = "0 * * * * ?")
|
@Transactional
|
public void analysisMonCap(){
|
List<AnalysisMonFieldDTO> analysisMonCapList = dataService.monCapStatistics();
|
//排除null值
|
List<AnalysisMonFieldDTO> monCapList = analysisMonCapList.stream().filter(Objects::nonNull).collect(Collectors.toList());
|
//单体容量更新到分析表中
|
service.updateBatch("tb_mon_cap",monCapList);
|
System.out.println(System.currentTimeMillis()+":分析单体容量");
|
}
|
}
|