|
@ -2197,8 +2197,123 @@ public class StatisticsESService {
|
|
|
String preDate = new SimpleDateFormat("yyyy-MM-dd").format(today.getTime());
|
|
|
// data = getTodayBeforeLowLevelTotalSingle(preDate, area, level, index);
|
|
|
}
|
|
|
return data;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 去年的签约量,续签量和续签率 列表
|
|
|
* @param area
|
|
|
* @param level 等级 1(5):团队 2(4)社区机构 3()3区级 4(2)市级
|
|
|
* @param index
|
|
|
* @param sort
|
|
|
* @param lowLevel
|
|
|
* @param year
|
|
|
* @param lowCode
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public JSONArray getLevelTwoLowLevelTotalSignAndRenew(String area, int level, String index, int sort, String lowLevel, String year, String lowCode) throws Exception {
|
|
|
|
|
|
String lastDate = year + "-06-30";
|
|
|
//String timeKey = elasticsearchUtil.getQuotaTime();
|
|
|
|
|
|
String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();//续签量
|
|
|
Map<String, Integer> renewMap = new HashMap<>(); //续签的的列表转map
|
|
|
List<SaveModel> renewSaveModels = new ArrayList<SaveModel>();
|
|
|
List<SaveModel> signSaveModels = new ArrayList<SaveModel>();
|
|
|
if (StringUtils.isEmpty(lowCode)) {
|
|
|
//续签量
|
|
|
renewSaveModels = elasticsearchUtil.findListDateQuotaLevel0(lastDate, area, level, index, "2", lowLevel);
|
|
|
} else {
|
|
|
//续签量
|
|
|
renewSaveModels = elasticsearchUtil.findListDateQuotaLevel1(lastDate, area, level, index, "2", lowLevel, lowCode);
|
|
|
if (renewSaveModels != null && renewSaveModels.size() > 0) {
|
|
|
for (SaveModel saveModel : renewSaveModels) {
|
|
|
if ("3".equals(low_level)) {
|
|
|
renewMap.put(saveModel.getTown(), saveModel.getResult2());
|
|
|
} else if ("4".equals(low_level)) {
|
|
|
renewMap.put(saveModel.getHospital(), saveModel.getResult2());
|
|
|
} else if ("5".equals(low_level)) {
|
|
|
renewMap.put(saveModel.getTeam(), saveModel.getResult2());
|
|
|
} else {
|
|
|
continue;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return data;
|
|
|
//自建结果集
|
|
|
resultList = getLowLevelMapKey(level, low_level, area);
|
|
|
|
|
|
// if (resultList != null) {
|
|
|
// DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
// //查询去年的签约转map
|
|
|
// if (StringUtils.isBlank(lowCode)) {
|
|
|
// yearsYear = findQuotaResultList(lastDate, Integer.valueOf(low_level), "1");
|
|
|
// } else {
|
|
|
// if ("3".equals(lowCode)) {
|
|
|
// //老年人
|
|
|
// yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate, Integer.valueOf(low_level), "17", "3");
|
|
|
// } else if ("4".equals(lowCode)) {
|
|
|
// //高血压
|
|
|
// yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate, Integer.valueOf(low_level), "17", "1");
|
|
|
// } else if ("5".equals(lowCode)) {
|
|
|
// //糖尿病
|
|
|
// yearsYear = findQuotaResultsWithLevelType1AndLevelType2(lastDate, Integer.valueOf(low_level), "17", "2");
|
|
|
// } else {
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// Map<String, WlyyQuotaResult> resultMap = new HashMap<>();
|
|
|
// yearsYear.stream().forEach(one -> {
|
|
|
// if ("1".equals(low_level)) {
|
|
|
// resultMap.put(one.getQkdoctorCode(), one);
|
|
|
// } else if ("2".equals(low_level)) {
|
|
|
// resultMap.put(one.getOrgCode(), one);
|
|
|
// } else if ("3".equals(low_level)) {
|
|
|
// resultMap.put(one.getTown(), one);
|
|
|
// }
|
|
|
// });
|
|
|
//
|
|
|
// for (Map<String, Object> map : resultList) {
|
|
|
// map.put("amount", map.get("amount") != null ? Long.valueOf(map.get("amount").toString()) : 0L);
|
|
|
// //获取去年签约的人数 默认是上个年度的最后一天
|
|
|
// WlyyQuotaResult one = resultMap.get(map.get("code").toString());
|
|
|
// int signNum = 0;
|
|
|
// int renewNum = renewMap.get(map.get("code").toString());
|
|
|
// if (one != null) {
|
|
|
// signNum = Integer.valueOf(one.getResult());
|
|
|
// }
|
|
|
// map.put("rate", getRange(renewNum, signNum, 2));//续签率是 续签量/去年的签约数
|
|
|
// map.put("signNum", signNum);
|
|
|
// map.put("renewNum", renewNum);
|
|
|
//
|
|
|
// }
|
|
|
//
|
|
|
// if ((level == 4 && "1".equals(lowLevel)) || (level == 2) || (level == 3 && "1".equals(lowLevel))) {
|
|
|
// translateTeamLeaderName(resultList);
|
|
|
// }
|
|
|
// //对结果进行排序
|
|
|
// Collections.sort(resultList, new Comparator<Map<String, Object>>() {
|
|
|
// public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
|
// int map1value = (int) o1.get("renewNum");
|
|
|
// int map2value = (int) o2.get("renewNum");
|
|
|
//
|
|
|
// if (map1value - map2value > 0) {
|
|
|
// return sort == 1 ? -1 : 1;
|
|
|
// } else if (map1value - map2value < 0) {
|
|
|
// return sort == 1 ? 1 : -1;
|
|
|
// } else {
|
|
|
// return 0;
|
|
|
// }
|
|
|
// }
|
|
|
// });
|
|
|
//
|
|
|
// return new JSONArray(resultList);
|
|
|
// } else {
|
|
|
// return new JSONArray();
|
|
|
// }
|
|
|
return null;
|
|
|
}
|
|
|
}
|