Просмотр исходного кода

柱状图查询开启Mybatis缓存

chenw 6 лет назад
Родитель
Сommit
bb0de5fde9

+ 2 - 0
bi-server/src/main/java/com/usoftchina/bi/server/dao/chart/ShowChartsMapper.java

@@ -3,6 +3,7 @@ package com.usoftchina.bi.server.dao.chart;
 import com.usoftchina.bi.core.base.TestPage;
 import com.usoftchina.bi.server.model.bo.*;
 import com.usoftchina.bi.server.model.po.TargetData;
+import org.apache.ibatis.annotations.CacheNamespace;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -13,6 +14,7 @@ import java.util.List;
 
 @Mapper
 @Repository
+@CacheNamespace
 public interface ShowChartsMapper {
     /*
     查询X轴列数

+ 3 - 1
bi-server/src/main/java/com/usoftchina/bi/server/model/bo/HistogramData.java

@@ -1,10 +1,12 @@
 package com.usoftchina.bi.server.model.bo;
 
+import java.io.Serializable;
+
 /**
  * @Author chenwei
  * @Date 2019-06-21
  */
-public class HistogramData {
+public class HistogramData implements Serializable {
 
     private String name;
 

+ 3 - 1
bi-server/src/main/java/com/usoftchina/bi/server/model/bo/HistogramGroupData.java

@@ -1,10 +1,12 @@
 package com.usoftchina.bi.server.model.bo;
 
+import java.io.Serializable;
+
 /**
  * @Author chenwei
  * @Date 2019-06-21
  */
-public class HistogramGroupData {
+public class HistogramGroupData implements Serializable {
 
     private String name;
 

+ 4 - 12
bi-server/src/main/java/com/usoftchina/bi/server/service/chart/ShowHistogramService.java

@@ -47,8 +47,6 @@ public class ShowHistogramService {
         Assert.notNull(histogramConfigInfo, "参数不能为空");
         /* 变量定义 */
         ChartsDataInfo chartsDataInfo = new ChartsDataInfo();
-        TimeReture timeReture = new TimeReture();
-        Series series = new Series();
         String xColumn = histogramConfigInfo.getxAxis().getColumnRename(),
                yColumn = histogramConfigInfo.getyAxis().getColumnRename(),
                yType = histogramConfigInfo.getyAxis().getShowDataType(),
@@ -58,8 +56,7 @@ public class ShowHistogramService {
                sort = StringUtils.isEmpty(histogramConfigInfo.getSort()) ? xColumn : histogramConfigInfo.getSort(),
                rule = StringUtils.isEmpty(histogramConfigInfo.getRule()) ? "ASC" : histogramConfigInfo.getRule();
         List<String> groupBy = histogramConfigInfo.getGroups(),         //分组
-                     xAxisData = new ArrayList<String>(),               //X轴自己用
-                     xData = new ArrayList<String>();                   //X轴前端用
+                     xAxisData = new ArrayList<String>();               //X轴自己用
         List<Double> value = new ArrayList<Double>();
         List<Series> serieses = new ArrayList<Series>();                //生成柱状图的系列
         int id = histogramConfigInfo.getId();
@@ -93,11 +90,10 @@ public class ShowHistogramService {
                 scr = screenUtil.screensUtil(screens, xColumn, xColumnType);
                 screen = scr.getRet();
                 screenToColumn = scr.getWithColumnRet();
-                StringBuilder sb = new StringBuilder(screenToColumn);
                 if (StringUtils.isEmpty(screenToColumn)){
                     screenToColumnS = screen;               //and
                 } else {
-                    screenToColumnS = sb.replace(1, 5, "") + screen;
+                    screenToColumnS = screenToColumn.substring(5) + screen;
                 }
             }else {
                 screenToColumnS = " 1 = 1 ";
@@ -118,8 +114,7 @@ public class ShowHistogramService {
                 xAxisData = histogramList.stream().map(HistogramData::getName).collect(Collectors.toList());
                 chartsDataInfo.setxAxis(xAxisData);
                 value = histogramList.stream().map(HistogramData::getValue).collect(Collectors.toList());
-                series.setName(xColumn);
-                series.setValue(value);
+                Series series = new Series(xColumn, value, null);
                 serieses.add(series);
             }else {
                 fieldName = fieldName + ", nvl(" + groupBy.get(0) + ",'空') as groupName ";
@@ -162,10 +157,7 @@ public class ShowHistogramService {
                     String key = it.next();
                     List<HistogramGroupData> histogramGroupDataList = histogramGroupMap.get(key);
                     value = histogramGroupDataList.stream().map(HistogramGroupData::getValue).collect(Collectors.toList()).subList(0, xAxisData.size());
-                    series = new Series();
-                    series.setName(key);
-                    series.setValue(value);
-                    series.setStack(groupBy.get(0));
+                    Series series = new Series(key, value, groupBy.get(0));
                     serieses.add(series);
                 }while (it.hasNext() && i <= 20);
             }