提交 b5502fd3 编写于 作者: yuefenglong's avatar yuefenglong

dst增加报表的功能

上级 db69c851
package cn.ibizlab.api.rest.extensions;
import cn.ibizlab.core.analysis.domain.DAReport;
import cn.ibizlab.core.analysis.service.impl.DAReportServiceImpl;
import cn.ibizlab.core.extensions.domain.FetchMetricDatasParam;
import cn.ibizlab.core.extensions.service.DACoreService;
import cn.ibizlab.util.errors.BadRequestAlertException;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Slf4j
@Api(tags = {"接口" })
......@@ -16,4 +27,72 @@ public class DACoreResource {
@Autowired
private DACoreService daCoreService;
@Autowired
private DAReportServiceImpl daReportService;
/**
* 通过指标获取相应的规则结果数据
* @param param
* @return
*/
@RequestMapping(method = RequestMethod.POST, value="/dst/analyse/reportdata/fetchmetricdatas")
public ResponseEntity<List<HashMap<String,Object>>> fetchMetricDatas(@Validated @RequestBody FetchMetricDatasParam param){
List<HashMap<String,Object>> execResults = daCoreService.onFetchMetricDatas(param);
return ResponseEntity.status(HttpStatus.OK).body(execResults);
}
/**
* 呈报报表获取数据
* @param param
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/dst/analyse/reportdata/fetchreportdatas")
public ResponseEntity<Map<String,Object>> fetchReportDatas(@Validated @RequestBody FetchMetricDatasParam param) {
Map<String, Object> resultMap = daCoreService.onFetchReportDatas(param);
return ResponseEntity.status(HttpStatus.OK).body(resultMap);
}
/**
* 获取反查数据用到的keyvalue
* @param param
* @return
*/
@RequestMapping(method = RequestMethod.POST, value="/dst/analyse/reportdata/fetchkeyvaluefield")
public ResponseEntity<Map<String, String>> fetchKeyValueField(@Validated @RequestBody FetchMetricDatasParam param) {
Map<String, String> results = daCoreService.onFetchKeyValueField(param);
return ResponseEntity.status(HttpStatus.OK).body(results);
}
/**
* 清除绩效数据缓存
* @param
* @return
*/
@RequestMapping(method = RequestMethod.GET, value="dst/analyse/reportdata/resetperformancedata/{resettype}")
public ResponseEntity<Map<String, Object>> resetPerformanceData(@PathVariable(name="resettype",required = false) String resettype) {
Map<String, Object> resultMap = new HashMap<>();
if (StringUtils.isEmpty(resettype)) {
throw new BadRequestAlertException("请求参数为空", "", "");
}
String strType = resettype.toUpperCase();
switch (strType) {
case "WORK_ALL":// 消除所有的缓存
this.daCoreService.resetsnap();
break;
case "WORK":// 消除指定指标的缓存
this.daCoreService.resetsnapSingle();
break;
case "JXKH":// 消除绩效报表的缓存
daCoreService.resetPerformance();
daCoreService.resetsnap();
break;
case "reloadReportData":// 消除绩效报表的缓存
daCoreService.resetsnapReport();
break;
default:
break;
}
return ResponseEntity.status(HttpStatus.OK).body(resultMap);
}
}
......@@ -42,4 +42,15 @@ public class CodeList
}
return null;
}
public CodeItem findChildren(Object value){
CodeItem resultCodeItem = this.findCodeItem(value);
List<CodeItem> children = new ArrayList<>();
for(CodeItem codeItem : options){
if(value != null && resultCodeItem.getValue() != null && codeItem.getParent() != null && codeItem.getParent().equals(resultCodeItem.getValue()))
children.add(codeItem);
}
resultCodeItem.setChildren(children);
return resultCodeItem;
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册