|
@ -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",saveModel.getResult1());
|
|
|
jsonObject.put("specialist",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("specialist",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("specialist",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("synegy",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("synegy",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("synegy",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("topic",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("topic",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("topic",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("vedio",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("vedio",decimalFormat.format(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",saveModel.getResult1());
|
|
|
jsonObject.put("vedio",decimalFormat.format(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",total1);//图文和视频总和
|
|
|
jsonObject.put("total",total);//总和
|
|
|
jsonObject.put("total1",decimalFormat.format(total1));//图文和视频总和
|
|
|
jsonObject.put("total",decimalFormat.format(total));//总和
|
|
|
array.add(jsonObject);
|
|
|
}
|
|
|
object.put("excelData",array);
|
|
@ -789,17 +789,17 @@ public class StatisticsEsService {
|
|
|
Double topicCount = saveModel2.getResult1();//图文复诊数量
|
|
|
Double videoCount = saveModel3.getResult1();//视频复诊数量
|
|
|
Double total = specialistCount+synergyCount+topicCount+videoCount;//总量
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#.00");
|
|
|
|
|
|
|
|
|
object.put("specialistCount",specialistCount);//专家咨询数
|
|
|
object.put("specialistCount",decimalFormat.format(specialistCount));//专家咨询数
|
|
|
object.put("specialistRate",getRange(specialistCount.intValue(),total.intValue(),0));
|
|
|
object.put("synergyCount",synergyCount);//专家咨询数
|
|
|
object.put("synergyCount",decimalFormat.format(synergyCount));//专家咨询数
|
|
|
object.put("synergyRate",getRange(synergyCount.intValue(),total.intValue(),0));
|
|
|
object.put("topicCount",topicCount);//图文复诊数量
|
|
|
object.put("topicCount",decimalFormat.format(topicCount));//图文复诊数量
|
|
|
object.put("topicRate",getRange(topicCount.intValue(),total.intValue(),0));
|
|
|
object.put("videoCount",videoCount);//视频复诊数量
|
|
|
object.put("videoCount",decimalFormat.format(videoCount));//视频复诊数量
|
|
|
object.put("videoRate",getRange(videoCount.intValue(),total.intValue(),0));
|
|
|
object.put("total",total);
|
|
|
object.put("total",decimalFormat.format(total));
|
|
|
|
|
|
return object;
|
|
|
}
|
|
@ -1379,7 +1379,9 @@ public class StatisticsEsService {
|
|
|
}else {
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode);
|
|
|
}
|
|
|
} else {
|
|
|
}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<>();
|
|
@ -1394,6 +1396,7 @@ public class StatisticsEsService {
|
|
|
json.put("num",0.0);
|
|
|
result.add(json);
|
|
|
}
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#.00");
|
|
|
// }
|
|
|
|
|
|
if (saveModels != null) {
|
|
@ -1409,7 +1412,7 @@ public class StatisticsEsService {
|
|
|
for(JSONObject obj : result){
|
|
|
if((obj.get("range")+"").equals(range)){
|
|
|
obj.put("amount", amount);
|
|
|
obj.put("num",num);
|
|
|
obj.put("num",decimalFormat.format(num));
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -1589,7 +1592,7 @@ public class StatisticsEsService {
|
|
|
} 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) {
|
|
@ -1610,7 +1613,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));
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -1752,7 +1755,10 @@ public class StatisticsEsService {
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
}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);
|
|
|
}
|
|
|
|
|
@ -1895,9 +1901,13 @@ public class StatisticsEsService {
|
|
|
}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("#.00");
|
|
|
|
|
|
if (saveModels != null) {
|
|
|
// 计算结果
|
|
@ -1915,7 +1925,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));
|
|
|
}
|
|
|
}
|
|
|
|
|
@ -3445,8 +3455,368 @@ public class StatisticsEsService {
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 按日期柱状图统计处方量
|
|
|
*
|
|
|
*
|
|
|
* @param startDate
|
|
|
* @param endDate
|
|
|
* @param area
|
|
|
* @param level 2科室
|
|
|
* @param index
|
|
|
* @param level2_type 4 医院
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONObject getPrescriptionLineBy(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 resultArray = new JSONArray();
|
|
|
//问诊量
|
|
|
JSONObject object = new JSONObject();
|
|
|
if (interval==1){
|
|
|
//图文
|
|
|
JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"1");
|
|
|
object.put("data",array);
|
|
|
//视频
|
|
|
JSONArray array1 = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"2");
|
|
|
object.put("data2",array1);
|
|
|
JSONArray arraytotal = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data3",arraytotal);
|
|
|
}else if (interval==2){
|
|
|
JSONArray array = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"1");
|
|
|
JSONArray array1 = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"2");
|
|
|
JSONArray arraytotal = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data",array);
|
|
|
object.put("data2",array1);
|
|
|
object.put("data3",arraytotal);
|
|
|
}else if (interval==3){
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"1");
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,"2");
|
|
|
JSONArray arraytotal = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data",array);
|
|
|
object.put("data2",array1);
|
|
|
object.put("data3",arraytotal);
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
|
//问诊量表格
|
|
|
List<SaveModel> outpatientList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL,"","",level2_type);
|
|
|
//开具处方数量
|
|
|
Double preNum = 0.0;
|
|
|
Double outNum = 0.0;
|
|
|
String prescriptionRate ="";
|
|
|
List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"","",level2_type);
|
|
|
|
|
|
if(SaveModel.OrgLevel.equals(level2_type)){
|
|
|
for(SaveModel saveModel:precriptionList){
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode",saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName",saveModel.getHospitalName());
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
for(SaveModel saveModel1:outpatientList){
|
|
|
String out=saveModel1.getHospital()==null?"":saveModel1.getHospital();
|
|
|
String pre=saveModel.getHospital()==null?"":saveModel.getHospital();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(),outNum.intValue(),0);
|
|
|
jsonObject.put("prescriptionRate",prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getHospital()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if(SaveModel.doctorLevel.equals(level2_type)){
|
|
|
for(SaveModel saveModel:precriptionList){
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
String doctorCode = saveModel.getDoctor();
|
|
|
BaseDoctorDO baseDoctorDO = doctorDao.findById(doctorCode);
|
|
|
if(null!=baseDoctorDO){
|
|
|
jsonObject.put("jobTitleCode",baseDoctorDO.getJobTitleCode());
|
|
|
jsonObject.put("jobTitleName",baseDoctorDO.getJobTitleName());
|
|
|
}
|
|
|
jsonObject.put("hospitalCode",saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName",saveModel.getHospitalName());
|
|
|
jsonObject.put("deptNo",saveModel.getDept());
|
|
|
jsonObject.put("deptName",saveModel.getDeptName());
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
|
jsonObject.put("doctorcode",saveModel.getDoctor());
|
|
|
for(SaveModel saveModel1:outpatientList){
|
|
|
String outdoc=saveModel1.getDoctor()==null?"":saveModel1.getDoctor();
|
|
|
String predoc=saveModel.getDoctor()==null?"":saveModel.getDoctor();
|
|
|
if(outdoc.equalsIgnoreCase(predoc)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(),outNum.intValue(),0);
|
|
|
jsonObject.put("prescriptionRate",prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getDoctor()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if(SaveModel.deptLevel.equals(level2_type)){
|
|
|
for(SaveModel saveModel:precriptionList){
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode",saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName",saveModel.getHospitalName());
|
|
|
jsonObject.put("deptNo",saveModel.getDept());
|
|
|
jsonObject.put("deptName",saveModel.getDeptName());
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
for(SaveModel saveModel1:outpatientList){
|
|
|
String out=saveModel1.getDept()==null?"":saveModel1.getDept();
|
|
|
String pre=saveModel.getDept()==null?"":saveModel.getDept();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(),outNum.intValue(),0);
|
|
|
jsonObject.put("prescriptionRate",prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getDept()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}else {
|
|
|
//问诊量表格
|
|
|
List<SaveModel> outpatientList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL,"","","4");
|
|
|
//开具处方数量
|
|
|
Double preNum = 0.0;
|
|
|
Double outNum = 0.0;
|
|
|
String prescriptionRate ="";
|
|
|
List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL,"","","4");
|
|
|
for(SaveModel saveModel:precriptionList){
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode",saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName",saveModel.getHospitalName());
|
|
|
jsonObject.put("deptNo",saveModel.getDept());
|
|
|
jsonObject.put("deptName",saveModel.getDeptName());
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
|
jsonObject.put("doctorcode",saveModel.getDoctor());
|
|
|
for(SaveModel saveModel1:outpatientList){
|
|
|
String out=saveModel1.getHospital()==null?"":saveModel1.getHospital();
|
|
|
String pre=saveModel.getHospital()==null?"":saveModel.getHospital();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(),outNum.intValue(),0);
|
|
|
jsonObject.put("prescriptionRate",prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getHospital()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
object.put("excelData",resultArray);
|
|
|
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 resultArray = new JSONArray();
|
|
|
//问诊量
|
|
|
JSONObject object = new JSONObject();
|
|
|
if (interval==1){
|
|
|
//自取
|
|
|
JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],"0",SaveModel.timeLevel_ZL,"");
|
|
|
object.put("data",array);
|
|
|
//快递
|
|
|
JSONArray array1 = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],"1",SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data2",array1);
|
|
|
JSONArray arraytotal = dateTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data3",arraytotal);
|
|
|
}else if (interval==2){
|
|
|
JSONArray array = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],"0",SaveModel.timeLevel_ZL,"");
|
|
|
JSONArray array1 = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],"1",SaveModel.timeLevel_ZL,"");
|
|
|
object.put("data",array);
|
|
|
object.put("data2",array1);
|
|
|
JSONArray arraytotal = weekTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data3",arraytotal);
|
|
|
}else if (interval==3){
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],"0",SaveModel.timeLevel_ZL,"");
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],"1",SaveModel.timeLevel_ZL,"");
|
|
|
object.put("data",array);
|
|
|
object.put("data2",array1);
|
|
|
JSONArray arraytotal = monthTotalStatistics2(startDate,endDate,area,level,indexes[1],null,SaveModel.timeLevel_ZL,null);
|
|
|
object.put("data3",arraytotal);
|
|
|
}
|
|
|
if (StringUtils.isNoneBlank(level2_type)) {
|
|
|
List<SaveModel> outpatientList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL, "", "", level2_type);
|
|
|
//开具处方数量
|
|
|
Double preNum = 0.0;
|
|
|
Double outNum = 0.0;
|
|
|
String prescriptionRate = "";
|
|
|
List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL, "", "", level2_type);
|
|
|
if (SaveModel.OrgLevel.equals(level2_type)) {
|
|
|
//问诊量表格
|
|
|
for (SaveModel saveModel : precriptionList) {
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode", saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName", saveModel.getHospitalName());
|
|
|
jsonObject.put("specialist", saveModel.getResult1());
|
|
|
for (SaveModel saveModel1 : outpatientList) {
|
|
|
String out=saveModel1.getHospital()==null?"":saveModel1.getHospital();
|
|
|
String pre=saveModel.getHospital()==null?"":saveModel.getHospital();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(), outNum.intValue(), 0);
|
|
|
jsonObject.put("prescriptionRate", prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getHospital()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (SaveModel.doctorLevel.equals(level2_type)) {
|
|
|
for (SaveModel saveModel : precriptionList) {
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode", saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName", saveModel.getHospitalName());
|
|
|
jsonObject.put("deptNo", saveModel.getDept());
|
|
|
jsonObject.put("deptName", saveModel.getDeptName());
|
|
|
jsonObject.put("specialist", saveModel.getResult1());
|
|
|
jsonObject.put("doctorName", saveModel.getDoctorName());
|
|
|
jsonObject.put("doctorcode", saveModel.getDoctor());
|
|
|
for (SaveModel saveModel1 : outpatientList) {
|
|
|
String out=saveModel1.getDoctor()==null?"":saveModel1.getDoctor();
|
|
|
String pre=saveModel.getDoctor()==null?"":saveModel.getDoctor();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(), outNum.intValue(), 0);
|
|
|
jsonObject.put("prescriptionRate", prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getDoctor()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
if (SaveModel.deptLevel.equals(level2_type)) {
|
|
|
for (SaveModel saveModel : precriptionList) {
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
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());
|
|
|
for (SaveModel saveModel1 : outpatientList) {
|
|
|
String out=saveModel1.getDept()==null?"":saveModel1.getDept();
|
|
|
String pre=saveModel.getDept()==null?"":saveModel.getDept();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(), outNum.intValue(), 0);
|
|
|
jsonObject.put("prescriptionRate", prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getDept()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}else{
|
|
|
List<SaveModel> outpatientList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[0], SaveModel.timeLevel_ZL, "", "", "4");
|
|
|
//开具处方数量
|
|
|
Double preNum = 0.0;
|
|
|
Double outNum = 0.0;
|
|
|
String prescriptionRate = "";
|
|
|
List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, indexes[1], SaveModel.timeLevel_ZL, "", "", "4");
|
|
|
for (SaveModel saveModel : precriptionList) {
|
|
|
preNum = saveModel.getResult1();
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
jsonObject.put("hospitalCode", saveModel.getHospital());
|
|
|
jsonObject.put("hospitalName", saveModel.getHospitalName());
|
|
|
jsonObject.put("deptNo", saveModel.getDept());
|
|
|
jsonObject.put("deptName", saveModel.getDeptName());
|
|
|
jsonObject.put("specialist", saveModel.getResult1());
|
|
|
jsonObject.put("doctorName", saveModel.getDoctorName());
|
|
|
jsonObject.put("doctorcode", saveModel.getDoctor());
|
|
|
for (SaveModel saveModel1 : outpatientList) {
|
|
|
String out=saveModel1.getHospital()==null?"":saveModel1.getHospital();
|
|
|
String pre=saveModel.getHospital()==null?"":saveModel.getHospital();
|
|
|
if(out.equalsIgnoreCase(pre)){
|
|
|
outNum = saveModel1.getResult1();
|
|
|
prescriptionRate = getRange(preNum.intValue(), outNum.intValue(), 0);
|
|
|
jsonObject.put("prescriptionRate", prescriptionRate);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
if(null==saveModel.getHospital()){
|
|
|
resultArray =new JSONArray();
|
|
|
}else {
|
|
|
resultArray.add(jsonObject);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
object.put("excelData",resultArray);
|
|
|
return object;
|
|
|
}
|
|
|
/**
|
|
|
* 日期柱状图处方变换
|
|
|
*
|
|
|
*
|
|
|
* @param startDate
|
|
|
* @param endDate
|
|
|
* @param area
|
|
|
* @param level 2科室
|
|
|
* @param index
|
|
|
* @param level2_type 4 医院
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*//*
|
|
|
public JSONObject changePrescriptionLineOnlyTop(String startDate, String endDate, String area, int level, String index,int interval, String level2_type,String key1,String key2) throws Exception {
|
|
|
if(StringUtils.isNotBlank(key1)&&StringUtil.isBlank(key2)){
|
|
|
List<SaveModel> precriptionList = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "", "", level2_type);
|
|
|
}
|
|
|
return null;
|
|
|
}*/
|
|
|
}
|