浏览代码

代码提交

esb 8 年之前
父节点
当前提交
0aea31a19f
共有 17 个文件被更改,包括 284 次插入208 次删除
  1. 0 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/Application.java
  2. 65 30
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/DBStorage.java
  3. 14 8
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignExpenseStatusJob.java
  4. 14 8
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignJob.java
  5. 15 9
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ChangeSignJob.java
  6. 15 9
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java
  7. 26 41
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  8. 21 15
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/FollowUpJob.java
  9. 15 9
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/HealthGuideJob.java
  10. 14 8
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignAgeGroupDiseaseJob.java
  11. 38 32
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignJob.java
  12. 15 9
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnSignJob.java
  13. 15 9
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/WaitSignJob.java
  14. 12 10
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/check/CheckSignJob.java
  15. 0 4
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/service/JobService.java
  16. 3 3
      patient-co-statistics/src/main/resources/application.yml
  17. 2 2
      patient-co-statistics/src/main/resources/quartz.properties

+ 0 - 2
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/Application.java

@ -2,7 +2,6 @@ package com.yihu.wlyy.statistics;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
/**
 * Created by Administrator on 2016.10.12.
@ -12,5 +11,4 @@ public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

+ 65 - 30
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/storage/DBStorage.java

@ -13,13 +13,16 @@ import com.yihu.wlyy.statistics.model.system.Town;
import com.yihu.wlyy.statistics.model.team.AdminTeam;
import com.yihu.wlyy.statistics.vo.WlyyQuotaVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.stereotype.Component;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionDefinition;
import org.springframework.transaction.TransactionStatus;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.DefaultTransactionDefinition;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.transaction.TransactionManager;
import java.util.*;
/**
 * Created by Administrator on 2016.10.09.
@ -41,6 +44,9 @@ public class DBStorage   {
    private DoctorAdminTeamDao doctorAdminTeamDao;
    @Autowired
    private WlyyQuotaResultDao wlyyQuotaResultDao;//指标结果Dao
    @Autowired
    private PlatformTransactionManager platformTransactionManager;
    /**
     * 保存一级维度的数据
@ -201,7 +207,8 @@ public class DBStorage   {
    private void saveAdminTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
    private void saveAdminTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        //遍历团队的Map
        for(Map.Entry<String,AdminTeam> oneAdminTeam:adminTeamMap.entrySet()){
            //得到每个团队的2级维度
@ -236,12 +243,14 @@ public class DBStorage   {
                     String level2=i+"";
                     String level3=j+"";
                     String level3Name=getLevel3Name(level3,type);
                     save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
                     wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
                }
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveHospitalTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
    private void saveHospitalTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws  Exception{
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        //遍历团队的Map
        for(Map.Entry<String,Hospital> oneHospital:hospitalsMap.entrySet()){
            //得到每个团队的2级维度
@ -273,12 +282,14 @@ public class DBStorage   {
                    String level2=i+"";
                    String level3=j+"";
                    String level3Name=getLevel3Name(level3,type);
                    save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
                   wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
                }
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveTownTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Town> townsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
    private void saveTownTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, Town> townsMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws  Exception{
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        //遍历团队的Map
        for(Map.Entry<String,Town> oneTownTeam:townsMap.entrySet()){
            //得到每个团队的2级维度
@ -310,12 +321,14 @@ public class DBStorage   {
                    String level2=i+"";
                    String level3=j+"";
                    String level3Name=getLevel3Name(level3,type);
                    save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
                   wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
                }
            }
        }
        saveAll((wlyyQuotaResults));
    }
    private void saveCityTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, City> cityMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) {
    private void saveCityTeamDataLevel3(Map<String, Map<String, Map<String, List<ETLModel>>>> etlModelMap, String day, Map<String, City> cityMap, Integer foreachNum2, Integer foreachNum3, Integer type, Integer start2, Integer start3) throws  Exception{
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        //遍历团队的Map
        for(Map.Entry<String,City> oneCityTeam:cityMap.entrySet()){
            //得到每个团队的2级维度
@ -345,10 +358,11 @@ public class DBStorage   {
                    String level2=i+"";
                    String level3=j+"";
                    String level3Name=getLevel3Name(level3,type);
                    save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day);
                    wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,null,level3,level3Name,day));
                }
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void level2Public(List<Map<String, Map<String, List<ETLModel>>>> data, String day, Integer foreachNum, Integer type, Integer start)throws Exception {
@ -382,7 +396,8 @@ public class DBStorage   {
        saveCityTeamDataLevel2(data.get(3),day,cityMap,foreachNum,type,start);
    }
    private void saveCityTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, City> citysMap ,Integer foreachNum,Integer type,Integer start) {
    private void saveCityTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, City> citysMap ,Integer foreachNum,Integer type,Integer start) throws  Exception{
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
         for(Map.Entry<String,City> oneCity:citysMap.entrySet()){
             Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneCity.getKey());
             for(int i=start;i<=foreachNum;i++){
@ -406,12 +421,14 @@ public class DBStorage   {
                 String level="4";
                 String level2=i+"";
                 String level2Name=getLevel2Name(level2,type);
                 save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
                 wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
             }
         }
        saveAll(wlyyQuotaResults);
    }
    private void saveTownTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Town> townsMap ,Integer foreachNum,Integer type,Integer start) {
    private void saveTownTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Town> townsMap ,Integer foreachNum,Integer type,Integer start)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String,Town> oneTown:townsMap.entrySet()){
            Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneTown.getKey());
            for(int i=start;i<=foreachNum;i++){
@ -435,12 +452,14 @@ public class DBStorage   {
                String level="3";
                String level2=i+"";
                String level2Name=getLevel2Name(level2,type);
                save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
                wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveHospitalTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap,Integer foreachNum,Integer type,Integer start) {
    private void saveHospitalTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, Hospital> hospitalsMap,Integer foreachNum,Integer type,Integer start)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String,Hospital> oneHospital:hospitalsMap.entrySet()){
            Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(oneHospital.getKey());
            for(int i=start;i<=foreachNum;i++){
@ -465,12 +484,14 @@ public class DBStorage   {
                String level="2";
                String level2=i+"";
                String level2Name=getLevel2Name(level2,type);
                save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
                wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveAdminTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap,Integer foreachNum,Integer type,Integer start) {
    private void saveAdminTeamDataLevel2(Map<String, Map<String, List<ETLModel>>> etlModelMap, String day, Map<String, AdminTeam> adminTeamMap,Integer foreachNum,Integer type,Integer start)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String,AdminTeam> adminTeam:adminTeamMap.entrySet()){
            Map<String, List<ETLModel>> oneELTMap= etlModelMap.get(adminTeam.getKey());
            for(int i=start;i<=foreachNum;i++){
@ -498,12 +519,14 @@ public class DBStorage   {
                String level="1";
                String level2=i+"";
                String level2Name=getLevel2Name(level2,type);
                save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day);
                wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,level2,level2Name,null,null,day));
            }
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveAdminTeamDataLevel1(Map<String, List<ETLModel>> mapData,String date,Map<String, AdminTeam> adminTeamMap) {
    private void saveAdminTeamDataLevel1(Map<String, List<ETLModel>> mapData,String date,Map<String, AdminTeam> adminTeamMap)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String, AdminTeam> entry:adminTeamMap.entrySet()){
            List<ETLModel> etlModel= mapData.get(entry.getKey());
            int num=0;
@ -525,11 +548,13 @@ public class DBStorage   {
            String doctorName=adminTeam.getName();
            String doctorJob="";
            String level="1";
            save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
            wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveHospitalTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date,  Map<String, Hospital> hospitalsMap ) {
    private void saveHospitalTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date,  Map<String, Hospital> hospitalsMap )throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String, Hospital> entry:hospitalsMap.entrySet()){
            List<ETLModel> etlModel= mapData.get(entry.getKey());
            int num=0;
@ -548,11 +573,13 @@ public class DBStorage   {
            String doctorName="";
            String doctorJob="";
            String level="2";
            save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
            wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveTownTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date,  Map<String, Town> townsMap) {
    private void saveTownTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date,  Map<String, Town> townsMap)throws  Exception {
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String, Town> entry:townsMap.entrySet()){
            List<ETLModel> etlModel= mapData.get(entry.getKey());
            int num=0;
@ -570,11 +597,13 @@ public class DBStorage   {
            String doctorName="";
            String doctorJob="";
            String level="3";
            save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
            wlyyQuotaResults.add(save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
        }
        saveAll(wlyyQuotaResults);
    }
    private void saveCityTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, City> cityMap) {
    private void saveCityTeamDataLevel1(Map<String, List<ETLModel>> mapData, String date, Map<String, City> cityMap) throws  Exception{
        List<WlyyQuotaResult> wlyyQuotaResults=new ArrayList<WlyyQuotaResult>();
        for(Map.Entry<String, City> entry:cityMap.entrySet()){
            List<ETLModel> etlModel= mapData.get(entry.getKey());
            int num=0;
@ -592,8 +621,9 @@ public class DBStorage   {
            String doctorName="";
            String doctorJob="";
            String level="4";
            save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date);
           wlyyQuotaResults.add( save(num, city, cityName, town, townName, org, orgName, doctorCode, doctorName, doctorJob, level,null,null,null,null,date));
        }
        saveAll(wlyyQuotaResults);
    }
    private String getOrg(String org){
@ -617,8 +647,9 @@ public class DBStorage   {
     * @param doctorJob
     * @param level1
     */
    private void save(int num,  String city, String cityName, String town, String townName, String org, String orgName, String doctorCode, String doctorName, String doctorJob, String level1, String level2, String level2Name,String level3, String level3Name,String date) {
    private WlyyQuotaResult save(int num,  String city, String cityName, String town, String townName, String org, String orgName, String doctorCode, String doctorName, String doctorJob, String level1, String level2, String level2Name,String level3, String level3Name,String date) {
        WlyyQuotaResult wlyyQuotaResult = new WlyyQuotaResult();
        wlyyQuotaResult.setId(UUID.randomUUID().toString().replace("-",""));
        wlyyQuotaResult.setDel("1");
        wlyyQuotaResult.setOrgCode(org);
        wlyyQuotaResult.setOrgName(orgName);
@ -640,7 +671,11 @@ public class DBStorage   {
        wlyyQuotaResult.setLevel3TypeName(level3Name);
        //判断全科医生是否有改签量
        wlyyQuotaResult.setResult(num+"");
        wlyyQuotaResultDao.save(wlyyQuotaResult);
        return wlyyQuotaResult;
    }
    private void saveAll(final List<WlyyQuotaResult> wlyyQuotaResults) throws  Exception{
        wlyyQuotaResultDao.save(wlyyQuotaResults);
    }
    private String getLevel2Name(String i, Integer type) {

+ 14 - 8
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignExpenseStatusJob.java

@ -59,15 +59,21 @@ public class AllSignExpenseStatusJob implements Job{
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        date = StringUtils.isEmpty(map.get("yesterday")) ? SignJob.getDayString(-1) : map.get("yesterday").toString();
        //计算指标
        computequota();
            date = StringUtils.isEmpty(map.get("yesterday")) ? SignJob.getDayString(-1) : map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**

+ 14 - 8
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignJob.java

@ -56,15 +56,21 @@ public class AllSignJob implements Job {
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        date= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        //计算指标
        computequota();
            date= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**

+ 15 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ChangeSignJob.java

@ -56,16 +56,22 @@ public class ChangeSignJob implements Job {
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        //计算指标
        computequota();
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**

+ 15 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultJob.java

@ -58,16 +58,22 @@ public class ConsultJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();  //線刪除今天的数据
        //计算指标
        computequota();
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();  //線刪除今天的数据
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    @Transactional
    private void computequota() {

+ 26 - 41
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java

@ -88,6 +88,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private String now = getDayString(0);
    private String tomorrow = getDayString(1);
    private StringBuffer allContent=new StringBuffer();//日志内容
    private  StringBuffer errorContent=new StringBuffer();//日常内容
    @Value("${fv.jdbc.driver}")
    String fv_jdbc_driver;
@ -124,8 +125,9 @@ public class CurrentDayAllQuotaJob implements Job {
            //计算指标
            computequota();
        }catch (Exception e){
            e.printStackTrace();
            e.printStackTrace();
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
@ -154,7 +156,7 @@ public class CurrentDayAllQuotaJob implements Job {
    }
    private void computequota_12() throws Exception{
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String now = getDayString(0);
        String tomorrow = getDayString(1);
@ -391,9 +393,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
            }
        }
        saveContent("12",signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append( saveContent("12",signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------12----------");
    }
    private void compute(Map<String, Map<String, Map>> rootMap, String rootKey, String ageCode, String diseaseType) {
@ -426,7 +426,7 @@ public class CurrentDayAllQuotaJob implements Job {
        }
    }
    private void computequota_1() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        //找出今天的签约信息 yesterday,now
        List<SignFamily> signFamilys = signFamilyDao.findByJiatingSignYesterdayExpensesStatus(now, tomorrow);
        Long cityCount = new Long(0L); //统计到市的数目
@ -520,14 +520,13 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent("1",signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent("1",signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------1----------");
    }
    private void computequota_2() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="2";
        //找出今天的解约信息
        List<SignFamily> signFamilys = signFamilyDao.findByJiatingSignYesterdayExpensesStatus(now,tomorrow);
@ -623,13 +622,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("----------2-----------");
    }
    private void computequota_3() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="3";
        //找出今天的咨询信息
        List<ConsultTeam> consultTeams = consultTeamDao.findByCzrqyYesterday(now,tomorrow);
@ -713,13 +711,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,consultTeams.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,consultTeams.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("----------3-----------");
    }
    private void computequota_4() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="4";
        //找出今天的随访信息
        List<Map<String,Object>> plans = getFvYesterday();
@ -817,14 +814,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,plans.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,plans.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------4----------");
    }
    private void computequota_5() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="5";
        List<PatientHealthGuidance> patientHealthGuidances = patientHealthGuidanceDao.findByCzrqyYesterday(now,tomorrow);
@ -915,14 +910,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,patientHealthGuidances.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,patientHealthGuidances.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------5----------");
    }
    private void computequota_6() throws Exception {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="6";
        //找出今天的签约信息
        List<SignFamily> signFamilys = signFamilyDao.findByJiatingSignYesterdayExpensesStatus(now, tomorrow);
@ -1018,14 +1011,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------6----------");
    }
    private void computequota_7() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="7";
        String now = getDayString(0);
        String tomorrow = getDayString(1);
@ -1444,15 +1435,12 @@ public class CurrentDayAllQuotaJob implements Job {
            jsonObject.put("date", DateUtil.dateToStrLong(new Date()));
            redisTemplate.opsForValue().set(new StringBuffer("quota:7:2:6:"+hospitalEntry.getKey()).toString(),jsonObject.toString());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("----------7-----------");
    }
    private void computequota_8()throws Exception {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="8";
        //找出今天的签约信息
        List<SignFamily> signFamilys = signFamilyDao.findByJiatingSignYesterdayExpensesStatus(now, tomorrow);
@ -1547,13 +1535,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("----------8-----------");
    }
    private void computequota_9() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="9";
        //找出今天的待签约信息
        List<SignFamily> signFamilys = signFamilyDao.findByJiatingWaitSignYesterdayExpensesStatus(now,tomorrow);
@ -1649,13 +1636,12 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("----------9-----------");
    }
    private void computequota_10() {
        StringBuffer errorContent=new StringBuffer();
         errorContent=new StringBuffer();
        String quotaId="10";
        //查找出系统全部的全科医生
        List<AdminTeam> adminTeams=doctorAdminTeamDao.findAllTeam();
@ -1769,8 +1755,7 @@ public class CurrentDayAllQuotaJob implements Job {
            e.printStackTrace();
            errorContent.append("统计失败:"+e.getMessage());
        }
        saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount);
        allContent.append(errorContent);
        allContent.append(saveContent(quotaId,signFamilys.size(),adminCount,orgCount,townCount,cityCount,isAll,errorContent,errorCount));
        allContent.append("-----------10----------");
    }

+ 21 - 15
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/FollowUpJob.java

@ -75,23 +75,29 @@ public class FollowUpJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        fvdataSource.setDriverClassName(fv_jdbc_driver);
        fvdataSource.setUrl(fv_jdbc_url);
        fvdataSource.setUsername(fv_jdbc_username);
        fvdataSource.setPassword(fv_jdbc_password);
        //计算指标
        jdbcTemplate.setDataSource(fvdataSource);//初始化随访的数据源
        //線刪除今天的数据
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            fvdataSource.setDriverClassName(fv_jdbc_driver);
            fvdataSource.setUrl(fv_jdbc_url);
            fvdataSource.setUsername(fv_jdbc_username);
            fvdataSource.setPassword(fv_jdbc_password);
            //计算指标
            jdbcTemplate.setDataSource(fvdataSource);//初始化随访的数据源
            //線刪除今天的数据
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        computequota();
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    @Transactional

+ 15 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/HealthGuideJob.java

@ -60,15 +60,21 @@ public class HealthGuideJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        //计算指标
        computequota();
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    @Transactional

+ 14 - 8
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignAgeGroupDiseaseJob.java

@ -59,15 +59,21 @@ public class SignAgeGroupDiseaseJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now = StringUtils.isEmpty(map.get("now")) ? SignAgeGroupDiseaseJob.getDayString(0) : map.get("now").toString();
        yesterday = StringUtils.isEmpty(map.get("yesterday")) ? SignAgeGroupDiseaseJob.getDayString(-1) : map.get("yesterday").toString();
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            now = StringUtils.isEmpty(map.get("now")) ? SignAgeGroupDiseaseJob.getDayString(0) : map.get("now").toString();
            yesterday = StringUtils.isEmpty(map.get("yesterday")) ? SignAgeGroupDiseaseJob.getDayString(-1) : map.get("yesterday").toString();
        computequotaByPatientAge();
            computequotaByPatientAge();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**
     * 机构维度患者年龄维度计算指标

+ 38 - 32
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignJob.java

@ -77,41 +77,47 @@ public class SignJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now = StringUtils.isEmpty(map.get("now")) ? SignJob.getDayString(0) : map.get("now").toString();
        yesterday = StringUtils.isEmpty(map.get("yesterday")) ? SignJob.getDayString(-1) : map.get("yesterday").toString();
        String level1 = wlyyQuota.getLevel1();//得到一级维度
        String level2 = wlyyQuota.getLevel2();//得到二级维度
        //如果一级维度为空 不进行统计
        if (!StringUtils.isEmpty(level1)) {
            if (StringUtils.isEmpty(level2)) {
                //線刪除今天的数据
                //2级维度是空按照一级的机构唯独计算指标
                computequota();
            } else {
                switch (level2) {
                    case "1": {
                        //線刪除今天的数据
                        //患者性别
                        computequotaByPatientSex();
                        break;
                    }
                    case "2": {
                        //患者分组
                        computequotaByPatientGroup();
                        break;
                    }
                    case "3": {
                        //患者年龄
                        computequotaByPatientAge();
                        break;
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            now = StringUtils.isEmpty(map.get("now")) ? SignJob.getDayString(0) : map.get("now").toString();
            yesterday = StringUtils.isEmpty(map.get("yesterday")) ? SignJob.getDayString(-1) : map.get("yesterday").toString();
            String level1 = wlyyQuota.getLevel1();//得到一级维度
            String level2 = wlyyQuota.getLevel2();//得到二级维度
            //如果一级维度为空 不进行统计
            if (!StringUtils.isEmpty(level1)) {
                if (StringUtils.isEmpty(level2)) {
                    //線刪除今天的数据
                    //2级维度是空按照一级的机构唯独计算指标
                    computequota();
                } else {
                    switch (level2) {
                        case "1": {
                            //線刪除今天的数据
                            //患者性别
                            computequotaByPatientSex();
                            break;
                        }
                        case "2": {
                            //患者分组
                            computequotaByPatientGroup();
                            break;
                        }
                        case "3": {
                            //患者年龄
                            computequotaByPatientAge();
                            break;
                        }
                    }
                }
            }
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }

+ 15 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnSignJob.java

@ -56,15 +56,21 @@ public class UnSignJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        //计算指标
        computequota();
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**

+ 15 - 9
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/WaitSignJob.java

@ -56,15 +56,21 @@ public class WaitSignJob implements Job {
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //初始化参数
        JobDataMap map = context.getJobDetail().getJobDataMap();
        wlyyQuota = (WlyyQuotaVO) map.get("quota");
        wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
        now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
        yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
        //计算指标
        computequota();
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            now= StringUtils.isEmpty(map.get("now"))?SignJob.getDayString(0):map.get("now").toString();
            yesterday= StringUtils.isEmpty(map.get("yesterday"))?SignJob.getDayString(-1):map.get("yesterday").toString();
            //计算指标
            computequota();
        }catch (Exception e){
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }
    /**

+ 12 - 10
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/check/CheckSignJob.java

@ -47,17 +47,19 @@ public class CheckSignJob implements Job{
    @Transactional
    public void execute(JobExecutionContext context) throws JobExecutionException {
        try{
        SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
        //得到需要检验的统计
        List<WlyyQuotaResult> wlyyQuotaResults=getNeedCheckData();
        //检验统计数据和签约数据是否一致  key:yes 是需要 no:是不需要
        Map<String,List<WlyyQuotaResult>> wlyyQuotaResultsMap=checkWlyyQuotaResult(wlyyQuotaResults);
        //更新不需要下一次统计的任务
        upDataNoNeedCheckQuato(wlyyQuotaResultsMap.get("no"));
        //添加需要重新统计的指标
        addNeedCheckQuato(wlyyQuotaResultsMap.get("yes"));
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //得到需要检验的统计
            List<WlyyQuotaResult> wlyyQuotaResults=getNeedCheckData();
            //检验统计数据和签约数据是否一致  key:yes 是需要 no:是不需要
            Map<String,List<WlyyQuotaResult>> wlyyQuotaResultsMap=checkWlyyQuotaResult(wlyyQuotaResults);
            //更新不需要下一次统计的任务
            upDataNoNeedCheckQuato(wlyyQuotaResultsMap.get("no"));
            //添加需要重新统计的指标
            addNeedCheckQuato(wlyyQuotaResultsMap.get("yes"));
        }catch (Exception e){
            e.printStackTrace();
            //如果出錯立即重新執行
            JobExecutionException e2 =new JobExecutionException(e);
            e2.setRefireImmediately(true);
        }
    }

+ 0 - 4
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/service/JobService.java

@ -151,7 +151,6 @@ public class JobService {
                params.put("yesterday", getYesterday(0 - i));
                if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {
                    quartzHelper.startNow(getRightClass(quartzJobConfig), quartzJobConfig.getId() + UUID.randomUUID(), params);
                    Thread.sleep(15000L);
                }
            }
        }
@ -193,7 +192,6 @@ public class JobService {
            params.put("yesterday", yesterday);
            if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {
                quartzHelper.startNow(getRightClass(quartzJobConfig), quartzJobConfig.getId() + UUID.randomUUID(), params);
                Thread.sleep(15000L);
            }
        }
@ -253,7 +251,6 @@ public class JobService {
        params.put("yesterday", yesterday);
        if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {
            quartzHelper.startNow(getRightClass(quartzJobConfig), quartzJobConfig.getId() + UUID.randomUUID(), params);
            Thread.sleep(15000L);
        }
    }
@ -317,7 +314,6 @@ public class JobService {
                params.put("yesterday", getYesterday(0 - i));
                if (!StringUtils.isEmpty(quartzJobConfig.getJobClass())) {
                    quartzHelper.startNow(getRightClass(quartzJobConfig), quartzJobConfig.getId() + UUID.randomUUID(), params);
                    Thread.sleep(15000L);
                }
            }
    }

+ 3 - 3
patient-co-statistics/src/main/resources/application.yml

@ -8,9 +8,9 @@ logging:
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    max-active: 20
    max-idle: 8
    min-idle: 8
    max-active: 30
    max-idle: 18
    min-idle: 18
    validation-query: SELECT 1
    test-on-borrow: true
  # REDIS

+ 2 - 2
patient-co-statistics/src/main/resources/quartz.properties

@ -9,11 +9,11 @@ org.quartz.scheduler.rmi.proxy: false
org.quartz.scheduler.wrapJobExecutionInUserTransaction: false
 
org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount: 5
org.quartz.threadPool.threadCount: 20
org.quartz.threadPool.threadPriority: 5
org.quartz.threadPool.threadsInheritContextClassLoaderOfInitializingThread: true
 
org.quartz.jobStore.misfireThreshold: 60000
org.quartz.jobStore.misfireThreshold: 3600000
 
#============================================================================
# Configure JobStore