1
0
mirror of https://github.com/chatopera/cosin.git synced 2025-08-01 16:38:02 +08:00

Fix TablePropertiesRepository related class

This commit is contained in:
dengchao@xgtl 2020-04-16 15:23:11 +08:00
parent f6a09e8c48
commit 192c664db0
7 changed files with 1923 additions and 1920 deletions

View File

@ -112,7 +112,7 @@ public class AppCtxRefreshEventListener implements ApplicationListener<ContextRe
}
}
/**
/*
* 加载系统全局配置
*/
SystemConfigRepository systemConfigRes = event.getApplicationContext().getBean(SystemConfigRepository.class);

View File

@ -29,26 +29,26 @@ import com.chatopera.cc.util.Menu;
import com.chatopera.cc.util.metadata.DatabaseMetaDataHandler;
import com.chatopera.cc.util.metadata.UKColumnMetadata;
import com.chatopera.cc.util.metadata.UKTableMetaData;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.hibernate.Session;
import org.hibernate.jdbc.Work;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
import org.springframework.http.HttpStatus;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.ModelAndView;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
@ -56,43 +56,39 @@ import java.util.List;
@Controller
@RequestMapping("/admin/metadata")
@RequiredArgsConstructor
public class MetadataController extends Handler {
@Autowired
private MetadataRepository metadataRes;
@Autowired
private BaseService<?> service;
@Autowired
private SysDicRepository sysDicRes;
@Autowired
private TablePropertiesRepository tablePropertiesRes;
private static final Logger logger = LoggerFactory.getLogger(MetadataController.class);
@Autowired
@NonNull
private final MetadataRepository metadataRes;
@NonNull
private final BaseService<?> service;
@NonNull
private final SysDicRepository sysDicRes;
@NonNull
private final TablePropertiesRepository tablePropertiesRes;
@NonNull
@PersistenceContext
private EntityManager em;
private final EntityManager em;
@RequestMapping("/index")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView index(ModelMap map, HttpServletRequest request) throws SQLException {
public ModelAndView index(ModelMap map, HttpServletRequest request) {
map.addAttribute("metadataList", metadataRes.findAll(PageRequest.of(super.getP(request), super.getPs(request))));
return request(super.createAdminTempletResponse("/admin/system/metadata/index"));
}
@RequestMapping("/edit")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView edit(ModelMap map, HttpServletRequest request, @Valid String id) {
public ModelAndView edit(ModelMap map, @Valid String id) {
map.addAttribute("metadata", metadataRes.findById(id));
return request(super.createRequestPageTempletResponse("/admin/system/metadata/edit"));
}
@RequestMapping("/update")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView update(ModelMap map, HttpServletRequest request, @Valid MetadataTable metadata) throws SQLException {
public ModelAndView update(@Valid MetadataTable metadata) {
MetadataTable table = metadataRes.findById(metadata.getId());
table.setName(metadata.getName());
table.setFromdb(metadata.isFromdb());
@ -104,7 +100,7 @@ public class MetadataController extends Handler {
@RequestMapping("/properties/edit")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView propertiesedit(ModelMap map, HttpServletRequest request, @Valid String id) {
public ModelAndView propertiesedit(ModelMap map, @Valid String id) {
map.addAttribute("tp", tablePropertiesRes.findById(id));
map.addAttribute("sysdicList", sysDicRes.findByParentid("0"));
map.addAttribute("dataImplList", Dict.getInstance().getDic("com.dic.data.impl"));
@ -114,8 +110,9 @@ public class MetadataController extends Handler {
@RequestMapping("/properties/update")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView propertiesupdate(ModelMap map, HttpServletRequest request, @Valid TableProperties tp) throws SQLException {
TableProperties tableProperties = tablePropertiesRes.findById(tp.getId());
public ModelAndView propertiesupdate(@Valid TableProperties tp) {
TableProperties tableProperties = tablePropertiesRes.findById(tp.getId())
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Table properties %s not found", tp.getId())));
tableProperties.setName(tp.getName());
tableProperties.setSeldata(tp.isSeldata());
tableProperties.setSeldatacode(tp.getSeldatacode());
@ -139,7 +136,7 @@ public class MetadataController extends Handler {
@RequestMapping("/delete")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView delete(ModelMap map, HttpServletRequest request, @Valid String id) throws SQLException {
public ModelAndView delete(@Valid String id) {
MetadataTable table = metadataRes.findById(id);
metadataRes.delete(table);
return request(super.createRequestPageTempletResponse("redirect:/admin/metadata/index.html"));
@ -147,33 +144,34 @@ public class MetadataController extends Handler {
@RequestMapping("/batdelete")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView batdelete(ModelMap map, HttpServletRequest request, @Valid String[] ids) throws SQLException {
public ModelAndView batdelete(@Valid String[] ids) {
if (ids != null && ids.length > 0) {
metadataRes.delete(metadataRes.findAll(Arrays.asList(ids)));
metadataRes.deleteAll(metadataRes.findAllById(Arrays.asList(ids)));
}
return request(super.createRequestPageTempletResponse("redirect:/admin/metadata/index.html"));
}
@RequestMapping("/properties/delete")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView propertiesdelete(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String tbid) throws SQLException {
TableProperties prop = tablePropertiesRes.findById(id);
public ModelAndView propertiesdelete(@Valid String id, @Valid String tbid) {
TableProperties prop = tablePropertiesRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Table properties %s not found", id)));
tablePropertiesRes.delete(prop);
return request(super.createRequestPageTempletResponse("redirect:/admin/metadata/table.html?id=" + (!StringUtils.isBlank(tbid) ? tbid : prop.getDbtableid())));
}
@RequestMapping("/properties/batdelete")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView propertiesbatdelete(ModelMap map, HttpServletRequest request, @Valid String[] ids, @Valid String tbid) throws SQLException {
public ModelAndView propertiesbatdelete(@Valid String[] ids, @Valid String tbid) {
if (ids != null && ids.length > 0) {
tablePropertiesRes.delete(tablePropertiesRes.findAll(Arrays.asList(ids)));
tablePropertiesRes.deleteAll(tablePropertiesRes.findAllById(Arrays.asList(ids)));
}
return request(super.createRequestPageTempletResponse("redirect:/admin/metadata/table.html?id=" + tbid));
}
@RequestMapping("/table")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView table(ModelMap map, HttpServletRequest request, @Valid String id) throws SQLException {
public ModelAndView table(ModelMap map, @Valid String id) {
map.addAttribute("propertiesList", tablePropertiesRes.findByDbtableid(id));
map.addAttribute("tbid", id);
map.addAttribute("table", metadataRes.findById(id));
@ -182,18 +180,16 @@ public class MetadataController extends Handler {
@RequestMapping("/imptb")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView imptb(final ModelMap map, HttpServletRequest request) throws Exception {
public ModelAndView imptb(final ModelMap map) {
Session session = (Session) em.getDelegate();
session.doWork(new Work() {
public void execute(Connection connection) throws SQLException {
session.doWork(connection -> {
try {
map.addAttribute("tablesList",
DatabaseMetaDataHandler.getTables(connection));
} catch (Exception e) {
logger.error("When import metadata", e);
}
}
});
return request(super
@ -202,13 +198,12 @@ public class MetadataController extends Handler {
@RequestMapping("/imptbsave")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView imptb(ModelMap map, HttpServletRequest request, final @Valid String[] tables) throws Exception {
public ModelAndView imptb(HttpServletRequest request, final @Valid String[] tables) {
final User user = super.getUser(request);
if (tables != null && tables.length > 0) {
Session session = (Session) em.getDelegate();
session.doWork(
new Work() {
public void execute(Connection connection) throws SQLException {
connection -> {
try {
for (String table : tables) {
int count = metadataRes.countByTablename(table);
@ -231,7 +226,6 @@ public class MetadataController extends Handler {
logger.error("When import metadata", e);
}
}
}
);
}
@ -240,7 +234,7 @@ public class MetadataController extends Handler {
}
private MetadataTable processMetadataTable(UKTableMetaData metaData, MetadataTable table) {
table.setTableproperty(new ArrayList<TableProperties>());
table.setTableproperty(new ArrayList<>());
if (metaData != null) {
for (UKColumnMetadata colum : metaData.getColumnMetadatas()) {
TableProperties tablePorperties = new TableProperties(colum.getName().toLowerCase(), colum.getTypeName(), colum.getColumnSize(), metaData.getName().toLowerCase());
@ -263,7 +257,7 @@ public class MetadataController extends Handler {
public String getDataTypeName(String type) {
String typeName = "text";
if (type.indexOf("varchar") >= 0) {
if (type.contains("varchar")) {
typeName = "text";
} else if (type.equalsIgnoreCase("date") || type.equalsIgnoreCase("datetime")) {
typeName = type.toLowerCase();
@ -275,7 +269,7 @@ public class MetadataController extends Handler {
@RequestMapping("/clean")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView clean(ModelMap map, HttpServletRequest request, @Valid String id) throws SQLException, BeansException, ClassNotFoundException {
public ModelAndView clean(@Valid String id) throws BeansException, ClassNotFoundException {
if (!StringUtils.isBlank(id)) {
MetadataTable table = metadataRes.findById(id);
if (table.isFromdb() && !StringUtils.isBlank(table.getListblocktemplet())) {
@ -295,7 +289,7 @@ public class MetadataController extends Handler {
@SuppressWarnings({"rawtypes", "unchecked"})
@RequestMapping("/synctoes")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView synctoes(ModelMap map, HttpServletRequest request, @Valid String id) throws SQLException, BeansException, ClassNotFoundException {
public ModelAndView synctoes(@Valid String id) throws BeansException, ClassNotFoundException {
if (!StringUtils.isBlank(id)) {
MetadataTable table = metadataRes.findById(id);
if (table.isFromdb() && !StringUtils.isBlank(table.getListblocktemplet())) {
@ -309,9 +303,7 @@ public class MetadataController extends Handler {
SysDic jpaDic = Dict.getInstance().getDicItem(table.getPreviewtemplet());
List dataList = service.list(jpaDic.getCode());
List values = new CskefuList();
for (Object object : dataList) {
values.add(object);
}
values.addAll(dataList);
if (dataList.size() > 0) {
jpa.save(values);
}
@ -326,7 +318,7 @@ public class MetadataController extends Handler {
@SuppressWarnings({"rawtypes"})
@RequestMapping("/synctodb")
@Menu(type = "admin", subtype = "metadata", admin = true)
public ModelAndView synctodb(ModelMap map, HttpServletRequest request, @Valid String id) throws SQLException, BeansException, ClassNotFoundException {
public ModelAndView synctodb(@Valid String id) throws BeansException, ClassNotFoundException {
if (!StringUtils.isBlank(id)) {
MetadataTable table = metadataRes.findById(id);
if (table.isFromdb() && !StringUtils.isBlank(table.getListblocktemplet())) {

View File

@ -26,11 +26,14 @@ import com.chatopera.cc.persistence.repository.CubeMetadataRepository;
import com.chatopera.cc.persistence.repository.DimensionRepository;
import com.chatopera.cc.persistence.repository.TablePropertiesRepository;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
@ -39,34 +42,35 @@ import java.util.List;
@Controller
@RequestMapping("/apps/report/cubelevel")
public class CubeLevelController extends Handler{
@RequiredArgsConstructor
public class CubeLevelController extends Handler {
@Autowired
private CubeLevelRepository cubeLevelRes;
@NonNull
private final CubeLevelRepository cubeLevelRes;
@Autowired
private DimensionRepository dimensionRes;
@NonNull
private final DimensionRepository dimensionRes;
@Autowired
private TablePropertiesRepository tablePropertiesRes;
@NonNull
private final TablePropertiesRepository tablePropertiesRes;
@Autowired
private CubeMetadataRepository cubeMetadataRes;
@NonNull
private final CubeMetadataRepository cubeMetadataRes;
@RequestMapping("/add")
@Menu(type = "report" , subtype = "cubelevel")
public ModelAndView cubeLeveladd(ModelMap map , HttpServletRequest request , @Valid String cubeid,@Valid String dimid) {
@Menu(type = "report", subtype = "cubelevel")
public ModelAndView cubeLeveladd(ModelMap map, HttpServletRequest request, @Valid String cubeid, @Valid String dimid) {
map.addAttribute("cubeid", cubeid);
map.addAttribute("dimid", dimid);
//map.addAttribute("fktableList",cubeMetadataRes.findByCubeid(cubeid));
Dimension dim = dimensionRes.findByIdAndOrgi(dimid,super.getOrgi(request));
Dimension dim = dimensionRes.findByIdAndOrgi(dimid, super.getOrgi(request));
if(dim!=null){
if(!StringUtils.isBlank(dim.getFktable())) {
if (dim != null) {
if (!StringUtils.isBlank(dim.getFktable())) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(dim.getFktable()));
}else {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeid,"0");
if(!cmList.isEmpty() && cmList.get(0)!=null) {
} else {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeid, "0");
if (!cmList.isEmpty() && cmList.get(0) != null) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(cmList.get(0).getTb().getId()));
}
}
@ -76,48 +80,50 @@ public class CubeLevelController extends Handler{
}
@RequestMapping("/save")
@Menu(type = "report" , subtype = "cubelevel" )
public ModelAndView cubeLevelsave(ModelMap map , HttpServletRequest request , @Valid CubeLevel cubeLevel,@Valid String tableid) {
if(!StringUtils.isBlank(cubeLevel.getName())){
@Menu(type = "report", subtype = "cubelevel")
public ModelAndView cubeLevelsave(HttpServletRequest request, @Valid CubeLevel cubeLevel, @Valid String tableid) {
if (!StringUtils.isBlank(cubeLevel.getName())) {
cubeLevel.setOrgi(super.getOrgi(request));
cubeLevel.setCreater(super.getUser(request).getId());
cubeLevel.setCode(cubeLevel.getColumname());
if(!StringUtils.isBlank(tableid)) {
if (!StringUtils.isBlank(tableid)) {
TableProperties tb = new TableProperties();
tb.setId(tableid);
TableProperties t = tablePropertiesRes.findById(tableid);
TableProperties t = tablePropertiesRes.findById(tableid)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Table properties %s not found", tableid)));
cubeLevel.setTablename(t.getTablename());
cubeLevel.setCode(t.getFieldname());
cubeLevel.setColumname(t.getFieldname());
cubeLevel.setTableproperty(tb);
}
cubeLevelRes.save(cubeLevel) ;
cubeLevelRes.save(cubeLevel);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+cubeLevel.getCubeid()+"&dimensionId="+cubeLevel.getDimid()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + cubeLevel.getCubeid() + "&dimensionId=" + cubeLevel.getDimid()));
}
@RequestMapping("/delete")
@Menu(type = "report" , subtype = "cubelevel" )
public ModelAndView quickreplydelete(ModelMap map , HttpServletRequest request , @Valid String id) {
CubeLevel cubeLevel = cubeLevelRes.findOne(id) ;
if(cubeLevel!=null){
@Menu(type = "report", subtype = "cubelevel")
public ModelAndView quickreplydelete(@Valid String id) {
CubeLevel cubeLevel = cubeLevelRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Cube level %s not found", id)));
cubeLevelRes.delete(cubeLevel);
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + cubeLevel.getCubeid() + "&dimensionId=" + cubeLevel.getDimid()));
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+cubeLevel.getCubeid()+"&dimensionId="+cubeLevel.getDimid()));
}
@RequestMapping("/edit")
@Menu(type = "report" , subtype = "cubelevel" , admin= true)
public ModelAndView quickreplyedit(ModelMap map , HttpServletRequest request , @Valid String id) {
CubeLevel cubeLevel = cubeLevelRes.findOne(id) ;
map.put("cubeLevel", cubeLevel) ;
Dimension dim = dimensionRes.findByIdAndOrgi(cubeLevel.getDimid(),super.getOrgi(request));
if(dim!=null){
if(!StringUtils.isBlank(dim.getFktable())) {
@Menu(type = "report", subtype = "cubelevel", admin = true)
public ModelAndView quickreplyedit(ModelMap map, HttpServletRequest request, @Valid String id) {
CubeLevel cubeLevel = cubeLevelRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Cube level %s not found", id)));
map.put("cubeLevel", cubeLevel);
Dimension dim = dimensionRes.findByIdAndOrgi(cubeLevel.getDimid(), super.getOrgi(request));
if (dim != null) {
if (!StringUtils.isBlank(dim.getFktable())) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(dim.getFktable()));
map.addAttribute("tableid", dim.getFktable());
}else {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeLevel.getCubeid(),"0");
if(!cmList.isEmpty() && cmList.get(0)!=null) {
} else {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeLevel.getCubeid(), "0");
if (!cmList.isEmpty() && cmList.get(0) != null) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(cmList.get(0).getTb().getId()));
map.addAttribute("tableid", cmList.get(0).getId());
}
@ -128,32 +134,32 @@ public class CubeLevelController extends Handler{
}
@RequestMapping("/update")
@Menu(type = "report" , subtype = "cubelevel" , admin= true)
public ModelAndView quickreplyupdate(ModelMap map , HttpServletRequest request , @Valid CubeLevel cubeLevel,@Valid String tableid) {
if(!StringUtils.isBlank(cubeLevel.getId())){
CubeLevel temp = cubeLevelRes.findOne(cubeLevel.getId()) ;
@Menu(type = "report", subtype = "cubelevel", admin = true)
public ModelAndView quickreplyupdate(HttpServletRequest request, @Valid CubeLevel cubeLevel, @Valid String tableid) {
if (!StringUtils.isBlank(cubeLevel.getId())) {
cubeLevel.setOrgi(super.getOrgi(request));
cubeLevel.setCreater(super.getUser(request).getId());
if(temp!=null){
cubeLevel.setCreatetime(temp.getCreatetime());
}
if(!StringUtils.isBlank(tableid)) {
cubeLevelRes.findById(cubeLevel.getId())
.ifPresent(it -> cubeLevel.setCreatetime(it.getCreatetime()));
if (!StringUtils.isBlank(tableid)) {
TableProperties tb = new TableProperties();
tb.setId(tableid);
TableProperties t = tablePropertiesRes.findById(tableid);
TableProperties t = tablePropertiesRes.findById(tableid)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Table properties %s not found", tableid)));
cubeLevel.setTablename(t.getTablename());
cubeLevel.setCode(t.getFieldname());
cubeLevel.setColumname(t.getFieldname());
cubeLevel.setTableproperty(tb);
}
cubeLevelRes.save(cubeLevel) ;
cubeLevelRes.save(cubeLevel);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+cubeLevel.getCubeid()+"&dimensionId="+cubeLevel.getDimid()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + cubeLevel.getCubeid() + "&dimensionId=" + cubeLevel.getDimid()));
}
@RequestMapping("/fktableid")
@Menu(type = "report" , subtype = "cubelevel" , admin= true)
public ModelAndView fktableid(ModelMap map , HttpServletRequest request , @Valid String tableid) {
if(!StringUtils.isBlank(tableid)){
@Menu(type = "report", subtype = "cubelevel", admin = true)
public ModelAndView fktableid(ModelMap map, @Valid String tableid) {
if (!StringUtils.isBlank(tableid)) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(tableid));
}
return request(super.createRequestPageTempletResponse("/apps/business/report/cube/cubelevel/fktableiddiv"));

View File

@ -23,11 +23,13 @@ import com.chatopera.cc.persistence.repository.CubeMeasureRepository;
import com.chatopera.cc.persistence.repository.CubeMetadataRepository;
import com.chatopera.cc.persistence.repository.TablePropertiesRepository;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
@ -36,23 +38,24 @@ import java.util.List;
@Controller
@RequestMapping("/apps/report/cubemeasure")
public class CubeMeasureController extends Handler{
@RequiredArgsConstructor
public class CubeMeasureController extends Handler {
@Autowired
private CubeMeasureRepository cubeMeasureRes;
@org.springframework.lang.NonNull
private final CubeMeasureRepository cubeMeasureRes;
@Autowired
private TablePropertiesRepository tablePropertiesRes;
@org.springframework.lang.NonNull
private final TablePropertiesRepository tablePropertiesRes;
@Autowired
private CubeMetadataRepository cubeMetadataRes;
@org.springframework.lang.NonNull
private final CubeMetadataRepository cubeMetadataRes;
@RequestMapping("/add")
@Menu(type = "report" , subtype = "cubemeasure")
public ModelAndView cubeMeasureadd(ModelMap map , HttpServletRequest request , @Valid String cubeid) {
@Menu(type = "report", subtype = "cubemeasure")
public ModelAndView cubeMeasureadd(ModelMap map, @Valid String cubeid) {
map.addAttribute("cubeid", cubeid);
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeid,"0");
if(!cmList.isEmpty() && cmList.get(0)!=null) {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeid, "0");
if (!cmList.isEmpty() && cmList.get(0) != null) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(cmList.get(0).getTb().getId()));
map.put("table", cmList.get(0).getTb());
}
@ -60,34 +63,34 @@ public class CubeMeasureController extends Handler{
}
@RequestMapping("/save")
@Menu(type = "report" , subtype = "cubemeasure" )
public ModelAndView cubeMeasuresave(ModelMap map , HttpServletRequest request , @Valid CubeMeasure cubeMeasure) {
if(!StringUtils.isBlank(cubeMeasure.getName())){
@Menu(type = "report", subtype = "cubemeasure")
public ModelAndView cubeMeasuresave(HttpServletRequest request, @Valid CubeMeasure cubeMeasure) {
if (!StringUtils.isBlank(cubeMeasure.getName())) {
cubeMeasure.setOrgi(super.getOrgi(request));
cubeMeasure.setCreater(super.getUser(request).getId());
cubeMeasure.setCode(cubeMeasure.getColumname());
cubeMeasureRes.save(cubeMeasure) ;
cubeMeasureRes.save(cubeMeasure);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id="+cubeMeasure.getCubeid()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id=" + cubeMeasure.getCubeid()));
}
@RequestMapping("/delete")
@Menu(type = "report" , subtype = "cubemeasure" )
public ModelAndView quickreplydelete(ModelMap map , HttpServletRequest request , @Valid String id) {
CubeMeasure cubeMeasure = cubeMeasureRes.findOne(id) ;
if(cubeMeasure!=null){
cubeMeasureRes.delete(cubeMeasure);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id="+cubeMeasure.getCubeid()));
@Menu(type = "report", subtype = "cubemeasure")
public ModelAndView quickreplydelete(@Valid String id) {
cubeMeasureRes.deleteById(id);
CubeMeasure cubeMeasure = cubeMeasureRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Cube measure %s not found", id)));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id=" + cubeMeasure.getCubeid()));
}
@RequestMapping("/edit")
@Menu(type = "report" , subtype = "cubemeasure" , admin= true)
public ModelAndView quickreplyedit(ModelMap map , HttpServletRequest request , @Valid String id) {
CubeMeasure cubeMeasure = cubeMeasureRes.findOne(id) ;
map.put("cubemeasure", cubeMeasure) ;
if(cubeMeasure!=null) {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeMeasure.getCubeid(),"0");
if(!cmList.isEmpty() && cmList.get(0)!=null) {
@Menu(type = "report", subtype = "cubemeasure", admin = true)
public ModelAndView quickreplyedit(ModelMap map, @Valid String id) {
CubeMeasure cubeMeasure = cubeMeasureRes.findById(id).orElse(null);
map.put("cubemeasure", cubeMeasure);
if (cubeMeasure != null) {
List<CubeMetadata> cmList = cubeMetadataRes.findByCubeidAndMtype(cubeMeasure.getCubeid(), "0");
if (!cmList.isEmpty() && cmList.get(0) != null) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(cmList.get(0).getTb().getId()));
map.put("table", cmList.get(0).getTb());
}
@ -96,24 +99,22 @@ public class CubeMeasureController extends Handler{
}
@RequestMapping("/update")
@Menu(type = "report" , subtype = "cubemeasure" , admin= true)
public ModelAndView quickreplyupdate(ModelMap map , HttpServletRequest request , @Valid CubeMeasure cubeMeasure) {
if(!StringUtils.isBlank(cubeMeasure.getId())){
CubeMeasure temp = cubeMeasureRes.findOne(cubeMeasure.getId()) ;
@Menu(type = "report", subtype = "cubemeasure", admin = true)
public ModelAndView quickreplyupdate(HttpServletRequest request, @Valid CubeMeasure cubeMeasure) {
if (!StringUtils.isBlank(cubeMeasure.getId())) {
cubeMeasure.setOrgi(super.getOrgi(request));
cubeMeasure.setCreater(super.getUser(request).getId());
if(temp!=null){
cubeMeasure.setCreatetime(temp.getCreatetime());
}
cubeMeasureRes.findById(cubeMeasure.getId()).ifPresent(temp -> cubeMeasure.setCreatetime(temp.getCreatetime()));
cubeMeasure.setCode(cubeMeasure.getColumname());
cubeMeasureRes.save(cubeMeasure) ;
cubeMeasureRes.save(cubeMeasure);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id="+cubeMeasure.getCubeid()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?dimensionId=cubemeasure&id=" + cubeMeasure.getCubeid()));
}
@RequestMapping("/fktableid")
@Menu(type = "report" , subtype = "cubemeasure" , admin= true)
public ModelAndView fktableid(ModelMap map , HttpServletRequest request , @Valid String tableid) {
if(!StringUtils.isBlank(tableid)){
@Menu(type = "report", subtype = "cubemeasure", admin = true)
public ModelAndView fktableid(ModelMap map, @Valid String tableid) {
if (!StringUtils.isBlank(tableid)) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(tableid));
}
return request(super.createRequestPageTempletResponse("/apps/business/report/cube/cubemeasure/fktableiddiv"));

View File

@ -25,11 +25,13 @@ import com.chatopera.cc.persistence.repository.CubeMetadataRepository;
import com.chatopera.cc.persistence.repository.DimensionRepository;
import com.chatopera.cc.persistence.repository.TablePropertiesRepository;
import com.chatopera.cc.util.Menu;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
@ -38,85 +40,85 @@ import java.util.List;
@Controller
@RequestMapping("/apps/report/dimension")
public class DimensionController extends Handler{
@RequiredArgsConstructor
public class DimensionController extends Handler {
@Autowired
private DimensionRepository dimensionRes;
@org.springframework.lang.NonNull
private final DimensionRepository dimensionRes;
@Autowired
private CubeLevelRepository cubeLevelRes;
@org.springframework.lang.NonNull
private final CubeLevelRepository cubeLevelRes;
@Autowired
private CubeMetadataRepository cubeMetadataRes;
@org.springframework.lang.NonNull
private final CubeMetadataRepository cubeMetadataRes;
@Autowired
private TablePropertiesRepository tablePropertiesRes;
@org.springframework.lang.NonNull
private final TablePropertiesRepository tablePropertiesRes;
@RequestMapping("/add")
@Menu(type = "report" , subtype = "dimension")
public ModelAndView dimensionadd(ModelMap map , HttpServletRequest request , @Valid String cubeid) {
@Menu(type = "report", subtype = "dimension")
public ModelAndView dimensionadd(ModelMap map, @Valid String cubeid) {
map.addAttribute("cubeid", cubeid);
map.addAttribute("fkfieldList",cubeMetadataRes.findByCubeidAndMtype(cubeid,"0"));
map.addAttribute("fktableList",cubeMetadataRes.findByCubeidAndMtypeNot(cubeid,"0"));
map.addAttribute("fkfieldList", cubeMetadataRes.findByCubeidAndMtype(cubeid, "0"));
map.addAttribute("fktableList", cubeMetadataRes.findByCubeidAndMtypeNot(cubeid, "0"));
return request(super.createRequestPageTempletResponse("/apps/business/report/cube/dimension/add"));
}
@RequestMapping("/save")
@Menu(type = "report" , subtype = "dimension" )
public ModelAndView dimensionsave(ModelMap map , HttpServletRequest request , @Valid Dimension dimension) {
if(!StringUtils.isBlank(dimension.getName())){
@Menu(type = "report", subtype = "dimension")
public ModelAndView dimensionsave(HttpServletRequest request, @Valid Dimension dimension) {
if (!StringUtils.isBlank(dimension.getName())) {
dimension.setOrgi(super.getOrgi(request));
dimension.setCreater(super.getUser(request).getId());
dimensionRes.save(dimension) ;
dimensionRes.save(dimension);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+dimension.getCubeid()+"&dimensionId="+dimension.getId()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + dimension.getCubeid() + "&dimensionId=" + dimension.getId()));
}
@RequestMapping("/delete")
@Menu(type = "report" , subtype = "dimension" )
public ModelAndView quickreplydelete(ModelMap map , HttpServletRequest request , @Valid String id) {
Dimension dimension = dimensionRes.findOne(id) ;
if(dimension!=null){
@Menu(type = "report", subtype = "dimension")
public ModelAndView quickreplydelete(HttpServletRequest request, @Valid String id) {
Dimension dimension = dimensionRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Dimension %s not found", id)));
dimensionRes.delete(dimension);
List<CubeLevel> cubeLevelList = cubeLevelRes.findByOrgiAndDimid(super.getOrgi(request), id);
if(!cubeLevelList.isEmpty()) {
cubeLevelRes.delete(cubeLevelList);
if (!cubeLevelList.isEmpty()) {
cubeLevelRes.deleteAll(cubeLevelList);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + dimension.getCubeid()));
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+dimension.getCubeid()));
}
@RequestMapping("/edit")
@Menu(type = "report" , subtype = "dimension" , admin= true)
public ModelAndView quickreplyedit(ModelMap map , HttpServletRequest request , @Valid String id) {
Dimension dimension = dimensionRes.findOne(id) ;
map.put("dimension", dimension) ;
@Menu(type = "report", subtype = "dimension", admin = true)
public ModelAndView quickreplyedit(ModelMap map, @Valid String id) {
Dimension dimension = dimensionRes.findById(id)
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Dimension %s not found", id)));
map.put("dimension", dimension);
String cubeid = dimension.getCubeid();
map.addAttribute("cubeid", cubeid);
map.addAttribute("fkfieldList",cubeMetadataRes.findByCubeidAndMtype(cubeid,"0"));
List<CubeMetadata> fktableList = cubeMetadataRes.findByCubeidAndMtypeNot(cubeid,"0");
map.addAttribute("fktableList",fktableList);
map.addAttribute("fkfieldList", cubeMetadataRes.findByCubeidAndMtype(cubeid, "0"));
List<CubeMetadata> fktableList = cubeMetadataRes.findByCubeidAndMtypeNot(cubeid, "0");
map.addAttribute("fktableList", fktableList);
map.put("fktableidList", tablePropertiesRes.findByDbtableid(dimension.getFktable()));
return request(super.createRequestPageTempletResponse("/apps/business/report/cube/dimension/edit"));
}
@RequestMapping("/update")
@Menu(type = "report" , subtype = "dimension" , admin= true)
public ModelAndView quickreplyupdate(ModelMap map , HttpServletRequest request , @Valid Dimension dimension) {
if(!StringUtils.isBlank(dimension.getId())){
Dimension temp = dimensionRes.findOne(dimension.getId()) ;
@Menu(type = "report", subtype = "dimension", admin = true)
public ModelAndView quickreplyupdate(HttpServletRequest request, @Valid Dimension dimension) {
if (!StringUtils.isBlank(dimension.getId())) {
dimension.setOrgi(super.getOrgi(request));
dimension.setCreater(super.getUser(request).getId());
if(temp!=null){
dimension.setCreatetime(temp.getCreatetime());
dimensionRes.findById(dimension.getId()).ifPresent(it -> dimension.setCreatetime(it.getCreatetime()));
dimensionRes.save(dimension);
}
dimensionRes.save(dimension) ;
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id="+dimension.getCubeid()+"&dimensionId="+dimension.getId()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/cube/detail.html?id=" + dimension.getCubeid() + "&dimensionId=" + dimension.getId()));
}
@RequestMapping("/fktableid")
@Menu(type = "report" , subtype = "dimension" , admin= true)
public ModelAndView fktableid(ModelMap map , HttpServletRequest request , @Valid String tableid) {
if(!StringUtils.isBlank(tableid)){
@Menu(type = "report", subtype = "dimension", admin = true)
public ModelAndView fktableid(ModelMap map, @Valid String tableid) {
if (!StringUtils.isBlank(tableid)) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(tableid));
}
return request(super.createRequestPageTempletResponse("/apps/business/report/cube/dimension/fktableiddiv"));

View File

@ -24,11 +24,12 @@ import com.chatopera.cc.model.*;
import com.chatopera.cc.persistence.repository.*;
import com.chatopera.cc.util.Menu;
import com.chatopera.cc.util.bi.ReportData;
import lombok.RequiredArgsConstructor;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.lang.NonNull;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
@ -40,47 +41,36 @@ import java.util.*;
@Controller
@RequestMapping("/apps/report/design")
@RequiredArgsConstructor
public class ReportDesignController extends Handler {
@NonNull
private final TemplateRepository templateRes;
@NonNull
private final ReportRepository reportRes;
@NonNull
private final ReportModelRepository reportModelRes;
@NonNull
private final PublishedCubeRepository publishedCubeRepository;
@NonNull
private final ColumnPropertiesRepository columnPropertiesRepository;
@NonNull
private final ReportFilterRepository reportFilterRepository;
@NonNull
private final ReportCubeService reportCubeService;
@NonNull
private final TablePropertiesRepository tablePropertiesRes;
@NonNull
private final PublishedReportRepository publishedReportRes;
@NonNull
private final SysDicRepository sysDicRes;
@NonNull
private final MetadataRepository metadataRes;
@Value("${web.upload-path}")
private String path;
@Value("${uk.im.server.port}")
private Integer port;
@Autowired
private TemplateRepository templateRes;
@Autowired
private ReportRepository reportRes;
@Autowired
private ReportModelRepository reportModelRes;
@Autowired
private PublishedCubeRepository publishedCubeRepository;
@Autowired
private ColumnPropertiesRepository columnPropertiesRepository;
@Autowired
private ReportFilterRepository reportFilterRepository;
@Autowired
private ReportCubeService reportCubeService;
@Autowired
private TablePropertiesRepository tablePropertiesRes;
@Autowired
private PublishedReportRepository publishedReportRes;
@Autowired
private SysDicRepository sysDicRes;
@Autowired
private MetadataRepository metadataRes;
@RequestMapping("/index")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String q, @Valid String id) throws Exception {
@ -103,13 +93,13 @@ public class ReportDesignController extends Handler {
map.addAttribute("reportModels", reportModelRes.findByOrgiAndReportid(super.getOrgi(request), id));
List<ReportFilter> listFilters = reportFilterRepository.findByReportidAndFiltertypeAndOrgi(id, "report", super.getOrgi(request));
if(!listFilters.isEmpty()) {
Map<String,ReportFilter> filterMap = new HashMap<String,ReportFilter>();
for(ReportFilter rf:listFilters) {
if (!listFilters.isEmpty()) {
Map<String, ReportFilter> filterMap = new HashMap<String, ReportFilter>();
for (ReportFilter rf : listFilters) {
filterMap.put(rf.getId(), rf);
}
for(ReportFilter rf:listFilters) {
if(!StringUtils.isBlank(rf.getCascadeid())) {
for (ReportFilter rf : listFilters) {
if (!StringUtils.isBlank(rf.getCascadeid())) {
rf.setChildFilter(filterMap.get(rf.getCascadeid()));
}
}
@ -150,7 +140,7 @@ public class ReportDesignController extends Handler {
ChartProperties chartProperties = new ChartProperties();
chartProperties.setChartype(tp.getCharttype());
Base64 base64 = new Base64();
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(chartProperties))) ;
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(chartProperties)));
model.setTempletid(template);
model.setMid(mid);
@ -162,12 +152,6 @@ public class ReportDesignController extends Handler {
/**
* 请求 报表的模板组件 请求的时候生成个报表组件报表组件 需要存放在列的对应关系中
*
* @param map
* @param request
* @param template
* @param id
* @return
*/
@RequestMapping("/element")
@Menu(type = "report", subtype = "reportdesign")
@ -223,6 +207,7 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse("/apps/business/report/design/layout"));
}
/**
* 请求 过滤器的模板组件 请求的时候生成个过滤器组件
*
@ -237,7 +222,7 @@ public class ReportDesignController extends Handler {
public ModelAndView ftpl(ModelMap map, HttpServletRequest request, @Valid String tplname, @Valid String template,
@Valid String colindex, @Valid String id, @Valid String parentid, @Valid String mid) {
Template t = templateRes.findByIdAndOrgi(template, super.getOrgi(request));
map.addAttribute("eltemplet",t);
map.addAttribute("eltemplet", t);
if (!StringUtils.isBlank(parentid)) {
ReportFilter filter = new ReportFilter();
filter.setCode(MainUtils.genID());
@ -262,6 +247,7 @@ public class ReportDesignController extends Handler {
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/filter"));
}
/**
* 删除模板组件
*
@ -277,7 +263,7 @@ public class ReportDesignController extends Handler {
if (model != null) {
List<ReportModel> childsList = reportModelRes.findByParentidAndOrgi(model.getId(), super.getOrgi(request));
if (!childsList.isEmpty()) {
reportModelRes.delete(childsList);
reportModelRes.deleteAll(childsList);
}
reportModelRes.delete(model);
}
@ -295,7 +281,7 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/modeldesign")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView modeldesign(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String tabid , HashMap<String,String> semap)
public ModelAndView modeldesign(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String tabid, HashMap<String, String> semap)
throws Exception {
List<SysDic> tpDicList = Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_DIC);
for (SysDic sysDic : tpDicList) {
@ -309,15 +295,15 @@ public class ReportDesignController extends Handler {
map.addAttribute("reportModel", model);
map.addAttribute("element", model);
if (model != null && !StringUtils.isBlank(model.getPublishedcubeid())) {
PublishedCube cube = publishedCubeRepository.findOne(model.getPublishedcubeid());
PublishedCube cube = publishedCubeRepository.findById(model.getPublishedcubeid());
map.addAttribute("cube", cube);
if (canGetReportData(model, cube.getCube())) {
ReportData reportData = null ;
ReportData reportData = null;
try {
reportData = reportCubeService.getReportData(model, cube.getCube(), request, true,semap) ;
map.addAttribute("reportData",reportData);
}catch(Exception ex) {
map.addAttribute("msg",(ExceptionUtils.getMessage(ex).replaceAll("\r\n","") + ExceptionUtils.getRootCauseMessage(ex)).replaceAll("\"", "'"));
reportData = reportCubeService.getReportData(model, cube.getCube(), request, true, semap);
map.addAttribute("reportData", reportData);
} catch (Exception ex) {
map.addAttribute("msg", (ExceptionUtils.getMessage(ex).replaceAll("\r\n", "") + ExceptionUtils.getRootCauseMessage(ex)).replaceAll("\"", "'"));
}
}
map.addAttribute("eltemplet", templateRes.findByIdAndOrgi(model.getTempletid(), super.getOrgi(request)));
@ -325,10 +311,12 @@ public class ReportDesignController extends Handler {
map.addAttribute("tabid", tabid);
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign"));
}
private boolean canGetReportData(ReportModel model,Cube cube) {
private boolean canGetReportData(ReportModel model, Cube cube) {
return !model.getProperties().isEmpty() || !model.getColproperties().isEmpty() || !model.getMeasures().isEmpty();
}
private ReportModel getModel(String id,String orgi) {
private ReportModel getModel(String id, String orgi) {
ReportModel model = reportModelRes.findByIdAndOrgi(id, orgi);
if (model != null) {
model.setProperties(
@ -338,9 +326,9 @@ public class ReportDesignController extends Handler {
model.setMeasures(
columnPropertiesRepository.findByModelidAndCurOrderBySortindexAsc(model.getId(), "measure"));
List<ReportFilter> listFilters = reportFilterRepository.findByModelidOrderBySortindexAsc(model.getId());
if(!listFilters.isEmpty()) {
for(ReportFilter rf:listFilters) {
if(!StringUtils.isBlank(rf.getCascadeid())) {
if (!listFilters.isEmpty()) {
for (ReportFilter rf : listFilters) {
if (!StringUtils.isBlank(rf.getCascadeid())) {
rf.setChildFilter(reportFilterRepository.findByIdAndOrgi(rf.getCascadeid(), orgi));
}
}
@ -368,12 +356,10 @@ public class ReportDesignController extends Handler {
ReportModel model = this.getModel(mid, super.getOrgi(request));
if (!StringUtils.isBlank(cubeid)) {
model.setPublishedcubeid(cubeid);
if(model!=null) {
columnPropertiesRepository.delete(model.getProperties());
columnPropertiesRepository.delete(model.getColproperties());
columnPropertiesRepository.delete(model.getMeasures());
reportFilterRepository.delete(model.getFilters());
}
columnPropertiesRepository.deleteAll(model.getProperties());
columnPropertiesRepository.deleteAll(model.getColproperties());
columnPropertiesRepository.deleteAll(model.getMeasures());
reportFilterRepository.deleteAll(model.getFilters());
}
reportModelRes.save(model);
map.put("reportModel", model);
@ -383,7 +369,7 @@ public class ReportDesignController extends Handler {
@RequestMapping("/adddata")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView dimensionadd(ModelMap map, HttpServletRequest request, @Valid String cubeid, @Valid String t,@Valid String dtype,
public ModelAndView dimensionadd(ModelMap map, HttpServletRequest request, @Valid String cubeid, @Valid String t, @Valid String dtype,
@Valid String mid, @Valid String dim, @Valid String tabid) {
ModelAndView view = request(
super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/add"));
@ -402,15 +388,17 @@ public class ReportDesignController extends Handler {
map.addAttribute("dtype", dtype);
return view;
}
/**
* 添加过滤器
*
* @param map
* @param request
* @return
*/
@RequestMapping("/filteradd")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView filteradd(ModelMap map, HttpServletRequest request, @Valid String cubeid,@Valid String dtype,
public ModelAndView filteradd(ModelMap map, HttpServletRequest request, @Valid String cubeid, @Valid String dtype,
@Valid String mid) {
ModelAndView view = request(
super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/filteradd"));
@ -418,20 +406,21 @@ public class ReportDesignController extends Handler {
PublishedCube cube = publishedCubeRepository.findOne(cubeid);
map.addAttribute("cube", cube);
List<MetadataTable> metadataTable = new ArrayList<>();
for(CubeMetadata cm:cube.getCube().getMetadata()) {
if("0".equals(cm.getMtype())) {
map.addAttribute("table",cm.getTb());
map.addAttribute("fieldList",cm.getTb().getTableproperty());
for (CubeMetadata cm : cube.getCube().getMetadata()) {
if ("0".equals(cm.getMtype())) {
map.addAttribute("table", cm.getTb());
map.addAttribute("fieldList", cm.getTb().getTableproperty());
}
metadataTable.add(cm.getTb());
}
map.addAttribute("fktableList",metadataTable);
map.addAttribute("fktableList", metadataTable);
}
map.addAttribute("sysdicList", sysDicRes.findByParentid("0")) ;
map.addAttribute("sysdicList", sysDicRes.findByParentid("0"));
map.addAttribute("mid", mid);
map.addAttribute("dtype", dtype);
return view;
}
/**
* 保存过滤器
*
@ -441,25 +430,25 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/filtersave")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView filterupfiltersavedate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f,@Valid String tbppy) {
public ModelAndView filterupfiltersavedate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f, @Valid String tbppy) {
String modelId = "";
if (f != null) {
if(StringUtils.isBlank(f.getCode())) {
if (StringUtils.isBlank(f.getCode())) {
f.setCode(MainUtils.genID());
}
f.setOrgi(super.getOrgi(request));
f.setCreatetime(new Date());
f.setName(f.getTitle());
f.setDataname(f.getTitle());
if(MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
if (MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
f.setCascadeid(f.getCascadeid());
f.setTableproperty(null);
if(!StringUtils.isBlank(tbppy)) {
if (!StringUtils.isBlank(tbppy)) {
TableProperties t = new TableProperties();
t.setId(tbppy);
f.setTableproperty(t);
}
}else {
} else {
f.setCascadeid(null);
f.setTableproperty(null);
}
@ -469,18 +458,20 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/modeldesign.html?id=" + modelId + "&tabid=filter"));
}
@RequestMapping("/gettableid")
@Menu(type = "report" , subtype = "reportdesign")
public ModelAndView gettableid(ModelMap map , HttpServletRequest request , @Valid String tableid) {
if(!StringUtils.isBlank(tableid)){
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView gettableid(ModelMap map, HttpServletRequest request, @Valid String tableid) {
if (!StringUtils.isBlank(tableid)) {
map.put("fktableidList", tablePropertiesRes.findByDbtableid(tableid));
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/fktableid"));
}
@RequestMapping("/values")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView values(ModelMap map, HttpServletRequest request, @Valid String mid, @Valid String dsid,
@Valid String t, @Valid String d,@Valid String dtype, @Valid String m, @Valid String f, @Valid String tabid) throws Exception {
@Valid String t, @Valid String d, @Valid String dtype, @Valid String m, @Valid String f, @Valid String tabid) throws Exception {
ReportModel model = this.getModel(mid, super.getOrgi(request));
if (!StringUtils.isBlank(dsid)) {
model.setPublishedcubeid(dsid);
@ -507,9 +498,9 @@ public class ReportDesignController extends Handler {
}
if (!inlist) {
ColumnProperties col = new ColumnProperties();
if(StringUtils.isBlank(dtype)) {
if (StringUtils.isBlank(dtype)) {
col.setCur("field"); // 数据结构字段
}else{
} else {
col.setCur(dtype);
}
col.setId(MainUtils.genID());
@ -528,14 +519,14 @@ public class ReportDesignController extends Handler {
col.setColname(cubeLevel.getColumname());
col.setTitle(cubeLevel.getName());
}
col.setSortindex(("cfield".equals(dtype))?model.getColproperties().size()+1:model.getProperties().size() + 1);
col.setSortindex(("cfield".equals(dtype)) ? model.getColproperties().size() + 1 : model.getProperties().size() + 1);
col.setOrgi(super.getOrgi(request));
col.setModelid(model.getId());
columnPropertiesRepository.save(col);
}else {
if(!StringUtils.isBlank(dtype)) {
} else {
if (!StringUtils.isBlank(dtype)) {
currCp.setCur(dtype);
currCp.setSortindex(("cfield".equals(dtype))?model.getColproperties().size()+1:model.getProperties().size() + 1);
currCp.setSortindex(("cfield".equals(dtype)) ? model.getColproperties().size() + 1 : model.getProperties().size() + 1);
columnPropertiesRepository.save(currCp);
}
}
@ -633,34 +624,33 @@ public class ReportDesignController extends Handler {
*
* @param map
* @param request
* @param template
* @param id
* @return
* @throws Exception
*/
@RequestMapping("/getelement")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView getelement(ModelMap map, HttpServletRequest request, @Valid String id,@Valid String publishedid, HashMap<String,String> semap) throws Exception {
public ModelAndView getelement(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String publishedid, HashMap<String, String> semap) throws Exception {
if (!StringUtils.isBlank(id)) {
ReportModel model = this.getModel(id, super.getOrgi(request),publishedid);
if(model!=null) {
ReportModel model = this.getModel(id, super.getOrgi(request), publishedid);
if (model != null) {
map.addAttribute("eltemplet", MainUtils.getTemplate(model.getTempletid()));
}
map.addAttribute("element", model);
map.addAttribute("reportModel", model);
if (model != null && !StringUtils.isBlank(model.getPublishedcubeid())) {
List<PublishedCube> cubeList = publishedCubeRepository.findByIdAndOrgi(model.getPublishedcubeid() , super.getOrgi(request));
if(cubeList.size() > 0) {
PublishedCube cube = cubeList.get(0) ;
List<PublishedCube> cubeList = publishedCubeRepository.findByIdAndOrgi(model.getPublishedcubeid(), super.getOrgi(request));
if (cubeList.size() > 0) {
PublishedCube cube = cubeList.get(0);
map.addAttribute("cube", cube);
if (canGetReportData(model, cube.getCube())) {
ReportData reportData = null ;
ReportData reportData = null;
try {
reportData = reportCubeService.getReportData(model, cube.getCube(), request, true, semap) ;
map.addAttribute("reportData",reportData);
}catch(Exception ex) {
map.addAttribute("msg",ex.getMessage());
reportData = reportCubeService.getReportData(model, cube.getCube(), request, true, semap);
map.addAttribute("reportData", reportData);
} catch (Exception ex) {
map.addAttribute("msg", ex.getMessage());
}
}
}
@ -668,22 +658,23 @@ public class ReportDesignController extends Handler {
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/elementajax"));
}
private ReportModel getModel(String id,String orgi,String publishedid) {
if(!StringUtils.isBlank(publishedid)) {
private ReportModel getModel(String id, String orgi, String publishedid) {
if (!StringUtils.isBlank(publishedid)) {
PublishedReport publishedReport = publishedReportRes.findById(publishedid);
if(publishedReport!=null) {
if(publishedReport.getReport()!=null && !publishedReport.getReport().getReportModels().isEmpty()) {
for(ReportModel rm :publishedReport.getReport().getReportModels()) {
if(rm.getId().equals(id)) {
if (publishedReport != null) {
if (publishedReport.getReport() != null && !publishedReport.getReport().getReportModels().isEmpty()) {
for (ReportModel rm : publishedReport.getReport().getReportModels()) {
if (rm.getId().equals(id)) {
return rm;
}
}
}
return this.getModel(id, orgi);
}else{
} else {
return this.getModel(id, orgi);
}
}else {
} else {
return this.getModel(id, orgi);
}
@ -700,24 +691,25 @@ public class ReportDesignController extends Handler {
@RequestMapping("/rfilteredit")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView rfilteredit(ModelMap map, HttpServletRequest request, @Valid String fid) throws Exception {
map.addAttribute("sysdicList", sysDicRes.findByParentid("0")) ;
map.addAttribute("sysdicList", sysDicRes.findByParentid("0"));
if (!StringUtils.isBlank(fid)) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(fid, super.getOrgi(request));
if(rf!=null) {
if (rf != null) {
map.addAttribute("fktableList", metadataRes.findByOrgi(super.getOrgi(request)));
map.put("fktableidList", tablePropertiesRes.findByDbtableid(rf.getFktableid()));
if(!StringUtils.isBlank(rf.getCascadeid())) {
if (!StringUtils.isBlank(rf.getCascadeid())) {
ReportFilter rfcas = reportFilterRepository.findByIdAndOrgi(rf.getCascadeid(), super.getOrgi(request));
if(rfcas!=null) {
if (rfcas != null) {
map.put("fktableiddivList", tablePropertiesRes.findByDbtableid(rfcas.getFktableid()));
}
}
}
map.addAttribute("reportFilter", rf);
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(reportFilterRepository.findByReportidAndFiltertypeAndOrgi(rf.getReportid(), "report", super.getOrgi(request)),request));
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(reportFilterRepository.findByReportidAndFiltertypeAndOrgi(rf.getReportid(), "report", super.getOrgi(request)), request));
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/filteredit"));
}
/**
* 编辑过滤器
*
@ -727,7 +719,7 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/rfilterupdate")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView rfilterupdate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f,@Valid String tbppy) {
public ModelAndView rfilterupdate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f, @Valid String tbppy) {
String reportId = "";
if (!StringUtils.isBlank(f.getId())) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(f.getId(), super.getOrgi(request));
@ -751,19 +743,19 @@ public class ReportDesignController extends Handler {
rf.setFkfieldid(f.getFkfieldid());
rf.setFilterfieldid(f.getFilterfieldid());
if(MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
if (MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
rf.setCascadeid(f.getCascadeid());
rf.setTableproperty(null);
rf.setIsdic(f.isIsdic());
rf.setDiccode(f.getDiccode());
rf.setKeyfield(f.getKeyfield());
rf.setValuefield(f.getValuefield());
if(!StringUtils.isBlank(tbppy)) {
if (!StringUtils.isBlank(tbppy)) {
TableProperties t = new TableProperties();
t.setId(tbppy);
rf.setTableproperty(t);
}
}else {
} else {
rf.setCascadeid(null);
rf.setTableproperty(null);
rf.setIsdic(false);
@ -777,6 +769,7 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/index.html?id=" + reportId));
}
/**
* 编辑模型过滤器
*
@ -787,28 +780,28 @@ public class ReportDesignController extends Handler {
@RequestMapping("/filteredit")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView filteredit(ModelMap map, HttpServletRequest request, @Valid String fid) {
map.addAttribute("sysdicList", sysDicRes.findByParentid("0")) ;
map.addAttribute("sysdicList", sysDicRes.findByParentid("0"));
if (!StringUtils.isBlank(fid)) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(fid, super.getOrgi(request));
if(rf!=null) {
if (rf != null) {
if (!StringUtils.isBlank(rf.getCubeid())) {
PublishedCube cube = publishedCubeRepository.findOne(rf.getCubeid());
map.addAttribute("cube", cube);
List<MetadataTable> metadataTable = new ArrayList<>();
for(CubeMetadata cm:cube.getCube().getMetadata()) {
if("0".equals(cm.getMtype())) {
map.addAttribute("table",cm.getTb());
map.addAttribute("fieldList",cm.getTb().getTableproperty());
for (CubeMetadata cm : cube.getCube().getMetadata()) {
if ("0".equals(cm.getMtype())) {
map.addAttribute("table", cm.getTb());
map.addAttribute("fieldList", cm.getTb().getTableproperty());
}
metadataTable.add(cm.getTb());
}
if(!StringUtils.isBlank(rf.getCascadeid())) {
if (!StringUtils.isBlank(rf.getCascadeid())) {
ReportFilter rfcas = reportFilterRepository.findByIdAndOrgi(rf.getCascadeid(), super.getOrgi(request));
if(rfcas!=null) {
if (rfcas != null) {
map.put("fktableiddivList", tablePropertiesRes.findByDbtableid(rfcas.getFktableid()));
}
}
map.addAttribute("fktableList",metadataTable);
map.addAttribute("fktableList", metadataTable);
map.put("fktableidList", tablePropertiesRes.findByDbtableid(rf.getFktableid()));
}
ReportModel model = this.getModel(rf.getModelid(), super.getOrgi(request));
@ -818,6 +811,7 @@ public class ReportDesignController extends Handler {
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/filteredit"));
}
/**
* 编辑过滤器
*
@ -827,7 +821,7 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/filterupdate")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView filterupdate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f,@Valid String tbppy) {
public ModelAndView filterupdate(ModelMap map, HttpServletRequest request, @Valid ReportFilter f, @Valid String tbppy) {
String modelId = "";
if (!StringUtils.isBlank(f.getId())) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(f.getId(), super.getOrgi(request));
@ -851,19 +845,19 @@ public class ReportDesignController extends Handler {
rf.setFkfieldid(f.getFkfieldid());
rf.setFilterfieldid(f.getFilterfieldid());
if(MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
if (MainContext.FilterConValueType.AUTO.toString().equals(f.getConvalue()) && MainContext.FilterModelType.SIGSEL.toString().equals(f.getModeltype())) {
rf.setCascadeid(f.getCascadeid());
rf.setTableproperty(null);
rf.setIsdic(f.isIsdic());
rf.setDiccode(f.getDiccode());
rf.setKeyfield(f.getKeyfield());
rf.setValuefield(f.getValuefield());
if(!StringUtils.isBlank(tbppy)) {
if (!StringUtils.isBlank(tbppy)) {
TableProperties t = new TableProperties();
t.setId(tbppy);
rf.setTableproperty(t);
}
}else {
} else {
rf.setCascadeid(null);
rf.setTableproperty(null);
rf.setIsdic(false);
@ -877,15 +871,16 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/modeldesign.html?id=" + modelId + "&tabid=filter"));
}
@RequestMapping("/fktableid")
@Menu(type = "report" , subtype = "reportdesign" , admin= true)
public ModelAndView fktableid(ModelMap map , HttpServletRequest request , @Valid String fid,@Valid String fkId) {
@Menu(type = "report", subtype = "reportdesign", admin = true)
public ModelAndView fktableid(ModelMap map, HttpServletRequest request, @Valid String fid, @Valid String fkId) {
if (!StringUtils.isBlank(fid)) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(fid, super.getOrgi(request));
if(rf!=null) {
if(!StringUtils.isBlank(fkId)) {
if (rf != null) {
if (!StringUtils.isBlank(fkId)) {
ReportFilter rfcas = reportFilterRepository.findByIdAndOrgi(fkId, super.getOrgi(request));
if(rfcas!=null) {
if (rfcas != null) {
map.put("fktableiddivList", tablePropertiesRes.findByDbtableid(rfcas.getFktableid()));
}
}
@ -894,6 +889,7 @@ public class ReportDesignController extends Handler {
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/fktableiddiv"));
}
/**
* 编辑过滤器
*
@ -915,6 +911,7 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/modeldesign.html?id=" + modelId + "&tabid=filter"));
}
/**
* 编辑过滤器
*
@ -936,6 +933,7 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/index.html?id=" + reportId));
}
/**
* 排序
*
@ -945,26 +943,26 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/sort")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView sort(ModelMap map, HttpServletRequest request,@Valid String modelId,@Valid String type, @Valid String[] sort, @Valid String[] colsort, @Valid String[] rowsort) {
public ModelAndView sort(ModelMap map, HttpServletRequest request, @Valid String modelId, @Valid String type, @Valid String[] sort, @Valid String[] colsort, @Valid String[] rowsort) {
String tabid = "data";
if (!StringUtils.isBlank(type)) {
if("dim".equals(type) || "measure".equals(type)) {
if(sort!=null && sort.length > 0 ) {
if ("dim".equals(type) || "measure".equals(type)) {
if (sort != null && sort.length > 0) {
int index = 1;
for(String id:sort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id,super.getOrgi(request));
if(col!=null) {
for (String id : sort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (col != null) {
col.setSortindex(index);
columnPropertiesRepository.save(col);
index++;
}
}
}
if(colsort!=null && colsort.length > 0 ) {
if (colsort != null && colsort.length > 0) {
int index = 1;
for(String id:colsort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id,super.getOrgi(request));
if(col!=null) {
for (String id : colsort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (col != null) {
col.setSortindex(index);
col.setCur("cfield");
columnPropertiesRepository.save(col);
@ -972,11 +970,11 @@ public class ReportDesignController extends Handler {
}
}
}
if(rowsort!=null && rowsort.length > 0 ) {
if (rowsort != null && rowsort.length > 0) {
int index = 1;
for(String id:rowsort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id,super.getOrgi(request));
if(col!=null) {
for (String id : rowsort) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (col != null) {
col.setSortindex(index);
col.setCur("field");
columnPropertiesRepository.save(col);
@ -984,13 +982,13 @@ public class ReportDesignController extends Handler {
}
}
}
}else {
} else {
tabid = "filter";
if(sort!=null && sort.length > 0 ) {
if (sort != null && sort.length > 0) {
int index = 1;
for(String id:sort) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(id,super.getOrgi(request));
if(rf!=null) {
for (String id : sort) {
ReportFilter rf = reportFilterRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (rf != null) {
rf.setSortindex(index);
reportFilterRepository.save(rf);
index++;
@ -1000,7 +998,7 @@ public class ReportDesignController extends Handler {
}
}
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/modeldesign.html?id=" + modelId + "&tabid="+tabid));
"redirect:/apps/report/design/modeldesign.html?id=" + modelId + "&tabid=" + tabid));
}
/**
@ -1038,7 +1036,7 @@ public class ReportDesignController extends Handler {
if (!StringUtils.isBlank(id)) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (col != null) {
map.put("col", col) ;
map.put("col", col);
}
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/measureedit"));
@ -1053,12 +1051,12 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/columnupdate")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView columnupdte(ModelMap map, HttpServletRequest request, @Valid String id,@Valid String title, @Valid String mid) {
public ModelAndView columnupdte(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String title, @Valid String mid) {
if (!StringUtils.isBlank(id) && !StringUtils.isBlank(title)) {
ColumnProperties col = columnPropertiesRepository.findByIdAndOrgi(id, super.getOrgi(request));
if (col != null) {
col.setTitle(title);
columnPropertiesRepository.save(col) ;
columnPropertiesRepository.save(col);
}
}
return request(super.createRequestPageTempletResponse(
@ -1075,7 +1073,7 @@ public class ReportDesignController extends Handler {
ChartProperties oldChartppy = model.getChartProperties();
oldChartppy.setChartype(tp.getCharttype());
Base64 base64 = new Base64();
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(oldChartppy))) ;
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(oldChartppy)));
reportModelRes.save(model);
}
return request(super.createRequestPageTempletResponse(
@ -1084,30 +1082,30 @@ public class ReportDesignController extends Handler {
@RequestMapping("/changechartppy")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView changechartppy(ModelMap map,HttpServletRequest request, @Valid ReportModel reportModel, @Valid ChartProperties chartProperties, HashMap<String,String> semap) throws Exception {
public ModelAndView changechartppy(ModelMap map, HttpServletRequest request, @Valid ReportModel reportModel, @Valid ChartProperties chartProperties, HashMap<String, String> semap) throws Exception {
ReportModel model = this.getModel(reportModel.getId(), super.getOrgi(request));
if (null!=model) {
if (null != model) {
model.setExchangerw(reportModel.isExchangerw());
model.setIsloadfulldata("true".equals(reportModel.getIsloadfulldata())?"true":"false");
model.setIsloadfulldata("true".equals(reportModel.getIsloadfulldata()) ? "true" : "false");
model.setPagesize(reportModel.getPagesize());
ChartProperties oldChartppy = model.getChartProperties();
oldChartppy = oldChartppy==null? new ChartProperties():oldChartppy;
oldChartppy = oldChartppy == null ? new ChartProperties() : oldChartppy;
oldChartppy.setLegen(chartProperties.isLegen());
oldChartppy.setLegenalign(chartProperties.getLegenalign());
oldChartppy.setDataview(chartProperties.isDataview());
oldChartppy.setFormat(StringUtils.isBlank(chartProperties.getFormat())?"val":chartProperties.getFormat());
oldChartppy.setFormat(StringUtils.isBlank(chartProperties.getFormat()) ? "val" : chartProperties.getFormat());
Base64 base64 = new Base64();
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(oldChartppy))) ;
model.setChartcontent(base64.encodeToString(MainUtils.toBytes(oldChartppy)));
reportModelRes.save(model);
}
map.addAttribute("eltemplet", templateRes.findByIdAndOrgi(model.getTempletid(), super.getOrgi(request)));
map.addAttribute("element", model);
map.addAttribute("reportModel", model);
if (model != null && !StringUtils.isBlank(model.getPublishedcubeid())) {
if (!StringUtils.isBlank(model.getPublishedcubeid())) {
PublishedCube cube = publishedCubeRepository.findOne(model.getPublishedcubeid());
map.addAttribute("cube", cube);
if (!model.getMeasures().isEmpty()) {
map.addAttribute("reportData",reportCubeService.getReportData(model, cube.getCube(), request, true, semap));
map.addAttribute("reportData", reportCubeService.getReportData(model, cube.getCube(), request, true, semap));
}
}
return request(super.createRequestPageTempletResponse("/apps/business/report/design/elementajax"));
@ -1124,55 +1122,55 @@ public class ReportDesignController extends Handler {
*/
@RequestMapping("/filtervalchange")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView filtervalchange(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String fid,@Valid String publishedid)
public ModelAndView filtervalchange(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String fid, @Valid String publishedid)
throws Exception {
if(StringUtils.isBlank(publishedid)) {
if (StringUtils.isBlank(publishedid)) {
ReportFilter filter = reportFilterRepository.findByIdAndOrgi(fid, super.getOrgi(request));
if(filter!=null) {
if("report".equals(filter.getFiltertype())) {
if (filter != null) {
if ("report".equals(filter.getFiltertype())) {
ReportModel model = new ReportModel();
List<ReportFilter> reportFilterList = reportFilterRepository.findByReportidAndFiltertypeAndOrgi(filter.getReportid(), "report", super.getOrgi(request));
model.setFilters(reportFilterList);
map.addAttribute("filter", reportCubeService.processFilter(model, filter,null, request));
}else {
map.addAttribute("filter", reportCubeService.processFilter(model, filter, null, request));
} else {
ReportModel model = this.getModel(id, super.getOrgi(request));
if (model!=null && !StringUtils.isBlank(fid) && !StringUtils.isBlank(model.getPublishedcubeid())) {
if (model != null && !StringUtils.isBlank(fid) && !StringUtils.isBlank(model.getPublishedcubeid())) {
PublishedCube cube = publishedCubeRepository.findOne(model.getPublishedcubeid());
map.addAttribute("filter", reportCubeService.processFilter(model, filter, cube.getCube(), request));
}
}
}
}else {
} else {
PublishedReport publishedReport = publishedReportRes.findById(publishedid);
if(publishedReport!=null) {
if (publishedReport != null) {
map.addAttribute("publishedReport", publishedReport);
ReportFilter filter = null;
for(ReportFilter f : publishedReport.getReport().getReportFilters()) {
if(!StringUtils.isBlank(fid) && f.getId().equals(fid)) {
for (ReportFilter f : publishedReport.getReport().getReportFilters()) {
if (!StringUtils.isBlank(fid) && f.getId().equals(fid)) {
filter = f;
break;
}
}
ReportModel model = null;
for(ReportModel rm:publishedReport.getReport().getReportModels()) {
if(id.equals(rm.getId())) {
for (ReportModel rm : publishedReport.getReport().getReportModels()) {
if (id.equals(rm.getId())) {
model = rm;
}
for(ReportFilter f:rm.getFilters()) {
if(!StringUtils.isBlank(fid) && f.getId().equals(fid)) {
for (ReportFilter f : rm.getFilters()) {
if (!StringUtils.isBlank(fid) && f.getId().equals(fid)) {
filter = f;
break;
}
}
}
if(filter!=null) {
if("report".equals(filter.getFiltertype())) {
if (filter != null) {
if ("report".equals(filter.getFiltertype())) {
ReportModel modelr = new ReportModel();
List<ReportFilter> reportFilterList = publishedReport.getReport().getReportFilters();
modelr.setFilters(reportFilterList);
map.addAttribute("filter", reportCubeService.processFilter(modelr, filter,null, request));
}else {
if (model!=null && !StringUtils.isBlank(fid) && !StringUtils.isBlank(model.getPublishedcubeid())) {
map.addAttribute("filter", reportCubeService.processFilter(modelr, filter, null, request));
} else {
if (model != null && !StringUtils.isBlank(fid) && !StringUtils.isBlank(model.getPublishedcubeid())) {
PublishedCube cube = publishedCubeRepository.findOne(model.getPublishedcubeid());
map.addAttribute("filter", reportCubeService.processFilter(model, filter, cube.getCube(), request));
}
@ -1183,88 +1181,92 @@ public class ReportDesignController extends Handler {
return request(super.createRequestPageTempletResponse("/apps/business/report/design/modeldesign/filter"));
}
@RequestMapping("/editmodelname")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView editmodelname(ModelMap map,HttpServletRequest request, @Valid String id, @Valid String name) {
public ModelAndView editmodelname(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String name) {
map.addAttribute("id", id);
map.addAttribute("name", name);
return request(super.createRequestPageTempletResponse(
"/apps/business/report/design/modeldesign/editmodelname"));
}
@RequestMapping("/updatemodelname")
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView updatemodelname(ModelMap map,HttpServletRequest request,@Valid String name, @Valid String id) {
public ModelAndView updatemodelname(ModelMap map, HttpServletRequest request, @Valid String name, @Valid String id) {
ReportModel model = this.getModel(id, super.getOrgi(request));
if(!StringUtils.isBlank(name)) {
if (!StringUtils.isBlank(name)) {
model.setName(name);
reportModelRes.save(model);
}
return request(super.createRequestPageTempletResponse(
"redirect:/apps/report/design/modeldesign.html?id=" + model.getId() + "&tabid=data"));
}
/**
* 报表发布页面加载
*
* @param request
* @param cubeid
* @return
* @throws Exception
*/
@RequestMapping("/reportpublish")
@Menu(type = "report" , subtype = "reportdesign" )
public ModelAndView reportpublish(ModelMap map ,HttpServletRequest request , @Valid String reportid) throws Exception{
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView reportpublish(ModelMap map, HttpServletRequest request, @Valid String reportid) throws Exception {
map.put("reportid", reportid);
return request(super.createRequestPageTempletResponse("/apps/business/report/reportpublish"));
}
/**
* 报表发布
*
* @param request
* @param reportid
* @return
* @throws Exception
*/
@RequestMapping("/reportpublished")
@Menu(type = "report" , subtype = "reportdesign" )
public ModelAndView reportpublished(ModelMap map ,HttpServletRequest request , @Valid String reportid,@Valid String isRecover) throws Exception{
@Menu(type = "report", subtype = "reportdesign")
public ModelAndView reportpublished(ModelMap map, HttpServletRequest request, @Valid String reportid, @Valid String isRecover) throws Exception {
User user = super.getUser(request);
if(!StringUtils.isBlank(reportid)) {
if (!StringUtils.isBlank(reportid)) {
Report report = reportRes.findByIdAndOrgi(reportid, super.getOrgi(request));
List<ReportModel> reportModels = reportModelRes.findByOrgiAndReportid(super.getOrgi(request), reportid);
for(ReportModel r:reportModels){
for (ReportModel r : reportModels) {
getModel(r.getId(), super.getOrgi(request));
}
report.setReportModels(reportModels);
List<ReportFilter> reportFilters = reportCubeService.fillReportFilterData(reportFilterRepository.findByReportidAndFiltertypeAndOrgi(reportid, "report", super.getOrgi(request)),request);
List<ReportFilter> reportFilters = reportCubeService.fillReportFilterData(reportFilterRepository.findByReportidAndFiltertypeAndOrgi(reportid, "report", super.getOrgi(request)), request);
report.setReportFilters(reportFilters);
PublishedReport publishedReport = new PublishedReport();
MainUtils.copyProperties(report, publishedReport, "");
publishedReport.setId(null);
Base64 base64 = new Base64();
publishedReport.setReportcontent(base64.encodeToString(MainUtils.toBytes(report))) ;
publishedReport.setReportcontent(base64.encodeToString(MainUtils.toBytes(report)));
publishedReport.setDataid(reportid);
publishedReport.setCreatetime(new Date());
publishedReport.setCreater(user.getId());
List<PublishedReport> pbReportList = publishedReportRes.findByOrgiAndDataidOrderByDataversionDesc(super.getOrgi(request), reportid);
if(!pbReportList.isEmpty()){
int maxVersion = pbReportList.get(0).getDataversion() ;
if("yes".equals(isRecover)){
publishedReport.setId(pbReportList.get(0).getId()) ;
if (!pbReportList.isEmpty()) {
int maxVersion = pbReportList.get(0).getDataversion();
if ("yes".equals(isRecover)) {
publishedReport.setId(pbReportList.get(0).getId());
publishedReport.setDataversion(pbReportList.get(0).getDataversion());
publishedReportRes.save(publishedReport);
}else if("no".equals(isRecover)){
publishedReport.setDataversion(maxVersion+1) ;
} else if ("no".equals(isRecover)) {
publishedReport.setDataversion(maxVersion + 1);
publishedReportRes.save(publishedReport);
}else{
publishedReportRes.delete(pbReportList);
publishedReport.setDataversion(1) ;
} else {
publishedReportRes.deleteAll(pbReportList);
publishedReport.setDataversion(1);
publishedReportRes.save(publishedReport);
}
}else{
publishedReport.setDataversion(1) ;
} else {
publishedReport.setDataversion(1);
publishedReportRes.save(publishedReport);
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid="+publishedReport.getDicid()));
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + publishedReport.getDicid()));
}
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html"));
}

View File

@ -21,15 +21,15 @@ import org.springframework.data.jpa.repository.JpaRepository;
import java.util.List;
public interface TablePropertiesRepository extends JpaRepository<TableProperties, String>{
public interface TablePropertiesRepository extends JpaRepository<TableProperties, String> {
TableProperties findById(String id);
// TableProperties findById(String id);
List<TableProperties> findByDbtableid(String dbtableid) ;
List<TableProperties> findByDbtableid(String dbtableid);
List<TableProperties> findByTablename(String tablename) ;
List<TableProperties> findByTablename(String tablename);
List<TableProperties> findBySecfield(boolean secfield) ;
List<TableProperties> findBySecfield(boolean secfield);
TableProperties findByTablenameAndFieldname(String tablename, String fieldname) ;
// TableProperties findByTablenameAndFieldname(String tablename, String fieldname) ;
}