| 
															
																@ -16,6 +16,8 @@ import com.yihu.wlyy.statistics.vo.WlyyJobConfigVO; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import com.yihu.wlyy.statistics.vo.WlyyQuotaVO; 
															 | 
															
															 | 
															
																import com.yihu.wlyy.statistics.vo.WlyyQuotaVO; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.json.JSONObject; 
															 | 
															
															 | 
															
																import org.json.JSONObject; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.quartz.*; 
															 | 
															
															 | 
															
																import org.quartz.*; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import org.slf4j.Logger; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																import org.slf4j.LoggerFactory; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.beans.factory.annotation.Autowired; 
															 | 
															
															 | 
															
																import org.springframework.beans.factory.annotation.Autowired; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.context.annotation.Scope; 
															 | 
															
															 | 
															
																import org.springframework.context.annotation.Scope; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																import org.springframework.jdbc.core.JdbcTemplate; 
															 | 
															
															 | 
															
																import org.springframework.jdbc.core.JdbcTemplate; 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -35,6 +37,8 @@ import java.util.Calendar; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																@Scope("prototype") 
															 | 
															
															 | 
															
																@Scope("prototype") 
															 | 
														
													
												
													
														
															| 
															 | 
															
																@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行 
															 | 
															
															 | 
															
																@DisallowConcurrentExecution//防止到了执行时间点前一任务还在执行中,但是这时有空闲的线程,那么马上又会执行,这样一来就会存在同一job被并行执行 
															 | 
														
													
												
													
														
															| 
															 | 
															
																public class SignJob implements Job { 
															 | 
															
															 | 
															
																public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																    private Logger logger = LoggerFactory.getLogger(SignJob.class); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private WlyyQuotaVO wlyyQuota;//指标对象 
															 | 
															
															 | 
															
																    private WlyyQuotaVO wlyyQuota;//指标对象 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private WlyyJobConfigVO wlyyJobConfig;//配置对象 
															 | 
															
															 | 
															
																    private WlyyJobConfigVO wlyyJobConfig;//配置对象 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Autowired 
															 | 
															
															 | 
															
																    @Autowired 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -58,7 +62,7 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Override 
															 | 
															
															 | 
															
																    @Override 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    public void execute(JobExecutionContext context) 
															 | 
															
															 | 
															
																    public void execute(JobExecutionContext context) 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            throws JobExecutionException { 
															 | 
															
															 | 
															
																            throws JobExecutionException { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        try{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this); 
															 | 
															
															 | 
															
																            SpringBeanAutowiringSupport.processInjectionBasedOnCurrentContext(this); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //初始化参数 
															 | 
															
															 | 
															
																            //初始化参数 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            JobDataMap map = context.getJobDetail().getJobDataMap(); 
															 | 
															
															 | 
															
																            JobDataMap map = context.getJobDetail().getJobDataMap(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -95,9 +99,10 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                    } 
															 | 
															
															 | 
															
																                    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																                } 
															 | 
															
															 | 
															
																                } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            } 
															 | 
															
															 | 
															
																            } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        }catch (Exception e){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //如果出錯立即重新執行 
															 | 
															
															 | 
															
																            //如果出錯立即重新執行 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            JobExecutionException e2 =new JobExecutionException(e); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            JobExecutionException e2 = new JobExecutionException(e); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            e2.setRefireImmediately(true); 
															 | 
															
															 | 
															
																            e2.setRefireImmediately(true); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -109,38 +114,40 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private void computequotaByPatientSex() { 
															 | 
															
															 | 
															
																    private void computequotaByPatientSex() { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='" + yesterday + "' and quato_code='" + 6 + "'"); 
															 | 
															
															 | 
															
																        jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='" + yesterday + "' and quato_code='" + 6 + "'"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        try{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //新建任务日志对象 
															 | 
															
															 | 
															
																            //新建任务日志对象 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
															
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobStartTime(new Date()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobStartTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //从缓存取数据 
															 | 
															
															 | 
															
																            //从缓存取数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            CacheModel cacheModel = cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //清洗數據 
															 | 
															
															 | 
															
																            //清洗數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            FilterModel etlModels= signDataFilter.filter(cacheModel.getSignFamilies(),SignDataFilter.level2Sex,cacheModel.getSql(),yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            FilterModel etlModels = signDataFilter.filter(cacheModel.getSignFamilies(), SignDataFilter.level2Sex, cacheModel.getSql(), yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 1级维度 
															 | 
															
															 | 
															
																            //统计数据 1级维度 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            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,3,1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, Map<String, List<ETLModel>>>> level2Data = level2Role.elt(returnDatas); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            //保存数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            dbStorage.saveByLevel2(level2Data, yesterday, wlyyQuota, 3, 1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存日志 
															 | 
															
															 | 
															
																            //保存日志 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError()?"1":"0"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError() ? "1" : "0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
															
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        }catch (Exception e){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            e.printStackTrace(); 
															 | 
															
															 | 
															
																            e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /** 
															 | 
															
															 | 
															
																    /** 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     * 机构维度患者分组维度计算指标 
															 | 
															
															 | 
															
																     * 机构维度患者分组维度计算指标 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Transactional 
															 | 
															
															 | 
															
																    @Transactional 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private void computequotaByPatientGroup() { 
															 | 
															
															 | 
															
																    private void computequotaByPatientGroup() { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        try{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='"+yesterday+"' and quato_code='"+7+"'"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='" + yesterday + "' and quato_code='" + 7 + "'"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //新建任务日志对象 
															 | 
															
															 | 
															
																            //新建任务日志对象 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
															
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobStartTime(new Date()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobStartTime(new Date()); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -152,23 +159,23 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //抽取數據 
															 | 
															
															 | 
															
																            //抽取數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql); 
															 | 
															
															 | 
															
																            //List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //从缓存取数据 
															 | 
															
															 | 
															
																            //从缓存取数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            CacheModel cacheModel = cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //清洗數據 
															 | 
															
															 | 
															
																            //清洗數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            FilterModel etlModels= signDataFilter.filter(cacheModel.getSignFamilies(),SignDataFilter.level2Group,cacheModel.getSql(),yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            FilterModel etlModels = signDataFilter.filter(cacheModel.getSignFamilies(), SignDataFilter.level2Group, cacheModel.getSql(), yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 1级维度 
															 | 
															
															 | 
															
																            //统计数据 1级维度 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, List<ETLModel>>> returnDatas = levelRole.elt(etlModels.getEtlModelList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 二级维度 
															 | 
															
															 | 
															
																            //统计数据 二级维度 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, Map<String, List<ETLModel>>>>  level2Data= level2Role.elt(returnDatas); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, Map<String, List<ETLModel>>>> level2Data = level2Role.elt(returnDatas); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存数据 1 表示:从1开始循环 6表示:循环6次 3表示 2级维度是 3 
															 | 
															
															 | 
															
																            //保存数据 1 表示:从1开始循环 6表示:循环6次 3表示 2级维度是 3 
															 | 
														
													
												
													
														
															| 
															 | 
															
																             dbStorage.saveByLevel2(level2Data,yesterday,wlyyQuota,7,3,-1); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            dbStorage.saveByLevel2(level2Data, yesterday, wlyyQuota, 7, 3, -1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //dbStorage.saveByLevel2(level2Data,yesterday,wlyyQuota,6,3,-1); 
															 | 
															
															 | 
															
																            //dbStorage.saveByLevel2(level2Data,yesterday,wlyyQuota,6,3,-1); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存日志 
															 | 
															
															 | 
															
																            //保存日志 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError()?"1":"0"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError() ? "1" : "0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
															
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        }catch (Exception e){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            e.printStackTrace(); 
															 | 
															
															 | 
															
																            e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -187,19 +194,21 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //从缓存取数据 
															 | 
															
															 | 
															
																            //从缓存取数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            CacheModel cacheModel = cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //清洗數據 
															 | 
															
															 | 
															
																            //清洗數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            FilterModel etlModels= signDataFilter.filter(cacheModel.getSignFamilies(),SignDataFilter.level2Age,cacheModel.getSql(),yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            FilterModel etlModels = signDataFilter.filter(cacheModel.getSignFamilies(), SignDataFilter.level2Age, cacheModel.getSql(), yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 1级维度 
															 | 
															
															 | 
															
																            //统计数据 1级维度 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, List<ETLModel>>> returnDatas = levelRole.elt(etlModels.getEtlModelList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 二级维度 
															 | 
															
															 | 
															
																            //统计数据 二级维度 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, Map<String, List<ETLModel>>>>  level2Data= level2Role.elt(returnDatas);; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, Map<String, List<ETLModel>>>> level2Data = level2Role.elt(returnDatas); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存数据 
															 | 
															
															 | 
															
																            //保存数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            dbStorage.saveByLevel2(level2Data,yesterday,wlyyQuota,6,2); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            dbStorage.saveByLevel2(level2Data, yesterday, wlyyQuota, 6, 2); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存日志 
															 | 
															
															 | 
															
																            //保存日志 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobEndTime(new Date());; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            ; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError()?"1":"0"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError() ? "1" : "0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
															
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } catch (Exception e) { 
															 | 
															
															 | 
															
																        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            e.printStackTrace(); 
															 | 
															
															 | 
															
																            e.printStackTrace(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -211,7 +220,7 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    @Transactional 
															 | 
															
															 | 
															
																    @Transactional 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    private void computequota() { 
															 | 
															
															 | 
															
																    private void computequota() { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        try{ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        try { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='" + yesterday + "' and quato_code='" + 1 + "'"); 
															 | 
															
															 | 
															
																            jdbcTemplate.execute("delete from wlyy_quota_result where quota_date='" + yesterday + "' and quato_code='" + 1 + "'"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //新建任务日志对象 
															 | 
															
															 | 
															
																            //新建任务日志对象 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
															
															 | 
															
																            QuartzJobLog quartzJobLog = new QuartzJobLog(); 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@ -219,26 +228,29 @@ public class SignJob implements Job { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobId(wlyyJobConfig.getId()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobName(wlyyJobConfig.getJobName()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //找出今天的签约信息 yesterday,now 
															 | 
															
															 | 
															
																            //找出今天的签约信息 yesterday,now 
															 | 
														
													
												
													
														
															| 
															 | 
															
																           // String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.expenses_time< '"+yesterday+ Constant.quota_date_last+"' and a.expenses_status=1 "; 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            // String sql=" select code,idcard,hospital,admin_team_code from wlyy_sign_family a where  a.type =2 and  a.expenses_time< '"+yesterday+ Constant.quota_date_last+"' and a.expenses_status=1 "; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //抽取數據 
															 | 
															
															 | 
															
																            //抽取數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																           // List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            // List<SignFamily> signFamilies= dbExtract.extract(SignFamily.class,sql); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //从缓存取数据 
															 | 
															
															 | 
															
																            //从缓存取数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            CacheModel cacheModel=cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            CacheModel cacheModel = cachePool.getSignFamilysWithExpenseStatus1ByDate(yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            logger.info("size:" + cacheModel.getSignFamilies().size()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            logger.info("sql:" + cacheModel.getSql()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //清洗數據 
															 | 
															
															 | 
															
																            //清洗數據 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            FilterModel etlModels= signDataFilter.filter(cacheModel.getSignFamilies(),cacheModel.getSql(),yesterday); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            FilterModel etlModels = signDataFilter.filter(cacheModel.getSignFamilies(), cacheModel.getSql(), yesterday); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //统计数据 
															 | 
															
															 | 
															
																            //统计数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            List<Map<String, List<ETLModel>>>  returnDatas= levelRole.elt(etlModels.getEtlModelList()); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            List<Map<String, List<ETLModel>>> returnDatas = levelRole.elt(etlModels.getEtlModelList()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存数据 
															 | 
															
															 | 
															
																            //保存数据 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            dbStorage.saveByLevel1(returnDatas,yesterday,wlyyQuota); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            dbStorage.saveByLevel1(returnDatas, yesterday, wlyyQuota); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            //保存日志 
															 | 
															
															 | 
															
																            //保存日志 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobEndTime(new Date()); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
															
															 | 
															
																            quartzJobLog.setJobContent(JsonUtil.objToStr(etlModels.getLogModel())); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError()?"1":"0"); 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																            quartzJobLog.setJobType(etlModels.getError() ? "1" : "0"); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
															
															 | 
															
																            quartzJobLogDao.save(quartzJobLog); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        }catch (Exception e){ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																        } catch (Exception e) { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																            e.printStackTrace(); 
															 | 
															
															 | 
															
																            e.printStackTrace(); 
															 | 
														
													
												
													
														
															| 
															 | 
															
																        } 
															 | 
															
															 | 
															
																        } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    } 
															 | 
															
															 | 
															
																    } 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    /* 
															 | 
															
															 | 
															
																    /* 
															 | 
														
													
												
													
														
															| 
															 | 
															
																    得到昨天的日期字符串  yyyy-MM-dd 
															 | 
															
															 | 
															
																    得到昨天的日期字符串  yyyy-MM-dd 
															 | 
														
													
												
													
														
															| 
															 | 
															
																     */ 
															 | 
															
															 | 
															
																     */ 
															 |