|
@ -57,7 +57,7 @@ public class ViewController extends BaseController {
|
|
private AggregationBuildHandler aggregationBuildHandler;
|
|
private AggregationBuildHandler aggregationBuildHandler;
|
|
|
|
|
|
@ApiOperation(value = "添加视图")
|
|
@ApiOperation(value = "添加视图")
|
|
@RequestMapping(value = "/add", method = RequestMethod.GET)
|
|
|
|
|
|
@RequestMapping(value = ServiceApi.StatisticView.View.Add, method = RequestMethod.GET)
|
|
public Envelop add(
|
|
public Envelop add(
|
|
@ApiParam(name = "code", value = "视图code", required = true)
|
|
@ApiParam(name = "code", value = "视图code", required = true)
|
|
@RequestParam(value = "code", required = true) String code,
|
|
@RequestParam(value = "code", required = true) String code,
|
|
@ -78,7 +78,8 @@ public class ViewController extends BaseController {
|
|
Cube cube = cubeService.findOne(cubeId);
|
|
Cube cube = cubeService.findOne(cubeId);
|
|
view.setCode(code);
|
|
view.setCode(code);
|
|
view.setName(name);
|
|
view.setName(name);
|
|
view.setDimensionDataset(cube.getIndexName()+"/" + cube.getIndexType());
|
|
|
|
|
|
view.setEsIndex(cube.getIndexName());
|
|
|
|
view.setEsType(cube.getIndexType());
|
|
view.setDisplayType(displayType != null ? displayType : "1");
|
|
view.setDisplayType(displayType != null ? displayType : "1");
|
|
view.setIsDrill(isDrill != null ? isDrill : "1");
|
|
view.setIsDrill(isDrill != null ? isDrill : "1");
|
|
viewService.save(view);
|
|
viewService.save(view);
|
|
@ -90,7 +91,7 @@ public class ViewController extends BaseController {
|
|
}
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "删除视图")
|
|
@ApiOperation(value = "删除视图")
|
|
@RequestMapping(value = "/del", method = RequestMethod.DELETE)
|
|
|
|
|
|
@RequestMapping(value = ServiceApi.StatisticView.View.Delete, method = RequestMethod.DELETE)
|
|
public Envelop delete(
|
|
public Envelop delete(
|
|
@ApiParam(name = "id", value = "ID", required = true)
|
|
@ApiParam(name = "id", value = "ID", required = true)
|
|
@RequestParam(value = "id", required = true) int id){
|
|
@RequestParam(value = "id", required = true) int id){
|
|
@ -100,15 +101,22 @@ public class ViewController extends BaseController {
|
|
return envelop;
|
|
return envelop;
|
|
}
|
|
}
|
|
|
|
|
|
@ApiOperation(value = "获取视图的统计结果")
|
|
|
|
@RequestMapping(value = "/getViewStatisticData", method = RequestMethod.GET)
|
|
|
|
|
|
@ApiOperation(value = "获取视图的统计结果,并转换成展示的数据格式")
|
|
|
|
@RequestMapping(value = ServiceApi.StatisticView.View.GetViewStatisticData, method = RequestMethod.GET)
|
|
public Envelop getViewStatisticData(
|
|
public Envelop getViewStatisticData(
|
|
@ApiParam(name = "viewCode", value = "视图编码", required = true)
|
|
@ApiParam(name = "viewCode", value = "视图编码", required = true)
|
|
@RequestParam(value = "viewCode") String viewCode) {
|
|
|
|
|
|
@RequestParam(value = "viewCode") String viewCode,
|
|
|
|
@ApiParam(name = "filters", value = "过滤条件JSON字符串,如:'[{\"relationType\":\"and\",\"field\":\"event_date\",\"compareType\":\">=\",\"filterValue\":\"2017-06-11\"}]'")
|
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
|
@ApiParam(name = "sort", value = "排序JSON字符串,如:'{\"field\":\"event_date\",\"type\":\"asc\"}'")
|
|
|
|
@RequestParam(value = "sort", required = false) String sort) {
|
|
Envelop envelop = new Envelop();
|
|
Envelop envelop = new Envelop();
|
|
envelop.setSuccessFlg(true);
|
|
envelop.setSuccessFlg(true);
|
|
try {
|
|
try {
|
|
|
|
|
|
|
|
// 根据视图规则,获取统计结果
|
|
|
|
viewService.statViewResult(viewCode, filters);
|
|
|
|
// 将统计结果,转换成展示的数据格式
|
|
|
|
// TODO
|
|
|
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
@ -142,13 +150,12 @@ public class ViewController extends BaseController {
|
|
// .subAggregation(AggregationBuilders.terms("性别_terms").field("sex")
|
|
// .subAggregation(AggregationBuilders.terms("性别_terms").field("sex")
|
|
// .subAggregation(AggregationBuilders.count("count_result").field("rowkey"))
|
|
// .subAggregation(AggregationBuilders.count("count_result").field("rowkey"))
|
|
// );
|
|
// );
|
|
AbstractAggregationBuilder firstAgg = aggregationBuildHandler.addAggregationBuilder("count","all_count_result","rowkey");
|
|
|
|
AbstractAggregationBuilder secondAgg = aggregationBuildHandler.addTermAggregationBuilder("合计_性别_terms","sex","count", "sex_count_result", "rowkey");
|
|
|
|
|
|
|
|
|
|
AbstractAggregationBuilder firstAgg = aggregationBuildHandler.addAggregationBuilder("count","count_result","rowkey");
|
|
|
|
AbstractAggregationBuilder secondAgg = aggregationBuildHandler.addTermAggregationBuilder("合计_性别_terms","sex","count", "count_result", "rowkey");
|
|
AbstractAggregationBuilder threeAgg = aggregationBuildHandler.addTermsBuilder("区县_terms", "area.town")
|
|
AbstractAggregationBuilder threeAgg = aggregationBuildHandler.addTermsBuilder("区县_terms", "area.town")
|
|
.subAggregation(aggregationBuildHandler.addAggregationBuilder("count", "合计_count_result", "rowkey"))
|
|
.subAggregation(aggregationBuildHandler.addAggregationBuilder("count", "合计_count_result", "rowkey"))
|
|
.subAggregation(aggregationBuildHandler.addTermsBuilder("性别_terms","sex")
|
|
.subAggregation(aggregationBuildHandler.addTermsBuilder("性别_terms","sex")
|
|
.subAggregation(aggregationBuildHandler.addAggregationBuilder("count", "town_sex_count_result", "rowkey"))
|
|
|
|
|
|
.subAggregation(aggregationBuildHandler.addAggregationBuilder("count", "count_result", "rowkey"))
|
|
);
|
|
);
|
|
|
|
|
|
LinkedList<AbstractAggregationBuilder> aggBuildList = new LinkedList<>();
|
|
LinkedList<AbstractAggregationBuilder> aggBuildList = new LinkedList<>();
|
|
@ -156,10 +163,6 @@ public class ViewController extends BaseController {
|
|
aggBuildList.add(secondAgg);
|
|
aggBuildList.add(secondAgg);
|
|
aggBuildList.add(threeAgg);
|
|
aggBuildList.add(threeAgg);
|
|
List<Map<String, Object>> resultList = aggregationBuildHandler.structAggregationQuery(client,"patient_event","info", boolQueryBuilder, aggBuildList);
|
|
List<Map<String, Object>> resultList = aggregationBuildHandler.structAggregationQuery(client,"patient_event","info", boolQueryBuilder, aggBuildList);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
envelop.setDetailModelList(resultList);
|
|
envelop.setDetailModelList(resultList);
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|