|
@ -521,7 +521,11 @@ public class StatisticsESService {
|
|
|
public long getWeiJiaoFei(String endDate, String area, int level) throws Exception {
|
|
|
|
|
|
SaveModel saveModel = elasticsearchUtil.findOneDateQuotaLevel1(endDate, area, level, "16", "2", "0");
|
|
|
return saveModel.getResult2().longValue();
|
|
|
if (saveModel != null) {
|
|
|
return saveModel.getResult2().longValue();
|
|
|
} else {
|
|
|
return 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
@ -1330,11 +1334,12 @@ public class StatisticsESService {
|
|
|
}
|
|
|
return rs;
|
|
|
}
|
|
|
public List translateTeamLeaderNameListMap(List<Map<String,Object>> rs) {
|
|
|
|
|
|
public List translateTeamLeaderNameListMap(List<Map<String, Object>> rs) {
|
|
|
Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
|
|
|
if (rs != null) {
|
|
|
for (int i = 0; i < rs.size(); i++) {
|
|
|
Map<String,Object> r = rs.get(i);
|
|
|
Map<String, Object> r = rs.get(i);
|
|
|
Integer id = Integer.valueOf(r.get("code").toString());
|
|
|
String name = getTeamLeaderNameByTeamCode(leaders, id);
|
|
|
if (org.apache.commons.lang3.StringUtils.isNotBlank(name)) {
|
|
@ -1344,6 +1349,7 @@ public class StatisticsESService {
|
|
|
}
|
|
|
return rs;
|
|
|
}
|
|
|
|
|
|
public JSONArray translateTeamLeaderNameByCode(JSONArray rs) {
|
|
|
Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
|
|
|
if (rs != null) {
|
|
@ -2420,7 +2426,7 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
private JSONArray getLevel2JsonObjectForRedis(String index, String level, String code, String timeKey) throws Exception {
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateAllQuotaLevel1(timeKey, timeKey,code, Integer.parseInt(level), index, SaveModel.timeLevel_DDL,"","");
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateAllQuotaLevel1(timeKey, timeKey, code, Integer.parseInt(level), index, SaveModel.timeLevel_DDL, "", "");
|
|
|
// JSONObject jo = new JSONObject();
|
|
|
JSONArray switchJo = new JSONArray();
|
|
|
list.stream().forEach(one -> {
|
|
@ -2736,7 +2742,7 @@ public class StatisticsESService {
|
|
|
// Map<String, Object> map = jdbcTemplate.queryForMap(sql, startDate, endDate,admin.getId());
|
|
|
SaveModel saveModel21 = elasticsearchUtil.findOneDateQuotaLevel0(startDate, endDate, admin.getId() + "", Integer.parseInt(SaveModel.teamLevel), "3", SaveModel.timeLevel_ZL);
|
|
|
Double avgCout = 0.0;
|
|
|
if (saveModel21.getResult2().intValue()!=0){
|
|
|
if (saveModel21.getResult2().intValue() != 0) {
|
|
|
avgCout = saveModel2.getResult1() / saveModel21.getResult2();
|
|
|
}
|
|
|
Map<String, Object> avgScore = new HashMap<>();
|
|
@ -2791,7 +2797,7 @@ public class StatisticsESService {
|
|
|
throw new RuntimeException("未找到团队信息");
|
|
|
}
|
|
|
Long id = admin.getId();
|
|
|
List<SaveModel> list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate,endDate,id+"",Integer.valueOf(SaveModel.teamLevel),"1",SaveModel.timeLevel_ZL,String.valueOf(Integer.valueOf(type)+1));
|
|
|
List<SaveModel> list = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, id + "", Integer.valueOf(SaveModel.teamLevel), "1", SaveModel.timeLevel_ZL, String.valueOf(Integer.valueOf(type) + 1));
|
|
|
|
|
|
List<Map<String, Object>> rs = new ArrayList<>();
|
|
|
for (SaveModel saveModel : list) {
|
|
@ -2889,12 +2895,12 @@ public class StatisticsESService {
|
|
|
String quotaDate = dateFormat.format(one.getQuotaDate());
|
|
|
saveModel = elasticsearchUtil.findOneDateQuotaLevel0(quotaDate, id + "", Integer.parseInt(SaveModel.teamLevel), "59", SaveModel.timeLevel_ZL);
|
|
|
//如果曾量为0,则说明没有数据。直接返回
|
|
|
if(one.getResult2()!=0 && saveModel.getResult2().intValue()!=0){
|
|
|
if (one.getResult2() != 0 && saveModel.getResult2().intValue() != 0) {
|
|
|
avgCount = one.getResult2() / saveModel.getResult2();
|
|
|
}else if (one.getResult2()!=0 && saveModel.getResult2().intValue()==0){
|
|
|
} else if (one.getResult2() != 0 && saveModel.getResult2().intValue() == 0) {
|
|
|
avgCount = 80.0;
|
|
|
}else if (one.getResult2()==0){
|
|
|
avgCount=0.0;
|
|
|
} else if (one.getResult2() == 0) {
|
|
|
avgCount = 0.0;
|
|
|
}
|
|
|
map = new HashMap<>();
|
|
|
if ("0".equals(type)) {
|
|
@ -3029,7 +3035,7 @@ public class StatisticsESService {
|
|
|
String index = "64";
|
|
|
Map<String, Object> rs = new HashedMap();
|
|
|
//总数
|
|
|
SaveModel total = elasticsearchUtil.findOneDateQuotaLevel1NoSlaveKey1(startDate,endDate, String.valueOf(adminTeamId), Integer.valueOf(SaveModel.teamLevel), index, SaveModel.timeLevel_ZL);
|
|
|
SaveModel total = elasticsearchUtil.findOneDateQuotaLevel1NoSlaveKey1(startDate, endDate, String.valueOf(adminTeamId), Integer.valueOf(SaveModel.teamLevel), index, SaveModel.timeLevel_ZL);
|
|
|
//进行中
|
|
|
SaveModel processing = elasticsearchUtil.findOneDateQuotaLevel1(startDate, endDate, String.valueOf(adminTeamId), Integer.valueOf(SaveModel.teamLevel), index, SaveModel.timeLevel_ZL, "1");
|
|
|
//已完成
|
|
@ -3101,27 +3107,27 @@ public class StatisticsESService {
|
|
|
}
|
|
|
//进行中
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
processing = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "1").get(0);
|
|
|
processing = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "4").get(0);
|
|
|
} else {
|
|
|
processing = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "1");
|
|
|
processing = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "4");
|
|
|
}
|
|
|
//已完成
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
finished = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "2").get(0);
|
|
|
finished = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "1").get(0);
|
|
|
} else {
|
|
|
finished = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "2");
|
|
|
finished = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "1");
|
|
|
}
|
|
|
//已经取消
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
canceled = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "3").get(0);
|
|
|
canceled = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "2").get(0);
|
|
|
} else {
|
|
|
canceled = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "3");
|
|
|
canceled = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "2");
|
|
|
}
|
|
|
//审核不通过
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
unPass = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "4").get(0);
|
|
|
unPass = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, disease, "3").get(0);
|
|
|
} else {
|
|
|
unPass = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "4");
|
|
|
unPass = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, "3");
|
|
|
}
|
|
|
//其他原因取消
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
@ -3258,12 +3264,15 @@ public class StatisticsESService {
|
|
|
for (SaveModel one : list) {
|
|
|
map = new HashMap<>();
|
|
|
if (SaveModel.townLevel.equals(lowlevel)) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getTown());
|
|
|
map.put("name", one.getTownName());
|
|
|
} else if (SaveModel.OrgLevel.equals(lowlevel)) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getHospital());
|
|
|
map.put("name", one.getHospitalName());
|
|
|
} else if (SaveModel.teamLevel.equals(lowlevel)) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getTeam());
|
|
|
map.put("name", one.getTeamName());
|
|
|
}
|
|
@ -3281,13 +3290,13 @@ public class StatisticsESService {
|
|
|
adminTeams = findAllTeam();
|
|
|
} else if (SaveModel.townLevel.equals(level)) {
|
|
|
hospitalList = hospitalDao.findByTownCode(area);
|
|
|
// adminTeams = adminTeamDao.findByTownCode(area);
|
|
|
adminTeams = findAllTeam();
|
|
|
} else if (SaveModel.OrgLevel.equals(level)) {
|
|
|
adminTeams = adminTeamDao.findByOrgCode(area);
|
|
|
}
|
|
|
if (SaveModel.townLevel.equals(lowlevel)) {
|
|
|
for (Town one : townList) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getCode());
|
|
|
map.put("name", one.getName());
|
|
|
map.put("val", 0);
|
|
@ -3295,6 +3304,7 @@ public class StatisticsESService {
|
|
|
}
|
|
|
} else if (SaveModel.OrgLevel.equals(lowlevel)) {
|
|
|
for (Hospital one : hospitalList) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getCode());
|
|
|
map.put("name", one.getName());
|
|
|
map.put("val", 0);
|
|
@ -3302,6 +3312,7 @@ public class StatisticsESService {
|
|
|
}
|
|
|
} else if (SaveModel.teamLevel.equals(lowlevel)) {
|
|
|
for (AdminTeam one : adminTeams) {
|
|
|
map = new HashMap<>();
|
|
|
map.put("code", one.getLeaderCode());
|
|
|
map.put("name", one.getName());
|
|
|
map.put("val", 0);
|
|
@ -3309,6 +3320,11 @@ public class StatisticsESService {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (SaveModel.teamLevel.equals(lowlevel)) {
|
|
|
translateTeamLeaderName(rs);
|
|
|
}
|
|
|
|
|
|
|
|
|
Collections.sort(rs, new Comparator<Map<String, Object>>() {
|
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
|
Integer map1value = Integer.valueOf(String.valueOf(o1.get("val")));
|
|
@ -3356,25 +3372,25 @@ public class StatisticsESService {
|
|
|
String index60 = "60"; //统计长处方总数年龄和疾病维度
|
|
|
String index65 = "65"; //统计长处方总数年龄维度
|
|
|
|
|
|
List<SaveModel> chufanglist =null;
|
|
|
List<SaveModel> numList =null;
|
|
|
Map<String,SaveModel> numListMap =new HashMap<>();
|
|
|
List<SaveModel> chufanglist = null;
|
|
|
List<SaveModel> numList = null;
|
|
|
Map<String, SaveModel> numListMap = new HashMap<>();
|
|
|
String quotaDate = elasticsearchUtil.getQuotaTime();
|
|
|
//统计处方年龄分布
|
|
|
if(org.springframework.util.StringUtils.isEmpty(disease)){
|
|
|
if (org.springframework.util.StringUtils.isEmpty(disease)) {
|
|
|
numList = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), index68, SaveModel.timeLevel_DDL);
|
|
|
}else{
|
|
|
numList = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, Integer.parseInt(level), index63, SaveModel.timeLevel_DDL,null,disease);
|
|
|
} else {
|
|
|
numList = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, Integer.parseInt(level), index63, SaveModel.timeLevel_DDL, null, disease);
|
|
|
}
|
|
|
//统计处方患者年龄分布
|
|
|
if(org.springframework.util.StringUtils.isEmpty(disease)){
|
|
|
if (org.springframework.util.StringUtils.isEmpty(disease)) {
|
|
|
chufanglist = elasticsearchUtil.findOneDateQuotaLevel1(quotaDate, area, Integer.parseInt(level), index65, SaveModel.timeLevel_DDL);
|
|
|
}else{
|
|
|
chufanglist = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, Integer.parseInt(level), index60, SaveModel.timeLevel_DDL,null,disease);
|
|
|
} else {
|
|
|
chufanglist = elasticsearchUtil.findOneDateQuotaLevel2(quotaDate, area, Integer.parseInt(level), index60, SaveModel.timeLevel_DDL, null, disease);
|
|
|
}
|
|
|
for(int i=0;i<numList.size();i++){
|
|
|
SaveModel saveModel=numList.get(i);
|
|
|
numListMap.put(saveModel.getSlaveKey1(),saveModel);
|
|
|
for (int i = 0; i < numList.size(); i++) {
|
|
|
SaveModel saveModel = numList.get(i);
|
|
|
numListMap.put(saveModel.getSlaveKey1(), saveModel);
|
|
|
}
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
if (numList.size() == 0) {
|
|
@ -3385,41 +3401,41 @@ public class StatisticsESService {
|
|
|
map.put("65ageRate", 0.0);
|
|
|
} else {
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("0.00");//构造方法的字符格式这里如果小数不足2位,会以0补足.
|
|
|
if(numListMap.get(chufanglist.get(0).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(0).getResult2() /numListMap.get(chufanglist.get(0).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(0).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(0).getResult2() / numListMap.get(chufanglist.get(0).getSlaveKey1()).getResult2();
|
|
|
map.put("0ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("0ageRate",chufanglist.get(0).getResult2() );
|
|
|
} else {
|
|
|
map.put("0ageRate", chufanglist.get(0).getResult2());
|
|
|
}
|
|
|
if(numListMap.get(chufanglist.get(1).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(1).getResult2() /numListMap.get(chufanglist.get(1).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(1).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(1).getResult2() / numListMap.get(chufanglist.get(1).getSlaveKey1()).getResult2();
|
|
|
map.put("7ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("7ageRate", chufanglist.get(1).getResult2() );
|
|
|
} else {
|
|
|
map.put("7ageRate", chufanglist.get(1).getResult2());
|
|
|
}
|
|
|
if(numListMap.get(chufanglist.get(2).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(2).getResult2() /numListMap.get(chufanglist.get(2).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(2).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(2).getResult2() / numListMap.get(chufanglist.get(2).getSlaveKey1()).getResult2();
|
|
|
map.put("19ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("19ageRate", chufanglist.get(2).getResult2() );
|
|
|
} else {
|
|
|
map.put("19ageRate", chufanglist.get(2).getResult2());
|
|
|
}
|
|
|
if(numListMap.get(chufanglist.get(3).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(3).getResult2() /numListMap.get(chufanglist.get(3).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(3).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(3).getResult2() / numListMap.get(chufanglist.get(3).getSlaveKey1()).getResult2();
|
|
|
map.put("31ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("31ageRate",chufanglist.get(3).getResult2() );
|
|
|
} else {
|
|
|
map.put("31ageRate", chufanglist.get(3).getResult2());
|
|
|
}
|
|
|
if(numListMap.get(chufanglist.get(4).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(4).getResult2() /numListMap.get(chufanglist.get(4).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(4).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(4).getResult2() / numListMap.get(chufanglist.get(4).getSlaveKey1()).getResult2();
|
|
|
map.put("51ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("51ageRate",chufanglist.get(4).getResult2() );
|
|
|
} else {
|
|
|
map.put("51ageRate", chufanglist.get(4).getResult2());
|
|
|
}
|
|
|
if(numListMap.get(chufanglist.get(5).getSlaveKey1()).getResult2()!=0.0D){
|
|
|
Double ageRate = chufanglist.get(5).getResult2() /numListMap.get(chufanglist.get(5).getSlaveKey1()).getResult2() ;
|
|
|
if (numListMap.get(chufanglist.get(5).getSlaveKey1()).getResult2() != 0.0D) {
|
|
|
Double ageRate = chufanglist.get(5).getResult2() / numListMap.get(chufanglist.get(5).getSlaveKey1()).getResult2();
|
|
|
map.put("65ageRate", decimalFormat.format(ageRate));
|
|
|
}else{
|
|
|
map.put("65ageRate", chufanglist.get(5).getResult2() );
|
|
|
} else {
|
|
|
map.put("65ageRate", chufanglist.get(5).getResult2());
|
|
|
}
|
|
|
}
|
|
|
return map;
|
|
@ -3429,10 +3445,11 @@ public class StatisticsESService {
|
|
|
* @param level 等级
|
|
|
* @param area 等级编码
|
|
|
* @param disease 疾病编码
|
|
|
* @param type 类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String, Object>> getPrescriptionTotalHistogram(int level, String area, String disease, String type) throws Exception {
|
|
|
//转换type 前端type和ES生成的数据字典对不上
|
|
|
type = changeType(type);
|
|
|
//因为一个处方可能有多个疾病状态 所以分开2个指标
|
|
|
String index58 = "58";//统计长处方总数疾病和状态维度
|
|
|
String index64 = "64";//统计长处方总数状态维度
|
|
@ -3455,19 +3472,19 @@ public class StatisticsESService {
|
|
|
String endTime = DateUtil.dateToStr(new Date(), "YYYY-MM-dd HH:mm:ss");
|
|
|
List<SaveModel> resultList = new ArrayList<>();
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
//类型0.总量,1.进行中,2.已完成,3.居民取消,4.审核不通过,5.其他原因取消
|
|
|
if ("0".equals(type)) {
|
|
|
//类型1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
|
|
|
if ("1".equals(type)) {
|
|
|
//总数
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2NoSlaveKey2(startTime, endTime, area, level, index58, "1", "3", disease);
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2NoSlaveKey2(startTime, endTime, area, level, index58, SaveModel.timeLevel_ZL, SaveModel.interval_month, disease);
|
|
|
} else {
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index58, "1", "3", disease, type);
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index58, SaveModel.timeLevel_ZL, SaveModel.interval_month, disease, String.valueOf(Integer.valueOf(type) - 1));
|
|
|
}
|
|
|
} else {
|
|
|
if ("0".equals(type)) {
|
|
|
if ("1".equals(type)) {
|
|
|
//总数
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel1NoSlaveKey1(startTime, endTime, area, level, index64, "1", "3");
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel1NoSlaveKey1(startTime, endTime, area, level, index64, SaveModel.timeLevel_ZL, SaveModel.interval_month);
|
|
|
} else {
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index64, "1", "3", type);
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index64, SaveModel.timeLevel_ZL, SaveModel.interval_month,String.valueOf(Integer.valueOf(type) - 1));
|
|
|
}
|
|
|
}
|
|
|
//把数据设置到初始化的Map里面去
|
|
@ -3475,6 +3492,8 @@ public class StatisticsESService {
|
|
|
String monthKeyEs = "";
|
|
|
if (saveModel.getQuotaDate() != null) {
|
|
|
monthKeyEs = DateUtil.changeQuotaDate(saveModel.getQuotaDate());
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
|
|
monthKeyEs = sdf.format(saveModel.getQuotaDate());
|
|
|
}
|
|
|
if (StringUtils.isNotBlank(monthKeyEs) && rs.containsKey(monthKeyEs)) {
|
|
|
Map<String, Object> oneMc = rs.get(monthKeyEs);
|
|
@ -3485,6 +3504,29 @@ public class StatisticsESService {
|
|
|
return new ArrayList<>(rs.values());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param type 1.总量,2.进行中,3.已完成,4.居民取消,5.审核不通过,6.其他原因取消
|
|
|
* @return 1.总量,2.已完成,3.居民取消,4.审核不通过,5.进行中,6.其他原因取消
|
|
|
*/
|
|
|
private String changeType(String type) {
|
|
|
if ("2".equals(type)) {
|
|
|
return "5";
|
|
|
}
|
|
|
if ("3".equals(type)) {
|
|
|
return "2";
|
|
|
}
|
|
|
if ("4".equals(type)) {
|
|
|
return "3";
|
|
|
}
|
|
|
if ("5".equals(type)) {
|
|
|
return "4";
|
|
|
}
|
|
|
if ("6".equals(type)) {
|
|
|
return "6";
|
|
|
}
|
|
|
return type;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* @param level 等级 1 省 2 市 3 区县 4 机构 5团队
|
|
|
* @param lowlevel 等级 1 省 2 市 3 区县 4 机构 5团队
|
|
@ -3495,6 +3537,8 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<Map<String, Object>> getPrescriptionTotalLowLevel(int level, String lowlevel, String area, String disease, String type) throws Exception {
|
|
|
//转换type 前端type和ES生成的数据字典对不上
|
|
|
type = changeType(type);
|
|
|
String quotaDate = elasticsearchUtil.getQuotaTime();
|
|
|
//因为一个处方可能有多个疾病状态 所以分开2个指标
|
|
|
String index58 = "58";//统计长处方总数疾病和状态维度
|
|
@ -3507,22 +3551,15 @@ public class StatisticsESService {
|
|
|
if ("1".equals(type)) {
|
|
|
//总数
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1NoSlaveKey1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, lowlevel);
|
|
|
} else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, lowlevel, type);
|
|
|
} else if ("5".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, lowlevel, "1");
|
|
|
} else if ("6".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, lowlevel, "5");
|
|
|
} else {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index64, SaveModel.timeLevel_DDL, lowlevel, String.valueOf(Integer.valueOf(type) - 1));
|
|
|
}
|
|
|
} else {
|
|
|
if ("1".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2NoSlaveKey2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, lowlevel, disease);
|
|
|
} else if ("2".equals(type) || "3".equals(type) || "4".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, lowlevel, disease, type);
|
|
|
} else if ("5".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, lowlevel, disease, "1");
|
|
|
} else if ("6".equals(type)) {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, lowlevel, disease, "5");
|
|
|
}
|
|
|
{
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index58, SaveModel.timeLevel_DDL, lowlevel, disease, String.valueOf(Integer.valueOf(type) - 1));
|
|
|
}
|
|
|
}
|
|
|
if ("5".equals(lowlevel)) {
|
|
@ -3752,7 +3789,7 @@ public class StatisticsESService {
|
|
|
|
|
|
List<SaveModel> resultList = new ArrayList<>();
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index62, SaveModel.timeLevel_ZL, SaveModel.interval_month, type,disease);
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel2(startTime, endTime, area, level, index62, SaveModel.timeLevel_ZL, SaveModel.interval_month, type, disease);
|
|
|
} else {
|
|
|
resultList = elasticsearchUtil.findLineChartDateQuotaLevel1(startTime, endTime, area, level, index67, SaveModel.timeLevel_ZL, SaveModel.interval_month, type);
|
|
|
}
|
|
@ -3805,7 +3842,7 @@ public class StatisticsESService {
|
|
|
List<Map<String, Object>> rs = new ArrayList<>();
|
|
|
if (StringUtils.isNotBlank(disease)) {
|
|
|
//类型 1.自取,2.快递配送,3.健管师配送
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index62, SaveModel.timeLevel_DDL, lowlevel, type,disease);
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel2(quotaDate, area, level, index62, SaveModel.timeLevel_DDL, lowlevel, type, disease);
|
|
|
} else {
|
|
|
saveModels = elasticsearchUtil.findListDateQuotaLevel1(quotaDate, area, level, index67, SaveModel.timeLevel_DDL, lowlevel, type);
|
|
|
}
|
|
@ -3937,30 +3974,31 @@ public class StatisticsESService {
|
|
|
if (SaveModel.townLevel.equals(lowlevel)) {
|
|
|
map.put("code", one.getTown());
|
|
|
map.put("name", one.getTownName());
|
|
|
if (one != null&&one.getResult2()>0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2()*100));
|
|
|
if (one != null && one.getResult2() > 0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2() * 100));
|
|
|
}
|
|
|
map.put("val", avg);
|
|
|
} else if (SaveModel.OrgLevel.equals(lowlevel)) {
|
|
|
map.put("code", one.getHospital());
|
|
|
map.put("name", one.getHospitalName());
|
|
|
if (one != null&&one.getResult2()>0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2()*100));
|
|
|
if (one != null && one.getResult2() > 0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2() * 100));
|
|
|
}
|
|
|
map.put("val", avg);
|
|
|
} else if (SaveModel.teamLevel.equals(lowlevel)) {
|
|
|
map.put("code", one.getTeam());
|
|
|
map.put("name", one.getTeamName());
|
|
|
if (one != null&&one.getResult2()>0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2()*100));
|
|
|
if (one != null && one.getResult2() > 0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2() * 100));
|
|
|
}
|
|
|
map.put("val", avg);
|
|
|
}
|
|
|
countList.add(map);
|
|
|
}
|
|
|
}
|
|
|
if(SaveModel.teamLevel.equals(lowlevel)){
|
|
|
translateTeamLeaderNameListMap(countList);;
|
|
|
if (SaveModel.teamLevel.equals(lowlevel)) {
|
|
|
translateTeamLeaderNameListMap(countList);
|
|
|
;
|
|
|
}
|
|
|
|
|
|
Collections.sort(countList, new Comparator<Map<String, Object>>() {
|
|
@ -4018,10 +4056,10 @@ public class StatisticsESService {
|
|
|
key = DateUtil.getMonth(dateFormat.format(one.getQuotaDate()));
|
|
|
}
|
|
|
String avg = "0.0";
|
|
|
if (one.getResult2()!=0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2()*100));
|
|
|
if (one.getResult2() != 0) {
|
|
|
avg = decimalFormat.format(one.getResult1() / (one.getResult2() * 100));
|
|
|
}
|
|
|
map.put("avg",avg);
|
|
|
map.put("avg", avg);
|
|
|
map.put("date", key);
|
|
|
|
|
|
countList.add(map);
|