|
@ -90,8 +90,6 @@ public class StatisticsESService {
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// /**
|
|
|
// * 查询某一天父level下的子level 例如 查询市下面的团队,或者区下面的团队
|
|
|
// *
|
|
@ -167,23 +165,24 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONArray getDateIncrementDetail(String startDate, String endDate, String interval, String area, int level, String index, String level2_type) throws Exception {
|
|
|
List<SaveModel> list = null;
|
|
|
if(StringUtils.isNotEmpty(level2_type)) {
|
|
|
List<SaveModel> list = null;
|
|
|
if (StringUtils.isNotEmpty(level2_type)) {
|
|
|
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate,endDate,area,level,index,"1",level2_type,interval,null);
|
|
|
}else{
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,"1",interval,null);
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, "1", level2_type, interval, null);
|
|
|
} else {
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, index, "1", interval, null);
|
|
|
}
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
for (SaveModel saveModel:list){
|
|
|
for (SaveModel saveModel : list) {
|
|
|
JSONObject range = new JSONObject();
|
|
|
range.put("range", DateUtil.dateToStr(saveModel.getQuotaDate(),"yyyy-MM-dd"));
|
|
|
range.put("range", DateUtil.dateToStr(saveModel.getQuotaDate(), "yyyy-MM-dd"));
|
|
|
range.put("amount", saveModel.getResult2());
|
|
|
result.add(range);
|
|
|
}
|
|
|
|
|
|
return new JSONArray(result);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取某个指标在某个期间的增长量
|
|
|
*
|
|
@ -194,8 +193,8 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
public long getIntervalIncrement(String startDate, String endDate, String area, int level, String index) throws Exception {
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,"1",null,null);
|
|
|
if(list.size()>0){
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, index, "1", null, null);
|
|
|
if (list.size() > 0) {
|
|
|
return list.get(0).getResult2();
|
|
|
}
|
|
|
return 0;
|
|
@ -260,8 +259,6 @@ public class StatisticsESService {
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 查询截止某个日期累计量
|
|
|
*
|
|
@ -271,17 +268,17 @@ public class StatisticsESService {
|
|
|
* @param level2_type level2_type的类型
|
|
|
* @return
|
|
|
*/
|
|
|
public long getTotalAmount(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception {
|
|
|
public long getTotalAmount(String startDate, String endDate, String area, int level, String index, String level2_type) throws Exception {
|
|
|
|
|
|
List<SaveModel> list = null;
|
|
|
if(StringUtils.isNotEmpty(level2_type)){
|
|
|
List<SaveModel> list = null;
|
|
|
if (StringUtils.isNotEmpty(level2_type)) {
|
|
|
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate,endDate,area,level,index,"1",level2_type,null,null);
|
|
|
}else{
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,"1",null,null);
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, "1", level2_type, null, null);
|
|
|
} else {
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, index, "1", null, null);
|
|
|
}
|
|
|
// List<SaveModel> list = findDateQuotaLevel1(startDate,endDate,area,level,index,"1",level2_type,null,null);
|
|
|
if(list.size()>0){
|
|
|
if (list.size() > 0) {
|
|
|
return list.get(0).getResult2();
|
|
|
}
|
|
|
return 0L;
|
|
@ -303,43 +300,43 @@ public class StatisticsESService {
|
|
|
if (!org.springframework.util.StringUtils.isEmpty(year)) {
|
|
|
startDate = year + "-06-30' ";
|
|
|
}
|
|
|
String levelTemp = level+"";
|
|
|
if(StringUtils.isNotEmpty(lowLevel)){
|
|
|
String levelTemp = level + "";
|
|
|
if (StringUtils.isNotEmpty(lowLevel)) {
|
|
|
levelTemp = lowLevel;
|
|
|
}
|
|
|
List<SaveModel> list = null;
|
|
|
List<SaveModel> list = null;
|
|
|
// if(StringUtils.isNotEmpty(level2_type)){
|
|
|
//
|
|
|
// list = findDateQuotaLevel1(startDate,endDate,area,level,index,"1",level2_type,null,lowLevel);
|
|
|
// }else{
|
|
|
// list = findDateQuotaLevel0(startDate,endDate,area,level,index,"1",null,lowLevel);
|
|
|
// }
|
|
|
list = lowLevel(startDate,endDate,area,level, index,"1",lowLevel,level2_type);
|
|
|
list = lowLevel(startDate, endDate, area, level, index, "1", lowLevel, level2_type);
|
|
|
// List<SaveModel> list = findDateQuotaLevel1(startDate,endDate,area,level,index,"1",level2_type,null,lowLevel);
|
|
|
if (org.springframework.util.StringUtils.isEmpty(year)) {
|
|
|
year = Constant.getNowYear();
|
|
|
}
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
PopulationBase populationBase = getPopulationBase(area,year);
|
|
|
PopulationBase populationBase = getPopulationBase(area, year);
|
|
|
DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
for (SaveModel saveModel:list) {
|
|
|
for (SaveModel saveModel : list) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
if (SaveModel.OrgLevel.equals(levelTemp)) {
|
|
|
map.put("code",saveModel.getHospital());
|
|
|
map.put("name",saveModel.getHospitalName());
|
|
|
map.put("code", saveModel.getHospital());
|
|
|
map.put("name", saveModel.getHospitalName());
|
|
|
} else if (SaveModel.townLevel.equals(levelTemp)) {
|
|
|
map.put("code",saveModel.getTown());
|
|
|
map.put("name",saveModel.getTownName());
|
|
|
map.put("code", saveModel.getTown());
|
|
|
map.put("name", saveModel.getTownName());
|
|
|
} else if (SaveModel.cityLevel.equals(levelTemp)) {
|
|
|
map.put("code",saveModel.getCity());
|
|
|
map.put("name",saveModel.getCityName());
|
|
|
} else if (SaveModel.teamLevel.equals(level+"")) {
|
|
|
map.put("code",saveModel.getTeam());
|
|
|
map.put("name",saveModel.getCityName());
|
|
|
map.put("code", saveModel.getCity());
|
|
|
map.put("name", saveModel.getCityName());
|
|
|
} else if (SaveModel.teamLevel.equals(level + "")) {
|
|
|
map.put("code", saveModel.getTeam());
|
|
|
map.put("name", saveModel.getCityName());
|
|
|
}
|
|
|
map.put("amount",saveModel.getResult2());
|
|
|
map.put("rate",df.format((saveModel.getResult2() * 1.0000) / populationBase.getNum() * 100));
|
|
|
map.put("rateString",saveModel.getResult2()+"/"+populationBase.getNum());
|
|
|
map.put("amount", saveModel.getResult2());
|
|
|
map.put("rate", df.format((saveModel.getResult2() * 1.0000) / populationBase.getNum() * 100));
|
|
|
map.put("rateString", saveModel.getResult2() + "/" + populationBase.getNum());
|
|
|
resultList.add(map);
|
|
|
}
|
|
|
Collections.sort(resultList, new Comparator<Map<String, Object>>() {
|
|
@ -368,18 +365,18 @@ public class StatisticsESService {
|
|
|
* @param level 级别
|
|
|
* @return
|
|
|
*/
|
|
|
public List lowLevel(String startDate,String endDate, String area, int level, String index,String timeLevel,String lowLevel,String slaveKey1){
|
|
|
public List lowLevel(String startDate, String endDate, String area, int level, String index, String timeLevel, String lowLevel, String slaveKey1) {
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
String lowLevelField = "";
|
|
|
if(SaveModel.cityLevel.equals(level+"")){
|
|
|
lowLevelField=SaveModel.townLevel;
|
|
|
}else if(SaveModel.townLevel.equals(level+"")){
|
|
|
lowLevelField=SaveModel.OrgLevel;
|
|
|
}else if(SaveModel.OrgLevel.equals(level+"")){
|
|
|
lowLevelField=SaveModel.teamLevel;
|
|
|
}else{
|
|
|
lowLevelField=SaveModel.teamLevel;
|
|
|
if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
lowLevelField = SaveModel.townLevel;
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
lowLevelField = SaveModel.OrgLevel;
|
|
|
} else if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
lowLevelField = SaveModel.teamLevel;
|
|
|
} else {
|
|
|
lowLevelField = SaveModel.teamLevel;
|
|
|
}
|
|
|
if (SaveModel.teamLevel.equals(lowLevelField)) {
|
|
|
sql.append("select team,teamName,sum(result1) result1, sum(result2) result2 from wlyy_quota_test where ");
|
|
@ -394,20 +391,20 @@ public class StatisticsESService {
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where ");
|
|
|
groupBy.append(" group by city,cityName");
|
|
|
}
|
|
|
sql.append(" quotaCode in("+index+") ");
|
|
|
sql.append(" and timeLevel='"+timeLevel+"' ");
|
|
|
sql.append(" quotaCode in(" + index + ") ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='5'");
|
|
|
if(StringUtils.isNotEmpty(startDate)){
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
|
sql.append(" and quotaDate>='" + startDate + "'");
|
|
|
}
|
|
|
if(StringUtils.isNotEmpty(endDate)){
|
|
|
if (StringUtils.isNotEmpty(endDate)) {
|
|
|
sql.append(" and quotaDate<='" + endDate + "'");
|
|
|
}
|
|
|
if(StringUtils.isNotEmpty(slaveKey1)){
|
|
|
sql.append(" and slaveKey1='"+slaveKey1+"' ");
|
|
|
if (StringUtils.isNotEmpty(slaveKey1)) {
|
|
|
sql.append(" and slaveKey1='" + slaveKey1 + "' ");
|
|
|
}
|
|
|
|
|
|
if(StringUtils.isNotEmpty(lowLevel)){
|
|
|
if (StringUtils.isNotEmpty(lowLevel)) {
|
|
|
|
|
|
if (SaveModel.teamLevel.equals(lowLevel)) {
|
|
|
sql.append(" and team='" + area + "'");
|
|
@ -421,18 +418,18 @@ public class StatisticsESService {
|
|
|
}
|
|
|
sql.append(groupBy);
|
|
|
|
|
|
return elasticsearchUtil.excute(sql.toString(),SaveModel.class,"","");
|
|
|
return elasticsearchUtil.excute(sql.toString(), SaveModel.class, "", "");
|
|
|
}
|
|
|
|
|
|
|
|
|
public JSONArray getIndexLevelTwototal(String endDate, String area, int level, String index) throws Exception{
|
|
|
public JSONArray getIndexLevelTwototal(String endDate, String area, int level, String index) throws Exception {
|
|
|
|
|
|
// List<SaveModel> list =findOneDateQuotaLevel2(endDate, area, level, index,"1","");
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate,endDate,area,level,index,"2",null,null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, index, "2", null, null, null);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
long total = 0;
|
|
|
for (SaveModel saveModel:list) {
|
|
|
for (SaveModel saveModel : list) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
|
// if (SaveModel.OrgLevel.equals(level+"")) {
|
|
|
// map.put("code",saveModel.getHospital());
|
|
@ -450,8 +447,8 @@ public class StatisticsESService {
|
|
|
// map.put("amount",saveModel.getResult2());
|
|
|
// map.put("rate",df.format((saveModel.getResult2() * 1.0000) / populationBase.getNum() * 100));
|
|
|
// map.put("rateString",saveModel.getResult2()+"/"+populationBase.getNum());
|
|
|
map.put("code",saveModel.getSlaveKey1());
|
|
|
map.put("name",saveModel.getSlaveKey1Name());
|
|
|
map.put("code", saveModel.getSlaveKey1());
|
|
|
map.put("name", saveModel.getSlaveKey1Name());
|
|
|
map.put("amount", saveModel.getResult2());
|
|
|
if (index.equals("7")) {
|
|
|
// 分组指标总数算法
|
|
@ -473,20 +470,20 @@ public class StatisticsESService {
|
|
|
if (!index.equals("8")) {
|
|
|
if (index.equals("36")) {
|
|
|
//如果是查询36的指标 那么除数是签约总数
|
|
|
List<SaveModel> list2 = elasticsearchUtil.findDateQuotaLevel1(endDate,endDate, area, level, "1","2",null,null,null);
|
|
|
Integer num=0;
|
|
|
if(list2.size()>0){
|
|
|
List<SaveModel> list2 = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "1", "2", null, null, null);
|
|
|
Integer num = 0;
|
|
|
if (list2.size() > 0) {
|
|
|
num = list2.get(0).getResult2();
|
|
|
}else{
|
|
|
} else {
|
|
|
throw new Exception("param num error");
|
|
|
}
|
|
|
for (Map<String, Object> map:resultList) {
|
|
|
for (Map<String, Object> map : resultList) {
|
|
|
double rateG = (total > 0 ? ((long) map.get("amount")) * 1.0000 / num * 100 : 0);
|
|
|
map.put("rate", df.format(rateG));
|
|
|
map.put("rateString", ((long) map.get("amount")) + "/" + num);
|
|
|
}
|
|
|
}else{
|
|
|
for (Map<String, Object> map:resultList) {
|
|
|
} else {
|
|
|
for (Map<String, Object> map : resultList) {
|
|
|
double rateG = (total > 0 ? ((int) map.get("amount")) * 1.0000 / total * 100 : 0);
|
|
|
map.put("rate", df.format(rateG));
|
|
|
map.put("rateString", ((int) map.get("amount")) + "/" + total);
|
|
@ -531,12 +528,12 @@ public class StatisticsESService {
|
|
|
* @param level 级别
|
|
|
* @return
|
|
|
*/
|
|
|
public long getIndexTotal(String endDate, String area, int level, String index,String timeLevel) throws Exception{
|
|
|
public long getIndexTotal(String endDate, String area, int level, String index, String timeLevel) throws Exception {
|
|
|
|
|
|
// List<SaveModel> list =findDateQuotaLevel1("",endDate, area, level, index,timeLevel,null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate,endDate, area, level, index,timeLevel,null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate, endDate, area, level, index, timeLevel, null, null);
|
|
|
// List<SaveModel> list =elasticsearchUtil.excute(sql.toString(),SaveModel.class,"","");
|
|
|
if(list.size()>0){
|
|
|
if (list.size() > 0) {
|
|
|
|
|
|
return list.get(0).getResult2();
|
|
|
}
|
|
@ -551,10 +548,10 @@ public class StatisticsESService {
|
|
|
* @param level 级别
|
|
|
* @return
|
|
|
*/
|
|
|
public long getWeiJiaoFei(String endDate, String area, int level) throws Exception{
|
|
|
public long getWeiJiaoFei(String endDate, String area, int level) throws Exception {
|
|
|
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate,endDate,area,level,"16","2","0",null,null);
|
|
|
if(list.size()>0){
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "16", "2", "0", null, null);
|
|
|
if (list.size() > 0) {
|
|
|
return list.get(0).getResult2();
|
|
|
}
|
|
|
return 0;
|
|
@ -578,17 +575,17 @@ public class StatisticsESService {
|
|
|
renewIndex = "29";
|
|
|
}
|
|
|
String timeKey = elasticsearchUtil.getQuotaTime();
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(timeKey,timeKey,area,Integer.parseInt(level),renewIndex,"2",null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(timeKey, timeKey, area, Integer.parseInt(level), renewIndex, "2", null, null);
|
|
|
int renewNum = 0;
|
|
|
if(list.size()>0){
|
|
|
if (list.size() > 0) {
|
|
|
renewNum = list.get(0).getResult2();
|
|
|
}
|
|
|
//根据年度获取去年的签约数 签约指标是1
|
|
|
String date = year + "-06-30";
|
|
|
String index = "1";
|
|
|
List<SaveModel> list2 = elasticsearchUtil.findDateQuotaLevel0(date,date,area,Integer.parseInt(level),index,"2",null,null);
|
|
|
List<SaveModel> list2 = elasticsearchUtil.findDateQuotaLevel0(date, date, area, Integer.parseInt(level), index, "2", null, null);
|
|
|
int signNum = 0;
|
|
|
if (list2.size()>0) {
|
|
|
if (list2.size() > 0) {
|
|
|
signNum = list2.get(0).getResult2();
|
|
|
}
|
|
|
JSONObject jo = new JSONObject();
|
|
@ -609,8 +606,8 @@ public class StatisticsESService {
|
|
|
public JSONObject getSignRate(String endDate, String area, int level, String year) throws Exception {
|
|
|
|
|
|
long signAmount = 0;
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate,endDate,area,level,"13","2",null,null);
|
|
|
if(list.size()>0){
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate, endDate, area, level, "13", "2", null, null);
|
|
|
if (list.size() > 0) {
|
|
|
signAmount = list.get(0).getResult2();
|
|
|
}
|
|
|
PopulationBase peopleNum = getPopulationBase(area, year);
|
|
@ -639,9 +636,9 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getSignTaskRate(String endDate, String area, int level, String year) throws Exception {
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate,endDate,area,level,"13","2",null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel0(endDate, endDate, area, level, "13", "2", null, null);
|
|
|
long signAmount = 0;
|
|
|
if(list.size()>0){
|
|
|
if (list.size() > 0) {
|
|
|
signAmount = list.get(0).getResult2();
|
|
|
}
|
|
|
PopulationBase peopleNum = getPopulationBase(area, year);
|
|
@ -671,9 +668,9 @@ public class StatisticsESService {
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject getGroupInfo(String endDate, String lowCode, String area, int level, String year) throws Exception {
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate,endDate,area,level,"17","2",lowCode,null,null);
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "17", "2", lowCode, null, null);
|
|
|
long total = 0;
|
|
|
if(list.size()>0){
|
|
|
if (list.size() > 0) {
|
|
|
total = list.get(0).getResult2();
|
|
|
}
|
|
|
int num = 0;
|
|
@ -738,15 +735,15 @@ public class StatisticsESService {
|
|
|
* @param level
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONArray getSixFiveStatistics(String endDate, String area, int level) throws Exception{
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel2(endDate,endDate,area,level,"12","2","6",null,null,null);
|
|
|
public JSONArray getSixFiveStatistics(String endDate, String area, int level) throws Exception {
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel2(endDate, endDate, area, level, "12", "2", "6", null, null, null);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
for (int i = 0; i < list.size(); i++) {
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
|
|
|
|
data.put("code", list.get(i).getSlaveKey2());
|
|
|
data.put("name", list.get(i).getSlaveKey2Name());
|
|
|
data.put("amount",list.get(i).getResult2());
|
|
|
data.put("amount", list.get(i).getResult2());
|
|
|
|
|
|
resultList.add(data);
|
|
|
}
|
|
@ -805,10 +802,10 @@ public class StatisticsESService {
|
|
|
* @param level
|
|
|
* @return
|
|
|
*/
|
|
|
public long getSixFiveTotal(String endDate, String area, int level) throws Exception{
|
|
|
public long getSixFiveTotal(String endDate, String area, int level) throws Exception {
|
|
|
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate,endDate,area,level,"8","2","6",null,null);
|
|
|
if(list.size()>0){
|
|
|
List<SaveModel> list = elasticsearchUtil.findDateQuotaLevel1(endDate, endDate, area, level, "8", "2", "6", null, null);
|
|
|
if (list.size() > 0) {
|
|
|
return list.get(0).getResult2();
|
|
|
}
|
|
|
return 0;
|
|
@ -852,15 +849,15 @@ public class StatisticsESService {
|
|
|
|
|
|
json.put("taskNum", taskNum);
|
|
|
List<SaveModel> list = null;
|
|
|
if(StringUtils.isNotEmpty(lowCode)){
|
|
|
if (StringUtils.isNotEmpty(lowCode)) {
|
|
|
//一级维度
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate,endDate,area,level,index,"2",lowCode,interval+"",null);
|
|
|
}else{
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate,endDate,area,level,index,"2",interval+"",null);
|
|
|
list = elasticsearchUtil.findDateQuotaLevel1(startDate, endDate, area, level, index, "2", lowCode, interval + "", null);
|
|
|
} else {
|
|
|
list = elasticsearchUtil.findDateQuotaLevel0(startDate, endDate, area, level, index, "2", interval + "", null);
|
|
|
}
|
|
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
List<JSONObject> result = new ArrayList<>();
|
|
|
for (SaveModel saveModel:list) {
|
|
|
for (SaveModel saveModel : list) {
|
|
|
JSONObject range = new JSONObject();
|
|
|
range.put("range", df.format(saveModel.getQuotaDate()));
|
|
|
range.put("amount", saveModel.getResult2());
|
|
@ -959,23 +956,24 @@ public class StatisticsESService {
|
|
|
String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date,area,level,index,SaveModel.timeLevel_DDL,lowLevel,lowCode);
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel, lowCode);
|
|
|
|
|
|
if(esModelList!=null&&esModelList.size()>0){
|
|
|
esModelList.stream().forEach(one->{
|
|
|
Map<String, Object> maps=new HashMap<String, Object>();
|
|
|
maps.put("amount",one.getResult1());
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
for (SaveModel one : esModelList) {
|
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
|
maps.put("amount", one.getResult1());
|
|
|
if (low_level.equals("3")) {
|
|
|
maps.put("code",one.getTown());
|
|
|
maps.put("name",one.getTownName());
|
|
|
maps.put("code", one.getTown());
|
|
|
maps.put("name", one.getTownName());
|
|
|
} else if (low_level.equals("2")) {
|
|
|
maps.put("code",one.getHospital());
|
|
|
maps.put("name",one.getHospitalName());
|
|
|
maps.put("code", one.getHospital());
|
|
|
maps.put("name", one.getHospitalName());
|
|
|
} else if (low_level.equals("1")) {
|
|
|
maps.put("code",one.getTeam());
|
|
|
maps.put("name",one.getTeamName());
|
|
|
maps.put("code", one.getTeam());
|
|
|
maps.put("name", one.getTeamName());
|
|
|
}
|
|
|
});
|
|
|
resultList.add(maps);
|
|
|
}
|
|
|
}
|
|
|
// 结果为空时,自建结果集
|
|
|
if (resultList == null || resultList.size() < 1) {
|
|
@ -1116,6 +1114,7 @@ public class StatisticsESService {
|
|
|
}
|
|
|
return rs;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取所有团队长信息
|
|
|
*
|
|
@ -1155,23 +1154,24 @@ public class StatisticsESService {
|
|
|
String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date,area,level,index,SaveModel.timeLevel_DDL,lowLevel,lowCode);
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel1(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel, lowCode);
|
|
|
|
|
|
if(esModelList!=null&&esModelList.size()>0){
|
|
|
esModelList.stream().forEach(one->{
|
|
|
Map<String, Object> maps=new HashMap<String, Object>();
|
|
|
maps.put("amount",one.getResult1());
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
for (SaveModel one : esModelList) {
|
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
|
maps.put("amount", one.getResult1());
|
|
|
if (low_level.equals("3")) {
|
|
|
maps.put("code",one.getTown());
|
|
|
maps.put("name",one.getTownName());
|
|
|
maps.put("code", one.getTown());
|
|
|
maps.put("name", one.getTownName());
|
|
|
} else if (low_level.equals("2")) {
|
|
|
maps.put("code",one.getHospital());
|
|
|
maps.put("name",one.getHospitalName());
|
|
|
maps.put("code", one.getHospital());
|
|
|
maps.put("name", one.getHospitalName());
|
|
|
} else if (low_level.equals("1")) {
|
|
|
maps.put("code",one.getTeam());
|
|
|
maps.put("name",one.getTeamName());
|
|
|
maps.put("code", one.getTeam());
|
|
|
maps.put("name", one.getTeamName());
|
|
|
}
|
|
|
});
|
|
|
resultList.add(maps);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 结果为空时,自建结果集
|
|
@ -1268,14 +1268,14 @@ public class StatisticsESService {
|
|
|
|
|
|
if (resultList != null) {
|
|
|
DecimalFormat df = new DecimalFormat("0.0000");
|
|
|
Iterator iterator = resultList.iterator();
|
|
|
while (iterator.hasNext()){
|
|
|
Map<String, Object> map = (Map<String, Object>)iterator.next();
|
|
|
Iterator iterator = resultList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
Map<String, Object> map = (Map<String, Object>) iterator.next();
|
|
|
|
|
|
Integer expenseStatus0amountNum = expenseStatus0.get(map.get("code").toString());
|
|
|
Integer expenseStatus1amountNum = expenseStatus1.get(map.get("code").toString());
|
|
|
Integer expenseStatus1SigjnNum = expenseStatus1Sigjn.get(map.get("code").toString());
|
|
|
if(expenseStatus0amountNum==null||expenseStatus1amountNum==null||expenseStatus1SigjnNum==null){
|
|
|
if (expenseStatus0amountNum == null || expenseStatus1amountNum == null || expenseStatus1SigjnNum == null) {
|
|
|
iterator.remove();
|
|
|
continue;
|
|
|
}
|
|
@ -1344,17 +1344,15 @@ public class StatisticsESService {
|
|
|
*/
|
|
|
private Map<String, Integer> getByIndex(String date, String area, int level, String index, int sort, String lowLevel, SimpleDateFormat dateFormat) throws Exception {
|
|
|
Map<String, Integer> returnMap = new HashMap<>();
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date,area,level,index,SaveModel.timeLevel_DDL,lowLevel);
|
|
|
if(esModelList!=null&&esModelList.size()>0){
|
|
|
esModelList.stream().forEach(one->{
|
|
|
Map<String, Object> maps=new HashMap<String, Object>();
|
|
|
maps.put("amount",one.getResult1());
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel);
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
esModelList.stream().forEach(one -> {
|
|
|
if (lowLevel.equals("3")) {
|
|
|
returnMap.put(one.getTown(),one.getResult1());
|
|
|
returnMap.put(one.getTown(), one.getResult1());
|
|
|
} else if (lowLevel.equals("2")) {
|
|
|
returnMap.put(one.getHospital(),one.getResult1());
|
|
|
returnMap.put(one.getHospital(), one.getResult1());
|
|
|
} else if (lowLevel.equals("1")) {
|
|
|
returnMap.put(one.getTeam(),one.getResult1());
|
|
|
returnMap.put(one.getTeam(), one.getResult1());
|
|
|
}
|
|
|
});
|
|
|
}
|
|
@ -1363,53 +1361,54 @@ public class StatisticsESService {
|
|
|
}
|
|
|
|
|
|
public String getAvgAllInfo(int level, String area, String lowLevel) throws Exception {
|
|
|
JSONObject returnJo=new JSONObject();
|
|
|
JSONArray ja=new JSONArray();
|
|
|
JSONObject returnJo = new JSONObject();
|
|
|
JSONArray ja = new JSONArray();
|
|
|
//市级
|
|
|
if (level == 4) {
|
|
|
if (StringUtils.isBlank(lowLevel)) {
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()),area,level,"28",SaveModel.timeLevel_DDL,"3");
|
|
|
esModelList.forEach(one->{
|
|
|
JSONObject jo=new JSONObject();
|
|
|
jo.put("name",one.getTownName());
|
|
|
jo.put("code",one.getTown());
|
|
|
jo.put("avgCount",getRangeDouuble(one.getResult1(),one.getResult2(),2));
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()), area, level, "28", SaveModel.timeLevel_DDL, "3");
|
|
|
esModelList.forEach(one -> {
|
|
|
JSONObject jo = new JSONObject();
|
|
|
jo.put("name", one.getTownName());
|
|
|
jo.put("code", one.getTown());
|
|
|
jo.put("avgCount", getRangeDouuble(one.getResult1(), one.getResult2(), 2));
|
|
|
ja.put(jo);
|
|
|
});
|
|
|
} else {
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()),area,level,"28",SaveModel.timeLevel_DDL,"2");
|
|
|
esModelList.forEach(one->{
|
|
|
JSONObject jo=new JSONObject();
|
|
|
jo.put("name",one.getHospitalName());
|
|
|
jo.put("code",one.getHospital());
|
|
|
jo.put("avgCount",getRangeDouuble(one.getResult1(),one.getResult2(),2));
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()), area, level, "28", SaveModel.timeLevel_DDL, "2");
|
|
|
esModelList.forEach(one -> {
|
|
|
JSONObject jo = new JSONObject();
|
|
|
jo.put("name", one.getHospitalName());
|
|
|
jo.put("code", one.getHospital());
|
|
|
jo.put("avgCount", getRangeDouuble(one.getResult1(), one.getResult2(), 2));
|
|
|
ja.put(jo);
|
|
|
});
|
|
|
}
|
|
|
} else if (level == 3) {
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()),area,level,"28",SaveModel.timeLevel_DDL,"2");
|
|
|
esModelList.forEach(one->{
|
|
|
JSONObject jo=new JSONObject();
|
|
|
jo.put("name",one.getHospitalName());
|
|
|
jo.put("code",one.getHospital());
|
|
|
jo.put("avgCount",getRangeDouuble(one.getResult1(),one.getResult2(),2));
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()), area, level, "28", SaveModel.timeLevel_DDL, "2");
|
|
|
esModelList.forEach(one -> {
|
|
|
JSONObject jo = new JSONObject();
|
|
|
jo.put("name", one.getHospitalName());
|
|
|
jo.put("code", one.getHospital());
|
|
|
jo.put("avgCount", getRangeDouuble(one.getResult1(), one.getResult2(), 2));
|
|
|
ja.put(jo);
|
|
|
});
|
|
|
} else if (level == 2) {
|
|
|
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()),area,level,"28",SaveModel.timeLevel_DDL,"1");
|
|
|
esModelList.forEach(one->{
|
|
|
JSONObject jo=new JSONObject();
|
|
|
jo.put("name",one.getTeam());
|
|
|
jo.put("code",one.getTeamName());
|
|
|
jo.put("avgCount",getRangeDouuble(one.getResult1(),one.getResult2(),2));
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(DateUtil.dateToStrShort(new Date()), area, level, "28", SaveModel.timeLevel_DDL, "1");
|
|
|
esModelList.forEach(one -> {
|
|
|
JSONObject jo = new JSONObject();
|
|
|
jo.put("name", one.getTeam());
|
|
|
jo.put("code", one.getTeamName());
|
|
|
jo.put("avgCount", getRangeDouuble(one.getResult1(), one.getResult2(), 2));
|
|
|
ja.put(jo);
|
|
|
});
|
|
|
translateTeamLeaderName(ja);
|
|
|
translateTeamLeaderName(ja);
|
|
|
}
|
|
|
returnJo.put("data",ja);
|
|
|
returnJo.put("data", ja);
|
|
|
return returnJo.toString();
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 13.17两个指标团队显示团队长
|
|
|
* 查询某个级别的某个指标到达量
|
|
@ -1428,23 +1427,24 @@ public class StatisticsESService {
|
|
|
String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date,area,level,index,SaveModel.timeLevel_DDL,lowLevel);
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel);
|
|
|
|
|
|
if(esModelList!=null&&esModelList.size()>0){
|
|
|
esModelList.stream().forEach(one->{
|
|
|
Map<String, Object> maps=new HashMap<String, Object>();
|
|
|
maps.put("amount",one.getResult1());
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
for (SaveModel one : esModelList) {
|
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
|
maps.put("amount", one.getResult1());
|
|
|
if (low_level.equals("3")) {
|
|
|
maps.put("code",one.getTown());
|
|
|
maps.put("name",one.getTownName());
|
|
|
maps.put("code", one.getTown());
|
|
|
maps.put("name", one.getTownName());
|
|
|
} else if (low_level.equals("2")) {
|
|
|
maps.put("code",one.getHospital());
|
|
|
maps.put("name",one.getHospitalName());
|
|
|
maps.put("code", one.getHospital());
|
|
|
maps.put("name", one.getHospitalName());
|
|
|
} else if (low_level.equals("1")) {
|
|
|
maps.put("code",one.getTeam());
|
|
|
maps.put("name",one.getTeamName());
|
|
|
maps.put("code", one.getTeam());
|
|
|
maps.put("name", one.getTeamName());
|
|
|
}
|
|
|
});
|
|
|
resultList.add(maps);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 结果为空时,自建结果集
|
|
@ -1503,6 +1503,7 @@ public class StatisticsESService {
|
|
|
return new JSONArray();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询某个级别的某个指标到达量
|
|
|
*
|
|
@ -1520,23 +1521,24 @@ public class StatisticsESService {
|
|
|
String low_level = String.valueOf(org.springframework.util.StringUtils.isEmpty(lowLevel) ? (level - 1) : lowLevel);
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
|
|
|
List<SaveModel> esModelList= (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date,area,level,index,SaveModel.timeLevel_DDL,lowLevel);
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(date, area, level, index, SaveModel.timeLevel_DDL, lowLevel);
|
|
|
|
|
|
if(esModelList!=null&&esModelList.size()>0){
|
|
|
esModelList.stream().forEach(one->{
|
|
|
Map<String, Object> maps=new HashMap<String, Object>();
|
|
|
maps.put("amount",one.getResult1());
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
for (SaveModel one : esModelList) {
|
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
|
maps.put("amount", one.getResult1());
|
|
|
if (low_level.equals("3")) {
|
|
|
maps.put("code",one.getTown());
|
|
|
maps.put("name",one.getTownName());
|
|
|
maps.put("code", one.getTown());
|
|
|
maps.put("name", one.getTownName());
|
|
|
} else if (low_level.equals("2")) {
|
|
|
maps.put("code",one.getHospital());
|
|
|
maps.put("name",one.getHospitalName());
|
|
|
maps.put("code", one.getHospital());
|
|
|
maps.put("name", one.getHospitalName());
|
|
|
} else if (low_level.equals("1")) {
|
|
|
maps.put("code",one.getTeam());
|
|
|
maps.put("name",one.getTeamName());
|
|
|
maps.put("code", one.getTeam());
|
|
|
maps.put("name", one.getTeamName());
|
|
|
}
|
|
|
});
|
|
|
resultList.add(maps);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 结果为空时,自建结果集
|
|
@ -1588,4 +1590,125 @@ public class StatisticsESService {
|
|
|
return new JSONArray();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询某个日期范围内某个区域或机构各下级指标增量情况
|
|
|
*
|
|
|
* @param startDate 起始日期
|
|
|
* @param endDate 结束日期
|
|
|
* @param area 区域或机构代码
|
|
|
* @param level 级别
|
|
|
* @param index 指标
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONArray getLowLevelIncrementDetail(String startDate, String endDate, String area, int level, String index, int sort, String low_level) throws Exception {
|
|
|
List<Map<String, Object>> resultList = new ArrayList<>();
|
|
|
List<SaveModel> esModelList = (List<SaveModel>) elasticsearchUtil.findListDateQuotaLevel0(startDate, area, level, index, SaveModel.timeLevel_DDL, low_level);
|
|
|
|
|
|
if (esModelList != null && esModelList.size() > 0) {
|
|
|
for (SaveModel one : esModelList) {
|
|
|
Map<String, Object> maps = new HashMap<String, Object>();
|
|
|
maps.put("amount", one.getResult1());
|
|
|
if (low_level.equals("3")) {
|
|
|
maps.put("code", one.getTown());
|
|
|
maps.put("name", one.getTownName());
|
|
|
} else if (low_level.equals("2")) {
|
|
|
maps.put("code", one.getHospital());
|
|
|
maps.put("name", one.getHospitalName());
|
|
|
} else if (low_level.equals("1")) {
|
|
|
maps.put("code", one.getTeam());
|
|
|
maps.put("name", one.getTeamName());
|
|
|
}
|
|
|
resultList.add(maps);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 结果为空时,自建结果集
|
|
|
if (resultList == null || resultList.size() < 1) {
|
|
|
resultList = new ArrayList<>();
|
|
|
if (low_level.equals("3")) {
|
|
|
List<Town> towns = townDao.findByCityCode(area);
|
|
|
if (towns != null) {
|
|
|
for (Town town : towns) {
|
|
|
Map<String, Object> obj = new HashMap<>();
|
|
|
obj.put("code", town.getCode());
|
|
|
obj.put("name", town.getName());
|
|
|
obj.put("amount", "0");
|
|
|
obj.put("rate", Double.valueOf("0.0000"));
|
|
|
resultList.add(obj);
|
|
|
}
|
|
|
}
|
|
|
} else if (low_level.equals("2")) {
|
|
|
List<Town> towns = new ArrayList<>();
|
|
|
if (level == 4) {
|
|
|
towns = townDao.findByCityCode(area);
|
|
|
} else if (level == 3) {
|
|
|
Town town = townDao.findByCode(area);
|
|
|
towns.add(town);
|
|
|
}
|
|
|
|
|
|
if (towns != null && towns.size() > 0) {
|
|
|
for (Town town : towns) {
|
|
|
List<Hospital> hospitals = hospitalDao.findByTownCode(town.getCode());
|
|
|
|
|
|
for (Hospital hos : hospitals) {
|
|
|
Map<String, Object> obj = new HashMap<>();
|
|
|
obj.put("code", hos.getCode());
|
|
|
obj.put("name", hos.getName());
|
|
|
obj.put("amount", "0");
|
|
|
resultList.add(obj);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} else if (low_level.equals("1")) {
|
|
|
List<Hospital> hospitals = new ArrayList<>();
|
|
|
if (level == 4) {
|
|
|
hospitals = hospitalDao.findByCity(area);
|
|
|
} else if (level == 3) {
|
|
|
hospitals = hospitalDao.findByTownCode(area);
|
|
|
} else {
|
|
|
Hospital hos = hospitalDao.findByCode(area);
|
|
|
if (hos != null) {
|
|
|
hospitals.add(hos);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (hospitals != null && hospitals.size() > 0) {
|
|
|
for (Hospital hos : hospitals) {
|
|
|
List<AdminTeam> teams = adminTeamDao.findByOrgCode(hos.getCode());
|
|
|
|
|
|
for (AdminTeam team : teams) {
|
|
|
Map<String, Object> obj = new HashMap<>();
|
|
|
obj.put("code", String.valueOf(team.getId()));
|
|
|
obj.put("name", team.getName());
|
|
|
obj.put("amount", "0");
|
|
|
resultList.add(obj);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (resultList != null) {
|
|
|
|
|
|
Collections.sort(resultList, new Comparator<Map<String, Object>>() {
|
|
|
public int compare(Map<String, Object> o1, Map<String, Object> o2) {
|
|
|
long map1value = (long) o1.get("amount");
|
|
|
long map2value = (long) o2.get("amount");
|
|
|
|
|
|
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();
|
|
|
}
|
|
|
}
|
|
|
}
|