|  | @ -725,14 +725,14 @@ public class StatisticsEsService {
 | 
												
													
														
															|  |      * @param level2_type
 |  |      * @param level2_type
 | 
												
													
														
															|  |      * @return
 |  |      * @return
 | 
												
													
														
															|  |      * @throws Exception
 |  |      * @throws Exception
 | 
												
													
														
															|  |      */
 |  | 
 | 
												
													
														
															|  | 
 |  |      *//*
 | 
												
													
														
															|  |     public JSONObject getPrescriptionLine(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
 |  |     public JSONObject getPrescriptionLine(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
 | 
												
													
														
															|  |         JSONObject object = new JSONObject();
 |  |         JSONObject object = new JSONObject();
 | 
												
													
														
															|  |         //开方量增量曲线
 |  |         //开方量增量曲线
 | 
												
													
														
															|  |         JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 |  |         JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
												
													
														
															|  |         object.put("prescriptionLine",array);
 |  |         object.put("prescriptionLine",array);
 | 
												
													
														
															|  |         return object;
 |  |         return object;
 | 
												
													
														
															|  |     }
 |  | 
 | 
												
													
														
															|  | 
 |  |     }*/
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |     /**
 |  |     /**
 | 
												
											
												
													
														
															|  | @ -3445,8 +3445,136 @@ public class StatisticsEsService {
 | 
												
													
														
															|  |         return object;
 |  |         return object;
 | 
												
													
														
															|  |     }
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 按日期柱状图统计处方量
 | 
												
													
														
															|  | 
 |  |      *
 | 
												
													
														
															|  | 
 |  |      *
 | 
												
													
														
															|  | 
 |  |      * @param startDate
 | 
												
													
														
															|  | 
 |  |      * @param endDate
 | 
												
													
														
															|  | 
 |  |      * @param area
 | 
												
													
														
															|  | 
 |  |      * @param level 2科室
 | 
												
													
														
															|  | 
 |  |      * @param index
 | 
												
													
														
															|  | 
 |  |      * @param level2_type 4 医院
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      * @throws Exception
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONObject getPrescriptionLine(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
 | 
												
													
														
															|  | 
 |  |         logger.info("service index:"+index+" and level2_type:"+level2_type+" and level:"+level);
 | 
												
													
														
															|  | 
 |  |         String[] indexes = index.split(",");
 | 
												
													
														
															|  | 
 |  |         JSONArray array = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         JSONArray resultArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         //问诊量
 | 
												
													
														
															|  | 
 |  |         JSONObject object = new JSONObject();
 | 
												
													
														
															|  | 
 |  |         if (interval==1){
 | 
												
													
														
															|  | 
 |  |              array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }else if (interval==2){
 | 
												
													
														
															|  | 
 |  |              array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }else if (interval==3){
 | 
												
													
														
															|  | 
 |  |              array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(level2_type)){
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             //问诊量表格
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> specialistSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL,"",String.valueOf(interval),level2_type);
 | 
												
													
														
															|  | 
 |  |             //开具处方数量
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> prescriptionSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"",String.valueOf(interval),"4");
 | 
												
													
														
															|  | 
 |  |             //每个医生根据传入时间查询开具处方数量
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> doctorSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"",String.valueOf(interval),"6");
 | 
												
													
														
															|  | 
 |  |             for (int i=0;i<prescriptionSaveModels.size();i++){
 | 
												
													
														
															|  | 
 |  |                 JSONObject jsonObject = new JSONObject();
 | 
												
													
														
															|  | 
 |  |                 Double specialist = 0.0;
 | 
												
													
														
															|  | 
 |  |                 Double totalOutpatient = 0.0;
 | 
												
													
														
															|  | 
 |  |                 SaveModel saveModel = prescriptionSaveModels.get(i);
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("hospitalCode",saveModel.getHospital());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("hospitalName",saveModel.getHospitalName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("deptNo",saveModel.getDept());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("deptName",saveModel.getDeptName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("name",saveModel.getHospitalName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("specialist",saveModel.getResult1());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("doctorName",saveModel.getDoctorName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("doctorcode",saveModel.getDoctor());
 | 
												
													
														
															|  | 
 |  |                 specialist = saveModel.getResult1();
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("specialist",specialist);
 | 
												
													
														
															|  | 
 |  |                 totalOutpatient = specialistSaveModels.get(i).getResult1();
 | 
												
													
														
															|  | 
 |  |                 String prescriptionRate = getRange(specialist.intValue(),totalOutpatient.intValue(),0);
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("prescriptionRate",prescriptionRate);
 | 
												
													
														
															|  | 
 |  |                 resultArray.add(jsonObject);
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  |             object.put("excelData",resultArray);
 | 
												
													
														
															|  | 
 |  |             object.put("detailList",prescriptionSaveModels);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         return object;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  |     /**
 | 
												
													
														
															|  | 
 |  |      * 按日期柱状图 取药方式统计处方量
 | 
												
													
														
															|  | 
 |  |      *
 | 
												
													
														
															|  | 
 |  |      *
 | 
												
													
														
															|  | 
 |  |      * @param startDate
 | 
												
													
														
															|  | 
 |  |      * @param endDate
 | 
												
													
														
															|  | 
 |  |      * @param area
 | 
												
													
														
															|  | 
 |  |      * @param level 2科室
 | 
												
													
														
															|  | 
 |  |      * @param index
 | 
												
													
														
															|  | 
 |  |      * @param level2_type 4 医院
 | 
												
													
														
															|  | 
 |  |      * @return
 | 
												
													
														
															|  | 
 |  |      * @throws Exception
 | 
												
													
														
															|  | 
 |  |      */
 | 
												
													
														
															|  | 
 |  |     public JSONObject getPrescriptionLineByType(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
 | 
												
													
														
															|  | 
 |  |         logger.info("service index:"+index+" and level2_type:"+level2_type+" and level:"+level);
 | 
												
													
														
															|  | 
 |  |         String[] indexes = index.split(",");
 | 
												
													
														
															|  | 
 |  |         JSONArray array = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         JSONArray resultArray = new JSONArray();
 | 
												
													
														
															|  | 
 |  |         //问诊量
 | 
												
													
														
															|  | 
 |  |         JSONObject object = new JSONObject();
 | 
												
													
														
															|  | 
 |  |         if (interval==1){
 | 
												
													
														
															|  | 
 |  |             array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }else if (interval==2){
 | 
												
													
														
															|  | 
 |  |             array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |         }else if (interval==3){
 | 
												
													
														
															|  | 
 |  |             array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
 | 
												
													
														
															|  | 
 |  |             object.put("data",array);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         if (StringUtils.isNoneBlank(level2_type)){
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             //问诊量表格
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> specialistSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL,"",String.valueOf(interval),level2_type);
 | 
												
													
														
															|  | 
 |  |             //开具处方数量中自取的处方
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> oneselfTake = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"1",String.valueOf(interval),level2_type);
 | 
												
													
														
															|  | 
 |  |             //开具处方数量中快递的处方
 | 
												
													
														
															|  | 
 |  |             List<SaveModel> mailPost = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"0",String.valueOf(interval),level2_type);
 | 
												
													
														
															|  | 
 |  |             for(SaveModel saveModel:oneselfTake)
 | 
												
													
														
															|  | 
 |  |             {
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  |             /*for (int i=0;i<prescriptionSaveModels.size();i++){
 | 
												
													
														
															|  | 
 |  |                 JSONObject jsonObject = new JSONObject();
 | 
												
													
														
															|  | 
 |  |                 Double specialist = 0.0;
 | 
												
													
														
															|  | 
 |  |                 Double totalOutpatient = 0.0;
 | 
												
													
														
															|  | 
 |  |                 SaveModel saveModel = prescriptionSaveModels.get(i);
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("hospitalCode",saveModel.getHospital());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("hospitalName",saveModel.getHospitalName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("deptNo",saveModel.getDept());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("deptName",saveModel.getDeptName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("name",saveModel.getHospitalName());
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("specialist",saveModel.getResult1());
 | 
												
													
														
															|  | 
 |  |                 specialist = saveModel.getResult1();
 | 
												
													
														
															|  | 
 |  |                 totalOutpatient = specialistSaveModels.get(i).getResult1();
 | 
												
													
														
															|  | 
 |  |                 String prescriptionRate = getRange(specialist.intValue(),totalOutpatient.intValue(),0);
 | 
												
													
														
															|  | 
 |  |                 jsonObject.put("prescriptionRate",prescriptionRate);
 | 
												
													
														
															|  | 
 |  |                 resultArray.add(jsonObject);
 | 
												
													
														
															|  | 
 |  |             }*/
 | 
												
													
														
															|  | 
 |  |             object.put("excelData",resultArray);
 | 
												
													
														
															|  | 
 |  |         }
 | 
												
													
														
															|  | 
 |  |         return object;
 | 
												
													
														
															|  | 
 |  |     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | }
 |  | }
 |