chenweida 8 tahun lalu
induk
melakukan
8daee96a32
15 mengubah file dengan 352 tambahan dan 360 penghapusan
  1. 3 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/CurrentDayAllQuotaJob.java
  2. 0 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgInJob.java
  3. 0 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgJob.java
  4. 1 2
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgOutJob.java
  5. 0 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignOrgReasonJob.java
  6. 2 4
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamJob.java
  7. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamOutJob.java
  8. 3 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTeamReasonJob.java
  9. 1 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownInJob.java
  10. 1 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownJob.java
  11. 1 3
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownOutJob.java
  12. 3 1
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/RenewSignTownReasonJob.java
  13. 112 112
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchOrgSignJob.java
  14. 112 112
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchTeamSignJob.java
  15. 112 112
      patient-co-statistics/src/main/java/com/yihu/wlyy/statistics/job/business/SwitchTownSignJob.java

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

@ -184,7 +184,7 @@ public class CurrentDayAllQuotaJob implements Job {
        computequota_34(); //续签团队签入
        computequota_35(); //统计团队签出
        computequota_36(sql, signFamilies, null); //签约服务类型
        computequota_37(); //统计团队转签
        //computequota_37(); //统计团队转签 没用指标
        computequota_38(); //续签机构签入
        computequota_39(); //统计机构签出
        computequota_40(); //续签区签入
@ -192,8 +192,8 @@ public class CurrentDayAllQuotaJob implements Job {
        computequota_42(); //统计团队续签
        computequota_43(); //统计社区续签
        computequota_44(); //统计区续签
        computequota_45(); //统计社区转签
        computequota_46(); //统计区转签
        //computequota_45(); //统计社区转签 没用指标
        //computequota_46(); //统计区转签  没用指标
        computequota_30(); //统计团队续签原因
        computequota_47(); //统计社区续签原因
        computequota_48(); //统计区续签原因

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

@ -85,7 +85,6 @@ public class RenewSignOrgInJob implements Job {
            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";

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

@ -86,7 +86,6 @@ public class RenewSignOrgJob implements Job {
                    "   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";
            //抽取數據

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

@ -82,10 +82,9 @@ public class RenewSignOrgOutJob 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 " +
            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<'"+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";

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

@ -88,7 +88,6 @@ public class RenewSignOrgReasonJob implements Job {
            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)+"'";
            //抽取數據

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

@ -82,13 +82,11 @@ public class RenewSignTeamJob 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 " +
            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.hospital)=10 " +
                    "   and LENGTH(fr.old_hospital)=10 ";
            //抽取數據
            List<SignFamilyRenew> signFamilies= dbExtract.extract(SignFamilyRenew.class,sql);

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

@ -82,7 +82,7 @@ public class RenewSignTeamOutJob 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 " +
            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<'"+ yesterday + Constant.quota_date_last+"'" +
                    "   and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'" +
                    "   and fr.admin_team_id!=fr.old_admin_team_id " +

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

@ -88,10 +88,10 @@ public class RenewSignTeamReasonJob implements Job {
            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)+"'";
                    "   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);
            //清洗數據

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

@ -82,11 +82,9 @@ public class RenewSignTownInJob 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 " +
            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<'"+ 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 ";

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

@ -82,7 +82,7 @@ public class RenewSignTownJob 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 " +
            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<'"+ yesterday + Constant.quota_date_last+"' " +
                    "  and fr.sign_year ='"+Constant.getNowYearByDate(yesterday)+"'   " +
                    "  and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6) " +

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

@ -82,11 +82,9 @@ public class RenewSignTownOutJob 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 " +
            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<'"+ 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 ";

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

@ -89,7 +89,9 @@ public class RenewSignTownReasonJob implements Job {
            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)+"'";
                    "  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);
            //清洗數據

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

@ -1,112 +1,112 @@
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.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
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.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 团转签的指标执行类
 */
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class SwitchOrgSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private Level1Role levelRole;
    @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='"+45+"'");
            //新建任务日志对象
            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.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);
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
            //统计数据
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //保存数据
            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
            //保存日志
            quartzJobLog.setJobEndTime(new Date());
            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
            quartzJobLogDao.save(quartzJobLog);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
//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.storage.DBStorage;
//import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
//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.util.Date;
//import java.util.List;
//import java.util.Map;
//
///**
// * 团转签的指标执行类
// */
//@Component
//@Scope("prototype")
//@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
//public class SwitchOrgSignJob implements Job {
//    private WlyyQuotaVO wlyyQuota;//指标对象
//    private WlyyJobConfigVO wlyyJobConfig;//配置对象
//    @Autowired
//    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//    @Autowired
//    private Level1Role levelRole;
//    @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='"+45+"'");
//
//            //新建任务日志对象
//            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.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);
//            //清洗數據
//            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
//            //统计数据
//            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
//            //保存数据
//            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
//            //保存日志
//            quartzJobLog.setJobEndTime(new Date());
//            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
//            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
//            quartzJobLogDao.save(quartzJobLog);
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//
//}

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

@ -1,112 +1,112 @@
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.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
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.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 团转签的指标执行类
 */
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class SwitchTeamSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private Level1Role levelRole;
    @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='"+37+"'");
            //新建任务日志对象
            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.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);
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
            //统计数据
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //保存数据
            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
            //保存日志
            quartzJobLog.setJobEndTime(new Date());
            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
            quartzJobLogDao.save(quartzJobLog);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
//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.storage.DBStorage;
//import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
//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.util.Date;
//import java.util.List;
//import java.util.Map;
//
///**
// * 团转签的指标执行类
// */
//@Component
//@Scope("prototype")
//@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
//public class SwitchTeamSignJob implements Job {
//    private WlyyQuotaVO wlyyQuota;//指标对象
//    private WlyyJobConfigVO wlyyJobConfig;//配置对象
//    @Autowired
//    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//    @Autowired
//    private Level1Role levelRole;
//    @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='"+37+"'");
//
//            //新建任务日志对象
//            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.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);
//            //清洗數據
//            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
//            //统计数据
//            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
//            //保存数据
//            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
//            //保存日志
//            quartzJobLog.setJobEndTime(new Date());
//            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
//            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
//            quartzJobLogDao.save(quartzJobLog);
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//
//}

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

@ -1,112 +1,112 @@
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.storage.DBStorage;
import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
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.util.Date;
import java.util.List;
import java.util.Map;
/**
 * 团转签的指标执行类
 */
@Component
@Scope("prototype")
@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
public class SwitchTownSignJob implements Job {
    private WlyyQuotaVO wlyyQuota;//指标对象
    private WlyyJobConfigVO wlyyJobConfig;//配置对象
    @Autowired
    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private Level1Role levelRole;
    @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='"+46+"'");
            //新建任务日志对象
            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.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);
            //清洗數據
            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
            //统计数据
            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
            //保存数据
            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
            //保存日志
            quartzJobLog.setJobEndTime(new Date());
            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
            quartzJobLogDao.save(quartzJobLog);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
//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.storage.DBStorage;
//import com.yihu.wlyy.statistics.model.job.QuartzJobLog;
//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.util.Date;
//import java.util.List;
//import java.util.Map;
//
///**
// * 团转签的指标执行类
// */
//@Component
//@Scope("prototype")
//@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行
//public class SwitchTownSignJob implements Job {
//    private WlyyQuotaVO wlyyQuota;//指标对象
//    private WlyyJobConfigVO wlyyJobConfig;//配置对象
//    @Autowired
//    private QuartzJobLogDao quartzJobLogDao;//执行日志Dao
//    @Autowired
//    private JdbcTemplate jdbcTemplate;
//    @Autowired
//    private Level1Role levelRole;
//    @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='"+46+"'");
//
//            //新建任务日志对象
//            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.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);
//            //清洗數據
//            FilterModel etlModels= signDataFilter.filter(signFamilies,null,null,sql,yesterday);
//            //统计数据
//            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList());
//            //保存数据
//            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota);
//            //保存日志
//            quartzJobLog.setJobEndTime(new Date());
//            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel()));
//            quartzJobLog.setJobType(etlModels.getError()?"1":"0");
//            quartzJobLogDao.save(quartzJobLog);
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//
//}