|
@ -12,8 +12,10 @@ import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
|
|
|
import com.yihu.jw.entity.base.dict.DictHospitalDeptDO;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorDO;
|
|
|
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
|
|
|
import com.yihu.jw.entity.base.org.BaseOrgDO;
|
|
|
import com.yihu.jw.es.util.ElasticsearchUtil;
|
|
|
import com.yihu.jw.es.util.SaveModel;
|
|
|
import com.yihu.jw.org.dao.BaseOrgDao;
|
|
|
import com.yihu.jw.rm.base.BaseRequestMapping;
|
|
|
import com.yihu.jw.evaluate.score.service.BaseEvaluateScoreService;
|
|
|
import com.yihu.jw.util.date.DateUtil;
|
|
@ -59,6 +61,8 @@ public class StatisticsEsService {
|
|
|
@Autowired
|
|
|
private BaseDoctorDao doctorDao;
|
|
|
@Autowired
|
|
|
private BaseOrgDao orgDao;
|
|
|
@Autowired
|
|
|
private BaseEvaluateScoreService baseEvaluateScoreService;
|
|
|
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
@ -442,7 +446,7 @@ public class StatisticsEsService {
|
|
|
//问诊量
|
|
|
JSONObject object = new JSONObject();
|
|
|
if (interval==1){
|
|
|
JSONArray array = dateTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
|
JSONArray array = dateTotalStatistics3(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,level2_type);
|
|
|
object.put("data",array);
|
|
|
JSONArray array1 = dateTotalStatistics3(startDate,endDate,area,level,index,"3",SaveModel.timeLevel_ZL,null);
|
|
|
object.put("specialistData",array1);
|
|
@ -546,6 +550,10 @@ public class StatisticsEsService {
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
}
|
|
|
}else if (level==4){
|
|
|
BaseOrgDO orgDO = orgDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
|
jsonObject.put("name",orgDO.getName());
|
|
|
}else {
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
@ -594,6 +602,10 @@ public class StatisticsEsService {
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
}
|
|
|
}else if (level==4){
|
|
|
BaseOrgDO orgDO = orgDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
|
jsonObject.put("name",orgDO.getName());
|
|
|
}else {
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
@ -640,6 +652,10 @@ public class StatisticsEsService {
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
}
|
|
|
}else if (level==4){
|
|
|
BaseOrgDO orgDO = orgDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
|
jsonObject.put("name",orgDO.getName());
|
|
|
}else {
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
@ -685,6 +701,10 @@ public class StatisticsEsService {
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
}
|
|
|
}else if (level==4){
|
|
|
BaseOrgDO orgDO = orgDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
|
jsonObject.put("name",orgDO.getName());
|
|
|
}else {
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
jsonObject.put("code",area);
|
|
@ -710,6 +730,7 @@ public class StatisticsEsService {
|
|
|
jsonObject.put("total",decimalFormat.format(total));//总和
|
|
|
array.add(jsonObject);
|
|
|
}
|
|
|
|
|
|
object.put("excelData",array);
|
|
|
}
|
|
|
return object;
|
|
@ -4483,4 +4504,106 @@ public class StatisticsEsService {
|
|
|
object.put("synergyTotal",synergyTotal.getResult1());
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
public JSONObject appPriceHead(String startDate, String endDate, String area,int level, String index) throws Exception {
|
|
|
JSONObject object = new JSONObject();
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("0.00");
|
|
|
//图文复诊
|
|
|
SaveModel topicTotal = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"1","1");
|
|
|
object.put("topicTotal",decimalFormat.format(topicTotal.getResult1()));
|
|
|
//视频复诊
|
|
|
SaveModel videoTotal = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"1","2");
|
|
|
object.put("videoTotal",decimalFormat.format(videoTotal.getResult1()));
|
|
|
//专家咨询
|
|
|
SaveModel specialistTotal = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"3");
|
|
|
object.put("specialistTotal",decimalFormat.format(specialistTotal.getResult1()));
|
|
|
//专科协同
|
|
|
SaveModel synergyTotal = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"2");
|
|
|
object.put("synergyTotal",decimalFormat.format(synergyTotal.getResult1()));
|
|
|
//总收入
|
|
|
SaveModel totalPrice = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL);
|
|
|
object.put("totalPrice",decimalFormat.format(totalPrice.getResult1()));
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
public JSONObject appPrescriptionHead(String startDate, String endDate, String area,int level, String index) throws Exception {
|
|
|
JSONObject object = new JSONObject();
|
|
|
//图文复诊
|
|
|
SaveModel topicTotal = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"1");
|
|
|
object.put("topicTotal",topicTotal.getResult1());
|
|
|
//视频复诊
|
|
|
SaveModel videoTotal = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"2");
|
|
|
object.put("videoTotal",videoTotal.getResult1());
|
|
|
//总计
|
|
|
SaveModel specialistTotal = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL);
|
|
|
object.put("total",specialistTotal.getResult1());
|
|
|
return object;
|
|
|
}
|
|
|
|
|
|
|
|
|
public JSONObject appCenterCircular(String startDate, String endDate, String area, int level, String index) throws Exception {
|
|
|
|
|
|
JSONObject object = new JSONObject();
|
|
|
if (index.equalsIgnoreCase("3")||index.equalsIgnoreCase("3,21")||index.equalsIgnoreCase("21")){
|
|
|
//协同门诊
|
|
|
SaveModel saveModel1 = null;
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "2");
|
|
|
//图文复诊
|
|
|
SaveModel saveModel2 = null;
|
|
|
//saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","1");
|
|
|
saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "1","1");
|
|
|
//视频复诊
|
|
|
SaveModel saveModel3 = null;
|
|
|
/*
|
|
|
saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(endDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "1","2");
|
|
|
*/
|
|
|
saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "1","2");
|
|
|
Double specialistCount =0.0;
|
|
|
//专科咨询
|
|
|
SaveModel saveModel4 = null;
|
|
|
saveModel4 = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "3");
|
|
|
specialistCount = saveModel4.getResult1();//专家咨询数量
|
|
|
|
|
|
//总量
|
|
|
SaveModel saveModel5 = null;
|
|
|
saveModel5 = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL);
|
|
|
|
|
|
|
|
|
Double synergyCount = saveModel1.getResult1();//协同门诊数量
|
|
|
Double topicCount = saveModel2.getResult1();//图文复诊数量
|
|
|
Double videoCount = saveModel3.getResult1();//视频复诊数量
|
|
|
Double total = saveModel5.getResult1();//总量
|
|
|
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));
|
|
|
|
|
|
}else if (index.equalsIgnoreCase("20")){
|
|
|
//图文复诊
|
|
|
SaveModel saveModel2 = null;
|
|
|
saveModel2 = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL, "1");
|
|
|
//视频复诊
|
|
|
SaveModel saveModel3 = null;
|
|
|
saveModel3 = elasticsearchUtil.findOneDateQuotaLevel2NoSlaveKey1(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, "2");
|
|
|
//总数
|
|
|
SaveModel saveModel1 = null;
|
|
|
saveModel1 = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL);
|
|
|
Double topicCount = saveModel2.getResult1();//图文复诊数量
|
|
|
Double videoCount = saveModel3.getResult1();//视频复诊数量
|
|
|
Double total = saveModel1.getResult1();//总量
|
|
|
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);
|
|
|
|
|
|
}
|
|
|
return object;
|
|
|
}
|
|
|
}
|