Pārlūkot izejas kodu

'分组/个体统计接口设计'

heqinwei 7 gadi atpakaļ
vecāks
revīzija
a54d0a6982

+ 8 - 15
src/main/java/com/controller/ChartsConfigController.java

@@ -17,21 +17,6 @@ import java.util.List;
 public class ChartsConfigController {
     @Autowired
     ChartsConfigService chartsConfigService;
-    /*
-    总体统计数据表
-     */
-//    @RequestMapping("/inputAggregate")
-//   public RepEntity inputAggregate(@RequestBody ChartConfigInfo<AggregateTable> body){
-//        return chartsConfigService.setChartsConfig(body);
-//   }
-
-   /*
-   个人统计数据表
-    */
-//   @RequestMapping("/inputDataView")
-//   public RepEntity inputDataView(@RequestBody ChartConfigInfo body){
-//       return chartsConfigService.setChartsConfig(body);
-//   }
 
    /*
    添加
@@ -89,6 +74,14 @@ public class ChartsConfigController {
         return chartsConfigService.updataDataConnectorGroup(body);
     }
 
+    /*
+    批量更新图表
+     */
+    @RequestMapping("/updataListGroup")
+    public RepEntity updataListGroup(@RequestBody List<GroupInfo> body){
+        return chartsConfigService.updataListGroup(body);
+    }
+
     /*
     删除图表分组
      */

+ 12 - 3
src/main/java/com/controller/DataConnectorController.java

@@ -1,6 +1,5 @@
 package com.controller;
 
-import com.model.bo.Pages;
 import com.model.bo.ToSql;
 import com.model.pojo.RepEntity;
 import com.model.vo.configVo.DataConnectorInfo;
@@ -37,8 +36,8 @@ public class DataConnectorController {
     查看数据源列表
      */
     @RequestMapping("/getListDataConnector")
-    public RepEntity getListDataConnector(@RequestBody Pages body){
-        return dataConnectorService.getListConnector(body);
+    public RepEntity getListDataConnector(){
+        return dataConnectorService.getListConnector();
     }
 
     /*
@@ -57,6 +56,8 @@ public class DataConnectorController {
         return dataConnectorService.updateData(body);
     }
 
+
+
     /*
     删除配置
      */
@@ -90,6 +91,14 @@ public class DataConnectorController {
         return dataConnectorService.updataDataConnectorGroup(body);
     }
 
+    /*
+    批量更新数据源分组
+     */
+    @RequestMapping("/updataConnectorGroup")
+    public RepEntity updataConnectorGroup(@RequestBody List<GroupInfo> body){
+        return dataConnectorService.updataConnectorGroups(body);
+    }
+
     /*
     删除数据源分组
      */

+ 12 - 8
src/main/java/com/controller/ShowChartsController.java

@@ -1,14 +1,8 @@
 package com.controller;
 
 import com.model.pojo.RepEntity;
-import com.model.vo.configVo.HistogramConfigInfo;
-import com.model.vo.configVo.LineConfigInfo;
-import com.model.vo.configVo.PieConfigInfo;
-import com.model.vo.configVo.ScatterConfigInfo;
-import com.server.ShowHistogramService;
-import com.server.ShowLineService;
-import com.server.ShowPieService;
-import com.server.ShowScatterService;
+import com.model.vo.configVo.*;
+import com.server.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -25,6 +19,8 @@ public class ShowChartsController {
     ShowLineService showLineService;
     @Autowired
     ShowScatterService showScatterService;
+    @Autowired
+    ShowIndividualService showIndividualService;
     /*
     展示柱状图
      */
@@ -56,4 +52,12 @@ public class ShowChartsController {
     public RepEntity showScatter(@RequestBody ScatterConfigInfo body){
         return showScatterService.showScatter(body);
     }
+
+    /*
+    show个体统计表
+     */
+    @RequestMapping("/showIndividual")
+    public RepEntity ShowIndividual(@RequestBody IndividualConfigInfo body){
+        return showIndividualService.ShowIndividual(body);
+    }
 }

+ 25 - 4
src/main/java/com/dao/ChartsConfigMapper.java

@@ -12,8 +12,9 @@ import java.util.List;
 @Repository
 public interface ChartsConfigMapper {
 
-    @Insert("insert into bi_charts(id,CHART_NAME,CHART_TYPE,BD_DATA_ID,CHART_CONFIG,GROUP_BY,ACCESS_AUTHORITY,UPDATE_AUTHORITY,CHART_DESCRIBES,BC_CHART_STYLE,create_by,create_date) " +
-            "VALUES (#{chartId},#{chartName},#{chartType}, #{dataId}, #{chartConfig}, #{groupBy}, #{accessAuthority}, #{updateAuthority}, #{describes},#{style}, #{createBy},to_date(#{createDate},'YYYY-MM-DD hh24:mi:ss'))" )
+    @Insert("insert into bi_charts(id,CHART_NAME,CHART_TYPE,BD_DATA_ID,CHART_CONFIG,GROUP_BY,ACCESS_AUTHORITY,UPDATE_AUTHORITY,BC_CHARTS_GROUP,CHART_DESCRIBES,BC_CHART_STYLE,create_by,create_date) " +
+            "VALUES (#{chartId},#{chartName},#{chartType}, #{dataId}, #{chartConfig}, #{groupBy}, #{accessAuthority}, #{updateAuthority}, #{ChartsGroup}" +
+            "#{describes},#{style}, #{createBy},to_date(#{createDate},'YYYY-MM-DD hh24:mi:ss'))" )
 //    @Options(useGeneratedKeys=false, keyProperty = "chartId",keyColumn = "id")
     @SelectKey(before=true,keyProperty="chartId",resultType=Integer.class,statement="SELECT charts_squence.nextval from dual",keyColumn = "id")
     void insertCharts(ChartConfig chartConfig);
@@ -28,14 +29,14 @@ public interface ChartsConfigMapper {
             "</script>")
     void deleteCharts(List<Integer> idList);
 
-    @Select("select id as chartId, chart_name as chartName, chart_type as chartType, create_by as createBy, create_date as createDate" +
+    @Select("select id as chartId, chart_name as chartName, chart_type as chartType, create_by as createBy, create_date as createDate, bc_charts_group as ChartsGroup" +
             ",bc_filters as filters, BD_DATA_ID as dataId, bc_table_name as tableName, CHART_CONFIG as chartConfig, GROUP_BY as groupBy," +
             "ACCESS_AUTHORITY as accessAuthority, UPDATE_AUTHORITY as updateAuthority, CHART_DESCRIBES as describes, BC_CHART_STYLE as style, BC_FILTERS as filters " +
             " from bi_charts where id = #{id}")
     ChartConfig getOneChart(int id);
 
     @Select("select id as chartId, chart_name as chartName, chart_type as chartType, create_by as createBy, create_date as createDate" +
-            ",bc_filters as filters, CHART_DESCRIBES as describes from bi_charts")
+            ",bc_filters as filters, CHART_DESCRIBES as describes, bc_charts_group as ChartsGroup from bi_charts")
     List<ChartConfigList> getListCharts();
 
     /*
@@ -44,6 +45,7 @@ public interface ChartsConfigMapper {
     @Select("select dc.table_name from bi_data_connectors dc left join bi_charts c on dc.id =c.bd_data_id where c.id=#{chartId}")
     String getTableName(@Param("chartId") int id);
 
+
     /*
     通过ID查找数据源配置
      */
@@ -71,6 +73,7 @@ public interface ChartsConfigMapper {
             "<if test=\"accessAuthority != null\"> , ACCESS_AUTHORITY = #{accessAuthority} </if>" +
             "<if test=\"updateAuthority != null\"> , UPDATE_AUTHORITY = #{updateAuthority} </if>" +
             "<if test=\"style != null\"> , BC_CHART_STYLE = #{style} </if>" +
+            "<if test=\"group !=null\">, BC_CHARTS_GROUP = #{ChartsGroup}</if>"+
             "<if test=\"updateDate != null\"> , UPDATE_DATE = to_date(#{updateDate},'YYYY-MM-DD hh24:mi:ss') </if>" +
             "where id = #{chartId}" +
             "</script>")
@@ -98,6 +101,23 @@ public interface ChartsConfigMapper {
             "</script>")
     void updataChartsGroup(GroupInfo groupInfo);
 
+//    /*
+//    批量更新
+//     */
+//    @Update("<script>"+
+//            "<foreach item = \"value\" index=\"key\" collenction=\"groupInfoMap.entrySet()\" separator=\",\">"+
+//            "update bi_charts_group"+
+//            "set"+
+//            "bc_group_name = #{#{value}.groupName}" +
+//            "<if test=\"value.groupIndex != null\"> , bc_index = #{#{value}.groupIndex} </if>" +
+//            "<if test=\"value.fatherId != null\"> , bc_father_id ={#{value}.fatherId} </if>" +
+//            "<if test=\"value.createBy != null\"> , create_by = {#{value}.createBy} </if>" +
+//            ",updata_date = to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'YYYY-MM-DD hh24:mi:ss') "+
+//            " where bc_id = #{value.id}" +
+//            "</foreach>"+
+//            "</script>")
+//    void updataListGroup(@Param("groupInfoMap") Map<Integer, GroupInfo> groupInfoMap);
+
     /*
     删除分组
      */
@@ -117,4 +137,5 @@ public interface ChartsConfigMapper {
     @Select("select bc_id as id, bc_group_name as groupName, bc_index as groupIndex, bc_father_id as fatherId, create_by as createBy," +
             "create_date as createDate from bi_charts_group")
     List<GroupInfo> getChartsGroup();
+
 }

+ 22 - 22
src/main/java/com/dao/DataConnectorMapper.java

@@ -1,6 +1,5 @@
 package com.dao;
 
-import com.model.po.ColumnData;
 import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.po.Databases;
@@ -13,29 +12,29 @@ import java.util.List;
 @Repository
 public interface DataConnectorMapper {
 
-    @Select("select d.column_name as columnName, d.DATA_TYPE as columnType, b.comments as remarks from " +
-            "(select column_name,DATA_TYPE from user_tab_cols where Table_Name = #{tableName}) d," +
-            "(select * from user_col_comments where Table_Name = #{tableName}) b" +
-            " where d.column_name = b.column_name order by columnName")
-    List<ColumnData> getColumn(@Param("tableName") String tableName);
-
-    @Select("<script>" +
-            "select * from bi_data_connectors where" + "1=1" +
-            "<if test=\"id != null\"> and id = #{id} </if>" +
-            "<if test=\"dataName != null\"> and data_name = #{dataName} </if>" +
-            "<if test=\"dataTag != null\"> and data_tag = #{dataTag} </if>" +
-            "<if test=\"configuration != null\"> and configuration = #{configuration} </if>" +
-            "<if test=\"columnConfig != null\"> and columns_config = #{columnConfig} </if>"  +
-            "<if test=\"usedNumber != null\"> and used_number = #{usedNumber} </if>" +
-            "<if test=\"createBy != null\">and create_by = #{createBy}</if>" +
-            "</script>")
-    List<DataConnector> getAllData(DataConnector dataConnector);
+//    @Select("select d.column_name as columnName, d.DATA_TYPE as columnType, b.comments as remarks from " +
+//            "(select column_name,DATA_TYPE from user_tab_cols where Table_Name = #{tableName}) d," +
+//            "(select * from user_col_comments where Table_Name = #{tableName}) b" +
+//            " where d.column_name = b.column_name order by columnName")
+//    List<ColumnData> getColumn(@Param("tableName") String tableName);
+
+//    @Select("<script>" +
+//            "select * from bi_data_connectors where" + "1=1" +
+//            "<if test=\"id != null\"> and id = #{id} </if>" +
+//            "<if test=\"dataName != null\"> and data_name = #{dataName} </if>" +
+//            "<if test=\"dataTag != null\"> and data_tag = #{dataTag} </if>" +
+//            "<if test=\"configuration != null\"> and configuration = #{configuration} </if>" +
+//            "<if test=\"columnConfig != null\"> and columns_config = #{columnConfig} </if>"  +
+//            "<if test=\"usedNumber != null\"> and used_number = #{usedNumber} </if>" +
+//            "<if test=\"createBy != null\">and create_by = #{createBy}</if>" +
+//            "</script>")
+//    List<DataConnector> getAllData(DataConnector dataConnector);
 
     /*
     查询单个数据源
      */
     @Select("select ID as dataId, DATA_NAME as dataName, DATA_NOTE as note, DATA_TAG as dataTag, COLUMNS_CONFIG as columnConfig, LOAD_OBJECT as loadObject," +
-            "CREATE_BY as createBy, USED_NUMBER as userNumber, CREATE_DATE as createDate,DB_CONFIG as dbConfig, " +
+            "CREATE_BY as createBy, USED_NUMBER as userNumber, CREATE_DATE as createDate,DB_CONFIG as dbConfig, BD_group as ConnectorGroup," +
             "CON_TYPE as type from bi_data_connectors where id = #{id}")
     DataConnector getOneData(int id);
 
@@ -43,14 +42,14 @@ public interface DataConnectorMapper {
     查询数据源列表
      */
     @Select("select id as dataId, con_type as type, data_name as dataName, data_tag as dataTag, data_note as note, create_by as createBy, create_date as createDate," +
-            " used_number as usedNumber, db_config as dbConfig from bi_data_connectors")
+            " used_number as usedNumber, db_config as dbConfig ,BD_group as ConnectorGroup from bi_data_connectors")
     List<DataConnectorList> getDataConnectorList();
 
     /*
     插入数据源配置
      */
-    @Insert("INSERT INTO bi_data_connectors(id,data_name,data_note,data_tag,con_type,LOAD_OBJECT,DB_CONFIG,columns_config,used_number,create_by,create_date, table_name) " +
-            "VALUES (#{dataId},#{dataName}, #{note}, #{dataTag}, #{type}, #{loadObject}, #{dbConfig},#{columnConfig}, #{usedNumber},#{createBy}, to_date(#{createDate},'YYYY-MM-DD hh24:mi:ss'), #{tableName})")
+    @Insert("INSERT INTO bi_data_connectors(id,data_name,data_note,data_tag,con_type,LOAD_OBJECT,DB_CONFIG,columns_config,used_number,create_by,create_date, table_name, BD_GROUP) " +
+            "VALUES (#{dataId},#{dataName}, #{note}, #{dataTag}, #{type}, #{loadObject}, #{dbConfig},#{columnConfig}, #{usedNumber},#{createBy}, to_date(#{createDate},'YYYY-MM-DD hh24:mi:ss'), #{tableName}, #{ConnectorGroup})")
     @SelectKey(before=true,keyProperty="dataId",resultType=int.class,statement="SELECT BI_DASHBOARDS_squence.nextval from dual",keyColumn = "id")
     void insertDataConnector(DataConnector dataConnector);
 
@@ -69,6 +68,7 @@ public interface DataConnectorMapper {
             "<if test=\"type != null\"> , con_TYPE = #{type} </if>" +
             "<if test=\"note != null\"> , DATA_NOTE = #{note} </if>" +
             "<if test=\"tableName != null\"> , table_name = #{tableName} </if>" +
+            "<if test=\"ConnectorGroup != null\"> , BD_GROUP = #{ConnectorGroup} </if>"+
             "where id = #{dataId}" +
             "</script>")
     void updateData(DataConnector dataConnector);

+ 26 - 0
src/main/java/com/dao/ShowChartsMapper.java

@@ -1,5 +1,6 @@
 package com.dao;
 
+import com.model.po.TargetData;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 import org.apache.ibatis.annotations.Select;
@@ -72,4 +73,29 @@ public interface ShowChartsMapper {
     String getTimeValueHalfYear(@Param("dataType") String dataType, @Param("yAxisName") String yAxisName, @Param("tableName") String tableName,
                             @Param("xAxisName") String xAxisName, @Param("firstIndex") String firstIndex, @Param("afterIndex") String afterIndex,
                                 @Param("groupsColumn") String groupsColumn, @Param("groupsIndex") String groupsIndex);
+
+
+    /*
+   个体表查询标准差
+    */
+    @Select("select ${operation}(${columnName}) from ${tableName}")
+    Double getColumnDev(@Param("tableName") String tableName, @Param("columnName") String columnName, @Param("operation") String operation);
+
+    /*
+    取主键名称
+     */
+    @Select("select column_name from user_cons_columns where table_name = #{tableName} and constraint_name = #{tableKey}")
+    String getTableKey(@Param("tableName") String tableName, @Param("tableKey") String tableKey);
+
+    /*
+    取目标列的值
+     */
+    @Select("select ${keyName} as id,${columnName} as data from (select ${keyName},${columnName} from ${tableName} order by ${columnName} ${sort}) where rownum<${line}")
+    List<TargetData> getTargetData(@Param("keyName") String keyName, @Param("columnName") String columnName, @Param("tableName") String tableName, @Param("sort") String sort, @Param("line") String line);
+
+    /*
+    获取其他类数据
+     */
+    @Select("select ${columnList} from ${tableName} where ${keyName} = #{id} ")
+    Object getOtherData(@Param("columnList") String columnList, @Param("id") int id, @Param("tableName") String tableName, @Param("keyName") String keyName);
 }

+ 9 - 0
src/main/java/com/model/po/ChartConfig.java

@@ -7,6 +7,7 @@ public class ChartConfig {
     private String chartType;
     private int DataId;            //数据源id
 //    private int dashboardsId;      //看板id
+    private int ChartsGroup;
     private String groupBy;        //分组
     private String Subsections;    //分段
     private String chartConfig;
@@ -20,6 +21,14 @@ public class ChartConfig {
     private String updateDate; //数据类型
 
 
+    public int getChartsGroup() {
+        return ChartsGroup;
+    }
+
+    public void setChartsGroup(int chartsGroup) {
+        ChartsGroup = chartsGroup;
+    }
+
     public int getChartId() {
         return chartId;
     }

+ 9 - 0
src/main/java/com/model/po/ChartConfigList.java

@@ -5,9 +5,18 @@ public class ChartConfigList {
     private String chartName;
     private String chartType;
     private String describes;
+    private int ChartsGroup;
     private String createBy;
     private String createDate;
 
+    public int getChartsGroup() {
+        return ChartsGroup;
+    }
+
+    public void setChartsGroup(int chartsGroup) {
+        ChartsGroup = chartsGroup;
+    }
+
     public String getDescribes() {
         return describes;
     }

+ 9 - 0
src/main/java/com/model/po/DataConnector.java

@@ -9,6 +9,7 @@ public class DataConnector {
     private String tableName;
     private String dbConfig;         //数据库配置
     private String loadObject;    //加载对象
+    private int ConnectorGroup;
     private String note;
     private String columnConfig;
     private String dataTag;
@@ -18,6 +19,14 @@ public class DataConnector {
     private String createDate;
     private String updateDate;
 
+    public int getConnectorGroup() {
+        return ConnectorGroup;
+    }
+
+    public void setConnectorGroup(int connectorGroup) {
+        ConnectorGroup = connectorGroup;
+    }
+
     public int getDataId() {
         return dataId;
     }

+ 10 - 0
src/main/java/com/model/po/DataConnectorList.java

@@ -7,10 +7,19 @@ public class DataConnectorList {
     private String type;
     private String dataTag;
     private String dbConfig;
+    private int group;
     private int usedNumber;
     private String createBy;
     private String createDate;
 
+    public int getGroup() {
+        return group;
+    }
+
+    public void setGroup(int group) {
+        this.group = group;
+    }
+
     public int getDataId() {
         return dataId;
     }
@@ -93,6 +102,7 @@ public class DataConnectorList {
                 ", type='" + type + '\'' +
                 ", dataTag='" + dataTag + '\'' +
                 ", dbConfig='" + dbConfig + '\'' +
+                ", group='" + group + '\'' +
                 ", usedNumber=" + usedNumber +
                 ", createBy='" + createBy + '\'' +
                 ", createDate='" + createDate + '\'' +

+ 22 - 0
src/main/java/com/model/po/TargetData.java

@@ -0,0 +1,22 @@
+package com.model.po;
+
+public class TargetData {
+    private int id;
+    private Double data;
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public Double getData() {
+        return data;
+    }
+
+    public void setData(Double data) {
+        this.data = data;
+    }
+}

+ 10 - 1
src/main/java/com/model/vo/configVo/ChartConfigInfo.java

@@ -11,6 +11,7 @@ public class ChartConfigInfo {
     private String chartType;
     private int dataId;            //数据源id
 //    private int dashboardsId;      //看板id
+    private int ChartsGroup;
     private List<Column> groupBy;        //分组
     private List<Column> subsections;    //分段
     private String chartConfig;
@@ -22,6 +23,14 @@ public class ChartConfigInfo {
     private List<Column> filters;          //筛选
 
 
+    public int getChartsGroup() {
+        return ChartsGroup;
+    }
+
+    public void setChartsGroup(int chartsGroup) {
+        ChartsGroup = chartsGroup;
+    }
+
     public int getChartId() {
         return chartId;
     }
@@ -149,7 +158,7 @@ public class ChartConfigInfo {
                 ", accessAuthority=" + accessAuthority +
                 ", updateAuthority=" + updateAuthority +
                 ", describes='" + describes + '\'' +
-                ", style=" + style +
+                ", style='" + style + '\'' +
                 ", filters=" + filters +
                 '}';
     }

+ 9 - 0
src/main/java/com/model/vo/configVo/DataConnectorInfo.java

@@ -15,6 +15,7 @@ public class DataConnectorInfo<T> {
     private List<String> dataTag;
     private String type;
     private int usedNumber;
+    private int connectorGroup;
     private String createBy;
 
     public int getDataId() {
@@ -97,6 +98,14 @@ public class DataConnectorInfo<T> {
         this.type = type;
     }
 
+    public int getConnectorGroup() {
+        return connectorGroup;
+    }
+
+    public void setConnectorGroup(int connectorGroup) {
+        this.connectorGroup = connectorGroup;
+    }
+
     @Override
     public String toString() {
         return "DataConnectorInfo{" +

+ 76 - 0
src/main/java/com/model/vo/configVo/IndividualConfigInfo.java

@@ -0,0 +1,76 @@
+package com.model.vo.configVo;
+
+import java.util.List;
+
+/*
+个体统计表入参
+ */
+public class IndividualConfigInfo {
+    private int id;
+    private String columnName;
+    private List<String> columnListName;
+    private String sort;
+    private int showLine;
+    private String operation;
+
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    public String getColumnName() {
+        return columnName;
+    }
+
+    public void setColumnName(String columnName) {
+        this.columnName = columnName;
+    }
+
+    public List<String> getColumnListName() {
+        return columnListName;
+    }
+
+    public void setColumnListName(List<String> columnListName) {
+        this.columnListName = columnListName;
+    }
+
+    public String getSort() {
+        return sort;
+    }
+
+    public void setSort(String sort) {
+        this.sort = sort;
+    }
+
+    public int getShowLine() {
+        return showLine;
+    }
+
+    public void setShowLine(int showLine) {
+        this.showLine = showLine;
+    }
+
+    public String getOperation() {
+        return operation;
+    }
+
+    public void setOperation(String operation) {
+        this.operation = operation;
+    }
+
+    @Override
+    public String toString() {
+        return "IndividualConfigInfo{" +
+                "id=" + id +
+                ", columnName='" + columnName + '\'' +
+                ", columnListName=" + columnListName +
+                ", sort='" + sort + '\'' +
+                ", showLine=" + showLine +
+                ", operation='" + operation + '\'' +
+                '}';
+    }
+}

+ 41 - 0
src/main/java/com/model/vo/dataVo/TableDataInfo.java

@@ -0,0 +1,41 @@
+package com.model.vo.dataVo;
+
+import java.util.List;
+
+public class TableDataInfo {
+    private int id;
+    private List<Double> targetData;
+    private List<List<Object>> columnData;
+
+    public List<Double> getTargetData() {
+        return targetData;
+    }
+
+    public void setTargetData(List<Double> targetData) {
+        this.targetData = targetData;
+    }
+
+    public List<List<Object>> getColumnData() {
+        return columnData;
+    }
+
+    public void setColumnData(List<List<Object>> columnData) {
+        this.columnData = columnData;
+    }
+
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
+    @Override
+    public String toString() {
+        return "TableDataInfo{" +
+                "targetData=" + targetData +
+                ", columnData=" + columnData +
+                '}';
+    }
+}

+ 15 - 48
src/main/java/com/server/ChartsConfigService.java

@@ -13,6 +13,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Iterator;
 import java.util.List;
 
 @Service
@@ -25,30 +26,6 @@ public class ChartsConfigService {
     @Autowired
     ObjectMapper objectmapper;
 
-    /*
-    保存基本设置
-     */
-//    public RepEntity setChartBase(BaseDataInfo baseDataInfo){
-//        ChartConfig chartConfig = new ChartConfig();
-//        BeanUtils.copyProperties(baseDataInfo, chartConfig);
-//
-////        chartConfig.setCreateTime(timeUtil.SystemTime());
-//        System.out.println(chartConfig);
-//
-//        chartsConfigMapper.insertCharts(chartConfig);
-//        return new RepEntity(RepCode.success);
-//    }
-//
-//    /*
-//    删除基本配置
-//     */
-//    public RepEntity delChartBase(int id){
-//        if (chartsConfigMapper.getOneChart(id) == null){
-//            return new RepEntity(RepCode.Null);
-//        }
-//        chartsConfigMapper.deleteCharts(id);
-//        return new RepEntity(RepCode.success);
-//    }
 
     /*
     保存表设置
@@ -79,18 +56,6 @@ public class ChartsConfigService {
             e.printStackTrace();
         }
 
-//        try {
-//            subsections = objectmapper.writeValueAsString(chartConfigInfo.getSubsections());
-//        } catch (JsonProcessingException e) {
-//            e.printStackTrace();
-//        }
-
-//        try {
-//            chartsConfig = objectmapper.writeValueAsString(chartConfigInfo.getChartConfig());
-//        } catch (JsonProcessingException e) {
-//            e.printStackTrace();
-//        }
-
         try {
             accessAuthority = objectmapper.writeValueAsString(chartConfigInfo.getAccessAuthority());
         } catch (JsonProcessingException e) {
@@ -110,8 +75,6 @@ public class ChartsConfigService {
         }
 
         chartConfig.setGroupBy(groupBy);
-//        chartConfig.setSubsections(subsections);
-//        chartConfig.setChartConfig(chartsConfig);
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setUpdateAuthority(updateAuthority);
         chartConfig.setFilters(filters);
@@ -134,8 +97,6 @@ public class ChartsConfigService {
         BeanUtils.copyProperties(chartConfigInfo, chartConfig);
 
         String groupBy = null;
-//        String subsections = null;
-//        String chartsConfig = null;
         String accessAuthority = null;
         String updateAuthority = null;
         String filters = null;
@@ -153,12 +114,6 @@ public class ChartsConfigService {
             e.printStackTrace();
         }
 
-//        try {
-//            subsections = objectmapper.writeValueAsString(chartConfigInfo.getSubsections());
-//        } catch (JsonProcessingException e) {
-//            e.printStackTrace();
-//        }
-
 
         try {
             accessAuthority = objectmapper.writeValueAsString(chartConfigInfo.getAccessAuthority());
@@ -179,8 +134,6 @@ public class ChartsConfigService {
         }
 
         chartConfig.setGroupBy(groupBy);
-//        chartConfig.setSubsections(subsections);
-//        chartConfig.setChartConfig(chartsConfig);
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setAccessAuthority(accessAuthority);
         chartConfig.setUpdateAuthority(updateAuthority);
@@ -239,6 +192,20 @@ public class ChartsConfigService {
         return new RepEntity(RepCode.success);
     }
 
+    /*
+    批量更新图表分组
+     */
+    public RepEntity updataListGroup(List<GroupInfo> groupInfoList){
+        Iterator isList = groupInfoList.iterator();
+        GroupInfo groupInfo = new GroupInfo();
+        while (isList.hasNext()){
+            groupInfo = (GroupInfo) isList.next();
+            chartsConfigMapper.updataChartsGroup(groupInfo);
+        }
+
+        return new RepEntity(RepCode.success);
+    }
+
     /*
     删除图表分组
      */

+ 20 - 6
src/main/java/com/server/DataConnectorService.java

@@ -4,7 +4,6 @@ import com.dao.DataConnectorMapper;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.model.bo.DatabaseConfig;
-import com.model.bo.Pages;
 import com.model.po.DataConnector;
 import com.model.po.DataConnectorList;
 import com.model.pojo.RepCode;
@@ -18,6 +17,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Iterator;
 import java.util.List;
 
 @Service
@@ -84,14 +84,14 @@ public class DataConnectorService {
     }
 
     //查看数据源列表
-    public RepEntity getListConnector(Pages pages){
-        if (pages == null || "".equals(pages)){
-            int pageNum = pages.getPageNum();
-            int pageSize = pages.getPageSize();
+    public RepEntity getListConnector(){
+//        if (pages == null || "".equals(pages)){
+//            int pageNum = pages.getPageNum();
+//            int pageSize = pages.getPageSize();
 
             //使用分页插件,核心代码就这一行
 //            PageHelper.startPage(pageNum, pageSize);
-        }
+//        }
 
         List<DataConnectorList> listConnector = dataConnectorMapper.getDataConnectorList();
         return new RepEntity(RepCode.success, listConnector);
@@ -190,6 +190,20 @@ public class DataConnectorService {
         return new RepEntity(RepCode.success);
     }
 
+    /*
+   批量更新数据源分组
+    */
+    public RepEntity updataConnectorGroups(List<GroupInfo> groupInfoList){
+        Iterator isList = groupInfoList.iterator();
+        GroupInfo groupInfo = new GroupInfo();
+        while (isList.hasNext()){
+            groupInfo = (GroupInfo) isList.next();
+            dataConnectorMapper.updataConnectorGroup(groupInfo);
+        }
+
+        return new RepEntity(RepCode.success);
+    }
+
     /*
     删除数据源分组
      */

+ 34 - 0
src/main/java/com/server/GetChartsDataUtilService.java

@@ -0,0 +1,34 @@
+package com.server;
+
+import com.dao.ChartsConfigMapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.model.po.Databases;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.io.IOException;
+
+@Service
+public class GetChartsDataUtilService {
+    @Autowired
+    ChartsConfigMapper chartsConfigMapper;
+    @Autowired
+    ObjectMapper objectMapper;
+
+    public String getBaseName(int id){
+
+        //取数据源ID
+        String dataConfig = chartsConfigMapper.getBaseConifg(id);
+
+        //取数据连接名的数据库名
+        Databases databases = new Databases();
+        try {
+            databases = objectMapper.readValue(dataConfig, Databases.class);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        String baseName = databases.getUserName();
+
+        return baseName;
+    }
+}

+ 10 - 10
src/main/java/com/server/ShowHistogramService.java

@@ -4,7 +4,6 @@ import com.dao.ChartsConfigMapper;
 import com.dao.ShowChartsMapper;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.model.bo.Series;
-import com.model.po.Databases;
 import com.model.pojo.RepCode;
 import com.model.pojo.RepEntity;
 import com.model.vo.configVo.HistogramConfigInfo;
@@ -14,7 +13,6 @@ import com.util.CalculationJudgeUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Repository;
 
-import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -31,6 +29,8 @@ public class ShowHistogramService {
     ChartsConfigMapper chartsConfigMapper;
     @Autowired
     ObjectMapper objectMapper;
+    @Autowired
+    GetChartsDataUtilService getChartsDataUtilService;
 
     /*
     柱状图数据展示
@@ -50,16 +50,16 @@ public class ShowHistogramService {
 
 
         //取数据源ID
-        String dataConfig = chartsConfigMapper.getBaseConifg(id);
+//        String dataConfig = chartsConfigMapper.getBaseConifg(id);
 
         //取数据连接名的数据库名
-        Databases databases = new Databases();
-        try {
-            databases = objectMapper.readValue(dataConfig, Databases.class);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        String baseName = databases.getUserName();
+//        Databases databases = new Databases();
+//        try {
+//            databases = objectMapper.readValue(dataConfig, Databases.class);
+//        } catch (IOException e) {
+//            e.printStackTrace();
+//        }
+        String baseName = getChartsDataUtilService.getBaseName(id);
         System.out.println("切换数据库"+baseName);
 
         if (!DynamicDataSourceContextHolder.isContainsDataSource(baseName)) {

+ 109 - 0
src/main/java/com/server/ShowIndividualService.java

@@ -0,0 +1,109 @@
+package com.server;
+
+import com.dao.ChartsConfigMapper;
+import com.dao.ShowChartsMapper;
+import com.model.po.TargetData;
+import com.model.pojo.RepCode;
+import com.model.pojo.RepEntity;
+import com.model.vo.configVo.IndividualConfigInfo;
+import com.model.vo.dataVo.TableDataInfo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/*
+个人统计表
+ */
+@Service
+public class ShowIndividualService {
+    @Autowired
+    ChartsConfigMapper chartsConfigMapper;
+    @Autowired
+    ShowChartsMapper showChartsMapper;
+    public RepEntity ShowIndividual(IndividualConfigInfo individualConfigInfo){
+        if (individualConfigInfo == null || "".equals(individualConfigInfo)){
+            return new RepEntity(RepCode.Null);
+        }
+        //取表名
+        int id = individualConfigInfo.getId();
+//        String tableName = chartsConfigMapper.getTableName(id).toUpperCase();
+        String tableName = "bench_flowchart".toUpperCase();
+        if (tableName == null || "".equals(tableName)){
+            return new RepEntity(RepCode.nullTableName);
+        }
+
+        //取主建名
+        String tableKey = tableName + "_PK";
+        String keyName = showChartsMapper.getTableKey(tableName, tableKey);
+
+
+        Double columnDev = null;                    //标准差
+        Double columnAvg = null;                    //平均值
+        String columnName = individualConfigInfo.getColumnName();
+        System.out.println("columnName:"+columnName);
+        String operation = individualConfigInfo.getOperation();
+        String line = String.valueOf(individualConfigInfo.getShowLine() + 1);
+        String sort = individualConfigInfo.getSort();
+
+        if ("STDDEV".equals(operation) || "stddev".equals(operation)){
+            operation = "STDDEV";
+            columnDev = showChartsMapper.getColumnDev(tableName, columnName, operation);  //标准差
+            operation = "AVG";
+            columnAvg = showChartsMapper.getColumnDev(tableName, columnName, operation);  //平均值
+
+        }else {
+            columnDev = null;
+            columnAvg = null;
+        }
+        List<TargetData> targetDataList = showChartsMapper.getTargetData(keyName, columnName, tableName, sort, line);
+        List<Integer> idList = new ArrayList<>();
+        List<Double> dataList = new ArrayList<>();
+        Iterator isDataList = targetDataList.iterator();
+        while (isDataList.hasNext()){
+            TargetData targetData = (TargetData) isDataList.next();
+            idList.add(targetData.getId());
+            //算出目标列的值
+            if (columnDev == null || "".equals(columnDev)){
+                dataList.add(targetData.getData());
+            }else {
+                dataList.add((targetData.getData()-columnAvg)/columnDev);
+            }
+        }
+
+        //查询其他列
+        List<String>  columnListName = individualConfigInfo.getColumnListName(); //列名
+
+
+        List<List<Object>> columnAllData = new ArrayList<>();//全部结果
+
+        Iterator isIdList = idList.iterator();
+
+        while (isIdList.hasNext()){
+            int ids = (int) isIdList.next();
+            List<Object> columnDataList = new ArrayList<>();//其他类一行结果集
+            Iterator isColumnName = columnListName.iterator();
+            while (isColumnName.hasNext()){
+                String columnOtherName = (String) isColumnName.next();
+                Object data = new Object();
+                data = showChartsMapper.getOtherData(columnOtherName, ids, tableName, keyName);
+                columnDataList.add(data);
+                System.out.println("单个:"+columnDataList);
+            }
+            columnAllData.add(columnDataList);
+            System.out.println("全部:"+columnAllData);
+            System.out.println();
+        }
+
+        System.out.println("------------------------------------------------------------------------------------------------------"+columnAllData);
+
+        TableDataInfo tableDataInfo = new TableDataInfo();
+        tableDataInfo.setTargetData(dataList);
+        tableDataInfo.setColumnData(columnAllData);
+
+
+        return new RepEntity(RepCode.success, tableDataInfo);
+    }
+}