|  | @ -210,7 +210,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |             List<SaveModel> vedioSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"16",null,level2_type);
 | 
	
		
			
				|  |  |             JSONArray array = new JSONArray();
 | 
	
		
			
				|  |  |             List<String> list = new ArrayList<>();
 | 
	
		
			
				|  |  |             DecimalFormat decimalFormat = new DecimalFormat("#.00");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             for (SaveModel saveModel:syngySaveModels){
 | 
	
		
			
				|  |  |                 if (level2_type.equals(SaveModel.OrgLevel)){
 | 
	
		
			
				|  |  |                     if (StringUtils.isNoneBlank(saveModel.getHospital())){
 | 
	
	
		
			
				|  | @ -244,7 +244,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                                 jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                                 jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -252,7 +252,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                                 jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                                 jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -280,7 +280,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                                     jsonObject.put("doctorJob",null);
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -293,7 +293,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -301,7 +301,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -328,7 +328,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorCode",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -339,7 +339,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             topic = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -347,7 +347,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             topic = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -373,7 +373,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorCode",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             topic = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -384,7 +384,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -392,7 +392,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -418,7 +418,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                                 jsonObject.put("doctorJob",null);
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -426,8 +426,8 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 Double total1 = topic+vedio ;//图文和视频总和
 | 
	
		
			
				|  |  |                 Double total = topic+vedio+synegy+specialist;//总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total1",decimalFormat.format(total1));//图文和视频总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total",decimalFormat.format(total));//总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total1",total1);//图文和视频总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total",total);//总和
 | 
	
		
			
				|  |  |                 array.add(jsonObject);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             object.put("excelData",array);
 | 
	
	
		
			
				|  | @ -441,39 +441,40 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |         //问诊量
 | 
	
		
			
				|  |  |         JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |         if (interval==1){
 | 
	
		
			
				|  |  |             JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array = dateTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("data",array);
 | 
	
		
			
				|  |  |             JSONArray array1 = dateTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array1 = dateTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("specialistData",array1);
 | 
	
		
			
				|  |  |             JSONArray array2 = dateTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             JSONArray array2 = dateTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             object.put("topicData",array2);
 | 
	
		
			
				|  |  |             JSONArray array3 = dateTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array3 = dateTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("synergyData",array3);
 | 
	
		
			
				|  |  |             JSONArray array4 = dateTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             JSONArray array4 = dateTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             object.put("vedioData",array4);
 | 
	
		
			
				|  |  |         }else if (interval==2){
 | 
	
		
			
				|  |  |             JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
 | 
	
		
			
				|  |  |             JSONArray array = weekTotalStatisticsDf(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
 | 
	
		
			
				|  |  |             object.put("data",array);
 | 
	
		
			
				|  |  |             JSONArray array1 = weekTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             JSONArray array1 = weekTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             object.put("specialistData",array1);
 | 
	
		
			
				|  |  |             JSONArray array2 = weekTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             JSONArray array2 = weekTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             object.put("topicData",array2);
 | 
	
		
			
				|  |  |             JSONArray array3 = weekTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array3 = weekTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("synergyData",array3);
 | 
	
		
			
				|  |  |             JSONArray array4 = weekTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             JSONArray array4 = weekTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             object.put("vedioData",array4);
 | 
	
		
			
				|  |  |         }else if (interval==3){
 | 
	
		
			
				|  |  |             JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array = monthTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("data",array);
 | 
	
		
			
				|  |  |             JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             JSONArray array1 = monthTotalStatistics3(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             object.put("specialistData",array1);
 | 
	
		
			
				|  |  |             JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             JSONArray array2 = monthTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
 | 
	
		
			
				|  |  |             object.put("topicData",array2);
 | 
	
		
			
				|  |  |             JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             JSONArray array3 = monthTotalStatistics3(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |             object.put("synergyData",array3);
 | 
	
		
			
				|  |  |             JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             JSONArray array4 = monthTotalStatistics3(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
 | 
	
		
			
				|  |  |             object.put("vedioData",array4);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |         if (StringUtils.isNoneBlank(level2_type)){
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             //问诊量表格
 | 
	
	
		
			
				|  | @ -521,7 +522,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                                 jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                                 jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -529,7 +530,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                                 jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                                 jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -557,7 +558,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                                     jsonObject.put("doctorJob",null);
 | 
	
		
			
				|  |  |                                 }
 | 
	
		
			
				|  |  |                                 jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",saveModel.getResult1());
 | 
	
		
			
				|  |  |                                 jsonObject.put("specialist",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                                 specialist = saveModel.getResult1();
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             }
 | 
	
	
		
			
				|  | @ -570,7 +571,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -578,7 +579,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -605,7 +606,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorCode",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("synegy",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -616,7 +617,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             synegy = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -624,7 +625,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             topic = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -650,7 +651,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorCode",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("topic",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             topic = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -661,7 +662,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getHospitalName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -669,7 +670,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                         if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
 | 
	
		
			
				|  |  |                             jsonObject.put("code",code);
 | 
	
		
			
				|  |  |                             jsonObject.put("name",saveModel.getDeptName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -695,7 +696,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                                 jsonObject.put("doctorJob",null);
 | 
	
		
			
				|  |  |                             }
 | 
	
		
			
				|  |  |                             jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",saveModel.getResult1());
 | 
	
		
			
				|  |  |                             jsonObject.put("vedio",decimalFormat.format(saveModel.getResult1()));
 | 
	
		
			
				|  |  |                             vedio = saveModel.getResult1();
 | 
	
		
			
				|  |  |                             break;
 | 
	
		
			
				|  |  |                         }
 | 
	
	
		
			
				|  | @ -703,8 +704,8 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 Double total1 = topic+vedio ;//图文和视频总和
 | 
	
		
			
				|  |  |                 Double total = topic+vedio+synegy+specialist;//总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total1",total1);//图文和视频总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total",total);//总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total1",decimalFormat.format(total1));//图文和视频总和
 | 
	
		
			
				|  |  |                 jsonObject.put("total",decimalFormat.format(total));//总和
 | 
	
		
			
				|  |  |                 array.add(jsonObject);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             object.put("excelData",array);
 | 
	
	
		
			
				|  | @ -729,7 +730,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |     public JSONObject getPrescriptionLine(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
 | 
	
		
			
				|  |  |         JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |         //开方量增量曲线
 | 
	
		
			
				|  |  |         JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |         JSONArray array = dateTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |         object.put("prescriptionLine",array);
 | 
	
		
			
				|  |  |         return object;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -751,55 +752,80 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |     public JSONObject getOutPatientCircular(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         JSONObject object = new JSONObject();
 | 
	
		
			
				|  |  |         if (index.equalsIgnoreCase("3")){
 | 
	
		
			
				|  |  |             //协同门诊
 | 
	
		
			
				|  |  |             SaveModel saveModel1 = null;
 | 
	
		
			
				|  |  |             saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "2");
 | 
	
		
			
				|  |  |             //图文复诊
 | 
	
		
			
				|  |  |             SaveModel saveModel2 = null;
 | 
	
		
			
				|  |  |             //saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","1");
 | 
	
		
			
				|  |  |             saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","1");
 | 
	
		
			
				|  |  |             //视频复诊
 | 
	
		
			
				|  |  |             SaveModel saveModel3 = null;
 | 
	
		
			
				|  |  | /*
 | 
	
		
			
				|  |  |     saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","2");
 | 
	
		
			
				|  |  | */
 | 
	
		
			
				|  |  |             saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","2");
 | 
	
		
			
				|  |  |             Double specialistCount =0.0;
 | 
	
		
			
				|  |  |             //专科咨询
 | 
	
		
			
				|  |  |             SaveModel saveModel4 = null;
 | 
	
		
			
				|  |  |             saveModel4 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "3");
 | 
	
		
			
				|  |  |             specialistCount = saveModel4.getResult1();//专家咨询数量
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Double synergyCount = saveModel1.getResult1();//协同门诊数量
 | 
	
		
			
				|  |  |             Double topicCount = saveModel2.getResult1();//图文复诊数量
 | 
	
		
			
				|  |  |             Double videoCount = saveModel3.getResult1();//视频复诊数量
 | 
	
		
			
				|  |  |             Double total = specialistCount+synergyCount+topicCount+videoCount;//总量
 | 
	
		
			
				|  |  |             DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |             object.put("specialistCount",decimalFormat.format(specialistCount));//专家咨询数
 | 
	
		
			
				|  |  |             object.put("specialistRate",getRange(specialistCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("synergyCount",decimalFormat.format(synergyCount));//专家咨询数
 | 
	
		
			
				|  |  |             object.put("synergyRate",getRange(synergyCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("topicCount",decimalFormat.format(topicCount));//图文复诊数量
 | 
	
		
			
				|  |  |             object.put("topicRate",getRange(topicCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("videoCount",decimalFormat.format(videoCount));//视频复诊数量
 | 
	
		
			
				|  |  |             object.put("videoRate",getRange(videoCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("total",decimalFormat.format(total));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         //协同门诊
 | 
	
		
			
				|  |  |         SaveModel saveModel1 = null;
 | 
	
		
			
				|  |  |         saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "12");
 | 
	
		
			
				|  |  |         //图文复诊
 | 
	
		
			
				|  |  |         SaveModel saveModel2 = null;
 | 
	
		
			
				|  |  |         //saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","1");
 | 
	
		
			
				|  |  |         saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "9");
 | 
	
		
			
				|  |  |         //视频复诊
 | 
	
		
			
				|  |  |         SaveModel saveModel3 = null;
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             //协同门诊
 | 
	
		
			
				|  |  |             SaveModel saveModel1 = null;
 | 
	
		
			
				|  |  |             saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "12");
 | 
	
		
			
				|  |  |             //图文复诊
 | 
	
		
			
				|  |  |             SaveModel saveModel2 = null;
 | 
	
		
			
				|  |  |             //saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","1");
 | 
	
		
			
				|  |  |             saveModel2 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "9");
 | 
	
		
			
				|  |  |             //视频复诊
 | 
	
		
			
				|  |  |             SaveModel saveModel3 = null;
 | 
	
		
			
				|  |  | /*
 | 
	
		
			
				|  |  |     saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","2");
 | 
	
		
			
				|  |  | */
 | 
	
		
			
				|  |  |         saveModel3 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "16");
 | 
	
		
			
				|  |  |         Double specialistCount =0.0;
 | 
	
		
			
				|  |  |         //专科咨询
 | 
	
		
			
				|  |  |         SaveModel saveModel4 = null;
 | 
	
		
			
				|  |  |         saveModel4 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1");
 | 
	
		
			
				|  |  |         specialistCount = saveModel4.getResult1();//专家咨询数量
 | 
	
		
			
				|  |  |     /*if(index.equalsIgnoreCase("5")){
 | 
	
		
			
				|  |  |         //专家咨询数量
 | 
	
		
			
				|  |  |         SaveModel saveModel = null;
 | 
	
		
			
				|  |  |         if (StringUtils.isNotEmpty(level2_type)) {
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, "4", SaveModel.timeLevel_DDL, level2_type);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModel = elasticsearchUtil.findOneDateQuotaLevel0(endDate, endDate, area, level, "4", SaveModel.timeLevel_DDL);
 | 
	
		
			
				|  |  |             saveModel3 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "16");
 | 
	
		
			
				|  |  |             Double specialistCount =0.0;
 | 
	
		
			
				|  |  |             //专科咨询
 | 
	
		
			
				|  |  |             SaveModel saveModel4 = null;
 | 
	
		
			
				|  |  |             saveModel4 = elasticsearchUtil.findOneDateQuotaLevel1(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1");
 | 
	
		
			
				|  |  |             specialistCount = saveModel4.getResult1();//专家咨询数量
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             Double synergyCount = saveModel1.getResult1();//协同门诊数量
 | 
	
		
			
				|  |  |             Double topicCount = saveModel2.getResult1();//图文复诊数量
 | 
	
		
			
				|  |  |             Double videoCount = saveModel3.getResult1();//视频复诊数量
 | 
	
		
			
				|  |  |             Double total = specialistCount+synergyCount+topicCount+videoCount;//总量
 | 
	
		
			
				|  |  |             object.put("specialistCount",specialistCount);//专家咨询数
 | 
	
		
			
				|  |  |             object.put("specialistRate",getRange(specialistCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("synergyCount",synergyCount);//专家咨询数
 | 
	
		
			
				|  |  |             object.put("synergyRate",getRange(synergyCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("topicCount",topicCount);//图文复诊数量
 | 
	
		
			
				|  |  |             object.put("topicRate",getRange(topicCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("videoCount",videoCount);//视频复诊数量
 | 
	
		
			
				|  |  |             object.put("videoRate",getRange(videoCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |             object.put("total",total);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         specialistCount = saveModel.getResult1();//专家咨询数量
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     }else if (index.equalsIgnoreCase("3")){
 | 
	
		
			
				|  |  |         specialistCount = 0.0;
 | 
	
		
			
				|  |  |     }*/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         Double synergyCount = saveModel1.getResult1();//协同门诊数量
 | 
	
		
			
				|  |  |         Double topicCount = saveModel2.getResult1();//图文复诊数量
 | 
	
		
			
				|  |  |         Double videoCount = saveModel3.getResult1();//视频复诊数量
 | 
	
		
			
				|  |  |         Double total = specialistCount+synergyCount+topicCount+videoCount;//总量
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("#.00");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         object.put("specialistCount",decimalFormat.format(specialistCount));//专家咨询数
 | 
	
		
			
				|  |  |         object.put("specialistRate",getRange(specialistCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |         object.put("synergyCount",decimalFormat.format(synergyCount));//专家咨询数
 | 
	
		
			
				|  |  |         object.put("synergyRate",getRange(synergyCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |         object.put("topicCount",decimalFormat.format(topicCount));//图文复诊数量
 | 
	
		
			
				|  |  |         object.put("topicRate",getRange(topicCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |         object.put("videoCount",decimalFormat.format(videoCount));//视频复诊数量
 | 
	
		
			
				|  |  |         object.put("videoRate",getRange(videoCount.intValue(),total.intValue(),0));
 | 
	
		
			
				|  |  |         object.put("total",decimalFormat.format(total));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         return object;
 | 
	
		
			
				|  |  |     }
 | 
	
	
		
			
				|  | @ -1396,54 +1422,513 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |             json.put("num",0.0);
 | 
	
		
			
				|  |  |             result.add(json);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("#.00");
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 String range = null;
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     range = df.format(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                 long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                 for(JSONObject obj : result){
 | 
	
		
			
				|  |  |                     if((obj.get("range")+"").equals(range)){
 | 
	
		
			
				|  |  |                         obj.put("amount", amount);
 | 
	
		
			
				|  |  |                         obj.put("num",num);
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //                json.put("range", range);
 | 
	
		
			
				|  |  | //                json.put("amount", amount);
 | 
	
		
			
				|  |  | //                result.add(json);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | //            if (saveModels != null && saveModels.size() == 1 && saveModels.get(0).getHospital() == null) {
 | 
	
		
			
				|  |  | //                List<Map<String, Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
 | 
	
		
			
				|  |  | //                result.clear();
 | 
	
		
			
				|  |  | //                for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  | //                    JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  | //                    json.put("range", map.get("date"));
 | 
	
		
			
				|  |  | //                    json.put("amount", 0);
 | 
	
		
			
				|  |  | //                    result.add(json);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | //            Date startDate1 = sf.parse(startDate);
 | 
	
		
			
				|  |  | //            Date endDate1 = sf.parse(endDate);
 | 
	
		
			
				|  |  | //            long days = DateUtil.getDays(startDate1,endDate1);
 | 
	
		
			
				|  |  | //            Calendar calendar = Calendar.getInstance();
 | 
	
		
			
				|  |  | //            calendar.setTime(startDate1);
 | 
	
		
			
				|  |  | //            List<JSONObject> resultTemp = new ArrayList<>();
 | 
	
		
			
				|  |  | //            for(int i=1;i<=days;i++){
 | 
	
		
			
				|  |  | //                calendar.add(calendar.DATE,i);//把日期往后增加一天.整数往后推,负数往前移动
 | 
	
		
			
				|  |  | //                String dateString = sf.format(calendar.getTime());
 | 
	
		
			
				|  |  | //                Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | //                map.put("range",sf.format(calendar.getTime()));
 | 
	
		
			
				|  |  | //                map.put()
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             result.sort(new Comparator<JSONObject>() {
 | 
	
		
			
				|  |  |                 @Override
 | 
	
		
			
				|  |  |                 public int compare(JSONObject o1, JSONObject o2) {
 | 
	
		
			
				|  |  |                     if (o1.getString("range").compareTo(o2.getString("range")) > 0) {
 | 
	
		
			
				|  |  |                         return 1;
 | 
	
		
			
				|  |  |                     } else if (o1.getString("range").compareTo(o2.getString("range")) < 0) {
 | 
	
		
			
				|  |  |                         return -1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |             for (JSONObject object:result){
 | 
	
		
			
				|  |  |                 jsonArray.add(object);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 总体分析 折线图 按日--0级维度1级维度--两位小数
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws ParseException
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     public JSONArray dateTotalStatistics3(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         List<SaveModel> saveModels = new ArrayList<>();
 | 
	
		
			
				|  |  |         //startDate = DateUtil.getNextDay(startDate,-1);
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(lowCode)) {
 | 
	
		
			
				|  |  |             if (StringUtils.isNoneBlank(lowCode2)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode,lowCode2);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }else if(StringUtils.isNoneBlank(lowCode2)&&!StringUtils.isNoneBlank(lowCode)){
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2OnlySlaveKey2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day,lowCode2);
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<JSONObject> result = new ArrayList<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        if (saveModels != null && saveModels.size() >0) {
 | 
	
		
			
				|  |  |         List<Map<String, Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
 | 
	
		
			
				|  |  | //            result.clear();
 | 
	
		
			
				|  |  |         for (Map<String, Object> one : resultList) {
 | 
	
		
			
				|  |  |             JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |             json.put("range", one.get("date"));
 | 
	
		
			
				|  |  |             json.put("amount", 0);
 | 
	
		
			
				|  |  |             json.put("num",0.0);
 | 
	
		
			
				|  |  |             result.add(json);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | //        }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 String range = null;
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     range = df.format(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                 long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                 for(JSONObject obj : result){
 | 
	
		
			
				|  |  |                     if((obj.get("range")+"").equals(range)){
 | 
	
		
			
				|  |  |                         obj.put("amount", amount);
 | 
	
		
			
				|  |  |                         obj.put("num",decimalFormat.format(num));
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //                json.put("range", range);
 | 
	
		
			
				|  |  | //                json.put("amount", amount);
 | 
	
		
			
				|  |  | //                result.add(json);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | //            if (saveModels != null && saveModels.size() == 1 && saveModels.get(0).getHospital() == null) {
 | 
	
		
			
				|  |  | //                List<Map<String, Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
 | 
	
		
			
				|  |  | //                result.clear();
 | 
	
		
			
				|  |  | //                for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  | //                    JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  | //                    json.put("range", map.get("date"));
 | 
	
		
			
				|  |  | //                    json.put("amount", 0);
 | 
	
		
			
				|  |  | //                    result.add(json);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | //            Date startDate1 = sf.parse(startDate);
 | 
	
		
			
				|  |  | //            Date endDate1 = sf.parse(endDate);
 | 
	
		
			
				|  |  | //            long days = DateUtil.getDays(startDate1,endDate1);
 | 
	
		
			
				|  |  | //            Calendar calendar = Calendar.getInstance();
 | 
	
		
			
				|  |  | //            calendar.setTime(startDate1);
 | 
	
		
			
				|  |  | //            List<JSONObject> resultTemp = new ArrayList<>();
 | 
	
		
			
				|  |  | //            for(int i=1;i<=days;i++){
 | 
	
		
			
				|  |  | //                calendar.add(calendar.DATE,i);//把日期往后增加一天.整数往后推,负数往前移动
 | 
	
		
			
				|  |  | //                String dateString = sf.format(calendar.getTime());
 | 
	
		
			
				|  |  | //                Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | //                map.put("range",sf.format(calendar.getTime()));
 | 
	
		
			
				|  |  | //                map.put()
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             result.sort(new Comparator<JSONObject>() {
 | 
	
		
			
				|  |  |                 @Override
 | 
	
		
			
				|  |  |                 public int compare(JSONObject o1, JSONObject o2) {
 | 
	
		
			
				|  |  |                     if (o1.getString("range").compareTo(o2.getString("range")) > 0) {
 | 
	
		
			
				|  |  |                         return 1;
 | 
	
		
			
				|  |  |                     } else if (o1.getString("range").compareTo(o2.getString("range")) < 0) {
 | 
	
		
			
				|  |  |                         return -1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |             for (JSONObject object:result){
 | 
	
		
			
				|  |  |                 jsonArray.add(object);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 按周统计 折线图
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         // 起始日期
 | 
	
		
			
				|  |  |         Calendar start = Calendar.getInstance();
 | 
	
		
			
				|  |  |         start.setTime(DateUtil.strToDate(startDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  |         // 第一个统计周期结束日期
 | 
	
		
			
				|  |  |         String firstEnd = "";
 | 
	
		
			
				|  |  |         // 结束日期
 | 
	
		
			
				|  |  |         Calendar end = Calendar.getInstance();
 | 
	
		
			
				|  |  |         //因为统计时间是统计到当前时间的前一天,所以这里的时间是提前一天
 | 
	
		
			
				|  |  |         Calendar temp = Calendar.getInstance();
 | 
	
		
			
				|  |  |         temp.setTime(DateUtil.strToDate(endDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  | //        temp.add(Calendar.DAY_OF_MONTH, -1);
 | 
	
		
			
				|  |  |         end.setTime(temp.getTime());
 | 
	
		
			
				|  |  |         // 起始日期为周几
 | 
	
		
			
				|  |  |         int week = start.get(Calendar.DAY_OF_WEEK);
 | 
	
		
			
				|  |  |         int incre = 7 - week + 1;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 日期集合
 | 
	
		
			
				|  |  |         List<Calendar> days = new ArrayList<>();
 | 
	
		
			
				|  |  |         days.add(start);
 | 
	
		
			
				|  |  |         boolean flag = true;
 | 
	
		
			
				|  |  |         int i = 0;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.compareTo(endDate) == 0) {
 | 
	
		
			
				|  |  |             flag = false;
 | 
	
		
			
				|  |  |             days.add(end);
 | 
	
		
			
				|  |  |             firstEnd = df.format(end.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 计算统计日期
 | 
	
		
			
				|  |  |         while (flag) {
 | 
	
		
			
				|  |  |             Calendar next = Calendar.getInstance();
 | 
	
		
			
				|  |  |             next.setTime(days.get(days.size() - 1).getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (i == 0) {
 | 
	
		
			
				|  |  |                 if (incre != 7) {
 | 
	
		
			
				|  |  |                     next.add(Calendar.DATE, incre);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 next.add(Calendar.DATE, 7);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |                 if (i == 0) {
 | 
	
		
			
				|  |  |                     firstEnd = df.format(next.getTime());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 days.add(end);
 | 
	
		
			
				|  |  |                 flag = false;
 | 
	
		
			
				|  |  |                 if (i == 0) {
 | 
	
		
			
				|  |  |                     firstEnd = df.format(end.getTime());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             i++;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 结果集
 | 
	
		
			
				|  |  |         Map<String, JSONObject> countResult = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        Date dd = df.parse();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 算出每个查询周期
 | 
	
		
			
				|  |  |         for (int j = 0; j < days.size() - 1; j++) {
 | 
	
		
			
				|  |  |             String startStr = "";
 | 
	
		
			
				|  |  |             String endStr = df.format(days.get(j + 1).getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 起始、截止日期
 | 
	
		
			
				|  |  |             if (j == 0) {
 | 
	
		
			
				|  |  |                 startStr = df.format(days.get(j).getTime());
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 Calendar cal = Calendar.getInstance();
 | 
	
		
			
				|  |  |                 cal.setTime(days.get(j).getTime());
 | 
	
		
			
				|  |  |                 cal.add(Calendar.DATE, 1);
 | 
	
		
			
				|  |  |                 startStr = df.format(cal.getTime());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             JSONObject range = new JSONObject();
 | 
	
		
			
				|  |  |             range.put("range", endStr);
 | 
	
		
			
				|  |  |             range.put("amount", 0);
 | 
	
		
			
				|  |  |             range.put("num",0.0);
 | 
	
		
			
				|  |  |             countResult.put(endStr, range);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //            if(!DateUtil.getSundayOfThisDate(new Date()).equals(df.format(new Date()))){
 | 
	
		
			
				|  |  | //                JSONObject range2 = new JSONObject();
 | 
	
		
			
				|  |  | //                range2.put("range", endDate);
 | 
	
		
			
				|  |  | //                range2.put("amount", 0);
 | 
	
		
			
				|  |  | //                countResult.put(df.format(new Date()), range2);
 | 
	
		
			
				|  |  | //            };
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.equals(df.format(new Date()))) {
 | 
	
		
			
				|  |  |             Calendar preDate = Calendar.getInstance();
 | 
	
		
			
				|  |  |             preDate.setTime(df.parse(endDate));
 | 
	
		
			
				|  |  |             preDate.add(Calendar.DATE, -1);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             startDate = df.format(preDate.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<SaveModel> saveModels = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(lowCode)) {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
		
			
				|  |  |                 String range = "";
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     Calendar quotaDate = Calendar.getInstance();
 | 
	
		
			
				|  |  |                     quotaDate.setTime(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                     quotaDate.add(Calendar.DATE, 6);
 | 
	
		
			
				|  |  |                     range = df.format(quotaDate.getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONObject json = countResult.get(range);
 | 
	
		
			
				|  |  | //                //因为上述时间集提前一天  但是前端是显示当前时间,所以这里给调整回去
 | 
	
		
			
				|  |  | //                if (range.equals(df.format(temp.getTime()))) {
 | 
	
		
			
				|  |  | //                    json.put("range", endDate);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  |                 if (json != null) {
 | 
	
		
			
				|  |  |                     long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                     double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                     json.put("amount", amount);
 | 
	
		
			
				|  |  |                     json.put("num",num);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             List<JSONObject> result = new ArrayList<>(countResult.values());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             result.sort(new Comparator<JSONObject>() {
 | 
	
		
			
				|  |  |                 @Override
 | 
	
		
			
				|  |  |                 public int compare(JSONObject o1, JSONObject o2) {
 | 
	
		
			
				|  |  |                     if (o1.getString("range").compareTo(o2.getString("range")) > 0) {
 | 
	
		
			
				|  |  |                         return 1;
 | 
	
		
			
				|  |  |                     } else if (o1.getString("range").compareTo(o2.getString("range")) < 0) {
 | 
	
		
			
				|  |  |                         return -1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |             for (JSONObject object:result){
 | 
	
		
			
				|  |  |                 jsonArray.add(object);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 按周统计 折线图
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatisticsDf(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         // 起始日期
 | 
	
		
			
				|  |  |         Calendar start = Calendar.getInstance();
 | 
	
		
			
				|  |  |         start.setTime(DateUtil.strToDate(startDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  |         // 第一个统计周期结束日期
 | 
	
		
			
				|  |  |         String firstEnd = "";
 | 
	
		
			
				|  |  |         // 结束日期
 | 
	
		
			
				|  |  |         Calendar end = Calendar.getInstance();
 | 
	
		
			
				|  |  |         //因为统计时间是统计到当前时间的前一天,所以这里的时间是提前一天
 | 
	
		
			
				|  |  |         Calendar temp = Calendar.getInstance();
 | 
	
		
			
				|  |  |         temp.setTime(DateUtil.strToDate(endDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  | //        temp.add(Calendar.DAY_OF_MONTH, -1);
 | 
	
		
			
				|  |  |         end.setTime(temp.getTime());
 | 
	
		
			
				|  |  |         // 起始日期为周几
 | 
	
		
			
				|  |  |         int week = start.get(Calendar.DAY_OF_WEEK);
 | 
	
		
			
				|  |  |         int incre = 7 - week + 1;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 日期集合
 | 
	
		
			
				|  |  |         List<Calendar> days = new ArrayList<>();
 | 
	
		
			
				|  |  |         days.add(start);
 | 
	
		
			
				|  |  |         boolean flag = true;
 | 
	
		
			
				|  |  |         int i = 0;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.compareTo(endDate) == 0) {
 | 
	
		
			
				|  |  |             flag = false;
 | 
	
		
			
				|  |  |             days.add(end);
 | 
	
		
			
				|  |  |             firstEnd = df.format(end.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 计算统计日期
 | 
	
		
			
				|  |  |         while (flag) {
 | 
	
		
			
				|  |  |             Calendar next = Calendar.getInstance();
 | 
	
		
			
				|  |  |             next.setTime(days.get(days.size() - 1).getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (i == 0) {
 | 
	
		
			
				|  |  |                 if (incre != 7) {
 | 
	
		
			
				|  |  |                     next.add(Calendar.DATE, incre);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 next.add(Calendar.DATE, 7);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |                 if (i == 0) {
 | 
	
		
			
				|  |  |                     firstEnd = df.format(next.getTime());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 days.add(end);
 | 
	
		
			
				|  |  |                 flag = false;
 | 
	
		
			
				|  |  |                 if (i == 0) {
 | 
	
		
			
				|  |  |                     firstEnd = df.format(end.getTime());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             i++;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 结果集
 | 
	
		
			
				|  |  |         Map<String, JSONObject> countResult = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //        Date dd = df.parse();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 算出每个查询周期
 | 
	
		
			
				|  |  |         for (int j = 0; j < days.size() - 1; j++) {
 | 
	
		
			
				|  |  |             String startStr = "";
 | 
	
		
			
				|  |  |             String endStr = df.format(days.get(j + 1).getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 起始、截止日期
 | 
	
		
			
				|  |  |             if (j == 0) {
 | 
	
		
			
				|  |  |                 startStr = df.format(days.get(j).getTime());
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 Calendar cal = Calendar.getInstance();
 | 
	
		
			
				|  |  |                 cal.setTime(days.get(j).getTime());
 | 
	
		
			
				|  |  |                 cal.add(Calendar.DATE, 1);
 | 
	
		
			
				|  |  |                 startStr = df.format(cal.getTime());
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             JSONObject range = new JSONObject();
 | 
	
		
			
				|  |  |             range.put("range", endStr);
 | 
	
		
			
				|  |  |             range.put("amount", 0);
 | 
	
		
			
				|  |  |             range.put("num",0.0);
 | 
	
		
			
				|  |  |             countResult.put(endStr, range);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //            if(!DateUtil.getSundayOfThisDate(new Date()).equals(df.format(new Date()))){
 | 
	
		
			
				|  |  | //                JSONObject range2 = new JSONObject();
 | 
	
		
			
				|  |  | //                range2.put("range", endDate);
 | 
	
		
			
				|  |  | //                range2.put("amount", 0);
 | 
	
		
			
				|  |  | //                countResult.put(df.format(new Date()), range2);
 | 
	
		
			
				|  |  | //            };
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.equals(df.format(new Date()))) {
 | 
	
		
			
				|  |  |             Calendar preDate = Calendar.getInstance();
 | 
	
		
			
				|  |  |             preDate.setTime(df.parse(endDate));
 | 
	
		
			
				|  |  |             preDate.add(Calendar.DATE, -1);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             startDate = df.format(preDate.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<SaveModel> saveModels = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(lowCode)) {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
		
			
				|  |  |                 JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  |                 String range = null;
 | 
	
		
			
				|  |  |                 String range = "";
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     range = df.format(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                     Calendar quotaDate = Calendar.getInstance();
 | 
	
		
			
				|  |  |                     quotaDate.setTime(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                     quotaDate.add(Calendar.DATE, 6);
 | 
	
		
			
				|  |  |                     range = df.format(quotaDate.getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                 long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                 for(JSONObject obj : result){
 | 
	
		
			
				|  |  |                     if((obj.get("range")+"").equals(range)){
 | 
	
		
			
				|  |  |                         obj.put("amount", amount);
 | 
	
		
			
				|  |  |                         obj.put("num",decimalFormat.format(num));
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 JSONObject json = countResult.get(range);
 | 
	
		
			
				|  |  | //                //因为上述时间集提前一天  但是前端是显示当前时间,所以这里给调整回去
 | 
	
		
			
				|  |  | //                if (range.equals(df.format(temp.getTime()))) {
 | 
	
		
			
				|  |  | //                    json.put("range", endDate);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  |                 if (json != null) {
 | 
	
		
			
				|  |  |                     long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                     double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                     json.put("amount", amount);
 | 
	
		
			
				|  |  |                     json.put("num",decimalFormat.format(num));
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | //                json.put("range", range);
 | 
	
		
			
				|  |  | //                json.put("amount", amount);
 | 
	
		
			
				|  |  | //                result.add(json);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | //            if (saveModels != null && saveModels.size() == 1 && saveModels.get(0).getHospital() == null) {
 | 
	
		
			
				|  |  | //                List<Map<String, Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
 | 
	
		
			
				|  |  | //                result.clear();
 | 
	
		
			
				|  |  | //                for (Map<String, Object> map : resultList) {
 | 
	
		
			
				|  |  | //                    JSONObject json = new JSONObject();
 | 
	
		
			
				|  |  | //                    json.put("range", map.get("date"));
 | 
	
		
			
				|  |  | //                    json.put("amount", 0);
 | 
	
		
			
				|  |  | //                    result.add(json);
 | 
	
		
			
				|  |  | //                }
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | //            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | //            Date startDate1 = sf.parse(startDate);
 | 
	
		
			
				|  |  | //            Date endDate1 = sf.parse(endDate);
 | 
	
		
			
				|  |  | //            long days = DateUtil.getDays(startDate1,endDate1);
 | 
	
		
			
				|  |  | //            Calendar calendar = Calendar.getInstance();
 | 
	
		
			
				|  |  | //            calendar.setTime(startDate1);
 | 
	
		
			
				|  |  | //            List<JSONObject> resultTemp = new ArrayList<>();
 | 
	
		
			
				|  |  | //            for(int i=1;i<=days;i++){
 | 
	
		
			
				|  |  | //                calendar.add(calendar.DATE,i);//把日期往后增加一天.整数往后推,负数往前移动
 | 
	
		
			
				|  |  | //                String dateString = sf.format(calendar.getTime());
 | 
	
		
			
				|  |  | //                Map<String, Object> map = new HashMap<>();
 | 
	
		
			
				|  |  | //                map.put("range",sf.format(calendar.getTime()));
 | 
	
		
			
				|  |  | //                map.put()
 | 
	
		
			
				|  |  | //            }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             List<JSONObject> result = new ArrayList<>(countResult.values());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             result.sort(new Comparator<JSONObject>() {
 | 
	
	
		
			
				|  | @ -1469,21 +1954,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 按周统计 折线图
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatistics2(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         // 起始日期
 | 
	
	
		
			
				|  | @ -1588,11 +2059,19 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         List<SaveModel> saveModels = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(lowCode)) {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             if (StringUtils.isNoneBlank(lowCode2)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode,lowCode2);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         }else if(StringUtils.isNoneBlank(lowCode2)&&StringUtils.isBlank(lowCode)){
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2OnlySlaveKey2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week,lowCode2);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("#.00");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
	
		
			
				|  | @ -1613,7 +2092,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                     long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                     double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                     json.put("amount", amount);
 | 
	
		
			
				|  |  |                     json.put("num",decimalFormat.format(num));
 | 
	
		
			
				|  |  |                     json.put("num",num);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1644,7 +2123,20 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatistics2(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 两位小数
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @param timelevel
 | 
	
		
			
				|  |  |      * @param lowCode2
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private JSONArray weekTotalStatistics3(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  |         // 起始日期
 | 
	
	
		
			
				|  | @ -1762,6 +2254,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
	
		
			
				|  | @ -1782,7 +2275,7 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                     long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                     double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                     json.put("amount", amount);
 | 
	
		
			
				|  |  |                     json.put("num",num);
 | 
	
		
			
				|  |  |                     json.put("num",decimalFormat.format(num));
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -1907,7 +2400,150 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("#.00");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
		
			
				|  |  |             for (SaveModel saveModel : saveModels) {
 | 
	
		
			
				|  |  |                 String range = "";
 | 
	
		
			
				|  |  |                 if (saveModel.getQuotaDate() != null) {
 | 
	
		
			
				|  |  |                     range = df.format(saveModel.getQuotaDate());
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 JSONObject json = countResult.get(range);
 | 
	
		
			
				|  |  |                 //因为上述时间集提前一天  但是前端是显示当前时间,所以这里给调整回去
 | 
	
		
			
				|  |  |                 /*if (range.equals(df.format(temp.getTime()))) {
 | 
	
		
			
				|  |  |                     json.put("range", endDate);
 | 
	
		
			
				|  |  |                 }*/
 | 
	
		
			
				|  |  |                 if (json != null) {
 | 
	
		
			
				|  |  |                     long amount = saveModel.getResult2().longValue();
 | 
	
		
			
				|  |  |                     double num = saveModel.getResult1();
 | 
	
		
			
				|  |  |                     json.put("amount", amount);
 | 
	
		
			
				|  |  |                     json.put("num",num);
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             List<JSONObject> result = new ArrayList<>(countResult.values());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             // 排序
 | 
	
		
			
				|  |  |             result.sort(new Comparator<JSONObject>() {
 | 
	
		
			
				|  |  |                 @Override
 | 
	
		
			
				|  |  |                 public int compare(JSONObject o1, JSONObject o2) {
 | 
	
		
			
				|  |  |                     if (o1.getString("range").compareTo(o2.getString("range")) > 0) {
 | 
	
		
			
				|  |  |                         return 1;
 | 
	
		
			
				|  |  |                     } else if (o1.getString("range").compareTo(o2.getString("range")) < 0) {
 | 
	
		
			
				|  |  |                         return -1;
 | 
	
		
			
				|  |  |                     } else {
 | 
	
		
			
				|  |  |                         return 0;
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             JSONArray jsonArray = new JSONArray();
 | 
	
		
			
				|  |  |             for (JSONObject object:result){
 | 
	
		
			
				|  |  |                 jsonArray.add(object);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             return jsonArray;
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             return new JSONArray();
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     /**
 | 
	
		
			
				|  |  |      * 按月统计 折线图---两位小数
 | 
	
		
			
				|  |  |      *
 | 
	
		
			
				|  |  |      * @param startDate
 | 
	
		
			
				|  |  |      * @param endDate
 | 
	
		
			
				|  |  |      * @param area
 | 
	
		
			
				|  |  |      * @param level
 | 
	
		
			
				|  |  |      * @param index
 | 
	
		
			
				|  |  |      * @param lowCode
 | 
	
		
			
				|  |  |      * @return
 | 
	
		
			
				|  |  |      * @throws Exception
 | 
	
		
			
				|  |  |      */
 | 
	
		
			
				|  |  |     private JSONArray monthTotalStatistics3(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 起始日期
 | 
	
		
			
				|  |  |         Calendar start = Calendar.getInstance();
 | 
	
		
			
				|  |  |         start.setTime(DateUtil.strToDate(startDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  |         // 结束日期
 | 
	
		
			
				|  |  |         Calendar end = Calendar.getInstance();
 | 
	
		
			
				|  |  |         //因为统计时间是统计到当前时间的前一天,所以这里的时间是提前一天
 | 
	
		
			
				|  |  |         Calendar temp = Calendar.getInstance();
 | 
	
		
			
				|  |  |         temp.setTime(DateUtil.strToDate(endDate, DateUtil.YYYY_MM_DD));
 | 
	
		
			
				|  |  | //        temp.add(Calendar.DAY_OF_MONTH, -1);
 | 
	
		
			
				|  |  |         end.setTime(temp.getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 日期集合
 | 
	
		
			
				|  |  |         List<Calendar> days = new ArrayList<>();
 | 
	
		
			
				|  |  |         days.add(start);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         boolean flag = true;
 | 
	
		
			
				|  |  |         int k = 0;
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.compareTo(endDate) == 0) {
 | 
	
		
			
				|  |  |             flag = false;
 | 
	
		
			
				|  |  |        /*     days.add(end);*/
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 统计日期计算
 | 
	
		
			
				|  |  |         while (flag) {
 | 
	
		
			
				|  |  |             Calendar next = Calendar.getInstance();
 | 
	
		
			
				|  |  |             next.setTime(days.get(days.size() - 1).getTime());
 | 
	
		
			
				|  |  |             if (k == 0) {
 | 
	
		
			
				|  |  |                 next.add(Calendar.MONTH, 1);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |                 next.add(Calendar.MONTH, 1);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             /*next.set(Calendar.DAY_OF_MONTH, 1);
 | 
	
		
			
				|  |  |             next.add(Calendar.DAY_OF_MONTH, -1);*/
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
 | 
	
		
			
				|  |  |                 days.add(next);
 | 
	
		
			
				|  |  |             } else {
 | 
	
		
			
				|  |  |          /*       days.add(end);*/
 | 
	
		
			
				|  |  |                 flag = false;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             k++;
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         // 统计结果
 | 
	
		
			
				|  |  |         Map<String, JSONObject> countResult = new HashMap<>();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         for (int i = 0; i < days.size(); i++) {
 | 
	
		
			
				|  |  |             String endStr = df.format(days.get(i).getTime());
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             JSONObject range = new JSONObject();
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             range.put("range", endStr);
 | 
	
		
			
				|  |  |             range.put("amount", 0);
 | 
	
		
			
				|  |  |             range.put("num",0.0);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             countResult.put(endStr, range);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (startDate.equals(df.format(new Date()))) {
 | 
	
		
			
				|  |  |             Calendar preDate = Calendar.getInstance();
 | 
	
		
			
				|  |  |             preDate.setTime(df.parse(endDate));
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |             startDate = df.format(preDate.getTime());
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |         List<SaveModel> saveModels = new ArrayList<>();
 | 
	
		
			
				|  |  |         if (StringUtils.isNotBlank(lowCode)) {
 | 
	
		
			
				|  |  |             if (StringUtils.isNoneBlank(lowCode2)){
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month, lowCode,lowCode2);
 | 
	
		
			
				|  |  |             }else {
 | 
	
		
			
				|  |  |                 saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month, lowCode);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         } else if(StringUtils.isNoneBlank(lowCode2)&&StringUtils.isBlank(lowCode)){
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2OnlySlaveKey2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month,lowCode2);
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         } else {
 | 
	
		
			
				|  |  |             saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         DecimalFormat decimalFormat = new DecimalFormat("0.00");
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |         if (saveModels != null) {
 | 
	
		
			
				|  |  |             // 计算结果
 | 
	
	
		
			
				|  | @ -3043,11 +3679,11 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                 object.put("totalData",array);//新增量
 | 
	
		
			
				|  |  |                 JSONArray array1 = dateTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL,null);//未接诊
 | 
	
		
			
				|  |  |                 object.put("noReceiveData",array1);//未接诊
 | 
	
		
			
				|  |  |                 JSONArray array2 = dateTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL,null);//已接诊
 | 
	
		
			
				|  |  |                 JSONArray array2 = dateTotalStatistics2(startDate,endDate,area,level,index1,"1,2",SaveModel.timeLevel_ZL,null);//已接诊
 | 
	
		
			
				|  |  |                 object.put("haveReceiveData",array2);//已接诊
 | 
	
		
			
				|  |  |                 JSONArray array3 = dateTotalStatistics2(startDate,endDate,area,level,index,"-1",SaveModel.timeLevel_ZL,null);//患者取消
 | 
	
		
			
				|  |  |                 object.put("concleData",array3);//患者取消
 | 
	
		
			
				|  |  |                 JSONArray array4 = dateTotalStatistics2(startDate,endDate,area,level,index,"2",SaveModel.timeLevel_ZL,null);//已结束
 | 
	
		
			
				|  |  |                 JSONArray array4 = dateTotalStatistics2(startDate,endDate,area,level,index,"3",SaveModel.timeLevel_ZL,null);//已结束
 | 
	
		
			
				|  |  |                 object.put("endData",array4);//已结束
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -3068,11 +3704,11 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                 object.put("totalData",array);//新增量
 | 
	
		
			
				|  |  |                 JSONArray array1 = weekTotalStatistics(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL);//未接诊
 | 
	
		
			
				|  |  |                 object.put("noReceiveData",array1);;//未接诊
 | 
	
		
			
				|  |  |                 JSONArray array2 = weekTotalStatistics(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL);//已接诊
 | 
	
		
			
				|  |  |                 JSONArray array2 = weekTotalStatistics(startDate,endDate,area,level,index1,"1,2",SaveModel.timeLevel_ZL);//已接诊
 | 
	
		
			
				|  |  |                 object.put("haveReceiveData",array2);//已接诊
 | 
	
		
			
				|  |  |                 JSONArray array3 = weekTotalStatistics(startDate,endDate,area,level,index,"-1",SaveModel.timeLevel_ZL);//患者取消
 | 
	
		
			
				|  |  |                 object.put("concleData",array3);//患者取消
 | 
	
		
			
				|  |  |                 JSONArray array4 = weekTotalStatistics(startDate,endDate,area,level,index,"2",SaveModel.timeLevel_ZL);//已结束
 | 
	
		
			
				|  |  |                 JSONArray array4 = weekTotalStatistics(startDate,endDate,area,level,index,"3",SaveModel.timeLevel_ZL);//已结束
 | 
	
		
			
				|  |  |                 object.put("endData",array3);//已结束
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -3093,11 +3729,11 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |                 object.put("totalData",array);
 | 
	
		
			
				|  |  |                 JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 object.put("noReceiveData",array1);
 | 
	
		
			
				|  |  |                 JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1,2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 object.put("haveReceiveData",array2);
 | 
	
		
			
				|  |  |                 JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,index,"-1",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 object.put("concleData",array3);
 | 
	
		
			
				|  |  |                 JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index,"2",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index,"3",SaveModel.timeLevel_ZL,null);
 | 
	
		
			
				|  |  |                 object.put("endData",array4);
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  | 
 | 
	
	
		
			
				|  | @ -3135,13 +3771,13 @@ public class StatisticsEsService {
 | 
	
		
			
				|  |  |             result.put("resultList", getCoutListPC(level, lowLevel, endTotal, total, noRelyTotal,relyTotal,comingTotal));
 | 
	
		
			
				|  |  |         }else {
 | 
	
		
			
				|  |  |             //已结束
 | 
	
		
			
				|  |  |             List<SaveModel> endTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"2");
 | 
	
		
			
				|  |  |             List<SaveModel> endTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"3");
 | 
	
		
			
				|  |  |             //居民取消
 | 
	
		
			
				|  |  |             List<SaveModel> concleTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"-1");
 | 
	
		
			
				|  |  |             //咨询总数
 | 
	
		
			
				|  |  |             List<SaveModel> total = elasticsearchUtil.findListDateQuotaLevel0(startTime, endTime, area, level, index1, SaveModel.timeLevel_ZL, lowLevel);
 | 
	
		
			
				|  |  |             //已接诊
 | 
	
		
			
				|  |  |             List<SaveModel> haveReceiveTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"1");
 | 
	
		
			
				|  |  |             List<SaveModel> haveReceiveTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"1,2");
 | 
	
		
			
				|  |  |             //未接诊
 | 
	
		
			
				|  |  |             List<SaveModel> noReceiveTotal = elasticsearchUtil.findListDateQuotaLevel1(startTime, endTime, area, level, index, SaveModel.timeLevel_ZL, lowLevel,"0");
 | 
	
		
			
				|  |  |             result.put("resultList", getCoutListPC1(level, lowLevel, endTotal, total, haveReceiveTotal,noReceiveTotal,concleTotal));
 |