Commit 86cf65a3 by yuwei

项目初始化

parent ddca17e6
...@@ -18,8 +18,10 @@ import cn.datax.service.data.visual.service.ChartService; ...@@ -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.mapstruct.ChartMapper;
import cn.datax.service.data.visual.dao.ChartDao; import cn.datax.service.data.visual.dao.ChartDao;
import cn.datax.common.base.BaseServiceImpl; import cn.datax.common.base.BaseServiceImpl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
...@@ -125,11 +127,26 @@ public class ChartServiceImpl extends BaseServiceImpl<ChartDao, ChartEntity> imp ...@@ -125,11 +127,26 @@ public class ChartServiceImpl extends BaseServiceImpl<ChartDao, ChartEntity> imp
List<ChartItem> groups = new ArrayList<>(); List<ChartItem> groups = new ArrayList<>();
groups.addAll(rows); groups.addAll(rows);
groups.addAll(columns); groups.addAll(columns);
String groupJoining = groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", ", " ", ",")); sql.append("SELECT");
sql.append("SELECT").append(groupJoining); String groupJoining = null;
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(", ", " ", " ")); String measureJoining = null;
sql.append(measureJoining); if (CollUtil.isNotEmpty(groups)) {
sql.append("FROM (").append(setSql).append(") TEMP_VIEW ").append("GROUP BY ").append(groups.stream().map(s -> s.getCol()).collect(Collectors.joining(", "))); 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()); List<Map<String, Object>> data = dbQuery.queryList(sql.toString());
Map<String, Object> map = new HashMap<>(2); Map<String, Object> map = new HashMap<>(2);
map.put("data", data); map.put("data", data);
......
...@@ -4,9 +4,9 @@ const chartTypes = [ ...@@ -4,9 +4,9 @@ const chartTypes = [
status: true, status: true,
component: 'ChartTable', component: 'ChartTable',
rule: { rule: {
text: '0个或多个 行维;0个或多个 列维;0个或多个 指标', text: '1个或多个 行维;0个或多个 列维;1个或多个 指标',
check(rows, columns, measures) { 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