wangzhinan 5 vuotta sitten
vanhempi
commit
ebc2fda645

+ 68 - 14
business/es-service/src/main/java/com/yihu/jw/es/service/StatisticsEsService.java

@ -46,6 +46,8 @@ public class StatisticsEsService {
    @Autowired
    private BaseDoctorHospitalDao doctorHospitalDao;
    @Autowired
    private DictHospitalDeptDao hospitalDeptDao;
    @Autowired
    private BaseDoctorDao doctorDao;
    @Autowired
    private BaseEvaluateScoreService baseEvaluateScoreService;
@ -131,13 +133,13 @@ public class StatisticsEsService {
        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();
            List<String> list = new ArrayList<>();
            for (SaveModel saveModel:specialistSaveModels){
@ -150,18 +152,31 @@ public class StatisticsEsService {
            for (int i=0;i<list.size();i++){
                String code = list.get(i);
                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){
                    if (level2_type.equals(SaveModel.deptLevel)){
                        if (code.equalsIgnoreCase(saveModel.getDept())){
                            jsonObject.put("code",code);
                            jsonObject.put("name",saveModel.getDeptName());
                            jsonObject.put("specialist",saveModel.getResult1());
                            specialist = saveModel.getResult1();
                            break;
                        }
                    }else if (level2_type.equals(SaveModel.doctorLevel)){
                        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());
                            specialist = saveModel.getResult1();
                            break;
                        }
                    }
@ -169,14 +184,23 @@ public class StatisticsEsService {
                for (SaveModel saveModel:syngySaveModels){
                    if (level2_type.equals(SaveModel.deptLevel)){
                        if (code.equalsIgnoreCase(saveModel.getDept())){
                            jsonObject.put("code",code);
                            jsonObject.put("name",saveModel.getDeptName());
                            jsonObject.put("synegy",saveModel.getResult1());
                            synegy = saveModel.getResult1();
                            break;
                        }
                    }else if (level2_type.equals(SaveModel.doctorLevel)){
                        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());
                            synegy = saveModel.getResult1();
                            break;
                        }
                    }
@ -184,14 +208,23 @@ public class StatisticsEsService {
                for (SaveModel saveModel:topicSaveModels){
                    if (level2_type.equals(SaveModel.deptLevel)){
                        if (code.equalsIgnoreCase(saveModel.getDept())){
                            jsonObject.put("code",code);
                            jsonObject.put("name",saveModel.getDeptName());
                            jsonObject.put("topic",saveModel.getResult1());
                            topic = saveModel.getResult1();
                            break;
                        }
                    }else if (level2_type.equals(SaveModel.doctorLevel)){
                        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());
                            topic = saveModel.getResult1();
                            break;
                        }
                    }
@ -199,18 +232,31 @@ public class StatisticsEsService {
                for (SaveModel saveModel:vedioSaveModels){
                    if (level2_type.equals(SaveModel.deptLevel)){
                        if (code.equalsIgnoreCase(saveModel.getDept())){
                            jsonObject.put("code",code);
                            jsonObject.put("name",saveModel.getDeptName());
                            jsonObject.put("vedio",saveModel.getResult1());
                            vedio = saveModel.getResult1();
                            break;
                        }
                    }else if (level2_type.equals(SaveModel.doctorLevel)){
                        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());
                            vedio = saveModel.getResult1();
                            break;
                        }
                    }
                }
                Double total1 = topic+vedio ;//图文和视频总和
                Double total = topic+vedio+synegy+specialist;//总和
                jsonObject.put("total1",total1);//图文和视频总和
                jsonObject.put("total",total);//总和
                array.add(jsonObject);
            }
            object.put("excelData",array);
@ -589,8 +635,8 @@ public class StatisticsEsService {
            }else if (level==5){
                for (Map<String,Object> map:mapList){
                    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 vedio =0L;
                    Long synegy = 0L;
@ -616,6 +662,7 @@ public class StatisticsEsService {
                    object1.put("synegy",synegy);//协同
                    object1.put("specialist",specialist);//专家
                    object1.put("other",other);//其他
                    object1.put("doctor",map.get("id"));
                    object1.put("doctorName",map.get("name"));//医生名字
                    object1.put("doctorJob",map.get("job_title_name"));//医生职称
                    array.add(object1);
@ -711,13 +758,20 @@ public class StatisticsEsService {
            }else if (level==5){
                Set<JSONObject> set = new HashSet<>();
                for(SaveModel saveModel:topicModels){
                    BaseDoctorDO doctorDO = doctorDao.findById(saveModel.getDoctor());
                    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("doctorJob",doctorDO.getJobTitleName());//
                    object1.put("doctor",doctorDO.getId());
                    object1.put("deptCode","-");
                    object1.put("deptName","-");
                    set.add(object1);
                }
                for (JSONObject jsonObject:set){