refactor(chart): 优化图表模板和记录功能
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.tiesheng.role.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.write.style.row.SimpleRowHeightStyleStrategy;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
@@ -56,6 +57,10 @@ public class ChartRecordController {
|
||||
dto.getTableXField(), dto.getWhere(),
|
||||
dto.getTemplate().getSField(),
|
||||
dto.getTableGroupBy());
|
||||
chartRecordVOS.forEach(it -> {
|
||||
it.put("xField", StrUtil.emptyToDefault(it.getString("xField"), "未分类"));
|
||||
});
|
||||
|
||||
return ApiResp.respOK(TsTableVO.of(dto.getTemplate(), chartRecordVOS));
|
||||
} catch (Exception e) {
|
||||
throw new ApiException("表或字段配置有误,请检查");
|
||||
@@ -81,6 +86,7 @@ public class ChartRecordController {
|
||||
}
|
||||
|
||||
List<List<String>> contents = new ArrayList<>();
|
||||
|
||||
for (JSONObject obj : tsTableVO.getDataSource()) {
|
||||
List<String> data = new ArrayList<>();
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.tiesheng.annotation.role.RoleAuthority;
|
||||
import com.tiesheng.annotation.token.TokenIgnore;
|
||||
import com.tiesheng.role.pojos.dao.CoreChartTable;
|
||||
import com.tiesheng.role.pojos.dao.CoreChartTemplate;
|
||||
import com.tiesheng.role.pojos.dto.ChartTableEditDTO;
|
||||
@@ -143,4 +144,19 @@ public class ChartTemplateController {
|
||||
return ApiResp.respOK("");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取table详情
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/table/info")
|
||||
@TokenIgnore
|
||||
public ApiResp<CoreChartTable> getTableInfo(String tableName) {
|
||||
return ApiResp.respOK(chartService.getCoreChartTableMapper().selectOne(new QueryWrapper<CoreChartTable>()
|
||||
.eq("is_deleted", 0)
|
||||
.eq("table_name", tableName)
|
||||
.last("limit 1")
|
||||
));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.tiesheng.role.pojos.dto;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
@@ -16,12 +17,15 @@ public class ChartTemplateCheck {
|
||||
|
||||
private String templateId;
|
||||
private CoreChartTemplate template;
|
||||
private String xFormat;
|
||||
private List<ChartTemplateEditDTO.TemplateExt> exts;
|
||||
|
||||
|
||||
@JSONField(serialize = false)
|
||||
public String getTableXField() {
|
||||
if (StrUtil.isNotEmpty(template.getXFormat())) {
|
||||
return StrUtil.format("DATE_FORMAT({},'{}')", getTemplate().getXField(), getTemplate().getXFormat());
|
||||
String tmpXFormat = StrUtil.emptyToDefault(getXFormat(), getTemplate().getXFormat());
|
||||
if (StrUtil.isNotEmpty(tmpXFormat)) {
|
||||
return StrUtil.format("DATE_FORMAT({},'{}')", getTemplate().getXField(), tmpXFormat);
|
||||
}
|
||||
return getTemplate().getXField();
|
||||
}
|
||||
@@ -44,13 +48,19 @@ public class ChartTemplateCheck {
|
||||
|
||||
@JSONField(serialize = false)
|
||||
public String getWhere() {
|
||||
List<ChartTemplateEditDTO.TemplateExt> templateExts = JSON.parseArray(getTemplate().getExts(), ChartTemplateEditDTO.TemplateExt.class);
|
||||
if (templateExts == null || templateExts.isEmpty()) {
|
||||
if (CollUtil.isEmpty(getExts())) {
|
||||
setExts(JSON.parseArray(getTemplate().getExts(), ChartTemplateEditDTO.TemplateExt.class));
|
||||
}
|
||||
if (CollUtil.isEmpty(getExts())) {
|
||||
return "";
|
||||
}
|
||||
|
||||
List<String> list = new ArrayList<>();
|
||||
for (ChartTemplateEditDTO.TemplateExt templateExt : templateExts) {
|
||||
for (ChartTemplateEditDTO.TemplateExt templateExt : getExts()) {
|
||||
if (templateExt.isErrorExt()) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Objects.equals(templateExt.getAction(), "eq")) {
|
||||
list.add(StrUtil.format("{} = '{}'", templateExt.getKey(), templateExt.getValue()));
|
||||
} else if (Objects.equals(templateExt.getAction(), "ne")) {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package com.tiesheng.role.pojos.dto;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.annotation.JSONField;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
@@ -35,6 +37,18 @@ public class ChartTemplateEditDTO {
|
||||
private String key;
|
||||
private String action;
|
||||
private String value;
|
||||
|
||||
|
||||
/**
|
||||
* 该数据是否有效
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@JSONField(serialize = false)
|
||||
public boolean isErrorExt() {
|
||||
return StrUtil.isEmpty(getKey()) || StrUtil.isEmpty(getAction()) || StrUtil.isEmpty(getValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user