|  | @ -178,18 +178,25 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |         computequota_27();//统计代预约量
 | 
	
		
			
				|  |  |         computequota_28();//统计平均值
 | 
	
		
			
				|  |  |         computequota_29(); //统计续签
 | 
	
		
			
				|  |  |         computequota_30(); //统计续签原因
 | 
	
		
			
				|  |  |         computequota_31(); //统计续签夸团队
 | 
	
		
			
				|  |  |         computequota_32(); //统计续签夸社区
 | 
	
		
			
				|  |  |         computequota_33(); //统计续签夸区
 | 
	
		
			
				|  |  |         computequota_34(); //续签团队签入
 | 
	
		
			
				|  |  |         computequota_35(); //统计团队签出
 | 
	
		
			
				|  |  |         computequota_36(sql, signFamilies, null); //签约服务类型
 | 
	
		
			
				|  |  |         computequota_37(); //统计转签
 | 
	
		
			
				|  |  |         computequota_37(); //统计团队转签
 | 
	
		
			
				|  |  |         computequota_38(); //续签机构签入
 | 
	
		
			
				|  |  |         computequota_39(); //统计机构签出
 | 
	
		
			
				|  |  |         computequota_40(); //续签区签入
 | 
	
		
			
				|  |  |         computequota_41(); //统计区签出
 | 
	
		
			
				|  |  |         computequota_42(); //统计团队续签
 | 
	
		
			
				|  |  |         computequota_43(); //统计社区续签
 | 
	
		
			
				|  |  |         computequota_44(); //统计区续签
 | 
	
		
			
				|  |  |         computequota_45(); //统计社区转签
 | 
	
		
			
				|  |  |         computequota_46(); //统计区转签
 | 
	
		
			
				|  |  |         computequota_30(); //统计团队续签原因
 | 
	
		
			
				|  |  |         computequota_47(); //统计社区续签原因
 | 
	
		
			
				|  |  |         computequota_48(); //统计区续签原因
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         quartzJobLog.setJobContent(allContent.toString());
 | 
	
	
		
			
				|  | @ -216,7 +223,7 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |     private void computequota_37() {
 | 
	
		
			
				|  |  |         String quotaId = "37";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
	
		
			
				|  | @ -911,7 +918,6 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //统计数据 二级维度
 | 
	
		
			
				|  |  |             List<Map<String, Map<String, List<ETLModel>>>> level2Data = SpringUtil.getBean(Level2Role.class).elt(returnDatas);
 | 
	
		
			
				|  |  |             ;
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel2(level2Data, null, quotaId, 3, 1);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
	
		
			
				|  | @ -957,7 +963,6 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //统计数据 二级维度
 | 
	
		
			
				|  |  |             List<Map<String, Map<String, List<ETLModel>>>> level2Data = SpringUtil.getBean(Level2Role.class).elt(returnDatas);
 | 
	
		
			
				|  |  |             ;
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel2(level2Data, null, quotaId, 6, 2);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
	
		
			
				|  | @ -1155,7 +1160,7 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |     private void computequota_30() {
 | 
	
		
			
				|  |  |         String quotaId = "30";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where fr.old_admin_team_id=fr.admin_team_id  and fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
	
		
			
				|  | @ -1174,6 +1179,50 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |         allContent.append("-----------30----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private void computequota_47() {
 | 
	
		
			
				|  |  |         String quotaId = "47";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where  fr.hospital=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies,"1", sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //统计数据 二级维度
 | 
	
		
			
				|  |  |             List<Map<String, Map<String, List<ETLModel>>>> level2Data = SpringUtil.getBean(Level2Role.class).elt(returnDatas);
 | 
	
		
			
				|  |  |             //保存redis
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel2(level2Data, null, quotaId, 6, 9, 1);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------47----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private void computequota_48() {
 | 
	
		
			
				|  |  |         String quotaId = "48";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id,fr.renew_change_reason from wlyy_sign_family_renew_log fr where LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)  fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies,"1", sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //统计数据 二级维度
 | 
	
		
			
				|  |  |             List<Map<String, Map<String, List<ETLModel>>>> level2Data = SpringUtil.getBean(Level2Role.class).elt(returnDatas);
 | 
	
		
			
				|  |  |             //保存redis
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel2(level2Data, null, quotaId, 6, 9, 1);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------48----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private void computequota_31() {
 | 
	
		
			
				|  |  |         String quotaId = "31";
 | 
	
		
			
				|  |  |         try {
 | 
	
	
		
			
				|  | @ -1357,13 +1406,108 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |         allContent.append("-----------41----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private void computequota_42() {
 | 
	
		
			
				|  |  |         String quotaId = "42";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' and fr.admin_team_id=fr.old_admin_team_id  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies, sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel1(returnDatas, null, quotaId);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------42----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     private void computequota_43() {
 | 
	
		
			
				|  |  |         String quotaId = "43";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'and  fr.old_admin_team_id=fr.admin_team_id and fr.hospital=fr.old_hospital  and LENGTH(fr.hospital)=10 and LENGTH(fr.old_hospital)=10 ";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies, sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel1(returnDatas, null, quotaId);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------43----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     private void computequota_44() {
 | 
	
		
			
				|  |  |         String quotaId = "44";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql=" select fr.sign_code code,fr.old_hospital hospital,fr.old_admin_team_id admin_team_id from wlyy_sign_family_renew_log fr where   fr.apply_date<'"+ tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "' 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 ";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies, sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel1(returnDatas, null, quotaId);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------44----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     private void computequota_45() {
 | 
	
		
			
				|  |  |         String quotaId = "45";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id  and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)=LEFT(fr.old_hospital,6)and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies, sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel1(returnDatas, null, quotaId);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------45----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     private void computequota_46() {
 | 
	
		
			
				|  |  |         String quotaId = "46";
 | 
	
		
			
				|  |  |         try {
 | 
	
		
			
				|  |  |             String sql="select fr.sign_code code,fr.hospital,fr.admin_team_id from wlyy_sign_family_renew_log fr where  fr.old_admin_team_id!=fr.admin_team_id  and fr.hospital!=fr.old_hospital and LEFT(fr.hospital,6)!=LEFT(fr.old_hospital,6) and fr.apply_date<'"+tomorrow+"' and  fr.sign_year= '" + Constant.getNowYear() + "'";
 | 
	
		
			
				|  |  |             //抽取數據
 | 
	
		
			
				|  |  |             List<SignFamilyRenew> signFamilies = SpringUtil.getBean(DBExtract.class).extract(SignFamilyRenew.class, sql);
 | 
	
		
			
				|  |  |             //清洗數據
 | 
	
		
			
				|  |  |             FilterModel etlModels = SpringUtil.getBean(RenewSignDataFilter.class).filter(signFamilies, sql, "now");
 | 
	
		
			
				|  |  |             //统计数据
 | 
	
		
			
				|  |  |             List<Map<String, List<ETLModel>>> returnDatas = SpringUtil.getBean(Level1Role.class).elt(etlModels.getEtlModelList());
 | 
	
		
			
				|  |  |             //保存数据
 | 
	
		
			
				|  |  |             SpringUtil.getBean(RedisStorage.class).saveByLevel1(returnDatas, null, quotaId);
 | 
	
		
			
				|  |  |             allContent.append(JsonUtil.objToStr(etlModels.getLogModel()));
 | 
	
		
			
				|  |  |         } catch (Exception e) {
 | 
	
		
			
				|  |  |             e.printStackTrace();
 | 
	
		
			
				|  |  |             allContent.append("统计失败:" + e.getMessage());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         allContent.append("-----------46----------");
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getCityHoss() {
 | 
	
		
			
				|  |  |         List<Map<String, Object>> map = jdbcTemplate.queryForList(getAvgSqlByCode("city_hos_SQL"));
 | 
	
		
			
				|  |  |         return map;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     public List<Map<String, Object>> getTownHoss(String townCode) {
 | 
	
		
			
				|  |  |         List<Map<String, Object>> map = jdbcTemplate.queryForList(getAvgSqlByCode("town_hos_SQL"), new Object[]{townCode});
 | 
	
		
			
				|  |  |         List<Map<String, Object>> map = jdbcTemplate.queryForList(getAvgSqlByCode("town_hos_SQL"), townCode);
 | 
	
		
			
				|  |  |         return map;
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1425,7 +1569,7 @@ public class CurrentDayAllQuotaJob implements Job {
 | 
	
		
			
				|  |  |         Date date = new Date();//取时间
 | 
	
		
			
				|  |  |         Calendar calendar = new GregorianCalendar();
 | 
	
		
			
				|  |  |         calendar.setTime(date);
 | 
	
		
			
				|  |  |         calendar.add(calendar.DATE, size);//把日期往后增加一天.整数往后推,负数往前移动
 | 
	
		
			
				|  |  |         calendar.add(Calendar.DATE, size);//把日期往后增加一天.整数往后推,负数往前移动
 | 
	
		
			
				|  |  |         date = calendar.getTime(); //这个时间就是日期往后推一天的结果
 | 
	
		
			
				|  |  |         SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         String dateString = formatter.format(date);
 |