|
@ -929,7 +929,9 @@ public class StatisticsESService {
|
|
for (SaveModel saveModel : saveModels) {
|
|
for (SaveModel saveModel : saveModels) {
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
String range = null;
|
|
String range = null;
|
|
range = df.format(saveModel.getQuotaDate());
|
|
|
|
|
|
if(saveModel.getQuotaDate()!=null){
|
|
|
|
range = df.format(saveModel.getQuotaDate());
|
|
|
|
}
|
|
long amount = saveModel.getResult2().longValue();
|
|
long amount = saveModel.getResult2().longValue();
|
|
json.put("range", range);
|
|
json.put("range", range);
|
|
json.put("amount", amount);
|
|
json.put("amount", amount);
|
|
@ -1066,7 +1068,10 @@ public class StatisticsESService {
|
|
if (saveModels != null) {
|
|
if (saveModels != null) {
|
|
// 计算结果
|
|
// 计算结果
|
|
for (SaveModel saveModel : saveModels) {
|
|
for (SaveModel saveModel : saveModels) {
|
|
String range = df.format(saveModel.getQuotaDate());
|
|
|
|
|
|
String range = "";
|
|
|
|
if (saveModel.getQuotaDate()!=null){
|
|
|
|
range = df.format(saveModel.getQuotaDate());
|
|
|
|
}
|
|
JSONObject json = countResult.get(range);
|
|
JSONObject json = countResult.get(range);
|
|
|
|
|
|
if (json != null) {
|
|
if (json != null) {
|
|
@ -1184,7 +1189,10 @@ public class StatisticsESService {
|
|
if (saveModels != null) {
|
|
if (saveModels != null) {
|
|
// 计算结果
|
|
// 计算结果
|
|
for (SaveModel saveModel : saveModels) {
|
|
for (SaveModel saveModel : saveModels) {
|
|
String range = df.format(saveModel.getQuotaDate());
|
|
|
|
|
|
String range = "";
|
|
|
|
if (saveModel.getQuotaDate()!=null){
|
|
|
|
range = df.format(saveModel.getQuotaDate());
|
|
|
|
}
|
|
JSONObject json = countResult.get(range);
|
|
JSONObject json = countResult.get(range);
|
|
|
|
|
|
if (json != null) {
|
|
if (json != null) {
|
|
@ -5138,4 +5146,136 @@ public class StatisticsESService {
|
|
return saveModel.getResult2().longValue();
|
|
return saveModel.getResult2().longValue();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
public Map<String,Object> getLevelDeviceAndBinding(String area, int level, int sort, String lowLevel, String year) throws Exception {
|
|
|
|
String index_85 = "85";
|
|
|
|
String index_86= "86";
|
|
|
|
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,Object> resultMap = new HashedMap();
|
|
|
|
|
|
|
|
//发放量
|
|
|
|
List<SaveModel> allAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "", low_level);
|
|
|
|
//绑定量
|
|
|
|
List<SaveModel> bindingAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "", low_level);
|
|
|
|
Integer totalAllNum = allAmountList.get(0).getResult2().intValue();
|
|
|
|
Integer totalBindingNum = bindingAmountList.get(0).getResult2().intValue();
|
|
|
|
resultMap.put("totalAll",totalAllNum);
|
|
|
|
resultMap.put("totalBinding",totalBindingNum);
|
|
|
|
resultMap.put("totalRange",getRange(totalBindingNum, totalAllNum, 2));
|
|
|
|
|
|
|
|
Map<String, Integer> allMap = new HashMap<>(); //发放量的的列表转map
|
|
|
|
if (allAmountList != null && allAmountList.size() > 0) {
|
|
|
|
for (SaveModel saveModel : allAmountList) {
|
|
|
|
if ("3".equals(low_level) && saveModel.getTown() != null) {
|
|
|
|
allMap.put(saveModel.getTown(), saveModel.getResult2().intValue());
|
|
|
|
} else if ("4".equals(low_level) && saveModel.getHospital() != null) {
|
|
|
|
allMap.put(saveModel.getHospital(), saveModel.getResult2().intValue());
|
|
|
|
} else if ("5".equals(low_level) && saveModel.getTeam() != null) {
|
|
|
|
allMap.put(saveModel.getTeam(), saveModel.getResult2().intValue());
|
|
|
|
} else {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
//自建结果集
|
|
|
|
resultList = getLowLevelMapKey(level, low_level, area);
|
|
|
|
|
|
|
|
if (resultList != null && resultList.size() > 0) {
|
|
|
|
Map<String, SaveModel> bingdingMap = new HashMap<>();
|
|
|
|
DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
|
bindingAmountList.stream().forEach(one -> {
|
|
|
|
if ("5".equals(low_level)) {
|
|
|
|
bingdingMap.put(one.getTeam(), one);
|
|
|
|
} else if ("4".equals(low_level)) {
|
|
|
|
bingdingMap.put(one.getHospital(), one);
|
|
|
|
} else if ("3".equals(low_level)) {
|
|
|
|
bingdingMap.put(one.getTown(), one);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
for (Map<String, Object> reMap : resultList) {
|
|
|
|
reMap.put("amount", reMap.get("amount") != null ? Long.valueOf(reMap.get("amount").toString()) : 0L);
|
|
|
|
int bindingAmount = 0;
|
|
|
|
Integer allAmount = 0;
|
|
|
|
//获取绑定数量
|
|
|
|
if (bingdingMap != null && bingdingMap.size() > 0) {
|
|
|
|
SaveModel one = bingdingMap.get(reMap.get("code").toString());
|
|
|
|
if (one != null) {
|
|
|
|
bindingAmount = one.getResult2().intValue();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (allMap != null && allMap.size() > 0) {
|
|
|
|
allAmount = allMap.get(reMap.get("code").toString());
|
|
|
|
if (allAmount == null) {
|
|
|
|
allAmount = 0;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
}
|
|
|
|
reMap.put("allNum", allAmount);
|
|
|
|
reMap.put("bindingNum", bindingAmount);
|
|
|
|
reMap.put("rate", getRange(bindingAmount, allAmount, 2));//续签率是 续签量/去年的签约数
|
|
|
|
}
|
|
|
|
|
|
|
|
if ((level == 2 && "5".equals(lowLevel)) || (level == 4) || (level == 3 && "5".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("allNum");
|
|
|
|
int map2value = (int) o2.get("allNum");
|
|
|
|
|
|
|
|
if (map1value - map2value > 0) {
|
|
|
|
return sort == 1 ? -1 : 1;
|
|
|
|
} else if (map1value - map2value < 0) {
|
|
|
|
return sort == 1 ? 1 : -1;
|
|
|
|
} else {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
resultMap.put("list",resultList);
|
|
|
|
return resultMap;
|
|
|
|
} else {
|
|
|
|
return new HashedMap();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 查询签约
|
|
|
|
*
|
|
|
|
* @param type 0 按周,1 按月
|
|
|
|
* @param startDate
|
|
|
|
* @param endDate
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
/*public JSONArray getDeviceLine(String doctor, String type, String startDate, String endDate) throws Exception {
|
|
|
|
|
|
|
|
AdminTeam admin = adminTeamDao.findByLeaderCode(doctor);
|
|
|
|
if (admin == null) {
|
|
|
|
throw new RuntimeException("未找到团队信息");
|
|
|
|
}
|
|
|
|
Long id = admin.getId();
|
|
|
|
List<SaveModel> allList = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, id + "", Integer.valueOf(SaveModel.teamLevel), "85", SaveModel.timeLevel_ZL, String.valueOf(Integer.valueOf(type) + 1));
|
|
|
|
List<SaveModel> bindingList = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, id + "", Integer.valueOf(SaveModel.teamLevel), "86", SaveModel.timeLevel_ZL, String.valueOf(Integer.valueOf(type) + 1));
|
|
|
|
|
|
|
|
List<Map<String, Object>> rs = new ArrayList<>();
|
|
|
|
|
|
|
|
for (SaveModel saveModel : list) {
|
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
|
//map.put("applyDate", dateFormat.format(saveModel.getQuotaDate()));
|
|
|
|
if ("0".equals(type)) {
|
|
|
|
map.put("applyDate", dateFormat.format(saveModel.getQuotaDate()));
|
|
|
|
} else {
|
|
|
|
map.put("weekOfMonth", DateUtil.getWeekOfMonth(saveModel.getQuotaDate()));
|
|
|
|
}
|
|
|
|
map.put("signCount", saveModel.getResult2().longValue());
|
|
|
|
rs.add(map);
|
|
|
|
}
|
|
|
|
JSONArray rsJs = new JSONArray(rs);
|
|
|
|
return rsJs;
|
|
|
|
}*/
|
|
}
|
|
}
|