|
@ -175,15 +175,15 @@ public class StatisticsEsService {
|
|
JSONArray array4 = weekTotalStatistics(startDate,endDate,area,level,"5","16",SaveModel.timeLevel_ZL);
|
|
JSONArray array4 = weekTotalStatistics(startDate,endDate,area,level,"5","16",SaveModel.timeLevel_ZL);
|
|
object.put("vedioData",array4);
|
|
object.put("vedioData",array4);
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,"5","1",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,"5","1",SaveModel.timeLevel_ZL,null);
|
|
object.put("specialistData",array1);
|
|
object.put("specialistData",array1);
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,"5","9",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,"5","9",SaveModel.timeLevel_ZL,null);
|
|
object.put("topicData",array2);
|
|
object.put("topicData",array2);
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,"5","12",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,"5","12",SaveModel.timeLevel_ZL,null);
|
|
object.put("synergyData",array3);
|
|
object.put("synergyData",array3);
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,"5","16",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,"5","16",SaveModel.timeLevel_ZL,null);
|
|
object.put("vedioData",array4);
|
|
object.put("vedioData",array4);
|
|
}
|
|
}
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
@ -200,6 +200,282 @@ public class StatisticsEsService {
|
|
JSONArray array = new JSONArray();
|
|
JSONArray array = new JSONArray();
|
|
List<String> list = new ArrayList<>();
|
|
List<String> list = new ArrayList<>();
|
|
|
|
|
|
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())){
|
|
|
|
list.add(saveModel.getHospital());
|
|
|
|
}
|
|
|
|
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())){
|
|
|
|
list.add(saveModel.getDept());
|
|
|
|
}
|
|
|
|
|
|
|
|
}else if (level2_type.equals(SaveModel.doctorLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDoctor())){
|
|
|
|
list.add(saveModel.getDoctor());
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (int i=0;i<list.size();i++){
|
|
|
|
String code = list.get(i);
|
|
|
|
JSONObject jsonObject = new JSONObject();
|
|
|
|
Double specialist = 0.0;
|
|
|
|
Double topic = 0.0;
|
|
|
|
Double vedio =0.0;
|
|
|
|
Double synegy =0.0;
|
|
|
|
if (index.equalsIgnoreCase("3")){
|
|
|
|
specialist = 0.0;
|
|
|
|
}else if (index.equalsIgnoreCase("5")){
|
|
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
|
specialist = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&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 (StringUtils.isNoneBlank(saveModel.getDoctor())&&code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
|
|
|
|
|
|
if (level==6){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(area);
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
}
|
|
|
|
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
if (doctorDO!=null){
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
}else {
|
|
|
|
jsonObject.put("doctorJob",null);
|
|
|
|
}
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
|
specialist = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&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 (StringUtils.isNoneBlank(saveModel.getDoctor())&&code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
|
|
if (level==6){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(area);
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
}
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
if (doctorDO!=null){
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
}else {
|
|
|
|
jsonObject.put("doctorJob",null);
|
|
|
|
}
|
|
|
|
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (SaveModel saveModel:topicSaveModels){
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
|
|
topic = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&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 (StringUtils.isNoneBlank(saveModel.getDoctor())&&code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
|
|
if (level==6){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(area);
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
}
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
if (doctorDO!=null){
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
}else {
|
|
|
|
jsonObject.put("doctorJob",null);
|
|
|
|
}
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
jsonObject.put("doctorName",saveModel.getDoctorName());
|
|
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
|
|
topic = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
for (SaveModel saveModel:vedioSaveModels){
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
|
|
vedio = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&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 (StringUtils.isNoneBlank(saveModel.getDoctor())&&code.equalsIgnoreCase(saveModel.getDoctor())){
|
|
|
|
if (level==6){
|
|
|
|
List<BaseDoctorHospitalDO> doctorHospitalDOS = doctorHospitalDao.findByDoctorCode(area);
|
|
|
|
if (doctorHospitalDOS!=null&&doctorHospitalDOS.size()!=0){
|
|
|
|
BaseDoctorHospitalDO doctorHospitalDO = doctorHospitalDOS.get(0);
|
|
|
|
jsonObject.put("code",doctorHospitalDO.getDeptCode());
|
|
|
|
jsonObject.put("name",doctorHospitalDO.getDeptName());
|
|
|
|
}
|
|
|
|
}else {
|
|
|
|
DictHospitalDeptDO dictHospitalDeptDO = hospitalDeptDao.findByCode(area);
|
|
|
|
jsonObject.put("code",area);
|
|
|
|
jsonObject.put("name",dictHospitalDeptDO.getName());
|
|
|
|
}
|
|
|
|
jsonObject.put("doctorCode",code);
|
|
|
|
BaseDoctorDO doctorDO = doctorDao.findById(code);
|
|
|
|
if (doctorDO!=null){
|
|
|
|
jsonObject.put("doctorJob",doctorDO.getJobTitleName());
|
|
|
|
}else {
|
|
|
|
jsonObject.put("doctorJob",null);
|
|
|
|
}
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
return object;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public JSONObject getOutPatientPriceLine(String startDate, String endDate, String area, int level, String index,int interval, String level2_type) throws Exception {
|
|
|
|
//问诊量
|
|
|
|
JSONObject object = new JSONObject();
|
|
|
|
if (interval==1){
|
|
|
|
JSONArray array = dateTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("data",array);
|
|
|
|
JSONArray array1 = dateTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("specialistData",array1);
|
|
|
|
JSONArray array2 = dateTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
|
|
|
|
object.put("topicData",array2);
|
|
|
|
JSONArray array3 = dateTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("synergyData",array3);
|
|
|
|
JSONArray array4 = dateTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
|
|
|
|
object.put("vedioData",array4);
|
|
|
|
}else if (interval==2){
|
|
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
|
|
object.put("data",array);
|
|
|
|
JSONArray array1 = weekTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
|
|
|
|
object.put("specialistData",array1);
|
|
|
|
JSONArray array2 = weekTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
|
|
|
|
object.put("topicData",array2);
|
|
|
|
JSONArray array3 = weekTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("synergyData",array3);
|
|
|
|
JSONArray array4 = weekTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
|
|
|
|
object.put("vedioData",array4);
|
|
|
|
}else if (interval==3){
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("data",array);
|
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,"3","3",SaveModel.timeLevel_ZL,"1");
|
|
|
|
object.put("specialistData",array1);
|
|
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"1");
|
|
|
|
object.put("topicData",array2);
|
|
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,"3","2",SaveModel.timeLevel_ZL,null);
|
|
|
|
object.put("synergyData",array3);
|
|
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,"3","1",SaveModel.timeLevel_ZL,"2");
|
|
|
|
object.put("vedioData",array4);
|
|
|
|
}
|
|
|
|
if (StringUtils.isNoneBlank(level2_type)){
|
|
|
|
|
|
|
|
//问诊量表格
|
|
|
|
//专家咨询数量
|
|
|
|
List<SaveModel> specialistSaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"3",null,level2_type);
|
|
|
|
//协同门诊
|
|
|
|
List<SaveModel> syngySaveModels = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"2",null,level2_type);
|
|
|
|
//图文复诊
|
|
|
|
List<SaveModel> topicSaveModels = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"1","1",null,level2_type);
|
|
|
|
///视频复诊
|
|
|
|
List<SaveModel> vedioSaveModels = elasticsearchUtil.findDateQuotaLevel2(startDate, endDate, area, level, index, SaveModel.timeLevel_ZL,"1","2",null,level2_type);
|
|
|
|
JSONArray array = new JSONArray();
|
|
|
|
List<String> list = new ArrayList<>();
|
|
|
|
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())){
|
|
@ -211,6 +487,11 @@ public class StatisticsEsService {
|
|
list.add(saveModel.getDoctor());
|
|
list.add(saveModel.getDoctor());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}else if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())){
|
|
|
|
list.add(saveModel.getHospital());
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (int i=0;i<list.size();i++){
|
|
for (int i=0;i<list.size();i++){
|
|
@ -224,7 +505,15 @@ public class StatisticsEsService {
|
|
specialist = 0.0;
|
|
specialist = 0.0;
|
|
}else if (index.equalsIgnoreCase("5")){
|
|
}else if (index.equalsIgnoreCase("5")){
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
for (SaveModel saveModel:specialistSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("specialist",saveModel.getResult1());
|
|
|
|
specialist = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
@ -265,7 +554,15 @@ public class StatisticsEsService {
|
|
}
|
|
}
|
|
|
|
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
for (SaveModel saveModel:syngySaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("synegy",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
@ -303,7 +600,15 @@ public class StatisticsEsService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (SaveModel saveModel:topicSaveModels){
|
|
for (SaveModel saveModel:topicSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("topic",saveModel.getResult1());
|
|
|
|
synegy = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
@ -340,7 +645,15 @@ public class StatisticsEsService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
for (SaveModel saveModel:vedioSaveModels){
|
|
for (SaveModel saveModel:vedioSaveModels){
|
|
if (level2_type.equals(SaveModel.deptLevel)){
|
|
|
|
|
|
if (level2_type.equals(SaveModel.OrgLevel)){
|
|
|
|
if (StringUtils.isNoneBlank(saveModel.getHospital())&&code.equalsIgnoreCase(saveModel.getHospital())){
|
|
|
|
jsonObject.put("code",code);
|
|
|
|
jsonObject.put("name",saveModel.getHospitalName());
|
|
|
|
jsonObject.put("vedio",saveModel.getResult1());
|
|
|
|
vedio = saveModel.getResult1();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}else if (level2_type.equals(SaveModel.deptLevel)){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
if (StringUtils.isNoneBlank(saveModel.getDept())&&code.equalsIgnoreCase(saveModel.getDept())){
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("code",code);
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
jsonObject.put("name",saveModel.getDeptName());
|
|
@ -1311,6 +1624,172 @@ public class StatisticsEsService {
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private JSONArray weekTotalStatistics2(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
|
|
|
|
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
// 起始日期
|
|
|
|
Calendar start = Calendar.getInstance();
|
|
|
|
start.setTime(DateUtil.strToDate(startDate, DateUtil.YYYY_MM_DD));
|
|
|
|
// 第一个统计周期结束日期
|
|
|
|
String firstEnd = "";
|
|
|
|
// 结束日期
|
|
|
|
Calendar end = Calendar.getInstance();
|
|
|
|
//因为统计时间是统计到当前时间的前一天,所以这里的时间是提前一天
|
|
|
|
Calendar temp = Calendar.getInstance();
|
|
|
|
temp.setTime(DateUtil.strToDate(endDate, DateUtil.YYYY_MM_DD));
|
|
|
|
// temp.add(Calendar.DAY_OF_MONTH, -1);
|
|
|
|
end.setTime(temp.getTime());
|
|
|
|
// 起始日期为周几
|
|
|
|
int week = start.get(Calendar.DAY_OF_WEEK);
|
|
|
|
int incre = 7 - week + 1;
|
|
|
|
|
|
|
|
// 日期集合
|
|
|
|
List<Calendar> days = new ArrayList<>();
|
|
|
|
days.add(start);
|
|
|
|
boolean flag = true;
|
|
|
|
int i = 0;
|
|
|
|
|
|
|
|
if (startDate.compareTo(endDate) == 0) {
|
|
|
|
flag = false;
|
|
|
|
days.add(end);
|
|
|
|
firstEnd = df.format(end.getTime());
|
|
|
|
}
|
|
|
|
|
|
|
|
// 计算统计日期
|
|
|
|
while (flag) {
|
|
|
|
Calendar next = Calendar.getInstance();
|
|
|
|
next.setTime(days.get(days.size() - 1).getTime());
|
|
|
|
|
|
|
|
if (i == 0) {
|
|
|
|
if (incre != 7) {
|
|
|
|
next.add(Calendar.DATE, incre);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
next.add(Calendar.DATE, 7);
|
|
|
|
}
|
|
|
|
if (next.getTime().before(DateUtil.strToDate(endDate, "yyyy-MM-dd"))) {
|
|
|
|
days.add(next);
|
|
|
|
if (i == 0) {
|
|
|
|
firstEnd = df.format(next.getTime());
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
days.add(end);
|
|
|
|
flag = false;
|
|
|
|
if (i == 0) {
|
|
|
|
firstEnd = df.format(end.getTime());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
|
|
|
|
// 结果集
|
|
|
|
Map<String, JSONObject> countResult = new HashMap<>();
|
|
|
|
|
|
|
|
// Date dd = df.parse();
|
|
|
|
|
|
|
|
// 算出每个查询周期
|
|
|
|
for (int j = 0; j < days.size() - 1; j++) {
|
|
|
|
String startStr = "";
|
|
|
|
String endStr = df.format(days.get(j + 1).getTime());
|
|
|
|
|
|
|
|
// 起始、截止日期
|
|
|
|
if (j == 0) {
|
|
|
|
startStr = df.format(days.get(j).getTime());
|
|
|
|
} else {
|
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
|
cal.setTime(days.get(j).getTime());
|
|
|
|
cal.add(Calendar.DATE, 1);
|
|
|
|
startStr = df.format(cal.getTime());
|
|
|
|
}
|
|
|
|
|
|
|
|
JSONObject range = new JSONObject();
|
|
|
|
range.put("range", endStr);
|
|
|
|
range.put("amount", 0);
|
|
|
|
range.put("num",0.0);
|
|
|
|
countResult.put(endStr, range);
|
|
|
|
|
|
|
|
|
|
|
|
// if(!DateUtil.getSundayOfThisDate(new Date()).equals(df.format(new Date()))){
|
|
|
|
// JSONObject range2 = new JSONObject();
|
|
|
|
// range2.put("range", endDate);
|
|
|
|
// range2.put("amount", 0);
|
|
|
|
// countResult.put(df.format(new Date()), range2);
|
|
|
|
// };
|
|
|
|
}
|
|
|
|
|
|
|
|
if (startDate.equals(df.format(new Date()))) {
|
|
|
|
Calendar preDate = Calendar.getInstance();
|
|
|
|
preDate.setTime(df.parse(endDate));
|
|
|
|
preDate.add(Calendar.DATE, -1);
|
|
|
|
|
|
|
|
startDate = df.format(preDate.getTime());
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
|
|
if (StringUtils.isNotBlank(lowCode)) {
|
|
|
|
if (StringUtils.isNoneBlank(lowCode2)){
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode,lowCode2);
|
|
|
|
}else {
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week, lowCode);
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_week);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (saveModels != null) {
|
|
|
|
// 计算结果
|
|
|
|
for (SaveModel saveModel : saveModels) {
|
|
|
|
String range = "";
|
|
|
|
if (saveModel.getQuotaDate() != null) {
|
|
|
|
Calendar quotaDate = Calendar.getInstance();
|
|
|
|
quotaDate.setTime(saveModel.getQuotaDate());
|
|
|
|
quotaDate.add(Calendar.DATE, 6);
|
|
|
|
range = df.format(quotaDate.getTime());
|
|
|
|
|
|
|
|
}
|
|
|
|
JSONObject json = countResult.get(range);
|
|
|
|
// //因为上述时间集提前一天 但是前端是显示当前时间,所以这里给调整回去
|
|
|
|
// if (range.equals(df.format(temp.getTime()))) {
|
|
|
|
// json.put("range", endDate);
|
|
|
|
// }
|
|
|
|
if (json != null) {
|
|
|
|
long amount = saveModel.getResult2().longValue();
|
|
|
|
double num = saveModel.getResult1();
|
|
|
|
json.put("amount", amount);
|
|
|
|
json.put("num",num);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
List<JSONObject> result = new ArrayList<>(countResult.values());
|
|
|
|
|
|
|
|
// 排序
|
|
|
|
result.sort(new Comparator<JSONObject>() {
|
|
|
|
@Override
|
|
|
|
public int compare(JSONObject o1, JSONObject o2) {
|
|
|
|
if (o1.getString("range").compareTo(o2.getString("range")) > 0) {
|
|
|
|
return 1;
|
|
|
|
} else if (o1.getString("range").compareTo(o2.getString("range")) < 0) {
|
|
|
|
return -1;
|
|
|
|
} else {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
JSONArray jsonArray = new JSONArray();
|
|
|
|
for (JSONObject object:result){
|
|
|
|
jsonArray.add(object);
|
|
|
|
}
|
|
|
|
|
|
|
|
return jsonArray;
|
|
|
|
} else {
|
|
|
|
return new JSONArray();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 按月统计 折线图
|
|
* 按月统计 折线图
|
|
*
|
|
*
|
|
@ -1323,7 +1802,7 @@ public class StatisticsEsService {
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
private JSONArray monthTotalStatistics2(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
|
|
|
|
|
|
private JSONArray monthTotalStatistics2(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel,String lowCode2) throws Exception {
|
|
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
@ -1394,7 +1873,11 @@ public class StatisticsEsService {
|
|
}
|
|
}
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
if (StringUtils.isNotBlank(lowCode)) {
|
|
if (StringUtils.isNotBlank(lowCode)) {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month, lowCode);
|
|
|
|
|
|
if (StringUtils.isNoneBlank(lowCode2)){
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel2(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month, lowCode,lowCode2);
|
|
|
|
}else {
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month, lowCode);
|
|
|
|
}
|
|
} else {
|
|
} else {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month);
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_month);
|
|
}
|
|
}
|
|
@ -1644,7 +2127,7 @@ public class StatisticsEsService {
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}
|
|
}
|
|
return object;
|
|
return object;
|
|
@ -1932,7 +2415,7 @@ public class StatisticsEsService {
|
|
}else if (interval==2){
|
|
}else if (interval==2){
|
|
array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
}
|
|
}
|
|
for (int i=0;i<array.size();i++){
|
|
for (int i=0;i<array.size();i++){
|
|
JSONObject jsonObject = array.getJSONObject(i);
|
|
JSONObject jsonObject = array.getJSONObject(i);
|
|
@ -2278,7 +2761,7 @@ public class StatisticsEsService {
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL);
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}
|
|
}
|
|
return object;
|
|
return object;
|
|
@ -2413,7 +2896,7 @@ public class StatisticsEsService {
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
JSONArray array = weekTotalStatistics(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("data",array);
|
|
object.put("data",array);
|
|
}
|
|
}
|
|
return object;
|
|
return object;
|
|
@ -2555,26 +3038,26 @@ public class StatisticsEsService {
|
|
|
|
|
|
}else if (interval==3){
|
|
}else if (interval==3){
|
|
if (index.equalsIgnoreCase("6")){
|
|
if (index.equalsIgnoreCase("6")){
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("totalData",array);
|
|
object.put("totalData",array);
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,index,"0",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,index,"0",SaveModel.timeLevel_ZL,null);
|
|
object.put("noReplyData",array1);
|
|
object.put("noReplyData",array1);
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index,"1",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index,"1",SaveModel.timeLevel_ZL,null);
|
|
object.put("replyData",array2);
|
|
object.put("replyData",array2);
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL,null);
|
|
object.put("commingData",array3);
|
|
object.put("commingData",array3);
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL,null);
|
|
object.put("endData",array4);
|
|
object.put("endData",array4);
|
|
}else {
|
|
}else {
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array = monthTotalStatistics2(startDate,endDate,area,level,index1,null,SaveModel.timeLevel_ZL,null);
|
|
object.put("totalData",array);
|
|
object.put("totalData",array);
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array1 = monthTotalStatistics2(startDate,endDate,area,level,index1,"0",SaveModel.timeLevel_ZL,null);
|
|
object.put("noReceiveData",array1);
|
|
object.put("noReceiveData",array1);
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array2 = monthTotalStatistics2(startDate,endDate,area,level,index1,"1",SaveModel.timeLevel_ZL,null);
|
|
object.put("haveReceiveData",array2);
|
|
object.put("haveReceiveData",array2);
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,index,"-1",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array3 = monthTotalStatistics2(startDate,endDate,area,level,index,"-1",SaveModel.timeLevel_ZL,null);
|
|
object.put("concleData",array3);
|
|
object.put("concleData",array3);
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index,"2",SaveModel.timeLevel_ZL);
|
|
|
|
|
|
JSONArray array4 = monthTotalStatistics2(startDate,endDate,area,level,index,"2",SaveModel.timeLevel_ZL,null);
|
|
object.put("endData",array4);
|
|
object.put("endData",array4);
|
|
}
|
|
}
|
|
|
|
|