|
@ -46,6 +46,8 @@ public class StatisticsEsService {
|
|
@Autowired
|
|
@Autowired
|
|
private BaseDoctorHospitalDao doctorHospitalDao;
|
|
private BaseDoctorHospitalDao doctorHospitalDao;
|
|
@Autowired
|
|
@Autowired
|
|
|
|
private DictHospitalDeptDao hospitalDeptDao;
|
|
|
|
@Autowired
|
|
private BaseDoctorDao doctorDao;
|
|
private BaseDoctorDao doctorDao;
|
|
@Autowired
|
|
@Autowired
|
|
private BaseEvaluateScoreService baseEvaluateScoreService;
|
|
private BaseEvaluateScoreService baseEvaluateScoreService;
|
|
@ -131,13 +133,13 @@ public class StatisticsEsService {
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
//问诊量表格
|
|
//问诊量表格
|
|
//专家咨询数量
|
|
//专家咨询数量
|
|
List<SaveModel> specialistSaveModels = elasticsearchUtil.findDateQuotaLevel0(endDate, endDate, area, level, "4", SaveModel.timeLevel_DDL,null,level2_type);
|
|
|
|
|
|
List<SaveModel> specialistSaveModels = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, "4", SaveModel.timeLevel_ZL,null,level2_type);
|
|
//协同门诊
|
|
//协同门诊
|
|
List<SaveModel> syngySaveModels = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "1", SaveModel.timeLevel_DDL,"2",null,level2_type);
|
|
|
|
|
|
List<SaveModel> syngySaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, "1", SaveModel.timeLevel_ZL,"2",null,level2_type);
|
|
//图文复诊
|
|
//图文复诊
|
|
List<SaveModel> topicSaveModels = elasticsearchUtil.findDateQuotaLevel2(endDate, endDate, area, level, "1", SaveModel.timeLevel_DDL,"1","1",null,level2_type);
|
|
|
|
|
|
List<SaveModel> topicSaveModels = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "1", SaveModel.timeLevel_ZL,"1","1",null,level2_type);
|
|
///视频复诊
|
|
///视频复诊
|
|
List<SaveModel> vedioSaveModels = elasticsearchUtil.findDateQuotaLevel2(endDate, endDate, area, level, "1", SaveModel.timeLevel_DDL,"1","2",null,level2_type);
|
|
|
|
|
|
List<SaveModel> vedioSaveModels = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, "1", SaveModel.timeLevel_ZL,"1","2",null,level2_type);
|
|
JSONArray array = new JSONArray();
|
|
JSONArray array = new JSONArray();
|
|
List<String> list = new ArrayList<>();
|
|
List<String> list = new ArrayList<>();
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
@ -150,18 +152,31 @@ public class StatisticsEsService {
|
|
for (int i=0;i<list.size();i++){
|
|
for (int i=0;i<list.size();i++){
|
|
String code = list.get(i);
|
|
String code = list.get(i);
|
|
JSONObject jsonObject = new JSONObject();
|
|
JSONObject jsonObject = new JSONObject();
|
|
jsonObject.put("code",code);
|
|
|
|
|
|
Double specialist = 0.0;
|
|
|
|
Double topic = 0.0;
|
|
|
|
Double vedio =0.0;
|
|
|
|
Double synegy =0.0;
|
|
|
|
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
|
specialist = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
jsonObject.put("name",saveModel.getDoctorName());
|
|
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
|
specialist = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -169,14 +184,23 @@ public class StatisticsEsService {
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
jsonObject.put("name",saveModel.getDoctorName());
|
|
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -184,14 +208,23 @@ public class StatisticsEsService {
|
|
for (SaveModel saveModel:topicSaveModels){
|
|
for (SaveModel saveModel:topicSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
|
|
topic = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
jsonObject.put("name",saveModel.getDoctorName());
|
|
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
|
|
topic = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -199,18 +232,31 @@ public class StatisticsEsService {
|
|
for (SaveModel saveModel:vedioSaveModels){
|
|
for (SaveModel saveModel:vedioSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (code.equalsIgnoreCase(saveModel.getDept())){
|
|
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
|
|
vedio = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
if (code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
jsonObject.put("name",saveModel.getDoctorName());
|
|
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
|
|
vedio = saveModel.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Double total1 = topic+vedio ;//图文和视频总和
|
|
|
|
Double total = topic+vedio+synegy+specialist;//总和
|
|
|
|
jsonObject.put("total1",total1);//图文和视频总和
|
|
|
|
jsonObject.put("total",total);//总和
|
|
array.add(jsonObject);
|
|
array.add(jsonObject);
|
|
}
|
|
}
|
|
object.put("excelData",array);
|
|
object.put("excelData",array);
|
|
@ -589,8 +635,8 @@ public class StatisticsEsService {
|
|
}else if (level==5){
|
|
}else if (level==5){
|
|
for (Map<String,Object> map:mapList){
|
|
for (Map<String,Object> map:mapList){
|
|
JSONObject object1 = new JSONObject();
|
|
JSONObject object1 = new JSONObject();
|
|
object1.put("deptCode","-");
|
|
|
|
object1.put("deptName","-");
|
|
|
|
|
|
object1.put("deptCode",map.get("dept_code"));
|
|
|
|
object1.put("deptName",map.get("dept_name"));
|
|
Long topic = 0L;
|
|
Long topic = 0L;
|
|
Long vedio =0L;
|
|
Long vedio =0L;
|
|
Long synegy = 0L;
|
|
Long synegy = 0L;
|
|
@ -616,6 +662,7 @@ public class StatisticsEsService {
|
|
object1.put("synegy",synegy);//协同
|
|
object1.put("synegy",synegy);//协同
|
|
object1.put("specialist",specialist);//专家
|
|
object1.put("specialist",specialist);//专家
|
|
object1.put("other",other);//其他
|
|
object1.put("other",other);//其他
|
|
|
|
object1.put("doctor",map.get("id"));
|
|
object1.put("doctorName",map.get("name"));//医生名字
|
|
object1.put("doctorName",map.get("name"));//医生名字
|
|
object1.put("doctorJob",map.get("job_title_name"));//医生职称
|
|
object1.put("doctorJob",map.get("job_title_name"));//医生职称
|
|
array.add(object1);
|
|
array.add(object1);
|
|
@ -711,13 +758,20 @@ public class StatisticsEsService {
|
|
}else if (level==5){
|
|
}else if (level==5){
|
|
Set<JSONObject> set = new HashSet<>();
|
|
Set<JSONObject> set = new HashSet<>();
|
|
for(SaveModel saveModel:topicModels){
|
|
for(SaveModel saveModel:topicModels){
|
|
BaseDoctorDO doctorDO = doctorDao.findById(saveModel.getDoctor());
|
|
|
|
JSONObject object1 = new JSONObject();
|
|
JSONObject object1 = new JSONObject();
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(saveModel.getDoctor());
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOs = doctorHospitalDao.findByDoctorCode(saveModel.getDoctor());
|
|
|
|
if (doctorHospitalDOs!=null&&doctorHospitalDOs.size()!=0){
|
|
|
|
object1.put("deptCode",doctorHospitalDOs.get(0).getDeptCode());
|
|
|
|
object1.put("deptName",doctorHospitalDOs.get(0).getDeptName());
|
|
|
|
}else {
|
|
|
|
object1.put("deptCode",null);
|
|
|
|
object1.put("deptName",null);
|
|
|
|
}
|
|
|
|
object1.put("doctor",doctorDO.getId());
|
|
object1.put("doctorName",doctorDO.getName());//
|
|
object1.put("doctorName",doctorDO.getName());//
|
|
object1.put("doctorJob",doctorDO.getJobTitleName());//
|
|
object1.put("doctorJob",doctorDO.getJobTitleName());//
|
|
object1.put("doctor",doctorDO.getId());
|
|
object1.put("doctor",doctorDO.getId());
|
|
object1.put("deptCode","-");
|
|
|
|
object1.put("deptName","-");
|
|
|
|
set.add(object1);
|
|
set.add(object1);
|
|
}
|
|
}
|
|
for (JSONObject jsonObject:set){
|
|
for (JSONObject jsonObject:set){
|