|
@ -899,7 +899,7 @@ public class ElasticsearchUtil {
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
public List findDateAllQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel) throws Exception {
|
|
|
public List findDateAllQuotaLevel1(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel,String areaLevel) throws Exception {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
@ -939,6 +939,164 @@ public class ElasticsearchUtil {
|
|
|
groupBy.append(" group by city,cityName,slaveKey1,slaveKey1Name");
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotEmpty(area)) {
|
|
|
if (SaveModel.doctorLevel.equals(level + "")) {
|
|
|
sql.append(" doctor='" + area + "'");
|
|
|
}else if (SaveModel.deptLevel.equals(level + "")) {
|
|
|
sql.append(" dept='" + area + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
sql.append(" hospital='" + area + "'");
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
sql.append(" town='" + area + "'");
|
|
|
} else if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
sql.append(" city='" + area + "'");
|
|
|
}
|
|
|
sql.append(" and ");
|
|
|
}
|
|
|
sql.append(" quotaCode='" + index + "' ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='"+areaLevel+"'");
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
|
sql.append(" and quotaDate>='" + startDate + "'");
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(endDate)) {
|
|
|
sql.append(" and quotaDate<='" + endDate + "'");
|
|
|
}
|
|
|
|
|
|
//根据时间维度分组
|
|
|
if (StringUtils.isNotEmpty(interval)) {
|
|
|
if (SaveModel.interval_month.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='month','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
} else if (SaveModel.interval_week.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='week','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
} else if (SaveModel.interval_day.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='1d','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
}
|
|
|
}
|
|
|
sql.append(groupBy);
|
|
|
|
|
|
return excute(sql.toString(), SaveModel.class, "", "");
|
|
|
}
|
|
|
|
|
|
public List findDateAllQuotaLevel2(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel,String areaLevel) throws Exception {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
|
if (startDate.length() > 10) {
|
|
|
startDate = changeTime(startDate);
|
|
|
} else {
|
|
|
startDate = changeDate(startDate);
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(endDate)) {
|
|
|
if (endDate.length() > 10) {
|
|
|
endDate = changeTime(endDate);
|
|
|
} else {
|
|
|
endDate = changeDate(endDate);
|
|
|
}
|
|
|
}
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
String low_level = level + "";
|
|
|
if (StringUtils.isNotEmpty(lowLevel)) {
|
|
|
low_level = lowLevel;
|
|
|
}
|
|
|
if (SaveModel.doctorLevel.equals(low_level)) {
|
|
|
sql.append("select doctor as doctor,doctorName as doctorName,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1, sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by doctor,doctorName,slaveKey2,slaveKey2Name");
|
|
|
}else if (SaveModel.deptLevel.equals(low_level)) {
|
|
|
sql.append("select dept as dept,deptName as deptName,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1, sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by dept,deptName,slaveKey2,slaveKey2Name");
|
|
|
} else if (SaveModel.OrgLevel.equals(low_level)) {
|
|
|
sql.append("select hospital as hospital,hospitalName as hospitalName,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by hospital,hospitalName,slaveKey2,slaveKey2Name");
|
|
|
} else if (SaveModel.townLevel.equals(low_level)) {
|
|
|
sql.append("select town as town,townName as townName,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by town,townName,slaveKey2,slaveKey2Name");
|
|
|
} else if (SaveModel.cityLevel.equals(low_level)) {
|
|
|
sql.append("select city as city,cityName as cityName,slaveKey2 as slaveKey2,slaveKey2Name as slaveKey2Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by city,cityName,slaveKey2,slaveKey2Name");
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotEmpty(area)) {
|
|
|
if (SaveModel.doctorLevel.equals(level + "")) {
|
|
|
sql.append(" doctor='" + area + "'");
|
|
|
}else if (SaveModel.deptLevel.equals(level + "")) {
|
|
|
sql.append(" dept='" + area + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(level + "")) {
|
|
|
sql.append(" hospital='" + area + "'");
|
|
|
} else if (SaveModel.townLevel.equals(level + "")) {
|
|
|
sql.append(" town='" + area + "'");
|
|
|
} else if (SaveModel.cityLevel.equals(level + "")) {
|
|
|
sql.append(" city='" + area + "'");
|
|
|
}
|
|
|
sql.append(" and ");
|
|
|
}
|
|
|
sql.append(" quotaCode='" + index + "' ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='"+areaLevel+"'");
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
|
sql.append(" and quotaDate>='" + startDate + "'");
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(endDate)) {
|
|
|
sql.append(" and quotaDate<='" + endDate + "'");
|
|
|
}
|
|
|
|
|
|
//根据时间维度分组
|
|
|
if (StringUtils.isNotEmpty(interval)) {
|
|
|
if (SaveModel.interval_month.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='month','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
} else if (SaveModel.interval_week.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='week','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
} else if (SaveModel.interval_day.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='1d','time_zone'='+08:00','alias'='quotaDate') ");
|
|
|
}
|
|
|
}
|
|
|
sql.append(groupBy);
|
|
|
|
|
|
return excute(sql.toString(), SaveModel.class, "", "");
|
|
|
}
|
|
|
|
|
|
public List findDateAllQuotaLevel3(String startDate, String endDate, String area, int level, String index, String timeLevel, String interval, String lowLevel) throws Exception {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
if (StringUtils.isNotEmpty(startDate)) {
|
|
|
if (startDate.length() > 10) {
|
|
|
startDate = changeTime(startDate);
|
|
|
} else {
|
|
|
startDate = changeDate(startDate);
|
|
|
}
|
|
|
}
|
|
|
if (StringUtils.isNotEmpty(endDate)) {
|
|
|
if (endDate.length() > 10) {
|
|
|
endDate = changeTime(endDate);
|
|
|
} else {
|
|
|
endDate = changeDate(endDate);
|
|
|
}
|
|
|
}
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
String low_level = level + "";
|
|
|
if (StringUtils.isNotEmpty(lowLevel)) {
|
|
|
low_level = lowLevel;
|
|
|
}
|
|
|
if (SaveModel.doctorLevel.equals(low_level)) {
|
|
|
sql.append("select doctor as doctor,doctorName as doctorName,slaveKey3 as slaveKey3,slaveKey3Name as slaveKey3Name,sum(result1) as result1, sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by doctor,doctorName,slaveKey3,slaveKey3Name");
|
|
|
}else if (SaveModel.deptLevel.equals(low_level)) {
|
|
|
sql.append("select dept as dept,deptName as deptName,slaveKey3 as slaveKey3,slaveKey3Name as slaveKey3Name,sum(result1) as result1, sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by dept,deptName,slaveKey3,slaveKey3Name");
|
|
|
} else if (SaveModel.OrgLevel.equals(low_level)) {
|
|
|
sql.append("select hospital as hospital,hospitalName as hospitalName,slaveKey3 as slaveKey3,slaveKey3Name as slaveKey3Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by hospital,hospitalName,slaveKey3,slaveKey3Name");
|
|
|
} else if (SaveModel.townLevel.equals(low_level)) {
|
|
|
sql.append("select town as town,townName as townName,slaveKey3 as slaveKey3,slaveKey3Name as slaveKey3Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by town,townName,slaveKey3,slaveKey3Name");
|
|
|
} else if (SaveModel.cityLevel.equals(low_level)) {
|
|
|
sql.append("select city as city,cityName as cityName,slaveKey3 as slaveKey3,slaveKey3Name as slaveKey3Name,sum(result1) as result1,sum(result2) as result2 from " + esIndex + " where ");
|
|
|
groupBy.append(" group by city,cityName,slaveKey3,slaveKey3Name");
|
|
|
}
|
|
|
|
|
|
if (StringUtils.isNotEmpty(area)) {
|
|
|
if (SaveModel.doctorLevel.equals(level + "")) {
|
|
|
sql.append(" doctor='" + area + "'");
|