|
@ -376,10 +376,10 @@ public class StatisticsESService {
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
long map1value = 0L;
|
|
long map1value = 0L;
|
|
long map2value = 0L;
|
|
long map2value = 0L;
|
|
if(o1.get("amount")!=null && o1.get("amount")+""!=""){
|
|
|
|
map1value = Long.valueOf(String.valueOf(o1.get("amount")));
|
|
|
|
|
|
if (o1.get("amount") != null && o1.get("amount") + "" != "") {
|
|
|
|
map1value = Long.valueOf(String.valueOf(o1.get("amount")));
|
|
}
|
|
}
|
|
if(o2.get("amount")!=null && o2.get("amount")+""!=""){
|
|
|
|
|
|
if (o2.get("amount") != null && o2.get("amount") + "" != "") {
|
|
map2value = Long.valueOf(String.valueOf(o2.get("amount")));
|
|
map2value = Long.valueOf(String.valueOf(o2.get("amount")));
|
|
}
|
|
}
|
|
|
|
|
|
@ -863,7 +863,7 @@ public class StatisticsESService {
|
|
* @param index
|
|
* @param index
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public JSONObject getDateTotal(String startDate, String endDate, int interval, String area, int level, String index, String lowCode, String year) throws Exception {
|
|
|
|
|
|
public JSONObject getDateTotal(String startDate, String endDate, int interval, String area, int level, String index, String lowCode, String year, String timelevel) throws Exception {
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
int taskNum = 0;
|
|
int taskNum = 0;
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
@ -876,7 +876,7 @@ public class StatisticsESService {
|
|
}
|
|
}
|
|
// }
|
|
// }
|
|
if (!org.springframework.util.StringUtils.isEmpty(lowCode)) {
|
|
if (!org.springframework.util.StringUtils.isEmpty(lowCode)) {
|
|
peopleNum = getPopulationBase(area, year);
|
|
|
|
|
|
peopleNum = getPopulationBase(area, year);
|
|
if (peopleNum != null) {
|
|
if (peopleNum != null) {
|
|
if (lowCode.equals("3")) {
|
|
if (lowCode.equals("3")) {
|
|
taskNum = peopleNum.getSixFiveTaskNum();
|
|
taskNum = peopleNum.getSixFiveTaskNum();
|
|
@ -890,15 +890,15 @@ public class StatisticsESService {
|
|
|
|
|
|
json.put("taskNum", taskNum);
|
|
json.put("taskNum", taskNum);
|
|
if (interval == 1) {
|
|
if (interval == 1) {
|
|
JSONArray jsonArray = dateTotalStatistics(startDate, endDate, area, level, index, lowCode);
|
|
|
|
|
|
JSONArray jsonArray = dateTotalStatistics(startDate, endDate, area, level, index, lowCode, timelevel);
|
|
json.put("data", jsonArray);
|
|
json.put("data", jsonArray);
|
|
return json;
|
|
return json;
|
|
} else if (interval == 2) {
|
|
} else if (interval == 2) {
|
|
JSONArray jsonArray = weekTotalStatistics(startDate, endDate, area, level, index, lowCode);
|
|
|
|
|
|
JSONArray jsonArray = weekTotalStatistics(startDate, endDate, area, level, index, lowCode, timelevel);
|
|
json.put("data", jsonArray);
|
|
json.put("data", jsonArray);
|
|
return json;
|
|
return json;
|
|
} else if (interval == 3) {
|
|
} else if (interval == 3) {
|
|
JSONArray jsonArray = monthTotalStatistics(startDate, endDate, area, level, index, lowCode);
|
|
|
|
|
|
JSONArray jsonArray = monthTotalStatistics(startDate, endDate, area, level, index, lowCode, timelevel);
|
|
json.put("data", jsonArray);
|
|
json.put("data", jsonArray);
|
|
return json;
|
|
return json;
|
|
}
|
|
}
|
|
@ -917,15 +917,15 @@ public class StatisticsESService {
|
|
* @return
|
|
* @return
|
|
* @throws ParseException
|
|
* @throws ParseException
|
|
*/
|
|
*/
|
|
public JSONArray dateTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode) throws Exception {
|
|
|
|
|
|
public JSONArray dateTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
|
|
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
List<SaveModel> saveModels = new ArrayList<>();
|
|
//startDate = DateUtil.getNextDay(startDate,-1);
|
|
//startDate = DateUtil.getNextDay(startDate,-1);
|
|
if (StringUtils.isNotBlank(lowCode)) {
|
|
if (StringUtils.isNotBlank(lowCode)) {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, SaveModel.interval_day, lowCode);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode);
|
|
} else {
|
|
} else {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, SaveModel.interval_day);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day);
|
|
}
|
|
}
|
|
List<JSONObject> result = new ArrayList<>();
|
|
List<JSONObject> result = new ArrayList<>();
|
|
if (saveModels != null) {
|
|
if (saveModels != null) {
|
|
@ -933,7 +933,7 @@ 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;
|
|
if(saveModel.getQuotaDate()!=null){
|
|
|
|
|
|
if (saveModel.getQuotaDate() != null) {
|
|
range = df.format(saveModel.getQuotaDate());
|
|
range = df.format(saveModel.getQuotaDate());
|
|
}
|
|
}
|
|
long amount = saveModel.getResult2().longValue();
|
|
long amount = saveModel.getResult2().longValue();
|
|
@ -941,10 +941,10 @@ public class StatisticsESService {
|
|
json.put("amount", amount);
|
|
json.put("amount", amount);
|
|
result.add(json);
|
|
result.add(json);
|
|
}
|
|
}
|
|
if (saveModels!=null && saveModels.size()==1 && saveModels.get(0).getHospital()==null) {
|
|
|
|
List<Map<String,Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate,1)));
|
|
|
|
|
|
if (saveModels != null && saveModels.size() == 1 && saveModels.get(0).getHospital() == null) {
|
|
|
|
List<Map<String, Object>> resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
|
|
result.clear();
|
|
result.clear();
|
|
for (Map<String,Object> map : resultList){
|
|
|
|
|
|
for (Map<String, Object> map : resultList) {
|
|
JSONObject json = new JSONObject();
|
|
JSONObject json = new JSONObject();
|
|
json.put("range", map.get("date"));
|
|
json.put("range", map.get("date"));
|
|
json.put("amount", 0);
|
|
json.put("amount", 0);
|
|
@ -984,7 +984,7 @@ public class StatisticsESService {
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
private JSONArray weekTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode) throws Exception {
|
|
|
|
|
|
private JSONArray weekTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
|
|
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
// 起始日期
|
|
// 起始日期
|
|
@ -1078,22 +1078,22 @@ 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, SaveModel.timeLevel_DDL, SaveModel.interval_day, lowCode);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode);
|
|
} else {
|
|
} else {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, SaveModel.interval_day);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day);
|
|
}
|
|
}
|
|
|
|
|
|
if (saveModels != null) {
|
|
if (saveModels != null) {
|
|
// 计算结果
|
|
// 计算结果
|
|
for (SaveModel saveModel : saveModels) {
|
|
for (SaveModel saveModel : saveModels) {
|
|
String range = "";
|
|
String range = "";
|
|
if (saveModel.getQuotaDate()!=null){
|
|
|
|
|
|
if (saveModel.getQuotaDate() != null) {
|
|
range = df.format(saveModel.getQuotaDate());
|
|
range = df.format(saveModel.getQuotaDate());
|
|
}
|
|
}
|
|
JSONObject json = countResult.get(range);
|
|
JSONObject json = countResult.get(range);
|
|
//因为上述时间集提前一天 但是前端是显示当前时间,所以这里给调整回去
|
|
//因为上述时间集提前一天 但是前端是显示当前时间,所以这里给调整回去
|
|
if(range.equals(df.format(temp.getTime()))){
|
|
|
|
json.put("range",endDate);
|
|
|
|
|
|
if (range.equals(df.format(temp.getTime()))) {
|
|
|
|
json.put("range", endDate);
|
|
}
|
|
}
|
|
if (json != null) {
|
|
if (json != null) {
|
|
long amount = saveModel.getResult2().longValue();
|
|
long amount = saveModel.getResult2().longValue();
|
|
@ -1135,7 +1135,7 @@ public class StatisticsESService {
|
|
* @return
|
|
* @return
|
|
* @throws Exception
|
|
* @throws Exception
|
|
*/
|
|
*/
|
|
private JSONArray monthTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode) throws Exception {
|
|
|
|
|
|
private JSONArray monthTotalStatistics(String startDate, String endDate, String area, int level, String index, String lowCode, String timelevel) throws Exception {
|
|
|
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
|
|
|
@ -1206,22 +1206,22 @@ 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, SaveModel.timeLevel_DDL, SaveModel.interval_day, lowCode);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel1(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day, lowCode);
|
|
} else {
|
|
} else {
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, SaveModel.timeLevel_DDL, SaveModel.interval_day);
|
|
|
|
|
|
saveModels = elasticsearchUtil.findLineChartDateQuotaLevel0(startDate, endDate, area, level, index, timelevel, SaveModel.interval_day);
|
|
}
|
|
}
|
|
|
|
|
|
if (saveModels != null) {
|
|
if (saveModels != null) {
|
|
// 计算结果
|
|
// 计算结果
|
|
for (SaveModel saveModel : saveModels) {
|
|
for (SaveModel saveModel : saveModels) {
|
|
String range = "";
|
|
String range = "";
|
|
if (saveModel.getQuotaDate()!=null){
|
|
|
|
|
|
if (saveModel.getQuotaDate() != null) {
|
|
range = df.format(saveModel.getQuotaDate());
|
|
range = df.format(saveModel.getQuotaDate());
|
|
}
|
|
}
|
|
JSONObject json = countResult.get(range);
|
|
JSONObject json = countResult.get(range);
|
|
//因为上述时间集提前一天 但是前端是显示当前时间,所以这里给调整回去
|
|
//因为上述时间集提前一天 但是前端是显示当前时间,所以这里给调整回去
|
|
if(range.equals(df.format(temp.getTime()))){
|
|
|
|
json.put("range",endDate);
|
|
|
|
|
|
if (range.equals(df.format(temp.getTime()))) {
|
|
|
|
json.put("range", endDate);
|
|
}
|
|
}
|
|
if (json != null) {
|
|
if (json != null) {
|
|
long amount = saveModel.getResult2().longValue();
|
|
long amount = saveModel.getResult2().longValue();
|
|
@ -1369,9 +1369,9 @@ public class StatisticsESService {
|
|
if (resultList != null) {
|
|
if (resultList != null) {
|
|
String signTaskNum = "";
|
|
String signTaskNum = "";
|
|
if ("3".equals(lowCode)) {
|
|
if ("3".equals(lowCode)) {
|
|
if ("2017".equals(year)){
|
|
|
|
|
|
if ("2017".equals(year)) {
|
|
signTaskNum = systemDictService.getDictValueNoRedis("SIGN_TASKNUM_17_65", year);//2017年65岁以上的目标量
|
|
signTaskNum = systemDictService.getDictValueNoRedis("SIGN_TASKNUM_17_65", year);//2017年65岁以上的目标量
|
|
}else if ("2016".equals(year)){
|
|
|
|
|
|
} else if ("2016".equals(year)) {
|
|
signTaskNum = systemDictService.getDictValueNoRedis("SIGN_TASKNUM_16_65", year);
|
|
signTaskNum = systemDictService.getDictValueNoRedis("SIGN_TASKNUM_16_65", year);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@ -2298,7 +2298,7 @@ public class StatisticsESService {
|
|
}
|
|
}
|
|
resultMaps.add(rs);
|
|
resultMaps.add(rs);
|
|
}
|
|
}
|
|
if (level == 4 ||"5".equals(low_level)) {
|
|
|
|
|
|
if (level == 4 || "5".equals(low_level)) {
|
|
Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
|
|
Map<Integer, Map<String, Object>> leaders = getAllTeamLeaders();
|
|
if (resultMaps != null && resultMaps.size() > 0) {
|
|
if (resultMaps != null && resultMaps.size() > 0) {
|
|
for (Map<String, Object> r : resultMaps) {
|
|
for (Map<String, Object> r : resultMaps) {
|
|
@ -2459,7 +2459,7 @@ public class StatisticsESService {
|
|
//获取结果集
|
|
//获取结果集
|
|
List<Map<String, Object>> resultList = null;
|
|
List<Map<String, Object>> resultList = null;
|
|
if ("0".equals(type)) {
|
|
if ("0".equals(type)) {
|
|
resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate,1)));
|
|
|
|
|
|
resultList = DateUtil.findDates(dateFormat.parse(startDate), dateFormat.parse(DateUtil.getNextDay(endDate, 1)));
|
|
} else {
|
|
} else {
|
|
resultList = DateUtil.findDateASWeeks(dateFormat.parse(startDate), dateFormat.parse(endDate));
|
|
resultList = DateUtil.findDateASWeeks(dateFormat.parse(startDate), dateFormat.parse(endDate));
|
|
}
|
|
}
|
|
@ -4981,8 +4981,8 @@ public class StatisticsESService {
|
|
|
|
|
|
|
|
|
|
//83:健康文章,84:健康指导
|
|
//83:健康文章,84:健康指导
|
|
List<SaveModel> list_83_84 = elasticsearchUtil.findListDateQuotaLevel0( endDate, area, level, "83,84", SaveModel.timeLevel_DDL, lowLevel);
|
|
|
|
List<SaveModel> list_read_83_84 = elasticsearchUtil.findListDateQuotaLevel1(endDate,area,level,"83,84", SaveModel.timeLevel_DDL, lowLevel, "1");
|
|
|
|
|
|
List<SaveModel> list_83_84 = elasticsearchUtil.findListDateQuotaLevel0(endDate, area, level, "83,84", SaveModel.timeLevel_DDL, lowLevel);
|
|
|
|
List<SaveModel> list_read_83_84 = elasticsearchUtil.findListDateQuotaLevel1(endDate, area, level, "83,84", SaveModel.timeLevel_DDL, lowLevel, "1");
|
|
|
|
|
|
// List<SaveModel> list_84 = elasticsearchUtil.findListDateQuotaLevel0(null, endDate, area, level, "84", SaveModel.timeLevel_ZL, lowLevel);
|
|
// List<SaveModel> list_84 = elasticsearchUtil.findListDateQuotaLevel0(null, endDate, area, level, "84", SaveModel.timeLevel_ZL, lowLevel);
|
|
// List<SaveModel> list_read_84 = elasticsearchUtil.findListDateQuotaLevel1(endDate,area,level,"84", SaveModel.timeLevel_DDL, lowLevel, "1");
|
|
// List<SaveModel> list_read_84 = elasticsearchUtil.findListDateQuotaLevel1(endDate,area,level,"84", SaveModel.timeLevel_DDL, lowLevel, "1");
|
|
@ -4991,68 +4991,68 @@ public class StatisticsESService {
|
|
String readRate = "";
|
|
String readRate = "";
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
for(SaveModel saveModel:list_83_84){
|
|
|
|
|
|
for (SaveModel saveModel : list_83_84) {
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
if (SaveModel.OrgLevel.equals(lowLevel)) {
|
|
if (SaveModel.OrgLevel.equals(lowLevel)) {
|
|
map.put("code", saveModel.getHospital());
|
|
map.put("code", saveModel.getHospital());
|
|
map.put("name", saveModel.getHospitalName());
|
|
map.put("name", saveModel.getHospitalName());
|
|
map.put("amount", saveModel.getResult1());
|
|
map.put("amount", saveModel.getResult1());
|
|
Double readNum = 0.0;
|
|
Double readNum = 0.0;
|
|
for(SaveModel saveModel2:list_read_83_84){
|
|
|
|
if(saveModel.getHospital().equals(saveModel2.getHospital())){
|
|
|
|
|
|
for (SaveModel saveModel2 : list_read_83_84) {
|
|
|
|
if (saveModel.getHospital().equals(saveModel2.getHospital())) {
|
|
//获取阅读量
|
|
//获取阅读量
|
|
readNum = saveModel2.getResult1();
|
|
readNum = saveModel2.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
readRate = df.format( readNum > 0.0? ((readNum)/(saveModel.getResult1() * 1.0000)*100):0.0);
|
|
|
|
|
|
readRate = df.format(readNum > 0.0 ? ((readNum) / (saveModel.getResult1() * 1.0000) * 100) : 0.0);
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readRate", readRate+"%");
|
|
|
|
|
|
map.put("readRate", readRate + "%");
|
|
} else if (SaveModel.townLevel.equals(lowLevel)) {
|
|
} else if (SaveModel.townLevel.equals(lowLevel)) {
|
|
map.put("code", saveModel.getTown());
|
|
map.put("code", saveModel.getTown());
|
|
map.put("name", saveModel.getTownName());
|
|
map.put("name", saveModel.getTownName());
|
|
map.put("amount", saveModel.getResult1());
|
|
map.put("amount", saveModel.getResult1());
|
|
Double readNum = 0.0;
|
|
Double readNum = 0.0;
|
|
for(SaveModel saveModel2:list_read_83_84){
|
|
|
|
if(saveModel.getTown().equals(saveModel2.getTown())){
|
|
|
|
|
|
for (SaveModel saveModel2 : list_read_83_84) {
|
|
|
|
if (saveModel.getTown().equals(saveModel2.getTown())) {
|
|
//获取阅读量
|
|
//获取阅读量
|
|
readNum = saveModel2.getResult1();
|
|
readNum = saveModel2.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
readRate = df.format( readNum > 0.0? ((readNum)/(saveModel.getResult1() * 1.0000)*100):0.0);
|
|
|
|
|
|
readRate = df.format(readNum > 0.0 ? ((readNum) / (saveModel.getResult1() * 1.0000) * 100) : 0.0);
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readRate", readRate+"%");
|
|
|
|
|
|
map.put("readRate", readRate + "%");
|
|
} else if (SaveModel.cityLevel.equals(lowLevel)) {
|
|
} else if (SaveModel.cityLevel.equals(lowLevel)) {
|
|
map.put("code", saveModel.getCity());
|
|
map.put("code", saveModel.getCity());
|
|
map.put("name", saveModel.getCityName());
|
|
map.put("name", saveModel.getCityName());
|
|
map.put("amount", saveModel.getResult1());
|
|
map.put("amount", saveModel.getResult1());
|
|
Double readNum = 0.0;
|
|
Double readNum = 0.0;
|
|
for(SaveModel saveModel2:list_read_83_84){
|
|
|
|
if(saveModel.getCity().equals(saveModel2.getCity())){
|
|
|
|
|
|
for (SaveModel saveModel2 : list_read_83_84) {
|
|
|
|
if (saveModel.getCity().equals(saveModel2.getCity())) {
|
|
//获取阅读量
|
|
//获取阅读量
|
|
readNum = saveModel2.getResult1();
|
|
readNum = saveModel2.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
readRate = df.format( readNum > 0.0? ((readNum)/(saveModel.getResult1() * 1.0000)*100):0.0);
|
|
|
|
|
|
readRate = df.format(readNum > 0.0 ? ((readNum) / (saveModel.getResult1() * 1.0000) * 100) : 0.0);
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readRate", readRate+"%");
|
|
|
|
|
|
map.put("readRate", readRate + "%");
|
|
} else if (SaveModel.teamLevel.equals(lowLevel)) {
|
|
} else if (SaveModel.teamLevel.equals(lowLevel)) {
|
|
map.put("code", saveModel.getTeam());
|
|
map.put("code", saveModel.getTeam());
|
|
map.put("name", saveModel.getTeamName());
|
|
map.put("name", saveModel.getTeamName());
|
|
map.put("amount", saveModel.getResult1());
|
|
map.put("amount", saveModel.getResult1());
|
|
Double readNum = 0.0;
|
|
Double readNum = 0.0;
|
|
for(SaveModel saveModel2:list_read_83_84){
|
|
|
|
if(saveModel.getTeam().equals(saveModel2.getTeam())){
|
|
|
|
|
|
for (SaveModel saveModel2 : list_read_83_84) {
|
|
|
|
if (saveModel.getTeam().equals(saveModel2.getTeam())) {
|
|
//获取阅读量
|
|
//获取阅读量
|
|
readNum = saveModel2.getResult1();
|
|
readNum = saveModel2.getResult1();
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
readRate = df.format( readNum > 0.0? ((readNum)/(saveModel.getResult1() * 1.0000)*100):0.0);
|
|
|
|
|
|
readRate = df.format(readNum > 0.0 ? ((readNum) / (saveModel.getResult1() * 1.0000) * 100) : 0.0);
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readNum", readNum.longValue());
|
|
map.put("readRate", readRate+"%");
|
|
|
|
|
|
map.put("readRate", readRate + "%");
|
|
}
|
|
}
|
|
resultList.add(map);
|
|
resultList.add(map);
|
|
}
|
|
}
|
|
@ -5069,7 +5069,7 @@ public class StatisticsESService {
|
|
obj.put("name", town.getName());
|
|
obj.put("name", town.getName());
|
|
obj.put("amount", "0");
|
|
obj.put("amount", "0");
|
|
obj.put("readNum", 0);
|
|
obj.put("readNum", 0);
|
|
obj.put("readRate", Double.valueOf("0.00")+"%");
|
|
|
|
|
|
obj.put("readRate", Double.valueOf("0.00") + "%");
|
|
resultList.add(obj);
|
|
resultList.add(obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -5092,7 +5092,7 @@ public class StatisticsESService {
|
|
obj.put("name", hos.getName());
|
|
obj.put("name", hos.getName());
|
|
obj.put("amount", "0");
|
|
obj.put("amount", "0");
|
|
obj.put("readNum", 0);
|
|
obj.put("readNum", 0);
|
|
obj.put("readRate", Double.valueOf("0.00")+"%");
|
|
|
|
|
|
obj.put("readRate", Double.valueOf("0.00") + "%");
|
|
resultList.add(obj);
|
|
resultList.add(obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -5120,7 +5120,7 @@ public class StatisticsESService {
|
|
obj.put("name", team.getName());
|
|
obj.put("name", team.getName());
|
|
obj.put("amount", "0");
|
|
obj.put("amount", "0");
|
|
obj.put("readNum", 0);
|
|
obj.put("readNum", 0);
|
|
obj.put("readRate", Double.valueOf("0.00")+"%");
|
|
|
|
|
|
obj.put("readRate", Double.valueOf("0.00") + "%");
|
|
resultList.add(obj);
|
|
resultList.add(obj);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@ -5134,11 +5134,11 @@ public class StatisticsESService {
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
long map1value = 0L;
|
|
long map1value = 0L;
|
|
long map2value = 0L;
|
|
long map2value = 0L;
|
|
if(o1.get("amount")!=null && o1.get("amount")+""!=""){
|
|
|
|
map1value = ((Double)o1.get("amount")).longValue();
|
|
|
|
|
|
if (o1.get("amount") != null && o1.get("amount") + "" != "") {
|
|
|
|
map1value = ((Double) o1.get("amount")).longValue();
|
|
}
|
|
}
|
|
if(o2.get("amount")!=null && o2.get("amount")+""!=""){
|
|
|
|
map2value = ((Double)o2.get("amount")).longValue();
|
|
|
|
|
|
if (o2.get("amount") != null && o2.get("amount") + "" != "") {
|
|
|
|
map2value = ((Double) o2.get("amount")).longValue();
|
|
}
|
|
}
|
|
|
|
|
|
if (map1value - map2value > 0) {
|
|
if (map1value - map2value > 0) {
|
|
@ -5174,17 +5174,17 @@ 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,String deviceType) throws Exception {
|
|
|
|
|
|
public Map<String, Object> getLevelDeviceAndBinding(String area, int level, int sort, String lowLevel, String year, String deviceType) throws Exception {
|
|
String index_85 = "85";//设备发放量统计指标
|
|
String index_85 = "85";//设备发放量统计指标
|
|
String index_86= "86";//设备绑定量统计指标
|
|
|
|
String index_87= "87";//设备使用量统计指标
|
|
|
|
String index_88= "88";//设备异常数据24H统计指标
|
|
|
|
|
|
String index_86 = "86";//设备绑定量统计指标
|
|
|
|
String index_87 = "87";//设备使用量统计指标
|
|
|
|
String index_88 = "88";//设备异常数据24H统计指标
|
|
//String lastDate = year + "-06-30";
|
|
//String lastDate = year + "-06-30";
|
|
//String timeKey = elasticsearchUtil.getQuotaTime();
|
|
//String timeKey = elasticsearchUtil.getQuotaTime();
|
|
String timeKey = DateUtil.getStringDateShort();//当前时间
|
|
String timeKey = DateUtil.getStringDateShort();//当前时间
|
|
String mondayTime = DateUtil.getMondayOfThisDate(new Date());//本周一开始时间
|
|
String mondayTime = DateUtil.getMondayOfThisDate(new Date());//本周一开始时间
|
|
String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
|
|
String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
|
|
Map<String,Object> resultMap = new HashedMap();
|
|
|
|
|
|
Map<String, Object> resultMap = new HashedMap();
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
DecimalFormat df = new DecimalFormat("0.00");
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
|
|
|
@ -5193,84 +5193,83 @@ public class StatisticsESService {
|
|
List<SaveModel> useSaveModel = null;
|
|
List<SaveModel> useSaveModel = null;
|
|
SaveModel anomalySaveModel = null;
|
|
SaveModel anomalySaveModel = null;
|
|
String allCountSql = "";
|
|
String allCountSql = "";
|
|
String anomalyCountSql ="";
|
|
|
|
// List<SaveModel> grantList = null;//发放量折线图
|
|
|
|
// List<SaveModel> bindingList = null;//绑定量折线图
|
|
|
|
|
|
String anomalyCountSql = "";
|
|
List<SaveModel> allAmountList = null;//发放量列表
|
|
List<SaveModel> allAmountList = null;//发放量列表
|
|
List<SaveModel> bindingAmountList = null;//绑定量列表
|
|
List<SaveModel> bindingAmountList = null;//绑定量列表
|
|
switch (deviceType){
|
|
|
|
|
|
String areaCondition = "";
|
|
|
|
if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.grant_org_code like '" + area + "' ";
|
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.grant_org_code like '" + area.substring(0, 4) + "%' ";
|
|
|
|
} else if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.grant_org_code like '" + area.substring(0, 2) + "%' ";
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (deviceType) {
|
|
case "1": {
|
|
case "1": {
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_85,SaveModel.timeLevel_DDL,"hemopiezometer");
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_86,SaveModel.timeLevel_DDL,"hemopiezometer");
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d where device_name like '%血压%'";
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel1(mondayTime,timeKey, area, level, index_87, SaveModel.timeLevel_ZL, "hemopiezometer", null, null);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_88,SaveModel.timeLevel_DDL,"hemopiezometer");
|
|
|
|
anomalyCountSql =" SELECT COUNT(d.id) FROM device.wlyy_patient_health_index d where d.type =1 and d.status=1 and d.del=1";
|
|
|
|
// grantList = elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_85, SaveModel.timeLevel_DDL, "hemopiezometer", interval, null);
|
|
|
|
// bindingList = elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_86, SaveModel.timeLevel_DDL, "hemopiezometer", interval, null);
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "hemopiezometer","", low_level);
|
|
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "hemopiezometer","", low_level);
|
|
|
|
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "hemopiezometer");
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "hemopiezometer");
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d where device_name like '%血压%' " + areaCondition;
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel1(mondayTime, timeKey, area, level, index_87, SaveModel.timeLevel_ZL, "hemopiezometer", null, null);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_88, SaveModel.timeLevel_DDL, "hemopiezometer");
|
|
|
|
anomalyCountSql = " SELECT COUNT(i.id) FROM device.wlyy_patient_health_index i left join device.wlyy_devices d on i.device_sn=d.device_code where i.type =1 and i.status=1 and i.del=1 " + areaCondition;
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "hemopiezometer", "", low_level);
|
|
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "hemopiezometer", "", low_level);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
case "2": {
|
|
case "2": {
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_85,SaveModel.timeLevel_DDL,"glucometer");
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_86,SaveModel.timeLevel_DDL,"glucometer");
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d where device_name like '%血糖%'";
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel1(mondayTime,timeKey, area, level, index_87, SaveModel.timeLevel_ZL, "glucometer", null, null);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey,area,level, index_88,SaveModel.timeLevel_DDL,"glucometer");
|
|
|
|
anomalyCountSql =" SELECT COUNT(d.id) FROM device.wlyy_patient_health_index d where d.type =2 and d.status=1 and d.del=1";
|
|
|
|
// elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_85, SaveModel.timeLevel_DDL, "glucometer", interval, null);
|
|
|
|
// elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_86, SaveModel.timeLevel_DDL, "glucometer", interval, null);
|
|
|
|
// grantList = elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_85, SaveModel.timeLevel_DDL, "hemopiezometer", interval, null);
|
|
|
|
// bindingList = elasticsearchUtil.findDateQuotaLevel1(timeKey,timeKey,area,level,index_86, SaveModel.timeLevel_DDL, "hemopiezometer", interval, null);
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "glucometer","", low_level);
|
|
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "glucometer","", low_level);
|
|
|
|
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "glucometer");
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "glucometer");
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d where device_name like '%血糖%' " + areaCondition;
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel1(mondayTime, timeKey, area, level, index_87, SaveModel.timeLevel_ZL, "glucometer", null, null);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_88, SaveModel.timeLevel_DDL, "glucometer");
|
|
|
|
anomalyCountSql = " SELECT COUNT(i.id) FROM device.wlyy_patient_health_index i left join device.wlyy_devices d on i.device_sn=d.device_code where i.type =2 and i.status=1 and i.del=1 " + areaCondition;
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "glucometer", "", low_level);
|
|
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "glucometer", "", low_level);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
default: {
|
|
default: {
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey,area,level, index_85,SaveModel.timeLevel_DDL);
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey,area,level, index_86,SaveModel.timeLevel_DDL);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey,area,level, index_88,SaveModel.timeLevel_DDL);
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d ";
|
|
|
|
anomalyCountSql =" SELECT COUNT(d.id) FROM device.wlyy_patient_health_index d where d.status=1 and d.del=1";
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel0(mondayTime,timeKey, area, level, index_87, SaveModel.timeLevel_ZL, null, null);
|
|
|
|
// grantList = elasticsearchUtil.findDateQuotaLevel0(timeKey,timeKey,area,level,index_85, SaveModel.timeLevel_DDL, interval, null);
|
|
|
|
// bindingList = elasticsearchUtil.findDateQuotaLevel0(timeKey,timeKey,area,level,index_86, SaveModel.timeLevel_DDL, interval, null);
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL,"", low_level);
|
|
|
|
|
|
grantSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, index_85, SaveModel.timeLevel_DDL);
|
|
|
|
bindingSaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, index_86, SaveModel.timeLevel_DDL);
|
|
|
|
anomalySaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, index_88, SaveModel.timeLevel_DDL);
|
|
|
|
allCountSql = "SELECT COUNT(*) FROM device.wlyy_devices d " + areaCondition;
|
|
|
|
anomalyCountSql = " SELECT COUNT(i.id) FROM device.wlyy_patient_health_index i left join device.wlyy_devices d on i.device_sn=d.device_code where i.status=1 and i.del=1 " + areaCondition;
|
|
|
|
useSaveModel = elasticsearchUtil.findDateQuotaLevel0(mondayTime, timeKey, area, level, index_87, SaveModel.timeLevel_ZL, null, null);
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_85, SaveModel.timeLevel_DDL, "", low_level);
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "", low_level);
|
|
bindingAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_86, SaveModel.timeLevel_DDL, "", low_level);
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
Integer allCount = jdbcTemplate.queryForObject(allCountSql,Integer.class);
|
|
|
|
|
|
Integer allCount = jdbcTemplate.queryForObject(allCountSql, Integer.class);
|
|
// Long total = elasticsearchUtil.excuteForLong(countSql,esIndex, esType);
|
|
// Long total = elasticsearchUtil.excuteForLong(countSql,esIndex, esType);
|
|
|
|
|
|
resultMap.put("totalAll",allCount);//采购量
|
|
|
|
resultMap.put("totalGrant",grantSaveModel.getResult1());//发放量
|
|
|
|
resultMap.put("totalBinding",bindingSaveModel.getResult1());//绑定量
|
|
|
|
|
|
resultMap.put("totalAll", allCount);//采购量
|
|
|
|
resultMap.put("totalGrant", grantSaveModel.getResult1());//发放量
|
|
|
|
resultMap.put("totalBinding", bindingSaveModel.getResult1());//绑定量
|
|
|
|
|
|
if(allCount>0){
|
|
|
|
resultMap.put("totalGrantRange",df.format( grantSaveModel.getResult1() > 0.0? ((grantSaveModel.getResult1())/(allCount * 1.0000)*100):0.0)+"%");//发放率
|
|
|
|
resultMap.put("totalBindingRange",df.format( bindingSaveModel.getResult1() > 0.0? ((bindingSaveModel.getResult1())/(grantSaveModel.getResult1() * 1.0000)*100):0.0)+"%");//绑定率
|
|
|
|
}else{
|
|
|
|
resultMap.put("totalGrantRange",0.0+"%");//发放率
|
|
|
|
resultMap.put("totalBindingRange",0.0+"%");//绑定率
|
|
|
|
|
|
if (allCount > 0) {
|
|
|
|
resultMap.put("totalGrantRange", df.format(grantSaveModel.getResult1() > 0.0 ? ((grantSaveModel.getResult1()) / (allCount * 1.0000) * 100) : 0.0) + "%");//发放率
|
|
|
|
resultMap.put("totalBindingRange", df.format(bindingSaveModel.getResult1() > 0.0 ? ((bindingSaveModel.getResult1()) / (grantSaveModel.getResult1() * 1.0000) * 100) : 0.0) + "%");//绑定率
|
|
|
|
} else {
|
|
|
|
resultMap.put("totalGrantRange", 0.0 + "%");//发放率
|
|
|
|
resultMap.put("totalBindingRange", 0.0 + "%");//绑定率
|
|
}
|
|
}
|
|
Double totalUseAccount = useSaveModel.size()>0?useSaveModel.get(0).getResult1():0.0;
|
|
|
|
|
|
Double totalUseAccount = useSaveModel.size() > 0 ? useSaveModel.get(0).getResult1() : 0.0;
|
|
|
|
|
|
resultMap.put("totalUse",totalUseAccount);//本周使用量
|
|
|
|
if(grantSaveModel.getResult1()>0){
|
|
|
|
resultMap.put("totalUseRange",df.format( totalUseAccount > 0.0? ((totalUseAccount)/(grantSaveModel.getResult1() * 1.0000)*100):0.0)+"%");//本周使用率
|
|
|
|
}else{
|
|
|
|
resultMap.put("totalUseRange",0.0+"%");//本周使用率
|
|
|
|
|
|
resultMap.put("totalUse", totalUseAccount);//本周使用量
|
|
|
|
if (grantSaveModel.getResult1() > 0) {
|
|
|
|
resultMap.put("totalUseRange", df.format(totalUseAccount > 0.0 ? ((totalUseAccount) / (grantSaveModel.getResult1() * 1.0000) * 100) : 0.0) + "%");//本周使用率
|
|
|
|
} else {
|
|
|
|
resultMap.put("totalUseRange", 0.0 + "%");//本周使用率
|
|
}
|
|
}
|
|
Integer totalAnomaly = jdbcTemplate.queryForObject(anomalyCountSql,Integer.class);
|
|
|
|
resultMap.put("totalAnomaly",totalAnomaly);//异常数据量
|
|
|
|
resultMap.put("totalIntervene",anomalySaveModel.getResult1());//干预指导数
|
|
|
|
if(totalAnomaly>0){
|
|
|
|
resultMap.put("totalInterveneRange",df.format( anomalySaveModel.getResult1() > 0.0? ((anomalySaveModel.getResult1())/(totalAnomaly * 1.0000)*100):0.0)+"%");//异常数据24h干预指导率
|
|
|
|
}else{
|
|
|
|
resultMap.put("totalInterveneRange",0.0+"%");//异常数据24h干预指导率
|
|
|
|
|
|
Integer totalAnomaly = jdbcTemplate.queryForObject(anomalyCountSql, Integer.class);
|
|
|
|
resultMap.put("totalAnomaly", totalAnomaly);//异常数据量
|
|
|
|
resultMap.put("totalIntervene", anomalySaveModel.getResult1());//干预指导数
|
|
|
|
if (totalAnomaly > 0) {
|
|
|
|
resultMap.put("totalInterveneRange", df.format(anomalySaveModel.getResult1() > 0.0 ? ((anomalySaveModel.getResult1()) / (totalAnomaly * 1.0000) * 100) : 0.0) + "%");//异常数据24h干预指导率
|
|
|
|
} else {
|
|
|
|
resultMap.put("totalInterveneRange", 0.0 + "%");//异常数据24h干预指导率
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -5344,14 +5343,174 @@ public class StatisticsESService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
resultMap.put("list",resultList);
|
|
|
|
|
|
resultMap.put("list", resultList);
|
|
return resultMap;
|
|
return resultMap;
|
|
} else {
|
|
} else {
|
|
return new HashedMap();
|
|
return new HashedMap();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//i健康活动统计1.4.8版本
|
|
|
|
public Map<String, Object> statisticsActivity(String area, int level, int sort,String lowLevel,String slaveKey1) throws Exception {
|
|
|
|
Map<String, Object> resultMap = new HashMap<>();
|
|
|
|
String index_89 = "89";//健康银行全部活动人数统计指标
|
|
|
|
String index_1 = "1";//签约已缴费指标(总人数按签约人数计算)
|
|
|
|
String index_91 = "91";//健康银行活动报名数
|
|
|
|
String index_92 = "92";//健康银行活动报名数
|
|
|
|
String timeKey = DateUtil.getStringDateShort();//当前时间
|
|
|
|
String areaCondition = "";
|
|
|
|
String areaCondition2 = "";
|
|
|
|
//发布活动数
|
|
|
|
if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.area like '" + area + "' ";
|
|
|
|
areaCondition2 = " and t.org_code like '" + area + "' ";
|
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.area like '" + area.substring(0, 4) + "%' ";
|
|
|
|
areaCondition2 = " and t.org_code like '" + area.substring(0, 4) + "%' ";
|
|
|
|
} else if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
|
areaCondition = " and d.area like '" + area.substring(0, 2) + "%' ";
|
|
|
|
areaCondition2 = " and t.org_code like '" + area.substring(0, 2) + "%' ";
|
|
|
|
}
|
|
|
|
String activitySql = "select count(1) from wlyy_health_bank_activity d where d.status=1 " + areaCondition;
|
|
|
|
Integer activityCount = jdbcTemplate.queryForObject(activitySql, Integer.class);//发布活动数
|
|
|
|
|
|
|
|
//活动用户总量
|
|
|
|
SaveModel activitySaveModel = null;
|
|
|
|
if(StringUtils.isNotEmpty(slaveKey1)){
|
|
|
|
activitySaveModel = elasticsearchUtil.findOneDateQuotaLevel1(timeKey, area, level, index_89, SaveModel.timeLevel_DDL,slaveKey1);
|
|
|
|
}else{
|
|
|
|
activitySaveModel = elasticsearchUtil.findOneDateQuotaLevel0(timeKey, area, level, index_89, SaveModel.timeLevel_DDL);
|
|
|
|
}
|
|
|
|
|
|
|
|
resultMap = applyList(index_1,index_91,area,level, sort,lowLevel,slaveKey1,resultMap);//列表
|
|
|
|
if(StringUtils.isNotEmpty(slaveKey1)){
|
|
|
|
resultMap.put("activityCount",activityCount);//发布活动数
|
|
|
|
}else{
|
|
|
|
String dayStart = DateUtil.dateToStrLong(new Date(DateUtil.getDayStartTime(new Date()).getTime()));
|
|
|
|
String currentTime = DateUtil.getStringDate();
|
|
|
|
String sql = " select count(1) from health_bank.wlyy_health_bank_active_record r join wlyy.wlyy_admin_team t on r.team_id=t.id where r.create_time>='"+dayStart+"' and r.create_time<='"+currentTime+"' r.activity_id='"+slaveKey1+"' "+areaCondition2;
|
|
|
|
Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
|
|
|
|
resultMap.put("dayActiveCount",count!=null?count.intValue():0);//今日活跃量
|
|
|
|
}
|
|
|
|
resultMap.put("activityPatient",activitySaveModel.getResult1().intValue());//活动用户总量
|
|
|
|
return resultMap;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 获取活动信息
|
|
|
|
*
|
|
|
|
* @param id
|
|
|
|
* @param area
|
|
|
|
* @param level
|
|
|
|
* @return
|
|
|
|
*/
|
|
|
|
public List<Map<String, Object>> getAllAtivity(String id, String area, int level) {
|
|
|
|
String condition = "";
|
|
|
|
if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
|
condition = " and a.area like '" + area + "' ";
|
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
|
condition = " and a.area like '" + area.substring(0, 4) + "%' ";
|
|
|
|
} else if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
|
condition = " and a.area like '" + area.substring(0, 2) + "%' ";
|
|
|
|
}
|
|
|
|
if (StringUtils.isNotEmpty(id)) {
|
|
|
|
condition += " and a.id=" + id;
|
|
|
|
}
|
|
|
|
String sql = " select * from health_bank.wlyy_health_bank_activity a where a.status=1 " + condition;
|
|
|
|
return jdbcTemplate.queryForList(sql);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//参与率列表
|
|
|
|
public Map<String, Object> applyList(String index_all,String index_part,String area, int level, int sort, String lowLevel, String slaveKey1,Map<String, Object> resultMap) throws Exception {
|
|
|
|
// String index_1 = "1";//签约已缴费指标(总人数按签约人数计算)
|
|
|
|
// String index_91 = "91";//健康银行活动报名数
|
|
|
|
String timeKey = DateUtil.getStringDateShort();//当前时间
|
|
|
|
String low_level = String.valueOf(StringUtils.isEmpty(lowLevel) ? (level + 1) : lowLevel);
|
|
|
|
|
|
|
|
// Map<String, Object> resultMap = new HashedMap();//返回的结果
|
|
|
|
List<SaveModel> allAmountList = null;//签约已缴费人数列表
|
|
|
|
List<SaveModel> applyAmountList = null;//报名人数列表
|
|
|
|
if (StringUtils.isNotEmpty(slaveKey1)) {
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_all, SaveModel.timeLevel_DDL, slaveKey1, "", low_level);
|
|
|
|
applyAmountList = elasticsearchUtil.findDateQuotaLevel1(timeKey, timeKey, area, level, index_part, SaveModel.timeLevel_DDL, slaveKey1, "", low_level);
|
|
|
|
} else {
|
|
|
|
allAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_all, SaveModel.timeLevel_DDL, "", low_level);
|
|
|
|
applyAmountList = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, level, index_part, SaveModel.timeLevel_DDL, "", low_level);
|
|
|
|
}
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//自建结果集
|
|
|
|
List<Map<String, Object>> resultList = getLowLevelMapKey(level, low_level, area);
|
|
|
|
|
|
|
|
if (resultList != null && resultList.size() > 0) {
|
|
|
|
Map<String, SaveModel> applyMap = new HashMap<>();
|
|
|
|
applyAmountList.stream().forEach(one -> {
|
|
|
|
if ("5".equals(low_level)) {
|
|
|
|
applyMap.put(one.getTeam(), one);
|
|
|
|
} else if ("4".equals(low_level)) {
|
|
|
|
applyMap.put(one.getHospital(), one);
|
|
|
|
} else if ("3".equals(low_level)) {
|
|
|
|
applyMap.put(one.getTown(), one);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
for (Map<String, Object> reMap : resultList) {
|
|
|
|
reMap.put("amount", reMap.get("amount") != null ? Long.valueOf(reMap.get("amount").toString()) : 0L);
|
|
|
|
Integer allAmount = 0;
|
|
|
|
int applyAmount = 0;
|
|
|
|
//获取绑定数量
|
|
|
|
if (applyMap != null && applyMap.size() > 0) {
|
|
|
|
SaveModel one = applyMap.get(reMap.get("code").toString());
|
|
|
|
if (one != null) {
|
|
|
|
applyAmount = one.getResult2().intValue();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (allMap != null && allMap.size() > 0) {
|
|
|
|
allAmount = allMap.get(reMap.get("code").toString());
|
|
|
|
if (allAmount == null) {
|
|
|
|
allAmount = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
reMap.put("allNum", allAmount);
|
|
|
|
reMap.put("applyNum", applyAmount);
|
|
|
|
reMap.put("rate", getRange(applyAmount, 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();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|