Commit 86cf65a3 by yuwei

项目初始化

parent ddca17e6
......@@ -18,8 +18,10 @@ import cn.datax.service.data.visual.service.ChartService;
import cn.datax.service.data.visual.mapstruct.ChartMapper;
import cn.datax.service.data.visual.dao.ChartDao;
import cn.datax.common.base.BaseServiceImpl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
......@@ -125,11 +127,26 @@ public class ChartServiceImpl extends BaseServiceImpl<ChartDao, ChartEntity> imp
List<ChartItem> groups = new ArrayList<>();
groups.addAll(rows);
groups.addAll(columns);
String groupJoining = groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", ", " ", ","));
sql.append("SELECT").append(groupJoining);
String measureJoining = Optional.ofNullable(measures).orElse(new ArrayList<>()).stream().map(s -> new StringBuilder().append(s.getAggregateType()).append("(").append(s.getCol()).append(") AS ").append(s.getCol())).collect(Collectors.joining(", ", " ", " "));
sql.append(measureJoining);
sql.append("FROM (").append(setSql).append(") TEMP_VIEW ").append("GROUP BY ").append(groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", ")));
sql.append("SELECT");
String groupJoining = null;
String measureJoining = null;
if (CollUtil.isNotEmpty(groups)) {
groupJoining = groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", ", " ", " "));
sql.append(groupJoining);
}
if (CollUtil.isNotEmpty(measures)) {
if (StrUtil.isNotBlank(groupJoining)) {
sql.append(",");
} else {
sql.append(" ");
}
measureJoining = measures.stream().map(s -> new StringBuilder().append(s.getAggregateType()).append("(").append(s.getCol()).append(") AS ").append(s.getCol())).collect(Collectors.joining(", ", " ", " "));
sql.append(measureJoining);
}
sql.append("FROM (").append(setSql).append(") TEMP_VIEW");
if (CollUtil.isNotEmpty(groups)) {
sql.append(" GROUP BY ").append(groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", ")));
}
List<Map<String, Object>> data = dbQuery.queryList(sql.toString());
Map<String, Object> map = new HashMap<>(2);
map.put("data", data);
......
......@@ -4,9 +4,9 @@ const chartTypes = [
status: true,
component: 'ChartTable',
rule: {
text: '0个或多个 行维;0个或多个 列维;0个或多个 指标',
text: '1个或多个 行维;0个或多个 列维;1个或多个 指标',
check(rows, columns, measures) {
return rows.length >= 0 && columns.length >= 0 && measures.length >= 0
return rows.length >= 1 && columns.length >= 0 && measures.length >= 1
}
}
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment