|
@ -0,0 +1,98 @@
|
|
|
package com.yihu.quota.controller;
|
|
|
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.yihu.ehr.constants.ApiVersion;
|
|
|
import com.yihu.ehr.util.rest.Envelop;
|
|
|
import com.yihu.quota.model.jpa.olap.OlapDimension;
|
|
|
import com.yihu.quota.model.jpa.olap.OlapDimensionMember;
|
|
|
import com.yihu.quota.service.olap.OlapDimensionMemberService;
|
|
|
import com.yihu.quota.service.olap.OlapDimensionService;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestMethod;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
import java.net.URLDecoder;
|
|
|
import java.util.List;
|
|
|
|
|
|
/**
|
|
|
* Created by wxw on 2018/9/7.
|
|
|
* @author wxw
|
|
|
*/
|
|
|
@RestController
|
|
|
@RequestMapping(ApiVersion.Version1_0)
|
|
|
@Api(value = "OlapDimensionController", description = "OLAP-维度表", tags = {"OLAP-维度表"})
|
|
|
public class OlapDimensionController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
|
private ObjectMapper objectMapper;
|
|
|
@Autowired
|
|
|
private OlapDimensionService olapDimensionService;
|
|
|
@Autowired
|
|
|
private OlapDimensionMemberService olapDimensionMemberService;
|
|
|
|
|
|
@RequestMapping(value = "/olap/searchOlapDimension", method = RequestMethod.GET)
|
|
|
@ApiOperation(value = "根据查询条件查询,具有分页功能;filters='id=1'")
|
|
|
public Envelop searchOlapDimension(
|
|
|
@ApiParam(name = "fields", value = "返回的字段,为空返回全部字段", defaultValue = "")
|
|
|
@RequestParam(value = "fields", required = false) String fields,
|
|
|
@ApiParam(name = "filters", value = "过滤器,为空检索所有条件")
|
|
|
@RequestParam(value = "filters", required = false) String filters,
|
|
|
@ApiParam(name = "sorts", value = "排序,规则参见说明文档", defaultValue = "+dict")
|
|
|
@RequestParam(value = "sorts", required = false) String sorts,
|
|
|
@ApiParam(name = "size", value = "分页大小", defaultValue = "15")
|
|
|
@RequestParam(value = "size", required = false) int size,
|
|
|
@ApiParam(name = "page", value = "页码", defaultValue = "1")
|
|
|
@RequestParam(value = "page", required = false) int page) throws Exception {
|
|
|
Envelop envelop = new Envelop();
|
|
|
List<OlapDimension> search = olapDimensionService.search(fields, filters, sorts, page, size);
|
|
|
if (null != search && search.size() > 0) {
|
|
|
for (OlapDimension dimension : search) {
|
|
|
List<OlapDimensionMember> list = olapDimensionMemberService.search("dimensionId=" + dimension.getId());
|
|
|
if (null != list && list.size() > 0) {
|
|
|
dimension.setOlapDimensionMembers(list);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
envelop.setSuccessFlg(true);
|
|
|
envelop.setDetailModelList(search);
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/olap/saveOrUpdateOlapDimension", method = RequestMethod.POST)
|
|
|
@ApiOperation(value = "添加或修改操作")
|
|
|
public Envelop saveOlapDimension(
|
|
|
@ApiParam(name = "model", value = "json数据模型", defaultValue = "")
|
|
|
@RequestParam String model) throws Exception {
|
|
|
Envelop envelop = new Envelop();
|
|
|
OlapDimension dimension = objectMapper.readValue(URLDecoder.decode(model, "UTF-8"), OlapDimension.class);
|
|
|
if (null == dimension.getId()) {
|
|
|
// 新增
|
|
|
Integer id = olapDimensionService.saveOlapDimension(dimension);
|
|
|
if (null != id) {
|
|
|
envelop.setSuccessFlg(true);
|
|
|
}
|
|
|
} else {
|
|
|
olapDimensionService.save(dimension);
|
|
|
envelop.setSuccessFlg(true);
|
|
|
}
|
|
|
|
|
|
return envelop;
|
|
|
}
|
|
|
|
|
|
@RequestMapping(value = "/olap/deleteOlapDimensionById", method = RequestMethod.DELETE)
|
|
|
@ApiOperation(value = "根据id删除")
|
|
|
public Envelop deleteOlapDimensionById(
|
|
|
@ApiParam(name = "id", value = "编号", defaultValue = "")
|
|
|
@RequestParam(value = "id") Integer id) throws Exception {
|
|
|
Envelop envelop = new Envelop();
|
|
|
olapDimensionService.deleteOlapDimension(id);
|
|
|
envelop.setSuccessFlg(true);
|
|
|
return envelop;
|
|
|
}
|
|
|
}
|