|
@ -40,8 +40,9 @@ public class ElasticsearchUtil {
|
|
|
|
|
|
/**
|
|
|
* 折线图
|
|
|
*
|
|
|
* @param quotaCode 指标quotacode
|
|
|
* @param code 机构code,或者区code或者团队code或者城市code
|
|
|
* @param code 机构code,或者区code或者团队code或者城市code
|
|
|
* @param startDate 开始日期 yyyy-MM-dd
|
|
|
* @param endDate 结束日期 yyyy-MM-dd
|
|
|
* @param timeLevel 1增量 2到达量
|
|
@ -50,29 +51,29 @@ public class ElasticsearchUtil {
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SaveModel> findQuotaLines(String quotaCode,
|
|
|
String code,
|
|
|
String startDate,
|
|
|
String endDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel,
|
|
|
String interval) {
|
|
|
String code,
|
|
|
String startDate,
|
|
|
String endDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel,
|
|
|
String interval) {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
startDate=changeDate(startDate);
|
|
|
startDate = changeDate(startDate);
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
endDate=changeDate(endDate);
|
|
|
endDate = changeDate(endDate);
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
if (SaveModel.teamLevel.equals(areaLevel)) {
|
|
|
sql.append("select team,teamName,result1,result2 from wlyy_quota_test where team='"+code+"'");
|
|
|
sql.append("select team,teamName,result1,result2 from wlyy_quota_test where team='" + code + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(areaLevel)) {
|
|
|
sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='"+code+"'");
|
|
|
sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='" + code + "'");
|
|
|
groupBy.append(" group by hospital,hospitalName");
|
|
|
} else if (SaveModel.townLevel.equals(areaLevel)) {
|
|
|
sql.append("select town,townName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='"+code+"'");
|
|
|
sql.append("select town,townName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='" + code + "'");
|
|
|
groupBy.append(" group by town,townName");
|
|
|
} else if (SaveModel.cityLevel.equals(areaLevel)) {
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='"+code+"'");
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='" + code + "'");
|
|
|
groupBy.append(" group by city,cityName");
|
|
|
}
|
|
|
|
|
@ -87,7 +88,7 @@ public class ElasticsearchUtil {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='month') ");
|
|
|
} else if (SaveModel.interval_week.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='week') ");
|
|
|
}else if (SaveModel.interval_day.equals(interval)) {
|
|
|
} else if (SaveModel.interval_day.equals(interval)) {
|
|
|
groupBy.append(" ,date_histogram(field='quotaDate','interval'='1d') ");
|
|
|
}
|
|
|
|
|
@ -97,7 +98,8 @@ public class ElasticsearchUtil {
|
|
|
|
|
|
/**
|
|
|
* 查询某个指标某一天的量
|
|
|
* @param quotaCode 指标quotacode
|
|
|
*
|
|
|
* @param quotaCode 指标quotacode
|
|
|
* @param quotaDate 时间 yyyy-MM-dd
|
|
|
* @param timeLevel 1增量 2到达量
|
|
|
* @param areaLevel 1 省 2 市 3 区县 4 机构 5团队
|
|
@ -109,27 +111,27 @@ public class ElasticsearchUtil {
|
|
|
String timeLevel,
|
|
|
String areaLevel) {
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
quotaDate=changeDate(quotaDate);
|
|
|
quotaDate = changeDate(quotaDate);
|
|
|
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
if (SaveModel.teamLevel.equals(areaLevel)) {
|
|
|
sql.append("select team,teamName,result1,result2 from wlyy_quota_test where team='"+code+"'");
|
|
|
sql.append("select team,teamName,result1,result2 from wlyy_quota_test where team='" + code + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(areaLevel)) {
|
|
|
sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='"+code+"'");
|
|
|
sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='" + code + "'");
|
|
|
groupBy.append(" group by hospital,hospitalName");
|
|
|
} else if (SaveModel.townLevel.equals(areaLevel)) {
|
|
|
sql.append("select town,townName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='"+code+"'");
|
|
|
sql.append("select town,townName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='" + code + "'");
|
|
|
groupBy.append(" group by town,townName");
|
|
|
} else if (SaveModel.cityLevel.equals(areaLevel)) {
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='"+code+"'");
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='" + code + "'");
|
|
|
groupBy.append(" group by city,cityName");
|
|
|
}
|
|
|
|
|
|
sql.append(" quotaCode='" + quotaCode + "' ");
|
|
|
sql.append(" and quotaCode='" + quotaCode + "' ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='5'");
|
|
|
sql.append(" and quotaDate='"+quotaDate+"'");
|
|
|
sql.append(" and quotaDate='" + quotaDate + "'");
|
|
|
|
|
|
|
|
|
sql.append(groupBy);
|
|
@ -137,40 +139,41 @@ public class ElasticsearchUtil {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 查询某个一级维度指标某一天的量
|
|
|
* @param quotaCode 指标quotacode
|
|
|
* 查询某个一级维度指标某一天的数据
|
|
|
*
|
|
|
* @param quotaCode 指标quotacode
|
|
|
* @param quotaDate 时间 yyyy-MM-dd
|
|
|
* @param code 机构code或者团队code或者town code或者city code
|
|
|
* @param code 机构code或者团队code或者town code或者city code
|
|
|
* @param timeLevel 1增量 2到达量
|
|
|
* @param areaLevel 1 省 2 市 3 区县 4 机构 5团队
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SaveModel> findOneDateQuotaLevel1(String quotaCode,
|
|
|
String code,
|
|
|
String quotaDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel) {
|
|
|
String code,
|
|
|
String quotaDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel) {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
quotaDate=changeDate(quotaDate);
|
|
|
quotaDate = changeDate(quotaDate);
|
|
|
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
|
if (SaveModel.teamLevel.equals(areaLevel)) {
|
|
|
sql.append("select team,teamName,result1,result2 from wlyy_quota_test where team='"+code+"'");
|
|
|
sql.append("select team,teamName,slaveKey1,slaveKey1Name,result1,result2 from wlyy_quota_test where team='" + code + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(areaLevel)) {
|
|
|
sql.append("select hospital,hospitalName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='"+code+"'");
|
|
|
sql.append("select hospital,hospitalName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where hospital='" + code + "'");
|
|
|
} else if (SaveModel.townLevel.equals(areaLevel)) {
|
|
|
sql.append("select town,townName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='"+code+"'");
|
|
|
sql.append("select town,townName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where town='" + code + "'");
|
|
|
} else if (SaveModel.cityLevel.equals(areaLevel)) {
|
|
|
sql.append("select city,cityName,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='"+code+"'");
|
|
|
sql.append("select city,cityName,slaveKey1,slaveKey1Name,sum(result1) result1,sum(result2) result2 from wlyy_quota_test where city='" + code + "'");
|
|
|
|
|
|
}
|
|
|
|
|
|
sql.append(" quotaCode='" + quotaCode + "' ");
|
|
|
sql.append(" and quotaCode='" + quotaCode + "' ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='5'");
|
|
|
sql.append(" and quotaDate='"+quotaDate+"'");
|
|
|
sql.append(" and quotaDate='" + quotaDate + "'");
|
|
|
|
|
|
groupBy.append(" group by slaveKey1,slaveKey1Name");
|
|
|
|
|
@ -182,23 +185,24 @@ public class ElasticsearchUtil {
|
|
|
|
|
|
/**
|
|
|
* 查询某一天父level下的子level 例如 查询市下面的团队,或者区下面的团队
|
|
|
* @param quotaCode 指标code
|
|
|
* @param code 机构code或者团队code或者town code或者city code
|
|
|
* @param quotaDate 指标code
|
|
|
* @param timeLevel 1增量 2到达量
|
|
|
* @param areaLevel 父arealevel
|
|
|
*
|
|
|
* @param quotaCode 指标code
|
|
|
* @param code 机构code或者团队code或者town code或者city code
|
|
|
* @param quotaDate 指标code
|
|
|
* @param timeLevel 1增量 2到达量
|
|
|
* @param areaLevel 父arealevel
|
|
|
* @param childAreaLevel 子arealevel
|
|
|
* @return
|
|
|
*/
|
|
|
public List<SaveModel> findOneDateQuotaByChllevel(String quotaCode,
|
|
|
String code,
|
|
|
String quotaDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel,
|
|
|
String childAreaLevel) {
|
|
|
String code,
|
|
|
String quotaDate,
|
|
|
String timeLevel,
|
|
|
String areaLevel,
|
|
|
String childAreaLevel) {
|
|
|
|
|
|
//时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
quotaDate=changeDate(quotaDate);
|
|
|
quotaDate = changeDate(quotaDate);
|
|
|
|
|
|
StringBuffer sql = new StringBuffer();
|
|
|
StringBuffer groupBy = new StringBuffer();
|
|
@ -219,27 +223,30 @@ public class ElasticsearchUtil {
|
|
|
sql.append(" quotaCode='" + quotaCode + "' ");
|
|
|
sql.append(" and timeLevel='" + timeLevel + "' ");
|
|
|
sql.append(" and areaLevel='5'");
|
|
|
sql.append(" and quotaDate='"+quotaDate+"'");
|
|
|
sql.append(" and quotaDate='" + quotaDate + "'");
|
|
|
//查询code
|
|
|
if (SaveModel.teamLevel.equals(areaLevel)) {
|
|
|
sql.append(" and team='"+code+"'");
|
|
|
sql.append(" and team='" + code + "'");
|
|
|
} else if (SaveModel.OrgLevel.equals(areaLevel)) {
|
|
|
sql.append(" and hospital='"+code+"'");
|
|
|
sql.append(" and hospital='" + code + "'");
|
|
|
} else if (SaveModel.townLevel.equals(areaLevel)) {
|
|
|
sql.append(" and town='"+code+"'");
|
|
|
sql.append(" and town='" + code + "'");
|
|
|
} else if (SaveModel.cityLevel.equals(areaLevel)) {
|
|
|
sql.append(" and city='"+code+"'");
|
|
|
sql.append(" and city='" + code + "'");
|
|
|
}
|
|
|
sql.append(groupBy);
|
|
|
return excute(sql.toString());
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
* 时间格式转换 yyyy-MM-dd转成 2017-07-17T00:00:00+0800
|
|
|
*
|
|
|
* @param quotaDate
|
|
|
*/
|
|
|
private String changeDate(String quotaDate) {
|
|
|
return quotaDate+"T00:00:00+0800";
|
|
|
return quotaDate + "T00:00:00+0800";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 执行sql查询es
|
|
|
*
|
|
@ -276,14 +283,23 @@ public class ElasticsearchUtil {
|
|
|
try {
|
|
|
SaveModel saveModel = new SaveModel();
|
|
|
for (int i = 0; i < one.size(); i++) {
|
|
|
String key = "set" + UpFirstStr(heads.get(i));
|
|
|
String key = null;
|
|
|
Object value = one.get(i);
|
|
|
if (heads.get(i).contains("date_histogram")) {
|
|
|
key = "setQuotaDate";
|
|
|
value=DateUtil.strToDate(String.valueOf(value),"yyyy-MM-dd HH:mm:ss");
|
|
|
} else {
|
|
|
key = "set" + UpFirstStr(heads.get(i));
|
|
|
}
|
|
|
|
|
|
if (value instanceof String) {
|
|
|
SaveModel.class.getMethod(key, String.class).invoke(saveModel, value);
|
|
|
} else if (value instanceof Integer) {
|
|
|
SaveModel.class.getMethod(key, Integer.class).invoke(saveModel, value);
|
|
|
} else if (value instanceof Double) {
|
|
|
SaveModel.class.getMethod(key, Integer.class).invoke(saveModel, ((Double) value).intValue());
|
|
|
} else if (value instanceof java.util.Date) {
|
|
|
SaveModel.class.getMethod(key, java.util.Date.class).invoke(saveModel, value);
|
|
|
}
|
|
|
}
|
|
|
saveModels.add(saveModel);
|