Browse Source

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

yeshijie 8 năm trước cách đây
mục cha
commit
2cedf2a175
40 tập tin đã thay đổi với 369 bổ sung253 xóa
  1. 3 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/mycache/CachePool.java
  2. 2 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/AllSignExpenseStatusJob.java
  3. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ChangeSignJob.java
  4. 45 14
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/Constant.java
  5. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java
  6. 36 36
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  7. 4 4
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java
  8. 8 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignChangeHospitalJob.java
  9. 8 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignChangeTeamJob.java
  10. 8 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignChangeTownJob.java
  11. 5 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignJob.java
  12. 8 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgInJob.java
  13. 9 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgJob.java
  14. 8 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgOutJob.java
  15. 6 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgReasonJob.java
  16. 0 114
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignReasonJob.java
  17. 7 6
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignInJob.java
  18. 9 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamJob.java
  19. 7 6
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOutJob.java
  20. 6 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamReasonJob.java
  21. 9 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownInJob.java
  22. 7 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownJob.java
  23. 9 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownOutJob.java
  24. 5 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownReasonJob.java
  25. 8 6
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyConsultJob.java
  26. 8 6
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ReyTimeConsultJob.java
  27. 3 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignExpenseStatusJob.java
  28. 9 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchOrgSignJob.java
  29. 9 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchTeamSignJob.java
  30. 8 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchTownSignJob.java
  31. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnPaySignJob.java
  32. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnSignJob.java
  33. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/WaitSignJob.java
  34. 2 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java
  35. 5 2
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/message/MessageService.java
  36. 86 3
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java
  37. 3 3
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java
  38. 13 7
      patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java
  39. 1 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java
  40. 0 1
      patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/StatisticsController.java

+ 3 - 3
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/etl/mycache/CachePool.java

@ -51,9 +51,9 @@ public class CachePool {
        if(model==null){
            model=new CacheModel();
            String sql=" select id,code,idcard,hospital,admin_team_code,expenses_status,patient,server_type from wlyy_sign_family a " +
                    " where status in(1,2) and a.type =2  and expenses_status=1 and a.expenses_time< '"+date+ Constant.quota_date_last+"' and a.expenses_time >'"+Constant.getStartTime()+"'" ;
                    " where status in(1,2) and a.type =2  and expenses_status=1 and a.expenses_time< '"+date+ Constant.quota_date_last+"' and a.expenses_time >'"+Constant.getStartTimeByDate(date)+"'" ;
            String sqlCount="select count(id) from wlyy_sign_family a " +
                    " where  status in(1,2) and a.type =2 and expenses_status=1 and a.expenses_time< '"+date+ Constant.quota_date_last+"'  and a.expenses_time >'"+Constant.getStartTime()+"'" ;
                    " where  status in(1,2) and a.type =2 and expenses_status=1 and a.expenses_time< '"+date+ Constant.quota_date_last+"'  and a.expenses_time >'"+Constant.getStartTimeByDate(date)+"'" ;
            //抽取數據 分页抽取
            List<SignFamily> signFamiliesTemp= SpringUtil.getBean(DBExtract.class).extractByPage(SignFamily.class,sql,sqlCount,true);
            model.setSql(sql);
@ -171,7 +171,7 @@ public class CachePool {
    public static void cleanAllCache() {
        arriveSignFamilyExpenseStatus1Map.clear();
        patientGroup.clear();;
        patientGroup.clear();
        diseaseGroup.clear();
        healthGroup.clear();
    }

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

@ -92,8 +92,8 @@ public class AllSignExpenseStatusJob implements Job{
            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(date);
            List<SignFamily> signFamilies_1=cacheModel.getSignFamilies();
            //抽取第二种条件的语句
            String sql=" select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and (expenses_status !=1 or expenses_status is null) and a.apply_date>'"+Constant.getStartTime()+"'";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2  and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'and (expenses_status !=1 or expenses_status is null)  and a.apply_date>'"+Constant.getStartTime()+"' ";
            String sql=" select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and (expenses_status !=1 or expenses_status is null) and a.apply_date>'"+Constant.getStartTimeByDate(date)+"'";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2  and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'and (expenses_status !=1 or expenses_status is null)  and a.apply_date>'"+Constant.getStartTimeByDate(date)+"' ";
            List<SignFamily> signFamilies_2= dbExtract.extractByPage(SignFamily.class,sql,sqlCount,true);
            //抽取的语句
            sql="select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"'";

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

@ -88,7 +88,7 @@ public class ChangeSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            //找出今天的已改簽信息
            String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status =100 and  a.patient_apply_date< '"+yesterday+ Constant.quota_date_last+"' and a.expenses_status=1 and  a.patient_apply_date>'"+Constant.getStartTime()+"'";
            String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status =100 and  a.patient_apply_date< '"+yesterday+ Constant.quota_date_last+"' and a.expenses_status=1 and  a.patient_apply_date>'"+Constant.getStartTimeByDate(yesterday)+"'";
            //抽取數據
            List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql);
            //清洗數據

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

@ -322,6 +322,50 @@ public class Constant {
        }
    }
    /**
     * 根据传入的时间判断年度
     * @param todayString
     * @return
     * @throws ParseException
     */
    public static String getStartTimeByDate(String todayString) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date today = simpleDateFormat.parse(todayString);
        String startDateString = (1900 + today.getYear()) + "-07-01";
        Date startDate = simpleDateFormat.parse(startDateString);
        if (simpleDateFormat.parse(todayString).after(startDate)) {
            Integer year = (1900 + today.getYear());
            if (year == 2016) {
                return "2015-06-30";
            } else {
                return year+ "-06-30";
            }
        } else {
            Integer year =  (1900 + today.getYear() - 1);
            if (year == 2016) {
                return "2015-06-30";
            } else {
                return year+ "-06-30";
            }
        }
    }
    public static String getNowYearByDate(String date) throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date today = new Date();
        String todayString = simpleDateFormat.format(today);
        String startDateString = (1900 + today.getYear()) + "-06-30";
        Date startDate = simpleDateFormat.parse(startDateString);
        if (simpleDateFormat.parse(todayString).after(startDate)) {
            return (1900 + today.getYear()) + "";
        } else {
            return (1900 + today.getYear() - 1) + "";
        }
    }
    public static String getStartYear() throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date today = new Date();
@ -348,7 +392,7 @@ public class Constant {
    }
    public static void main(String[] args) throws Exception {
        System.out.println(getStartYear());
        System.out.println(getStartTimeByDate("2017-07-01"));
    }
    public static String getReason(String key) {
@ -420,18 +464,5 @@ public class Constant {
        return "0";
    }
    public static String getNowYear() throws ParseException {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date today = new Date();
        String todayString = simpleDateFormat.format(today);
        String startDateString = (1900 + today.getYear()) + "-06-30";
        Date startDate = simpleDateFormat.parse(startDateString);
        if (simpleDateFormat.parse(todayString).after(startDate)) {
            return (1900 + today.getYear()) + "";
        } else {
            return (1900 + today.getYear() - 1) + "";
        }
    }
}

+ 1 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/ConsultTotalJob.java

@ -83,7 +83,7 @@ public class ConsultTotalJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >'"+Constant.getStartTime()+"'";
            String sql=" select admin_team_code,id from wlyy_consult_team a where a.czrq< '"+yesterday+ Constant.quota_date_last+"' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'";
            //抽取數據
            List<ConsultTeam> consultTeams= dbExtract.extract(ConsultTeam.class,sql);
            //過濾數據

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

@ -148,8 +148,8 @@ public class CurrentDayAllQuotaJob implements Job {
        quartzJobLog.setJobStartTime(new Date());
        allContent = new StringBuffer();
        //找出今天的签约信息 yesterday,now
        String sql = " select id,code,idcard,hospital,admin_team_code,expenses_status,patient,server_type from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.expenses_time< '" + tomorrow + "' and a.expenses_time >'"+Constant.getStartTime()+"' and a.expenses_status=1 ";
        String sqlCount = " select count(id) from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.expenses_time< '" + tomorrow + "' and a.expenses_time >'"+Constant.getStartTime()+"' and a.expenses_status=1 ";
        String sql = " select id,code,idcard,hospital,admin_team_code,expenses_status,patient,server_type from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.expenses_time< '" + tomorrow + "' and a.expenses_time >'"+Constant.getStartTimeByDate(tomorrow)+"' and a.expenses_status=1 ";
        String sqlCount = " select count(id) from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.expenses_time< '" + tomorrow + "' and a.expenses_time >'"+Constant.getStartTimeByDate(tomorrow)+"' and a.expenses_status=1 ";
        //抽取數據
        List<SignFamily> signFamilies = SpringUtil.getBean(DBExtract.class).extractByPage(SignFamily.class, sql, sqlCount, true);
@ -223,7 +223,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_37() {
        String quotaId = "37";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -279,7 +279,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -287,7 +287,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -296,9 +296,9 @@ public class CurrentDayAllQuotaJob implements Job {
            }
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'and a.consult in (" + sb.toString() + ")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'and a.consult ='noRey' ";
            }
            System.out.println("consultTeams num:" + consultTeams.size());
@ -331,7 +331,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -339,7 +339,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "' and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -393,7 +393,7 @@ public class CurrentDayAllQuotaJob implements Job {
                }
                if ((1 + 1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "' and a.consult in (" + sb.toString() + ")";
                    String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -401,7 +401,7 @@ public class CurrentDayAllQuotaJob implements Job {
                } else {
                    //判断是不是最后的一段
                    if (consultIdMaps.size() == (i + 1)) {
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'and a.consult in (" + sb.toString() + ")";
                        String sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -411,9 +411,9 @@ public class CurrentDayAllQuotaJob implements Job {
            String sql = "";
            //找出今天的咨询信息
            if (consultIdMaps.size() > 0) {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'and a.consult in (" + sb.toString() + ")";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'and a.consult in (" + sb.toString() + ")";
            } else {
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "' and a.consult ='Rey' ";
                sql = "select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "' and a.consult ='Rey' ";
            } //抽取數據
            List<ConsultTeamDto> consultTeamDtos = getConsultTeams(ims, consultTeams);
@ -824,7 +824,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "2";
        try {
            //找出今天的解约信息
            String sql = " select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and a.status in(-3,-4) and  a.apply_unsign_date< '" + tomorrow + "' and a.apply_unsign_date >'"+Constant.getStartTime()+"' ";
            String sql = " select id,code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and a.status in(-3,-4) and  a.apply_unsign_date< '" + tomorrow + "' and a.apply_unsign_date >'"+Constant.getStartTimeByDate(tomorrow)+"' ";
            //抽取數據
            List<SignFamily> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamily.class, sql);
            //清洗數據
@ -976,7 +976,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_9() throws ParseException {
        String quotaId = "9";
        //找出今天的待签约信息
        String sql = " select id,code,idcard,hospital,admin_team_code,doctor,doctor_health from wlyy_sign_family a where   a.type =2  and a.status=0 and  a.patient_apply_date< '" + tomorrow + "' and a.patient_apply_date >'"+Constant.getStartTime()+"'  ";
        String sql = " select id,code,idcard,hospital,admin_team_code,doctor,doctor_health from wlyy_sign_family a where   a.type =2  and a.status=0 and  a.patient_apply_date< '" + tomorrow + "' and a.patient_apply_date >'"+Constant.getStartTimeByDate(tomorrow)+"'  ";
        try {
            //抽取數據
            List<SignFamily> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamily.class, sql);
@ -998,7 +998,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "10";
        try {
            //找出今天的已改簽信息
            String sql = " select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status =100 and   a.patient_apply_date< '" + tomorrow + "' and a.patient_apply_date >'"+Constant.getStartTime()+"' and a.expenses_status=1 ";
            String sql = " select id,code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status =100 and   a.patient_apply_date< '" + tomorrow + "' and a.patient_apply_date >'"+Constant.getStartTimeByDate(tomorrow)+"' and a.expenses_status=1 ";
            //抽取數據
            List<SignFamily> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamily.class, sql);
            //清洗數據
@ -1019,7 +1019,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "25";
        try {
            //找出总的咨询信息
            String sql = " select * from wlyy_consult_team a where a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTime() + "'";
            String sql = " select * from wlyy_consult_team a where a.czrq< '" + tomorrow + "' and  a.czrq> '" + Constant.getStartTimeByDate(tomorrow) + "'";
            //抽取數據
            List<ConsultTeam> consultTeams = SpringUtil.getBean(DBExtract.class).extract(ConsultTeam.class, sql);
            //過濾數據
@ -1040,7 +1040,7 @@ public class CurrentDayAllQuotaJob implements Job {
        String quotaId = "26";
        try {
            //找出今天统计未缴费签约总数
            String sql = "select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.status>0  and  a.apply_date< '" + tomorrow + "' and  a.apply_date> '" + Constant.getStartTime() + "'  and a.expenses_status=0 ";
            String sql = "select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.status>0  and  a.apply_date< '" + tomorrow + "' and  a.apply_date> '" + Constant.getStartTimeByDate(tomorrow) + "'  and a.expenses_status=0 ";
            //抽取數據
            List<SignFamily> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamily.class, sql);
            //清洗數據
@ -1140,7 +1140,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_29() {
        String quotaId = "29";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1160,7 +1160,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_30() {
        String quotaId = "30";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where fr.old_admin_team_id=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where fr.old_admin_team_id=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1182,7 +1182,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_47() {
        String quotaId = "47";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1204,7 +1204,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_48() {
        String quotaId = "48";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1226,7 +1226,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_31() {
        String quotaId = "31";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where    fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)" ;
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where    fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)" ;
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1246,7 +1246,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_32() {
         String quotaId = "32";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1266,7 +1266,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_33() {
        String quotaId = "33";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) ";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1286,7 +1286,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_34() {
        String quotaId = "34";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1306,7 +1306,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_35() {
        String quotaId = "35";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where    fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where    fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1325,7 +1325,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_38() {
        String quotaId = "38";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id  and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id  and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1345,7 +1345,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_39() {
        String quotaId = "39";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1369,7 +1369,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_40() {
        String quotaId = "40";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1389,7 +1389,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_41() {
        String quotaId = "41";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6)  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6)  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1409,7 +1409,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_42() {
        String quotaId = "42";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id=fr.old_admin_team_id  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and fr.admin_team_id=fr.old_admin_team_id  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1428,7 +1428,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_43() {
        String quotaId = "43";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'and  fr.hospital=fr.old_hospital  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'and  fr.hospital=fr.old_hospital  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1447,7 +1447,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_44() {
        String quotaId = "44";
        try {
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and  LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "' and  LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1466,7 +1466,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_45() {
        String quotaId = "45";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據
@ -1485,7 +1485,7 @@ public class CurrentDayAllQuotaJob implements Job {
    private void computequota_46() {
        String quotaId = "46";
        try {
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYearByDate(tomorrow) + "'";
            //抽取數據
            List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
            //清洗數據

+ 4 - 4
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/NoReyConsultJob.java

@ -104,7 +104,7 @@ public class NoReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTime()+"'";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -112,7 +112,7 @@ public class NoReyConsultJob implements Job {
                }else{
                    //判断是不是最后的一段
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTime()+"'";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ") and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -122,9 +122,9 @@ public class NoReyConsultJob implements Job {
            String sql = "";
            if (consultIdMaps.size() > 0) {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTime()+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult in (" + sb.toString() + ")  and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            } else {
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTime()+"'";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.consult ='noRey' and a.czrq>'"+Constant.getStartTimeByDate(yesterday)+"'";
            }
            //過濾數據
            FilterModel etlModels = consultDataFilter.filter(consultTeams, sql, yesterday);

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

@ -87,7 +87,14 @@ public class RenewSignChangeHospitalJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+ Constant.quota_date_last+"' and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+yesterday+ Constant.quota_date_last+"' " +
                    " and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"' " +
                    " and fr.admin_team_id!=fr.old_admin_team_id " +
                    " and fr.hospital!=fr.old_hospital " +
                    " and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    " and LENGTH(fr.hospital)=10 " +
                    " and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -86,7 +86,14 @@ public class RenewSignChangeTeamJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+ Constant.quota_date_last+"' and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10" ;
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+yesterday+ Constant.quota_date_last+"' " +
                    " and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"' " +
                    " and fr.admin_team_id!=fr.old_admin_team_id " +
                    " and fr.hospital=fr.old_hospital " +
                    " and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    " and LENGTH(fr.hospital)=10 " +
                    " and LENGTH(fr.old_hospital)=10" ;
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -87,7 +87,14 @@ public class RenewSignChangeTownJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+yesterday+ Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+yesterday+ Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "  and fr.admin_team_id!=fr.old_admin_team_id" +
                    "  and fr.hospital!=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 5 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignJob.java

@ -87,7 +87,11 @@ public class RenewSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    " fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    " and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"' " +
                    " and LENGTH(fr.hospital)=10 " +
                    " and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,14 +75,20 @@ public class RenewSignOrgInJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+34+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+38+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id  and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  " +
                    "  fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "  and fr.admin_team_id!=fr.old_admin_team_id  " +
                    "  and fr.hospital!=fr.old_hospital " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -70,19 +70,25 @@ public class RenewSignOrgJob implements Job {
    }
    /**
     * 计算指标
     * 计算指标RenewSignTownJob
     */
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+34+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+43+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'   and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "   fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'  " +
                    "  and fr.hospital=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)" +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,14 +75,20 @@ public class RenewSignOrgOutJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+34+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+39+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "  and fr.admin_team_id!=fr.old_admin_team_id" +
                    "  and fr.hospital!=fr.old_hospital" +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 6 - 2
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgReasonJob.java

@ -78,7 +78,7 @@ public class RenewSignOrgReasonJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+30+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+47+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
@ -86,7 +86,11 @@ public class RenewSignOrgReasonJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and  fr.sign_year<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where" +
                    "   fr.hospital=fr.old_hospital " +
                    "   and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "   and fr.sign_year<'"+yesterday+Constant.quota_date_last+"' " +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 0 - 114
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignReasonJob.java

@ -1,114 +0,0 @@
package com.yihu.wlyy.statistics.job.business;
import com.yihu.wlyy.statistics.dao.QuartzJobLogDao;
import com.yihu.wlyy.statistics.etl.dataFilter.RenewSignDataFilter;
import com.yihu.wlyy.statistics.etl.extract.DBExtract;
import com.yihu.wlyy.statistics.etl.model.ETLModel;
import com.yihu.wlyy.statistics.etl.model.FilterModel;
import com.yihu.wlyy.statistics.etl.role.Level1Role;
import com.yihu.wlyy.statistics.etl.role.Level2Role;
import com.yihu.wlyy.statistics.etl.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
import com.yihu.wlyy.statistics.model.signfamily.SignFamily;
import com.yihu.wlyy.statistics.model.signfamily.SignFamilyRenew;
import com.yihu.wlyy.statistics.util.JsonUtil;
import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
import com.yihu.wlyy.statistics.vo.WlyyQuotaVO;
import org.quartz.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 续签签约原因的指标执行类
 */
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class RenewSignReasonJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private Level1Role levelRole;
    @Autowired
    private Level2Role level2Role;
    @Autowired
    private DBStorage dbStorage;
    @Autowired
    private DBExtract dbExtract;
    @Autowired
    private RenewSignDataFilter signDataFilter;
    String yesterday;
    String daybefore;
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        try{
            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this);
            //初始化参数
            JobDataMap map = context.getJobDetail().getJobDataMap();
            wlyyQuota = (WlyyQuotaVO) map.get("quota");
            wlyyJobConfig = (WlyyJobConfigVO) map.get("jobConfig");
            daybefore= StringUtils.isEmpty(map.get("daybefore"))?SignJob.getDayString(-2):map.get("daybefore").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() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+30+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.sign_year<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies,"1",null,sql,yesterday);
            //统计数据
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //统计数据 二级维度
            List<Map<String, Map<String, List<ETLModel>>>> level2Data= level2Role.elt(returnDatas);
            //数据转换
            dbStorage.saveByLevel2(level2Data,yesterday,wlyyQuota,6,9,1);
            //保存日志
            quartzJobLog.setJobEndTime(new Date());
            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
            quartzJobLogDao.save(quartzJobLog);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

+ 7 - 6
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignInJob.java

@ -2,14 +2,12 @@ package com.yihu.wlyy.statistics.job.business;
import com.yihu.wlyy.statistics.dao.QuartzJobLogDao;
import com.yihu.wlyy.statistics.etl.dataFilter.RenewSignDataFilter;
import com.yihu.wlyy.statistics.etl.dataFilter.SignDataFilter;
import com.yihu.wlyy.statistics.etl.extract.DBExtract;
import com.yihu.wlyy.statistics.etl.model.ETLModel;
import com.yihu.wlyy.statistics.etl.model.FilterModel;
import com.yihu.wlyy.statistics.etl.role.Level1Role;
import com.yihu.wlyy.statistics.etl.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
import com.yihu.wlyy.statistics.model.signfamily.SignFamily;
import com.yihu.wlyy.statistics.model.signfamily.SignFamilyRenew;
import com.yihu.wlyy.statistics.util.JsonUtil;
import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
@ -23,8 +21,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -35,7 +31,7 @@ import java.util.Map;
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class RenewSignInJob implements Job {
public class RenewSignTeamInJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
@ -86,7 +82,12 @@ public class RenewSignInJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "  and fr.admin_team_id!=fr.old_admin_team_id " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,14 +75,21 @@ public class RenewSignTeamJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+35+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+42+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id=fr.old_admin_team_id and fr.hospital=fr.old_hospital   and LEFT(fr.hospital,6)==LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where " +
                    "   fr.apply_date<'"+ yesterday + Constant.quota_date_last+"' " +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"' " +
                    "   and fr.admin_team_id=fr.old_admin_team_id " +
                    "   and fr.hospital=fr.old_hospital   " +
                    "   and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "   and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 7 - 6
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOutJob.java

@ -2,14 +2,12 @@ package com.yihu.wlyy.statistics.job.business;
import com.yihu.wlyy.statistics.dao.QuartzJobLogDao;
import com.yihu.wlyy.statistics.etl.dataFilter.RenewSignDataFilter;
import com.yihu.wlyy.statistics.etl.dataFilter.SignDataFilter;
import com.yihu.wlyy.statistics.etl.extract.DBExtract;
import com.yihu.wlyy.statistics.etl.model.ETLModel;
import com.yihu.wlyy.statistics.etl.model.FilterModel;
import com.yihu.wlyy.statistics.etl.role.Level1Role;
import com.yihu.wlyy.statistics.etl.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
import com.yihu.wlyy.statistics.model.signfamily.SignFamily;
import com.yihu.wlyy.statistics.model.signfamily.SignFamilyRenew;
import com.yihu.wlyy.statistics.util.JsonUtil;
import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO;
@ -23,8 +21,6 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -35,7 +31,7 @@ import java.util.Map;
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class RenewSignOutJob implements Job {
public class RenewSignTeamOutJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
@ -86,7 +82,12 @@ public class RenewSignOutJob implements Job {
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'" +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "   and fr.admin_team_id!=fr.old_admin_team_id " +
                    "   and LENGTH(fr.hospital)=10 " +
                    "   and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 6 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamReasonJob.java

@ -86,7 +86,12 @@ public class RenewSignTeamReasonJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.admin_team_id=fr.old_admin_team_id and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.sign_year<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where " +
                    "  fr.admin_team_id=fr.old_admin_team_id " +
                    "  and fr.hospital=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "  and fr.sign_year<'"+yesterday+Constant.quota_date_last+"' " +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,14 +75,21 @@ public class RenewSignTownInJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+35+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+40+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'" +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "   and fr.admin_team_id!=fr.old_admin_team_id " +
                    "   and fr.hospital!=fr.old_hospital " +
                    "   and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) " +
                    "   and LENGTH(fr.hospital)=10" +
                    "    and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 7 - 2
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownJob.java

@ -75,14 +75,19 @@ public class RenewSignTownJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+35+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+44+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'   and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'   " +
                    "  and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,14 +75,21 @@ public class RenewSignTownOutJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+35+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+41+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
            quartzJobLog.setJobStartTime(new Date());
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"' and fr.admin_team_id!=fr.old_admin_team_id and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6)  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
            String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_code from wlyy_sign_family_renew_log fr where " +
                    "  fr.apply_date<'"+ yesterday + Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "  and fr.admin_team_id!=fr.old_admin_team_id" +
                    "  and fr.hospital!=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6)  " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 5 - 2
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownReasonJob.java

@ -78,7 +78,7 @@ public class RenewSignTownReasonJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+30+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+48+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
@ -86,7 +86,10 @@ public class RenewSignTownReasonJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and fr.sign_year<'"+yesterday+Constant.quota_date_last+"'  and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where" +
                    "  LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "  and fr.sign_year<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -23,6 +23,7 @@ import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar;
@ -106,7 +107,7 @@ public class ReyConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -114,7 +115,7 @@ public class ReyConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -124,9 +125,9 @@ public class ReyConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            } //抽取數據
            System.out.println("consultTeams num"+consultTeams.size());
@ -162,7 +163,7 @@ public class ReyConsultJob implements Job {
     * 名医有算 求助没有
     * @return
     */
    public List<String> getConsultIdsByIm() {
    public List<String> getConsultIdsByIm() throws Exception {
        String sql = "SELECT DISTINCT t.id consultId " +
                " FROM " +
                " topics t, " +
@ -176,7 +177,8 @@ public class ReyConsultJob implements Job {
                " AND s.business_type=2 " +
                " AND t.`reply`=1 " +
                " AND TIMESTAMPDIFF(SECOND  ,t.create_time,t.reply_time) <86400 AND TIMESTAMPDIFF(SECOND  ,t.create_time,t.reply_time) >0 "+
                " AND t.create_time< '" + yesterday + Constant.quota_date_last + "'";
                " AND t.create_time< '" + yesterday + Constant.quota_date_last + "' " +
                " And t.create_time>'"+Constant.getStartTimeByDate(yesterday)+"'";
        List<Map<String, Object>> ims = imjdbcTemplate.queryForList(sql);
        //得到医生的id
        List<String> ids = new ArrayList<>();

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

@ -26,6 +26,7 @@ import org.springframework.web.context.support.SpringBeanAutowiringSupport;
import javax.annotation.Resource;
import javax.sql.DataSource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Calendar;
@ -118,7 +119,7 @@ public class ReyTimeConsultJob implements Job {
                }
                if ((1+1) % 100 == 0) {
                    //每隔100统计一次
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"'and a.consult in (" + sb.toString() + ")";
                    String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"'and a.consult in (" + sb.toString() + ")";
                    //抽取數據
                    List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                    consultTeams.addAll(consultTeamsTemp);
@ -126,7 +127,7 @@ public class ReyTimeConsultJob implements Job {
                }else{
                    //判断是不是最后的剩下一端不能被100整除的
                    if(consultIdMaps.size()==(i+1)){
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult in (" + sb.toString() + ")";
                        String sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in (" + sb.toString() + ")";
                        //抽取數據
                        List<ConsultTeam> consultTeamsTemp = dbExtract.extract(ConsultTeam.class, sql);
                        consultTeams.addAll(consultTeamsTemp);
@ -136,9 +137,9 @@ public class ReyTimeConsultJob implements Job {
            String sql ="";
            if(consultIdMaps.size()>0){
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult in ("+sb.toString()+")";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a, where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult in ("+sb.toString()+")";
            }else{
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTime()+"' and a.consult ='noRey' ";
                sql = " select admin_team_code,id,consult from wlyy_consult_team a where  a.czrq< '" + yesterday + Constant.quota_date_last + "' and a.czrq >'"+Constant.getStartTimeByDate(yesterday)+"' and a.consult ='noRey' ";
            }
            //将两个数据库的结果集合并,避免跨库查询
@ -177,7 +178,7 @@ public class ReyTimeConsultJob implements Job {
     * 名医有算 求助没有
     * @return
     */
    public List<Map<String, Object>>  getConsultIdsByIm() {
    public List<Map<String, Object>>  getConsultIdsByIm() throws Exception {
        String sql = "SELECT DISTINCT t.id consultId ,t.reply_time replyTime" +
                " FROM " +
                " topics t, " +
@ -191,7 +192,8 @@ public class ReyTimeConsultJob implements Job {
                " AND s.business_type=2 " +
                " AND t.`reply`=1 " +
                " AND TIMESTAMPDIFF(SECOND  ,t.create_time,t.reply_time) <86400 AND TIMESTAMPDIFF(SECOND  ,t.create_time,t.reply_time) >0 "+
                " AND t.create_time< '" + yesterday + Constant.quota_date_last + "'";
                " AND t.create_time< '" + yesterday + Constant.quota_date_last + "'" +
                " AND t.create_time>'"+Constant.getStartTimeByDate(yesterday)+"'";
        List<Map<String, Object>> ims = imjdbcTemplate.queryForList(sql);
        return ims;

+ 3 - 3
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SignExpenseStatusJob.java

@ -90,12 +90,12 @@ public class SignExpenseStatusJob implements Job{
            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(date);
            List<SignFamily> signFamilies_1=cacheModel.getSignFamilies();
            //抽取第二种条件的语句
            String sql=" select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTime()+"'and (expenses_status !=1 or expenses_status is null)";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTime()+"'and (expenses_status !=1 or expenses_status is null)  ";
            String sql=" select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTimeByDate(date)+"'and (expenses_status !=1 or expenses_status is null)";
            String sqlCount=" select count(id) from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTimeByDate(date)+"'and (expenses_status !=1 or expenses_status is null)  ";
            List<SignFamily> signFamilies_2= dbExtract.extractByPage(SignFamily.class,sql,sqlCount,true);
            signFamilies_2.addAll(signFamilies_1);
            //抽取的语句
            sql="select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTime()+"'";
            sql="select code,idcard,hospital,admin_team_code,expenses_status from wlyy_sign_family a where  a.type =2 and status in (1,2) and  a.apply_date< '"+date+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTimeByDate(date)+"'";
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies_2, SignDataFilter.level2Expenses,sql,date);
            //统计数据

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

@ -75,7 +75,7 @@ public class SwitchOrgSignJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+37+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+45+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
@ -83,7 +83,14 @@ public class SwitchOrgSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 and fr.apply_date<'"+yesterday+Constant.quota_date_last+"' and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where" +
                    " fr.old_admin_team_id!=fr.admin_team_id " +
                    " and fr.hospital!=fr.old_hospital " +
                    " and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    " and LENGTH(fr.hospital)=10 " +
                    " and LENGTH(fr.old_hospital)=10 " +
                    " and fr.apply_date<'"+yesterday+Constant.quota_date_last+"'" +
                    " and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -75,7 +75,7 @@ public class SwitchTeamSignJob implements Job {
    @Transactional
    private void computequota() {
        try{
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+45+"'");
            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+37+"'");
            //新建任务日志对象
            QuartzJobLog quartzJobLog = new QuartzJobLog();
@ -83,7 +83,14 @@ public class SwitchTeamSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where fr.old_admin_team_id!=fr.admin_team_id and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 and fr.apply_date<'"+yesterday+Constant.quota_date_last+"' and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    " fr.old_admin_team_id!=fr.admin_team_id " +
                    "  and fr.hospital=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10 " +
                    "  and fr.apply_date<'"+yesterday+Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

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

@ -83,7 +83,14 @@ public class SwitchTownSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 and fr.apply_date<'"+yesterday+Constant.quota_date_last+"' and fr.sign_year ='"+Constant.getNowYear()+"'";
            String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where " +
                    " fr.old_admin_team_id!=fr.admin_team_id " +
                    "  and fr.hospital!=fr.old_hospital " +
                    "  and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) " +
                    "  and LENGTH(fr.hospital)=10 " +
                    "  and LENGTH(fr.old_hospital)=10 " +
                    "  and fr.apply_date<'"+yesterday+Constant.quota_date_last+"'" +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);
            //清洗數據

+ 1 - 1
patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/UnPaySignJob.java

@ -85,7 +85,7 @@ public class UnPaySignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            //找出今天未缴费签约信息
            String sql="select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.status>0  and a.apply_date< '"+yesterday+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTime()+"' and a.expenses_status=0 ";
            String sql="select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.status>0  and a.apply_date< '"+yesterday+ Constant.quota_date_last+"' and a.apply_date >'"+Constant.getStartTimeByDate(yesterday)+"' and a.expenses_status=0 ";
            //抽取數據
            List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql);
            //清洗數據

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

@ -88,7 +88,7 @@ public class UnSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            //找出今天的解约信息
            String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status in(-3,-4) and a.apply_unsign_date< '"+yesterday+ Constant.quota_date_last+"' and a.apply_unsign_date >'"+Constant.getStartTime()+"'";
            String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and a.status in(-3,-4) and a.apply_unsign_date< '"+yesterday+ Constant.quota_date_last+"' and a.apply_unsign_date >'"+Constant.getStartTimeByDate(yesterday)+"'";
            //抽取數據
            List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql);
            //清洗數據

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

@ -88,7 +88,7 @@ public class WaitSignJob implements Job {
            quartzJobLog.setJobId(wlyyJobConfig.getId());
            quartzJobLog.setJobName(wlyyJobConfig.getJobName());
            //找出今天的待签约信息
            String sql=" select code,idcard,hospital,admin_team_code,doctor,doctor_health from wlyy_sign_family a where  a.type =2  and a.status=0 and  a.patient_apply_date< '"+yesterday+ Constant.quota_date_last+"'  and a.patient_apply_date >'"+Constant.getStartTime()+"'  ";
            String sql=" select code,idcard,hospital,admin_team_code,doctor,doctor_health from wlyy_sign_family a where  a.type =2  and a.status=0 and  a.patient_apply_date< '"+yesterday+ Constant.quota_date_last+"'  and a.patient_apply_date >'"+Constant.getStartTimeByDate(yesterday)+"'  ";
            //抽取數據
            List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql);
            //清洗數據

+ 2 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/message/MessageDao.java

@ -34,8 +34,8 @@ public interface MessageDao extends PagingAndSortingRepository<Message, Long>, J
    @Query("update Message a set a.read = 0,a.over='0' where a.id = ?1")
    int read(long msgid);
    @Query("SELECT a FROM Message a WHERE a.sender=?1 AND a.receiver = ?2 and a.signStatus = ?3 and a.read=1")
    Message findUnreadSign(String sender, String receiver, String signStatus);
    @Query("SELECT a FROM Message a WHERE a.sender=?1 AND a.receiver = ?2 and a.signStatus = ?3 and a.read=1 ORDER BY czrq DESC")
    List<Message> findUnreadSign(String sender, String receiver, String signStatus);
    @Query(" from Message a where a.read = 1 and over ='1' and a.sender = ?1 and a.receiver=?2 and a.signStatus='1'")
    Message findByPatient(String patient,String doctor);

+ 5 - 2
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/message/MessageService.java

@ -226,8 +226,11 @@ public class MessageService extends BaseService {
     * 未读签约信息
     */
    public Message findUnreadSign(String sender, String receiver, String signStatus) {
        return messageDao.findUnreadSign(sender, receiver, signStatus);
        List<Message> messages = messageDao.findUnreadSign(sender, receiver, signStatus);
        if(messages!=null&&messages.size()>0){
            return messages.get(0);
        }
        return null;
    }
    public Page<Message> find(String doctor, String type, long id, int pagesize) {

+ 86 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/FamilyContractService.java

@ -3105,7 +3105,7 @@ public class FamilyContractService extends BaseService {
//                //未找到团队信息
//                return -5;
//            }
            //新建咨询团队组
            //新建咨询团队组逻辑
            DoctorTeam team = new DoctorTeam();
            String code = getCode();
            team.setCode(code);
@ -3123,7 +3123,7 @@ public class FamilyContractService extends BaseService {
                hdmb.setDel("1");
                hdmb.setCzrq(new Date());
                hdmb.setTeam(code);
                hdmb.setType(hd.getLevel());
                hdmb.setType(3);
                hdmb.setSignType("2");
                doctorTeamDoctor.save(hdmb);
            }else{
@ -3315,7 +3315,7 @@ public class FamilyContractService extends BaseService {
                hdmb.setDel("1");
                hdmb.setCzrq(new Date());
                hdmb.setTeam(code);
                hdmb.setType(hd.getLevel());
                hdmb.setType(3);
                hdmb.setSignType("2");
                doctorTeamDoctor.save(hdmb);
            }else{
@ -3612,6 +3612,89 @@ public class FamilyContractService extends BaseService {
        return rs;
    }
    public JSONObject getServerPatientListNum(Long teamCode,String level, String oldDoctorCode){
        String serverSql="SELECT " +
                " d.`code` As labelCode, " +
                " d.`name` AS label " +
                " FROM " +
                " wlyy_sign_dict d " +
                " WHERE " +
                " d.type IN ('1', '2') " +
                " AND d. YEAR = '"+DateUtil.getSignYear()+"' " +
                " AND d.`code` NOT IN ( " +
                " SELECT " +
                "  LEFT ( " +
                "   d. CODE, " +
                "   (INSTR(d. CODE, '-') - 1) " +
                "  ) AS CODE " +
                " FROM " +
                "  wlyy_sign_dict d " +
                " WHERE " +
                "  d. CODE LIKE '%-%' " +
                " GROUP BY " +
                "  CODE " +
                ")";
        String patientSql =" SELECT " +
                " s.patient, " +
                " s.server_type AS serverType, " +
                " s.special_population AS specialPopulation, " +
                " s.sign_year " +
                " FROM " +
                " wlyy_sign_family s " +
                " WHERE " +
                " s.`status` >= 0 " +
                " AND s.server_type IS NOT NULL AND s.server_type <>'3' "+
                " AND s.admin_team_code =" +teamCode;
        //1查询全科,其他查询健管师
        if("2".equals(level)){
            patientSql =  patientSql+" AND s.doctor ='"+oldDoctorCode+"'";
        }else{
            patientSql =  patientSql+" AND s.doctor_health ='"+oldDoctorCode+"'";
        }
        List<Map<String,Object>> patientList = jdbcTemplate.queryForList(patientSql);
        JSONObject rs = new JSONObject();
        rs.put("count",(patientList!=null&&patientList.size()>0)?patientList.size():0);
        List<Map<String,Object>> serlist = jdbcTemplate.queryForList(serverSql);
        if(serlist!=null&&serlist.size()>0){
            if(patientList!=null){
                for(Map<String,Object> map :serlist){
                    String labelCode = (String)map.get("labelCode");
                    List<Map<String,String>> codes = new ArrayList<>();
                    Iterator iterator = patientList.iterator();
                    while(iterator.hasNext()){
                        Map<String,Object> p =  ( Map<String,Object>)iterator.next();
                        String serverType = ((String)p.get("serverType"))==null?"":((String)p.get("serverType"));
                        if(labelCode.indexOf("-")==-1){
                            if(labelCode.equals(serverType)){
                                Map<String,String> code = new HashMap<>();
                                code.put("code",(String)p.get("patient"));
                                codes.add(code);
                                iterator.remove();
                            }
                        }else{
                            String[] key = labelCode.split("-");
                            if(key[0].equals(serverType)){
                                Map<String,String> code = new HashMap<>();
                                code.put("code",(String)p.get("patient"));
                                codes.add(code);
                                iterator.remove();
                            }
                        }
                    }
                    map.put("codes",codes);
                    map.put("number",(codes!=null&&codes.size()>0)?codes.size():0);
                }
            }
        }
        rs.put("patients",serlist);
        return rs;
    }
    public List<Map<String,Object>> patientGroupByServerType(String doctor) {
        // 先根据server_type分组查找wlyy_sign_family表中该医生的签约的患者,然后wlyy_sign_dict left join 得到全部的类型

+ 3 - 3
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/sign/SignWebService.java

@ -1133,7 +1133,7 @@ public class SignWebService extends BaseService {
                " AND a.sign_year = '"+DateUtil.getSignYear()+"' " +
                ")";
        List<Map<String, Object>> signFamilies = jdbcTemplate.queryForList(sql, new Object[]{doctor});
        List<Map<String, Object>> signFamilies = jdbcTemplate.queryForList(sql);
        if (signFamilies != null && signFamilies.size() > 0) {
            for (Map<String, Object> signFamily : signFamilies) {
@ -1956,7 +1956,7 @@ public class SignWebService extends BaseService {
        hdmb.setDel("1");
        hdmb.setCzrq(new Date());
        hdmb.setTeam(team.getCode());
        hdmb.setType(hd.getLevel());
        hdmb.setType(3);
        hdmb.setSignType("2");
        //新增团队成员
        doctorTeamMemberDao.save(hdmb);
@ -1987,7 +1987,7 @@ public class SignWebService extends BaseService {
        hdmb.setDel("1");
        hdmb.setCzrq(new Date());
        hdmb.setTeam(team.getCode());
        hdmb.setType(hd.getLevel());
        hdmb.setType(3);
        hdmb.setSignType("2");
        //新增团队成员
        doctorTeamMemberDao.save(hdmb);

+ 13 - 7
patient-co-wlyy/src/main/java/com/yihu/wlyy/service/app/statistics/StatisticsService.java

@ -4073,6 +4073,7 @@ public class StatisticsService extends BaseService {
        int changeTeam = getLevel1NumForRedis("31", level, code, timeKey);//夸团队的数目
        int changeHospital = getLevel1NumForRedis("32", level, code, timeKey);//夸社区的数目
        int changeTown = getLevel1NumForRedis("33", level, code, timeKey);//夸社区的数目
        jo.put("inNum", inNum);//今年的签入量
@ -4081,11 +4082,16 @@ public class StatisticsService extends BaseService {
        jo.put("switchHealth", switchJO);//今年的服务分布
        String changeTeamNum=getRangeNoLast(changeTeam, switchNum, 2);//跨团队转签率
        String changeHospNum=getRangeNoLast(changeHospital, switchNum, 2);//跨社区转签率
        String changeTownNum=(100-Double.valueOf(changeTeamNum)-Double.valueOf(changeHospNum))+"";//跨区转签率,解决算出来可能不是100%的问题 用扣的
        String changeTownNum="";
        if(changeTown==0){
            changeTownNum="0";
        }else{
            changeTownNum=(100-Double.valueOf(changeTeamNum)-Double.valueOf(changeHospNum))+"";//跨区转签率,解决算出来可能不是100%的问题 用扣的
        }
        jo.put("switchTeam", changeTeamNum);//今年的转签量
        jo.put("switchHospital", changeHospNum);//今年的转签量
        jo.put("switchTown", changeTownNum);//今年的转签量
        jo.put("switchTeam", changeTeamNum+"%");//今年的转签量
        jo.put("switchHospital", changeHospNum+"%");//今年的转签量
        jo.put("switchTown", changeTownNum+"%");//今年的转签量
        return jo;
    }
@ -4144,9 +4150,9 @@ public class StatisticsService extends BaseService {
    public String getRangeNoLast(int first, int second, int i) {
        if(second==0&&first>0){
            return "100%";
            return "100";
        }else if(second==0&&first==0){
            return "0%";
            return "0";
        }
        float size = (float) (first * 100) / second;
        DecimalFormat df = new DecimalFormat("0.00");//格式化小数,不足的补0
@ -4402,7 +4408,7 @@ public class StatisticsService extends BaseService {
        Integer coutYear = Integer.parseInt(year)+1;
        //及时回复数
        JSONArray rely = getQuotaList(level,lowlevel,area,coutYear,23);
         JSONArray rely = getQuotaList(level,lowlevel,area,coutYear,23);
        if(rely==null){
            return null;
        }

+ 1 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/sign/DoctorFamilyContractController.java

@ -227,7 +227,7 @@ public class DoctorFamilyContractController extends WeixinBaseController {
            //修改年度服务类型1.3.4需求
            if("1".equals(labelType)){
                JSONObject  rs =  familyContractService.getServerPatientList(teamCode);
                JSONObject  rs =  familyContractService.getServerPatientListNum(teamCode,level,oldDoctorCode);
                return write(200, "查询成功!", "data", rs);
            }

+ 0 - 1
patient-co-wlyy/src/main/java/com/yihu/wlyy/web/statistic/StatisticsController.java

@ -166,7 +166,6 @@ public class StatisticsController extends BaseController {
     */
    @RequestMapping("/lowlevel_increment")
    @ResponseBody
    @Deprecated
    public String getIndexLowLevelIncrement(@RequestParam(required = true) String startDate,
                                            @RequestParam(required = true) String endDate,
                                            @RequestParam(required = true) String area,