|
@@ -1,14 +1,9 @@
|
|
|
package com.metro.service.job;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.metro.entity.enums.DataShowTopEnum;
|
|
|
-import com.metro.entity.po.Company;
|
|
|
-import com.metro.entity.po.DataShow;
|
|
|
-import com.metro.entity.vo.PassreCordsLessVO;
|
|
|
import com.metro.mapper.CompanysMapper;
|
|
|
import com.metro.mapper.DataShowMapper;
|
|
|
import com.metro.mapper.PassreCordsMapper;
|
|
|
-import com.metro.utils.StringUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
import org.springframework.context.annotation.DependsOn;
|
|
@@ -16,12 +11,8 @@ import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.scheduling.annotation.EnableAsync;
|
|
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
|
|
-import org.springframework.scheduling.annotation.Scheduled;
|
|
|
|
|
|
-import javax.annotation.PostConstruct;
|
|
|
import javax.annotation.Resource;
|
|
|
-import java.util.*;
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* @description:
|
|
@@ -48,91 +39,97 @@ public class AdminDataShowTask {
|
|
|
/*
|
|
|
* 每天0点 统计一下DataShowTopEnum中 type 1-4的数据
|
|
|
* */
|
|
|
- @Scheduled(cron = "0 0 0 * * ?", zone = "Asia/Shanghai")
|
|
|
- @PostConstruct
|
|
|
+// @Scheduled(cron = "0 0 0 * * ?", zone = "Asia/Shanghai")
|
|
|
@Async
|
|
|
public void dailyDataStatistics() {
|
|
|
- log.info("----------开始------每日数据统计-------------");
|
|
|
- LambdaQueryWrapper<Company> companyWrapper = new LambdaQueryWrapper<>();
|
|
|
- companyWrapper.isNotNull(Company::getBranchId);
|
|
|
-
|
|
|
- /*查询出所有*/
|
|
|
- List<Company> companyList = companysMapper.selectList(companyWrapper);
|
|
|
- companyList = companyList.stream().filter(p -> StringUtils.isNotEmpty(p.getCompanyId()) && StringUtils.isNotEmpty(p.getBranchId())).collect(Collectors.toList());
|
|
|
- companyList.add(new Company().setCompanyId("").setBranchId(""));
|
|
|
-
|
|
|
- for (Company company : companyList) {
|
|
|
-
|
|
|
- List<PassreCordsLessVO> passreCordsLessVO = passreCordsMapper.selectBeforDataNumber(company);
|
|
|
- Map<Date, List<PassreCordsLessVO>> dateListMap = this.dataChange(passreCordsLessVO);
|
|
|
- for (Date date : dateListMap.keySet()){
|
|
|
- List<PassreCordsLessVO> list = dateListMap.get(date);
|
|
|
+ log.info("查询dataShow是否需要数据的数据初始化操作");
|
|
|
+ Integer count = dataShowMapper.selectCount(new LambdaQueryWrapper<>());
|
|
|
+ if(count != null && count >0){
|
|
|
+ log.info("dataShow不需要初始化");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("----------开始------站点数据初始化-------------");
|
|
|
+ dataShowMapper.initData();//数据初始化
|
|
|
+// LambdaQueryWrapper<Company> companyWrapper = new LambdaQueryWrapper<>();
|
|
|
+// companyWrapper.isNotNull(Company::getBranchId);
|
|
|
+//
|
|
|
+// /*查询出所有*/
|
|
|
+// List<Company> companyList = companysMapper.selectList(companyWrapper);
|
|
|
+// companyList = companyList.stream().filter(p -> StringUtils.isNotEmpty(p.getCompanyId()) && StringUtils.isNotEmpty(p.getBranchId())).collect(Collectors.toList());
|
|
|
+// companyList.add(new Company().setCompanyId("").setBranchId(""));
|
|
|
+//
|
|
|
+// for (Company company : companyList) {
|
|
|
+//
|
|
|
+// List<PassreCordsLessVO> passreCordsLessVO = passreCordsMapper.selectBeforDataNumber(company);
|
|
|
+// Map<Date, List<PassreCordsLessVO>> dateListMap = this.dataChange(passreCordsLessVO);
|
|
|
+// for (Date date : dateListMap.keySet()){
|
|
|
+// List<PassreCordsLessVO> list = dateListMap.get(date);
|
|
|
// Integer totalNumber = 0;//date的盘查人数
|
|
|
// Integer totalWarningNumber = 0;//date的异常人数
|
|
|
// Integer totalDoubtNumber = 0;//date的存疑人数
|
|
|
// Integer totalArrestNumber = 0;//date的抓铺人数
|
|
|
- int totalNumber = list.stream().mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
- int totalDoubtNumber = list.stream().filter(p -> p.getPass() == 1 /*|| p.getPass() == 3*/).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
- int totalArrestNumber = list.stream().filter(p -> p.getPass() == 0).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
- int totalWarningNumber = list.stream().filter(p -> p.getPass() == 3).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
-
|
|
|
- DataShow dataShow1 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFORE_NUMBER.getType());
|
|
|
- DataShow dataShow2 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_EXCEPTION_NUMBER.getType());
|
|
|
- DataShow dataShow3 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_DOUBT_NUMBER.getType());
|
|
|
- DataShow dataShow4 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_ARREST_NUMBER.getType());
|
|
|
- new Thread(()->{
|
|
|
- DataShowEdit(date,dataShow1,DataShowTopEnum.BERFORE_NUMBER.getType(), totalNumber,company);
|
|
|
- DataShowEdit(date,dataShow2,DataShowTopEnum.BERFOR_EXCEPTION_NUMBER.getType(), totalWarningNumber,company);
|
|
|
- DataShowEdit(date,dataShow3,DataShowTopEnum.BERFOR_DOUBT_NUMBER.getType(), totalDoubtNumber,company);
|
|
|
- DataShowEdit(date,dataShow4,DataShowTopEnum.BERFOR_ARREST_NUMBER.getType(), totalArrestNumber,company);
|
|
|
- }).start();
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- log.info("----------完成------每日数据统计-------------");
|
|
|
+// int totalNumber = list.stream().mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
+// int totalDoubtNumber = list.stream().filter(p -> p.getPass() == 1 /*|| p.getPass() == 3*/).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
+// int totalArrestNumber = list.stream().filter(p -> p.getPass() == 0).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
+// int totalWarningNumber = list.stream().filter(p -> p.getPass() == 3).mapToInt(PassreCordsLessVO::getNumber).sum();
|
|
|
+//
|
|
|
+// DataShow dataShow1 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFORE_NUMBER.getType());
|
|
|
+// DataShow dataShow2 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_EXCEPTION_NUMBER.getType());
|
|
|
+// DataShow dataShow3 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_DOUBT_NUMBER.getType());
|
|
|
+// DataShow dataShow4 = selectByCompanyIdAndType(date,company,DataShowTopEnum.BERFOR_ARREST_NUMBER.getType());
|
|
|
+// new Thread(()->{
|
|
|
+// DataShowEdit(date,dataShow1,DataShowTopEnum.BERFORE_NUMBER.getType(), totalNumber,company);
|
|
|
+// DataShowEdit(date,dataShow2,DataShowTopEnum.BERFOR_EXCEPTION_NUMBER.getType(), totalWarningNumber,company);
|
|
|
+// DataShowEdit(date,dataShow3,DataShowTopEnum.BERFOR_DOUBT_NUMBER.getType(), totalDoubtNumber,company);
|
|
|
+// DataShowEdit(date,dataShow4,DataShowTopEnum.BERFOR_ARREST_NUMBER.getType(), totalArrestNumber,company);
|
|
|
+// }).start();
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+ log.info("----------完成------站点数据初始化-------------");
|
|
|
}
|
|
|
/*数据转换*/
|
|
|
- private Map<Date,List<PassreCordsLessVO>> dataChange(List<PassreCordsLessVO> passreCordsLessVO){
|
|
|
- Map<Date,List<PassreCordsLessVO>> map = new HashMap<>();
|
|
|
- for (PassreCordsLessVO cordsLessVO : passreCordsLessVO) {
|
|
|
- List<PassreCordsLessVO> list = null;
|
|
|
- if(map.containsKey(cordsLessVO.getDate())){
|
|
|
- list = map.get(cordsLessVO.getDate());
|
|
|
- }else {
|
|
|
- list = new ArrayList<>();
|
|
|
- }
|
|
|
- list.add(cordsLessVO);
|
|
|
- map.put(cordsLessVO.getDate(),list);
|
|
|
- }
|
|
|
- return map;
|
|
|
- }
|
|
|
- private DataShow selectByCompanyIdAndType(Date date ,Company company, Integer type){
|
|
|
- LambdaQueryWrapper<DataShow> dataShow = new LambdaQueryWrapper<>();
|
|
|
- dataShow.eq(DataShow::getType, type);
|
|
|
- dataShow.eq(StringUtils.isNotNull(company.getCompanyId()),DataShow::getCompanyId, company.getCompanyId());
|
|
|
- dataShow.eq(StringUtils.isNotNull(company.getBranchId()),DataShow::getBranchId, company.getBranchId());
|
|
|
- dataShow.eq(DataShow::getDate, date);
|
|
|
- return dataShowMapper.selectOne(dataShow);
|
|
|
- }
|
|
|
-
|
|
|
- private void DataShowEdit(Date date,DataShow dataShow , Integer type ,Integer number,Company company){
|
|
|
- if(dataShow != null){
|
|
|
- dataShow.setNumber(number);
|
|
|
- dataShowMapper.updateById(dataShow);
|
|
|
- }else {
|
|
|
- dataShow = new DataShow();
|
|
|
- dataShow.setType(type);
|
|
|
- dataShow.setNumber(number);
|
|
|
- dataShow.setCompanyId(company.getCompanyId());
|
|
|
- dataShow.setBranchId(company.getBranchId());
|
|
|
- dataShow.setDate(date);
|
|
|
- dataShowMapper.insert(dataShow);
|
|
|
- }
|
|
|
- }
|
|
|
+// private Map<Date,List<PassreCordsLessVO>> dataChange(List<PassreCordsLessVO> passreCordsLessVO){
|
|
|
+// Map<Date,List<PassreCordsLessVO>> map = new HashMap<>();
|
|
|
+// for (PassreCordsLessVO cordsLessVO : passreCordsLessVO) {
|
|
|
+// List<PassreCordsLessVO> list = null;
|
|
|
+// if(map.containsKey(cordsLessVO.getDate())){
|
|
|
+// list = map.get(cordsLessVO.getDate());
|
|
|
+// }else {
|
|
|
+// list = new ArrayList<>();
|
|
|
+// }
|
|
|
+// list.add(cordsLessVO);
|
|
|
+// map.put(cordsLessVO.getDate(),list);
|
|
|
+// }
|
|
|
+// return map;
|
|
|
+// }
|
|
|
+// private DataShow selectByCompanyIdAndType(Date date ,Company company, Integer type){
|
|
|
+// LambdaQueryWrapper<DataShow> dataShow = new LambdaQueryWrapper<>();
|
|
|
+// dataShow.eq(DataShow::getType, type);
|
|
|
+// dataShow.eq(StringUtils.isNotNull(company.getCompanyId()),DataShow::getCompanyId, company.getCompanyId());
|
|
|
+// dataShow.eq(StringUtils.isNotNull(company.getBranchId()),DataShow::getBranchId, company.getBranchId());
|
|
|
+// dataShow.eq(DataShow::getDate, date);
|
|
|
+// return dataShowMapper.selectOne(dataShow);
|
|
|
+// }
|
|
|
+//
|
|
|
+// private void DataShowEdit(Date date,DataShow dataShow , Integer type ,Integer number,Company company){
|
|
|
+// if(dataShow != null){
|
|
|
+// dataShow.setNumber(number);
|
|
|
+// dataShowMapper.updateById(dataShow);
|
|
|
+// }else {
|
|
|
+// dataShow = new DataShow();
|
|
|
+// dataShow.setType(type);
|
|
|
+// dataShow.setNumber(number);
|
|
|
+// dataShow.setCompanyId(company.getCompanyId());
|
|
|
+// dataShow.setBranchId(company.getBranchId());
|
|
|
+// dataShow.setDate(date);
|
|
|
+// dataShowMapper.insert(dataShow);
|
|
|
+// }
|
|
|
+// }
|
|
|
|
|
|
|
|
|
}
|