Browse Source

饼图,折线图,柱状图

heqinwei 7 years ago
parent
commit
fb48e31e75
46 changed files with 31 additions and 1909 deletions
  1. 0 275
      charts/README.md
  2. BIN
      charts/doc/img/aggregate.png
  3. BIN
      charts/doc/img/bar.png
  4. BIN
      charts/doc/img/basic_settings.png
  5. BIN
      charts/doc/img/charts.png
  6. BIN
      charts/doc/img/data_structure.png
  7. BIN
      charts/doc/img/data_view.png
  8. BIN
      charts/doc/img/line.png
  9. BIN
      charts/doc/img/pie.png
  10. BIN
      charts/doc/img/scatter.png
  11. 0 15
      dashboards/README.md
  12. BIN
      dashboards/doc/img/dashboard.png
  13. BIN
      dashboards/doc/img/dashboards.png
  14. 0 59
      data_connectors/README.md
  15. BIN
      data_connectors/doc/img/basic_settings.png
  16. BIN
      data_connectors/doc/img/data_connetors.png
  17. BIN
      data_connectors/doc/img/data_type.png
  18. BIN
      doc/UI.rp
  19. 0 282
      doc/chart/README.md
  20. BIN
      doc/chart/doc/img/aggregate.png
  21. BIN
      doc/chart/doc/img/bar.png
  22. BIN
      doc/chart/doc/img/basic_settings.png
  23. BIN
      doc/chart/doc/img/charts.png
  24. BIN
      doc/chart/doc/img/data_structure.png
  25. BIN
      doc/chart/doc/img/data_view.png
  26. BIN
      doc/chart/doc/img/line.png
  27. BIN
      doc/chart/doc/img/pie.png
  28. BIN
      doc/chart/doc/img/scatter.png
  29. 0 465
      doc/config_databases/Bi-data_v2.ldm
  30. 0 84
      doc/config_databases/README.md
  31. BIN
      doc/config_databases/img/View.png
  32. 0 15
      doc/dashboard/README.md
  33. 0 465
      doc/dashboard/config_databases/Bi-data_v2.ldm
  34. 0 84
      doc/dashboard/config_databases/README.md
  35. BIN
      doc/dashboard/config_databases/img/View.png
  36. BIN
      doc/dashboard/doc/img/dashboard.png
  37. BIN
      doc/dashboard/doc/img/dashboards.png
  38. 0 58
      doc/data_connector/README.md
  39. BIN
      doc/data_connector/doc/img/basic_settings.png
  40. BIN
      doc/data_connector/doc/img/data_connectors.png
  41. BIN
      doc/data_connector/doc/img/data_type.png
  42. 9 1
      src/main/java/com/controller/ChartsConfigController.java
  43. 6 6
      src/main/java/com/model/bo/Line.java
  44. 16 6
      src/main/java/com/model/bo/Pie.java
  45. 0 47
      src/main/java/com/util/DataSource1Config.java
  46. 0 47
      src/main/java/com/util/DataSource2Config.java

+ 0 - 275
charts/README.md

@@ -1,275 +0,0 @@
-= 图表 Charts =
-=====备忘:=====
-- 图表配置档分为通用配置和可视化模式配置两部分
-    - 每个图表只能选择一个可视化模式
-    - 不同的可视化模式的配置档格式不同
-- Echarts还支持很多其他选项(大部分是外观相关),若未表明则使用默认配置
-
-==通用配置 ==
-{img url=/file/data/rud6eb2bldtiyrzt52qe/PHID-FILE-wn6gm5znqhm7oba35s5l/basic_settings.png}
-{img url=/file/data/tnomsbaxe63bcrxofvhk/PHID-FILE-w45fxewshkt2rho2737d/data_structure.png}
-1. 标题:
-    - 主标题文本
-    - 副标题文本
-2. 权限:
-    - 访问权限
-    - 修改权限
-3. 数据接口 *(选择后自动读取该接口的元数据获取默认数据类型)*
-4. 时间跨度
-5. 以勾选的方式选择关注的数据列(数据结构)
-    - 允许临时改变数据类型
-6. 筛选规则
-7. 可视化模式: *(根据所选的数据列的数据类型自动判断可用的可视化模式)*
-8. 其他:
-    - 图例 legend
-    - 提示框 tooltip
-    - 区域缩放 datazoom
-    - 工具箱 toolbox:
-        - 还原按钮
-        - 导出为图片
-
-
-= 可视化模式 = 
-===== 备注 =====
-- 阶段一仅开放这六个可视化模式
-  - 总体统计数据表 aggregate_table
-  - 个体统计数据表 data_view
-  - 折线图 line_chart
-  - 柱状图 bar_chart
-  - 饼状图 pie_chart
-  - 散点图 scatter_plot 
-- 不同的可视化模式需要进行不同的数据预处理
-- 所有可视化模式都提供分组的选项
-    - 生效时相当于筛选出各分组后分别进行可视化
-    - 一般会按类别分组
-    - 分段 Bucketization: 可以将标量或者时间分成多个片段后进行分段分组
-        - 分段后产生的数据属于序值
-    - 分组规则应当可以排序
-        - 分组规则的顺序只影响表格产生的顺序
-    - 分组后可定义组标题
-- 部分可视化模式允许堆叠
-
-
-___
-
-==总体统计数据表==
-
-1. 数据预处理选项
-    - 数据分组(可选) 
-    - 分段
-    - 根据各列数据类型判断可生成的总体统计数据:
-        - 条数 count
-        - 百分比 proportion (限分组)
-        - 总和 sum (限标量)
-        - 平均数 mean (限标量)
-        - 最小值 min (限标量)
-        - 25th% 值(限标量)
-        - 中位数 median(限标量)
-        - 75th% 值(限标量)
-        - 最大值 max(限标量)
-        - 标准差 standard deviation (限标量)
-2. 为每个关注的列数据生成一个可勾选列表
-
-
-===== 总体统计数据表配置界面草案示例:=====
-{img url=/file/data/mzlulhgjik5hufqdlvdp/PHID-FILE-e5473ixo6rnsp47qjxwk/aggregate.png}
-
-===== 总体统计数据表样式示例 =====    
-
-
-|订单类型 : "categorical"|||
-|---:|---|---:|
-|总体|条数|470|
-|"国内销售"|条数|244| 
-||百分比|51.91%|
-|"不冲销预测"|条数|129|
-||百分比|27.45%|
-|"初始化"|条数|83|
-||百分比|17.66%|
-|"国外销售"|条数|10|
-||百分比|2.13%|
-|"样品订单"|条数|4|
-||百分比|0.85%|
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|470|
-|"RMB"|条数|460|
-||百分比|97.87%|
-|"USD"|条数|10|
-||百分比|2.13%|
-
- 分组 - 业务员:"张三"
-|金额 : "scale"||
-|---|---:|
-|条数|288|
-|总和|11790045.000|
-|平均值|40937.6583|
-|标准差|55159.1981|
-|最小值|0.000|
-|25^th%值|5416.3500|
-|中位数|21202.7000|
-|75^th%值|55075.0000|
-|最大值|405000.3500|
-
-|订单类型 : "categorical|||
-|---:|---|---:|
-|总体|条数|288|
-|"国内销售"|条数|144| 
-||百分比|50.00%|
-|"不冲销预测"|条数|129|
-||百分比|44.79%|
-|"初始化"|条数|13|
-||百分比|4.51%|
-|"国外销售"|条数|0|
-||百分比|0.00%|
-|"样品订单"|条数|2|
-||百分比|0.69%|
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|288|
-|"RMB"|条数|288|
-||百分比|100.00%|
-|"USD"|条数|0|
-||百分比|0%|
-
-
-|金额 : "scale"||
-|---|---:|
-|条数|86|
-|总和|2803270.8500|
-|平均值|32596.1727|
-|标准差|46825.9726|
-|最小值|0.000|
-|25^th%值|539.5000|
-|中位数|15675.0000|
-|75^th%值|45982.5000|
-|最大值|265330.0000|
-
-
-|订单类型 : "categorical|||
-|---:|---|---:|
-|总体|条数|86|
-|"国内销售"|条数|50| 
-||百分比|58.14%|
-|"不冲销预测"|条数|0|
-||百分比|0.00%|
-|"初始化"|条数|34|
-||百分比|39.53%|
-|"国外销售"|条数|0|
-||百分比|0.00%|
-|"样品订单"|条数|2|
-||百分比|2.33%|
-
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|86|
-|"RMB"|条数|86|
-||百分比|100.00%|
-|"USD"|条数|0|
-||百分比|0%|
-
-___
-== 个体统计数据表 ==
-1. 数据预处理选项:
-    - 排序方式(可选)
-        - 选择显示行数(如前5行 前30行)
-    - 分组方式(可选)
-2. 勾选选择需要显示的原生数据列
-3. 勾选可供添加的个体统计数据列
-        - 偏差值 z-score: 适用于标量
-            - z-score = (value - mean(x))/std(x)
-        
-            
-===== 个体统计数据表配置界面草案示例: =====
-{img url=/file/data/ymhpaxwinad2cuauzcmb/PHID-FILE-t4ypd53aihddvsf6avxm/data_view.png}
-        
-===== 个体统计表样式草案示例 =====
-| 不良率 | 偏差值 | 日期     | 处理温度 | 偏差值 | 配件A不良率 | 偏差值 | 处理时长 | 偏差值 |
-|--------|--------|----------|----------|--------|-------------|--------|----------|--------|
-| 83%    | 11.67  | 2017/2/1 | 125      | 3.57   | 45%         | 17.50  | 407      | 7.13   |
-| 79%    | 11.00  | 2017/3/8 | 119      | 2.71   | 30%         | 10.00  | 365      | 4.33   |
-| 62%    | 8.17   | 2017/1/1 | 108      | 1.14   | 32%         | 11.00  | 377      | 5.13   |
-| 54%    | 6.83   | 2017/7/2 | 93       | -1.00  | 8%          | -1.00  | 150      | -10.00 |
-| 53%    | 6.67   | 2017/7/3 | 95       | -0.71  | 10%         | 0.00   | 378      | 5.20   |
-| 51%    | 6.33   | 2017/3/1  | 107      | 1.00   | 15%         | 2.50   | 320      | 1.33   |
-| 43%    | 5.00   | 2017/4/1 | 100      | 0.00   | 12%         | 1.00   | 350      | 3.33   |
-| 30%    | 2.83   | 2017/11/2 | 101      | 0.14   | 10%         | 0.00   | 332      | 2.13   |
-| 28%    | 2.50   | 2017/12/1| 104      | 0.57   | 9%          | -0.50  | 301      | 0.07   |
-| 27%    | 2.33   | 2017/7/5| 100      | 0.00   | 8%          | -1.00  | 285      | -1.00  |
-
-___
-== 折线图 ==
-1. 数据预处理选项:
-    - 分组方式(可选)
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-2. 定义x轴:
-    - 只可定义一个x轴,且x轴没有重复值
-    - 可选类型:时间、标量、序量
-    - 分段(可选):
-        - 时间可按年月日分段
-        - 标量可平均分段
-3. 定义y轴:
-    - 可以定义多个同类y轴堆叠
-    - 分组也可以堆叠
-    - 但每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累计)
-        
-===== 折线图样式配置界面草案示例 =====
-
-{img url=file/data/lzkkh2byb3vwk5b5lznz/PHID-FILE-nhcysd3nyvmomnhmnynp/line.png}
-___
-
-
-== 柱状图 ==
-1. 数据预处理选项:
-    - 分组方式(可选)
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-2. 定义x轴:
-    - 只可定义一个x轴,且x轴没有重复值
-    - 可选类型:序量、类别
-3. 定义y轴:
-    - 可以定义多个同类y轴堆叠
-    - 分组也可以堆叠
-    - 但每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累积)
-        
-_____    
-
-== 饼状图 ==
-1. 数据预处理选项:
-    - 分组方式(可选)
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-2. 定义扇区索引:
-    - 只可定义一个扇区索引,且没有重复值
-    - 可选类型:类别        
-    
-===== 饼状图样式配置界面草案示例 =====
-
-{img url=/file/data/vtitnimpxpjv4e3yng72/PHID-FILE-qhh74k4yd7dawbtizt23/pie.png}
-
-______
-        
-== 散点图 ==
-1. 数据预处理选项:
-    - 分组方式(可选)
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-2. 定义x轴:
-    - 只可定义一个x轴,x轴可以有重复值
-    - 可选类型:标量、序量    
-3. 定义y轴:
-    - 分组不可以堆叠
-    - 每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累积)
-    
-===== 散点图样式配置界面草案示例 =====
-
-{img url=/file/data/adt3whqdtiecxepxqtpu/PHID-FILE-4nm5nnf6njdzibv4sb4a/scatter.png}
-
-______

BIN
charts/doc/img/aggregate.png


BIN
charts/doc/img/bar.png


BIN
charts/doc/img/basic_settings.png


BIN
charts/doc/img/charts.png


BIN
charts/doc/img/data_structure.png


BIN
charts/doc/img/data_view.png


BIN
charts/doc/img/line.png


BIN
charts/doc/img/pie.png


BIN
charts/doc/img/scatter.png


+ 0 - 15
dashboards/README.md

@@ -1,15 +0,0 @@
-=报告与看板Dashboards=
-=====备忘=====
-- 报告和看板结构相同,只是报告不会定期刷新,页面大小限制(比如A4)以及允许导出
-
-==Dashboard属性参数==
-1. 标题
-2. 修改权限
-3. 访问权限
-4. 位置参数
-
-=====Dashboards列表界面草案=====
-{img url=/file/data/6kvxtyuaoyrdggo7dpyg/PHID-FILE-bzqedhlqdprjge4yhe7f/dashboard.png}
-
-=====Dashboard属性配置界面草案=====
-{img url=file/data/qysm5cba4ykoehjbr4ln/PHID-FILE-4c4l3m7rd3z7ui2y66gu/dashboards.png}

BIN
dashboards/doc/img/dashboard.png


BIN
dashboards/doc/img/dashboards.png


+ 0 - 59
data_connectors/README.md

@@ -1,59 +0,0 @@
-=数据接口=
-=====备忘=====
-    1. 应该有机制保证每次获取数据时访问量不会对数据库所在服务器产生过大负荷
-    2. 数据接口修改权限应当只分配给管理员,使用权限应当和图表一致并继承系统的权限配置
-    3. 数据接口最终应该只传递单一的一个表
-    
-==数据接口配置档内容==
-    1. 数据来源:
-        - 可按名称关联数据库中的一个或多个表
-        - 可上传CSV(或xls转CSV)
-        - 应当
-    2. 获取表头,判断原生数据各列数据的默认类型并写入元数据metadata:
-        - index 索引(编号)
-        - time 时间戳:
-        - categorical 类别
-        - scale 标量
-        - ordinal 序值
-        - string 字符串
-    3. 种类标签 tag
-    4. 其他元信息:
-        - created_by 创建人
-        - created_time 创建时间
-        - used 使用中: 正在使用这个数据接口的图表数量
-
-
-==数据接口API==
-
-  get_data(data_connector, time_span=all, filter=none, columns=all)
-        - 按参数产生SQL语句,从数据库获取原生数据,和元数据一起打包成JSON。
-        - 可以接受以下参数:
-            - data_connector: 调用的数据接口
-            - time_span:时间跨度
-            - filter:筛选规则
-            - columns: 所选数据列
-
-
-
-===== 数据接口配置界面草案示例:=====
-{img url=/file/data/xf73gj6xcrndybmwo65c/PHID-FILE-5wdlo3dpcp6htbovznom/data_connetors.png}
-{img url=/file/data/2rqmmkcnornhcehaxke5/PHID-FILE-lexgyzngemyi42itsew5/basic_settings.png}
-{img url=/file/data/d6f2j5dz25hi246gzlom/PHID-FILE-7pukzfd4qcjcqhdcxosq/data_type.png}
-
-
-===== 传回JSON格式草案示例:======
-
-```
-lang=json
-{
-    "metadata": ['index', 'categorical', 'time', 'categorical', 'categorical', 'categorical', 'index', 'index', 'string', 'string', 'scale', 'scale', 'scale', 'scale', 'time', 'time', 'scale', 'scale', 'scale', 'scale', 'categorical', 'index', 'index', 'categorical', 'string', 'string', 'string', 'string', 'string', 'string', 'time', 'string', 'string', 'scale', 'scale', 'scale'
-    ],
-    "data": [
-        ['订单编号', '单据状态', '日期',  订单类型', '客户名称', '打印状态', '订单序号', '物料编号', '物料名称', '物料规格', '数量', '已出货数', '未发货数', '已转数量', '交货日期', 'PMC回复交期','定价', '单价','金额', '不含税单价', '明细状态', '预测单号', '预测序号', '币别', '业务员', '部门', '应收客户', '收货客户', '收款条件', '录入人','录入日期', '明细备注', '主表备注', '已转制造数量', '毛利率%', '成本单价'],
-        ['SS20180508001', '已审核', '2018/5/8', '国内销售', '合肥雪祺电器有限公司', '未打印', '7', '88101716', '冰箱控制板', '雪祺基本型定频66K(DA000714301),RoHS', 73, 0, 73, 0, '2018/5/9', '2018/5/9', 57.7, 57.7, 4212.1, 49.741379, '已审核', '0', 'RMB', '马成雨', '合肥雪祺电器有限公司', '合肥雪祺电器有限公司', '票到1月后付6个月承兑', '徐小秀', '2018/5/8', '', '', 73, 100, 0],
-        ['SS20180508001', '已审核', '2018/5/8', '国内销售', '合肥雪祺电器有限公司', '未打印', '6', '88101486', '冰箱显示板', '美菱窄屏DA000418212,雪祺,RoHS', 129, 0, ,129 ,0, '2018/5/9', '2018/5/9', 32.2, 32.2, 4153.8, 27.758621, '已审核', '0', 'RMB', '马成雨', '合肥雪祺电器有限公司', '合肥雪祺电器有限公司', '票到1月后付6个月承兑', '徐小秀', '2018/5/8', '', '', 129, 100, 0]
-    ]
-}
-
-```
-

BIN
data_connectors/doc/img/basic_settings.png


BIN
data_connectors/doc/img/data_connetors.png


BIN
data_connectors/doc/img/data_type.png


BIN
doc/UI.rp


+ 0 - 282
doc/chart/README.md

@@ -1,282 +0,0 @@
-# 图表 Charts 
-##### 备忘
-- 图表配置档分为通用配置和可视化模式配置两部分
-    - 每个图表只能选择一个可视化模式
-    - 不同的可视化模式的配置档格式不同
-- Echarts还支持很多其他选项(大部分是外观相关),若未表明则使用默认配置
-
-### 通用配置 
-![Image](.\doc\img\basic_settings.png)
-![Image](.\doc\img\data_structure.png)
-1. 主标题文本 title
-2. 副标题文本 subtitle
-3. 访问权限 access_permission
-4. 修改权限 edit_permission
-5. 数据接口 data_connector *(选择后自动读取该接口的元数据获取默认数据类型)* 
-6. 时间跨度 time_span
-7. 筛选规则 filter
-8. 可视化模式 visualization *(根据所选的数据列的数据类型自动判断可用的可视化模式)*
-9. 图例 legend
-10. 提示框 tooltip
-11. 区域缩放 datazoom
-12. 工具箱 toolbox:
-        - 还原按钮
-        - 导出为图片
-
-
-# 可视化模式  
-##### 备注
-- 阶段一仅开放这六个可视化模式
-  - 总体统计数据表 aggregate_table
-  - 个体统计数据表 data_view
-  - 折线图 line_chart
-  - 柱状图 bar_chart
-  - 饼状图 pie_chart
-  - 散点图 scatter_plot 
-- 不同的可视化模式需要进行不同的数据预处理
-- 预处理时,需要先进行会增加数据列的操作(如分段、计数、累积),然后进行不增加数据列但会改变表结构的操作(如分组),然后进行表内操作(如排序)
-- 所有可视化模式都提供分组的选项
-    - 生效时相当于筛选出各分组后分别进行可视化
-    - 一般会按类别分组
-    - 分段 Bucketization: 可以将标量或者时间分成多个片段后进行分段分组
-        - 分段后产生的数据属于序值
-    - 分组规则应当可以排序
-        - 分组规则的顺序只影响表格产生的顺序
-    - 分组后可定义组标题
-- 部分可视化模式允许堆叠
-
-
-___
-
-### 总体统计数据表 aggregate_table
-
-1. 数据预处理选项
-    - 分段 bucketization
-    - 根据各列数据类型判断可生成的总体统计数据:aggregate_stats
-        - 条数 count
-        - 百分比 proportion (限分组)
-        - 总和 sum (限标量)
-        - 平均数 mean (限标量)
-        - 最小值 min (限标量)
-        - 25th% 值(限标量)
-        - 中位数 median(限标量)
-        - 75th% 值(限标量)
-        - 最大值 max(限标量)
-        - 标准差 standard deviation (限标量)
-    - 数据分组(可选) group_by
-2. 验证规则 validator
-
-
-### 总体统计数据表配置界面草案示例
-![Image](.\doc\img\aggregate.png)
-##### 总体统计数据表样式示例   
-
-
-|订单类型 : "categorical"|||
-|---:|---|---:|
-|总体|条数|470|
-|"国内销售"|条数|244| 
-||百分比|51.91%|
-|"不冲销预测"|条数|129|
-||百分比|27.45%|
-|"初始化"|条数|83|
-||百分比|17.66%|
-|"国外销售"|条数|10|
-||百分比|2.13%|
-|"样品订单"|条数|4|
-||百分比|0.85%|
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|470|
-|"RMB"|条数|460|
-||百分比|97.87%|
-|"USD"|条数|10|
-||百分比|2.13%|
-
- 分组 - 业务员:"张三"
-|金额 : "scale"||
-|---|---:|
-|条数|288|
-|总和|11790045.000|
-|平均值|40937.6583|
-|标准差|55159.1981|
-|最小值|0.000|
-|25^th%值|5416.3500|
-|中位数|21202.7000|
-|75^th%值|55075.0000|
-|最大值|405000.3500|
-
-|订单类型 : "categorical|||
-|---:|---|---:|
-|总体|条数|288|
-|"国内销售"|条数|144| 
-||百分比|50.00%|
-|"不冲销预测"|条数|129|
-||百分比|44.79%|
-|"初始化"|条数|13|
-||百分比|4.51%|
-|"国外销售"|条数|0|
-||百分比|0.00%|
-|"样品订单"|条数|2|
-||百分比|0.69%|
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|288|
-|"RMB"|条数|288|
-||百分比|100.00%|
-|"USD"|条数|0|
-||百分比|0%|
-
-
-|金额 : "scale"||
-|---|---:|
-|条数|86|
-|总和|2803270.8500|
-|平均值|32596.1727|
-|标准差|46825.9726|
-|最小值|0.000|
-|25^th%值|539.5000|
-|中位数|15675.0000|
-|75^th%值|45982.5000|
-|最大值|265330.0000|
-
-
-|订单类型 : "categorical|||
-|---:|---|---:|
-|总体|条数|86|
-|"国内销售"|条数|50| 
-||百分比|58.14%|
-|"不冲销预测"|条数|0|
-||百分比|0.00%|
-|"初始化"|条数|34|
-||百分比|39.53%|
-|"国外销售"|条数|0|
-||百分比|0.00%|
-|"样品订单"|条数|2|
-||百分比|2.33%|
-
-
-|币别 : "categorical"|||
-|---:|---|---:|
-|总体|条数|86|
-|"RMB"|条数|86|
-||百分比|100.00%|
-|"USD"|条数|0|
-||百分比|0%|
-
-___
-### 个体统计数据表 data_view
-1. 数据预处理选项:
-    - 排序方式(可选) sort_by
-        - 选择显示行数(如前5行 前30行)
-    - 分组方式(可选)group_by
-2. 勾选所显示的数据列 data_view_columns
-        - 原生数据
-        - 可供添加的个体统计数据列
-            - 偏差值 z-score: 适用于标量
-                - z-score = (value - mean(x))/std(x)
-        
-            
-##### 个体统计数据表配置界面草案示例
-![Image](.\doc\img\data_view.png)
-        
- 个体统计表样式草案示例
-| 不良率 | 偏差值 | 日期     | 处理温度 | 偏差值 | 配件A不良率 | 偏差值 | 处理时长 | 偏差值 |
-|--------|--------|----------|----------|--------|-------------|--------|----------|--------|
-| 83%    | 11.67  | 2017/2/1 | 125      | 3.57   | 45%         | 17.50  | 407      | 7.13   |
-| 79%    | 11.00  | 2017/3/8 | 119      | 2.71   | 30%         | 10.00  | 365      | 4.33   |
-| 62%    | 8.17   | 2017/1/1 | 108      | 1.14   | 32%         | 11.00  | 377      | 5.13   |
-| 54%    | 6.83   | 2017/7/2 | 93       | -1.00  | 8%          | -1.00  | 150      | -10.00 |
-| 53%    | 6.67   | 2017/7/3 | 95       | -0.71  | 10%         | 0.00   | 378      | 5.20   |
-| 51%    | 6.33   | 2017/3/1  | 107      | 1.00   | 15%         | 2.50   | 320      | 1.33   |
-| 43%    | 5.00   | 2017/4/1 | 100      | 0.00   | 12%         | 1.00   | 350      | 3.33   |
-| 30%    | 2.83   | 2017/11/2 | 101      | 0.14   | 10%         | 0.00   | 332      | 2.13   |
-| 28%    | 2.50   | 2017/12/1| 104      | 0.57   | 9%          | -0.50  | 301      | 0.07   |
-| 27%    | 2.33   | 2017/7/5| 100      | 0.00   | 8%          | -1.00  | 285      | -1.00  |
-
-___
-### 折线图
-1. 数据预处理选项:
-    - 分组方式(可选)group_by
-    - 分段(可选):bucketization
-        - 时间可按年月日分段
-        - 标量可平均分段
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数 count_columns
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积 sum_columns
-2. 定义x轴:x_axis
-    - 只可定义一个x轴,且x轴没有重复值
-    - 可选类型:时间、标量、序量
-
-3. 定义y轴:y_axis
-    - 可以定义多个同类y轴堆叠 (命名为yaxis_0, yaxis_1,以此类推)
-    - 分组也可以堆叠
-    - 但每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累计)
-4. 验证规则 validator
-        
-##### 折线图样式配置界面草案示例
-
-![Image](.\doc\img\line.png)
-___
-
-
-### 柱状图
-1. 数据预处理选项:
-    - 分段(可选):bucketization
-    - 分组方式(可选)group_by
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数 count_columns
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积 sum_columns
-2. 定义x轴:x_axis
-    - 只可定义一个x轴,且x轴没有重复值 
-    - 可选类型:序量、类别
-3. 定义y轴:y_axis
-    - 可以定义多个同类y轴堆叠 (命名为yaxis_0, yaxis_1,以此类推)
-    - 分组也可以堆叠
-    - 但每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累积)
-4. 验证规则
-        
-##### 柱状图样式配置界面草案示例
-
-![Image](.\doc\img\bar.png)
-____    
-
-### 饼状图 
-1. 数据预处理选项:
-    - 分组方式(可选)group_by
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-    - 分段(可选):bucketization
-2. 定义扇区索引:
-    - 只可定义一个扇区索引,且没有重复值
-    - 可选类型:类别        
-3. 验证规则
-    
-##### 饼状图样式配置界面草案示例
-
-![Image](.\doc\img\pie.png)
-
-______
-        
-### 散点图
-1. 数据预处理选项:
-    - 分段 bucketization
-    - 计数(可选):在定义好x轴后,可以选择一个类别数据列对其中符合特定判断条件的项进行计数
-    - 累积(可选):在定义好x轴后,可以选择一个标量数据列沿着x轴累积
-    - 分组方式(可选)
-3. 定义x轴:
-    - 只可定义一个x轴,x轴可以有重复值
-    - 可选类型:标量、序量    
-4. 定义y轴:
-    - 分组不可以堆叠
-    - 每个x值在每个y轴上对应的y值应当是唯一的
-    - 可选类型:标量(包括计数和累积)
-5. 验证规则
-
-##### 散点图样式配置界面草案示例
-
-![Image](.\doc\img\scatter.png)
-
-______

BIN
doc/chart/doc/img/aggregate.png


BIN
doc/chart/doc/img/bar.png


BIN
doc/chart/doc/img/basic_settings.png


BIN
doc/chart/doc/img/charts.png


BIN
doc/chart/doc/img/data_structure.png


BIN
doc/chart/doc/img/data_view.png


BIN
doc/chart/doc/img/line.png


BIN
doc/chart/doc/img/pie.png


BIN
doc/chart/doc/img/scatter.png


File diff suppressed because it is too large
+ 0 - 465
doc/config_databases/Bi-data_v2.ldm


+ 0 - 84
doc/config_databases/README.md

@@ -1,84 +0,0 @@
-# 数据库表设计文档
-![Image](./img/View.png)
-t_data_connectors 数据接口
-- id
-- name
-- notes 说明
-- configuration 配置
-- created_by 
-- create_time
-- update_time
-
-t_charts 图表
-- id
-- title 标题
-- subtitle 副标题
-- notes 说明
-- access_permission 访问权限
-- edit_permission 修改权限
-- data_connector 数据接口
-- time_span 时间跨度
-- filter 筛选规则
-- visualization 可视化模式
-- legend 图例
-- tooltip 提示框
-- datazoom 数据缩放
-- toolbox 工具箱
-- created_by
-- create_time
-- update_time
-
-t_aggregate_tables 总体统计数据表
-- chart_id
-- bucketization 分段
-- group_by 分组
-- aggregate_stats 总体统计数据
-- validator 验证规则
-
-t_data_view 个体统计数据图
-- chart_id
-- group_by
-- sort_by 排序方式
-- data_view_columns 显示的个体统计数据
-- validator 
-
-t_line_charts 折线图
-- chart_id
-- bucketization 
-- count_columns 计数列
-- sum_columns 累积列
-- group_by 
-- x_axis x轴
-- y_axis y轴
-- validator
-- 
-
-
-t_bar_charts 柱状图
-- chart_id
-- group_by
-- bucketization
-- count_columns
-- sum_columns
-- x_axis
-- y_axis
-- validator
-
-t_pie_charts 饼状图
-- chart_id
-- bucketization
-- count_columns
-- sum_columns
-- group_by
-- section_index 扇区索引
-- validator
-
-t_scatter_plots 散点图
-- chart_id
-- bucketization
-- count_columns
-- sum_columns
-- group_by
-- x_axis
-- y_axis
-- validator

BIN
doc/config_databases/img/View.png


+ 0 - 15
doc/dashboard/README.md

@@ -1,15 +0,0 @@
-# 报告与看板Dashboards
-##### 备忘
-- 报告和看板结构相同,只是报告不会定期刷新,页面大小限制(比如A4)以及允许导出
-
-### Dashboard属性参数
-1. 标题
-2. 修改权限
-3. 访问权限
-4. 位置参数
-
-##### Dashboards列表界面草案
-![Image](.\doc\img\dashboard.png)
-
-##### Dashboard属性配置界面草案
-![Image](.\doc\img\dashboards.png)

File diff suppressed because it is too large
+ 0 - 465
doc/dashboard/config_databases/Bi-data_v2.ldm


+ 0 - 84
doc/dashboard/config_databases/README.md

@@ -1,84 +0,0 @@
-# 数据库表设计文档
-![Image](./img/View.png)
-t_data_connectors 数据接口
-- id
-- name
-- notes 说明
-- configuration 配置
-- created_by 
-- create_time
-- update_time
-
-t_charts 图表
-- id
-- title 标题
-- subtitle 副标题
-- notes 说明
-- access_permission 访问权限
-- edit_permission 修改权限
-- data_connector 数据接口
-- time_span 时间跨度
-- filter 筛选规则
-- visualization 可视化模式
-- legend 图例
-- tooltip 提示框
-- datazoom 数据缩放
-- toolbox 工具箱
-- created_by
-- create_time
-- update_time
-
-t_aggregate_tables 总体统计数据表
-- chart_id
-- bucketization 分段
-- group_by 分组
-- aggregate_stats 总体统计数据
-- validator 验证规则
-
-t_data_view 个体统计数据图
-- chart_id
-- group_by
-- sort_by 排序方式
-- data_view_columns 显示的个体统计数据
-- validator 
-
-t_line_charts 折线图
-- chart_id
-- bucketization 
-- count_columns 计数列
-- sum_columns 累积列
-- group_by 
-- x_axis x轴
-- y_axis y轴
-- validator
-- 
-
-
-t_bar_charts 柱状图
-- chart_id
-- group_by
-- bucketization
-- count_columns
-- sum_columns
-- x_axis
-- y_axis
-- validator
-
-t_pie_charts 饼状图
-- chart_id
-- bucketization
-- count_columns
-- sum_columns
-- group_by
-- section_index 扇区索引
-- validator
-
-t_scatter_plots 散点图
-- chart_id
-- bucketization
-- count_columns
-- sum_columns
-- group_by
-- x_axis
-- y_axis
-- validator

BIN
doc/dashboard/config_databases/img/View.png


BIN
doc/dashboard/doc/img/dashboard.png


BIN
doc/dashboard/doc/img/dashboards.png


+ 0 - 58
doc/data_connector/README.md

@@ -1,58 +0,0 @@
-# 数据接口=
-##### 备忘
-    1. 应该有机制保证每次获取数据时访问量不会对数据库所在服务器产生过大负荷
-    2. 数据接口修改权限应当只分配给管理员,使用权限应当和图表一致并继承系统的权限配置
-    3. 数据接口最终应该只传递单一的一个表
-    
-### 数据接口配置档内容
-1. 数据来源:
-    - 可按名称关联数据库中的一个或多个表
-    - 可上传CSV(或xls转CSV)
-2. 获取表头,判断原生数据各列数据的默认类型并写入元数据metadata:
-    - index 索引(编号)
-    - time 时间戳:
-    - categorical 类别
-    - scale 标量
-    - ordinal 序值
-    - string 字符串
-3. 种类标签 tag
-4. 其他元信息:
-    - created_by 创建人
-    - created_time 创建时间
-    - used 使用中: 正在使用这个数据接口的图表数量
-
-
-### 数据接口API
-
-  get_data(data_connector, time_span=all, filter=none, columns=all)
-        - 按参数产生SQL语句,从数据库获取原生数据,和元数据一起打包成JSON。
-        - 可以接受以下参数:
-            - data_connector: 调用的数据接口
-            - time_span:时间跨度
-            - filter:筛选规则
-            - columns: 所选数据列
-
-
-
-##### 数据接口配置界面草案示例
-![Image](.\doc\img\data_connectors.png)
-
-![Image](.\doc\img\basic_settings.png)
-
-![Image](.\doc\img\data_type.png)
-
-##### 传回JSON格式草案示例
-
-```json
-{
-    "metadata": ["index", "categorical", "time", "categorical", "categorical", "categorical", "index", "index", "string", "string", "scale", "scale", "scale", "scale", "time", "time", "scale", "scale", "scale", "scale", "categorical", "index", "index", "categorical", "string", "string", "string", "string", "string", "string", "time", "string", "string", "scale", "scale", "scale"
-    ],
-    "data": [
-        ["订单编号", "单据状态", "日期",  "订单类型", "客户名称", "打印状态", "订单序号", "物料编号", "物料名称", "物料规格", "数量", "已出货数", "未发货数", "已转数量", "交货日期", "PMC回复交期","定价", "单价","金额", "不含税单价", "明细状态", "预测单号", "预测序号", "币别", "业务员", "部门", "应收客户", "收货客户", "收款条件", "录入人","录入日期", "明细备注", "主表备注", "已转制造数量", "毛利率%", "成本单价"],
-        ["SS20180508001", "已审核", "2018/5/8", "国内销售", "合肥雪祺电器有限公司", "未打印", "7", "88101716", "冰箱控制板", "雪祺基本型定频66K(DA000714301),RoHS", 73, 0, 73, 0, "2018/5/9", "2018/5/9", 57.7, 57.7, 4212.1, 49.741379, "已审核", "0", "RMB", "马成雨", "合肥雪祺电器有限公司", "合肥雪祺电器有限公司", "票到1月后付6个月承兑", "徐小秀", "2018/5/8", "", "", 73, 100, 0],
-        ["SS20180508001", "已审核", "2018/5/8", "国内销售", "合肥雪祺电器有限公司", "未打印", "6", "88101486", "冰箱显示板", "美菱窄屏DA000418212,雪祺,RoHS", 129, 0, 129 ,0, "2018/5/9", "2018/5/9", 32.2, 32.2, 4153.8, 27.758621, "已审核", "0", "RMB", "马成雨", "合肥雪祺电器有限公司", "合肥雪祺电器有限公司", "票到1月后付6个月承兑", "徐小秀", "2018/5/8", "", "", 129, 100, 0]
-    ]
-}
-
-```
-

BIN
doc/data_connector/doc/img/basic_settings.png


BIN
doc/data_connector/doc/img/data_connectors.png


BIN
doc/data_connector/doc/img/data_type.png


+ 9 - 1
src/main/java/com/controller/ChartsConfigController.java

@@ -72,6 +72,14 @@ public class ChartsConfigController {
         return chartsConfigService.setChartsConfig(body);
     }
 
+    /*
+    更新Line
+     */
+    @RequestMapping("/updateLine")
+    public RepEntity updateLine(@RequestBody ChartConfigInfo<Line> body){
+        return chartsConfigService.updateChartsConfig(body);
+    }
+
     /*
    饼图配置
     */
@@ -81,7 +89,7 @@ public class ChartsConfigController {
     }
 
     /*
-   更新柱状
+   更新Pie
     */
     @RequestMapping("/updatePie")
     public RepEntity updatePie(@RequestBody ChartConfigInfo<Pie> body){

+ 6 - 6
src/main/java/com/model/bo/Line.java

@@ -1,22 +1,22 @@
 package com.model.bo;
 
 public class Line {
-    private String xAxis;
-    private String yAxis;
+    private Column xAxis;
+    private Column yAxis;
 
-    public String getxAxis() {
+    public Column getxAxis() {
         return xAxis;
     }
 
-    public void setxAxis(String xAxis) {
+    public void setxAxis(Column xAxis) {
         this.xAxis = xAxis;
     }
 
-    public String getyAxis() {
+    public Column getyAxis() {
         return yAxis;
     }
 
-    public void setyAxis(String yAxis) {
+    public void setyAxis(Column yAxis) {
         this.yAxis = yAxis;
     }
 

+ 16 - 6
src/main/java/com/model/bo/Pie.java

@@ -1,20 +1,30 @@
 package com.model.bo;
 
 public class Pie {
-    private String columnTarget;          //分析的目标列
+    private Column legendData;
+    private Column series;
 
-    public String getColumnTarget() {
-        return columnTarget;
+    public Column getLegendData() {
+        return legendData;
     }
 
-    public void setColumnTarget(String columnTarget) {
-        this.columnTarget = columnTarget;
+    public void setLegendData(Column legendData) {
+        this.legendData = legendData;
+    }
+
+    public Column getSeries() {
+        return series;
+    }
+
+    public void setSeries(Column series) {
+        this.series = series;
     }
 
     @Override
     public String toString() {
         return "Pie{" +
-                "columnTarget='" + columnTarget + '\'' +
+                "legendData=" + legendData +
+                ", series=" + series +
                 '}';
     }
 }

+ 0 - 47
src/main/java/com/util/DataSource1Config.java

@@ -1,47 +0,0 @@
-package com.util;
-
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "com.database1", sqlSessionTemplateRef  = "database1SqlSessionTemplate")
-public class DataSource1Config {
-    @Bean(name = "database1DataSource")
-    @ConfigurationProperties(prefix = "spring.datasource.database1")
-//    @Primary
-    public DataSource testDataSource() {
-        return DataSourceBuilder.create().build();
-    }
-
-    @Bean(name = "database1SqlSessionFactory")
-//    @Primary
-    public SqlSessionFactory testSqlSessionFactory(@Qualifier("database1DataSource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
-        bean.setDataSource(dataSource);
-//        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));
-        return bean.getObject();
-    }
-
-    @Bean(name = "database1TransactionManager")
-//    @Primary
-    public DataSourceTransactionManager testTransactionManager(@Qualifier("database1DataSource") DataSource dataSource) {
-        return new DataSourceTransactionManager(dataSource);
-    }
-
-    @Bean(name = "database1SqlSessionTemplate")
-//    @Primary
-    public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("database1SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
-        return new SqlSessionTemplate(sqlSessionFactory);
-    }
-
-}

+ 0 - 47
src/main/java/com/util/DataSource2Config.java

@@ -1,47 +0,0 @@
-package com.util;
-
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.SqlSessionTemplate;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.jdbc.DataSourceBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-
-import javax.sql.DataSource;
-
-@Configuration
-@MapperScan(basePackages = "com.database2", sqlSessionTemplateRef  = "database2SqlSessionTemplate")
-public class DataSource2Config {
-    @Bean(name = "database2DataSource")
-    @ConfigurationProperties(prefix = "spring.datasource.database2")
-//    @Primary
-    public DataSource testDataSource() {
-        return DataSourceBuilder.create().build();
-    }
-
-    @Bean(name = "database2SqlSessionFactory")
-//    @Primary
-    public SqlSessionFactory testSqlSessionFactory(@Qualifier("database2DataSource") DataSource dataSource) throws Exception {
-        SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
-        bean.setDataSource(dataSource);
-//        bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mybatis/mapper/test1/*.xml"));
-        return bean.getObject();
-    }
-
-    @Bean(name = "database2TransactionManager")
-//    @Primary
-    public DataSourceTransactionManager testTransactionManager(@Qualifier("database2DataSource") DataSource dataSource) {
-        return new DataSourceTransactionManager(dataSource);
-    }
-
-    @Bean(name = "database2SqlSessionTemplate")
-//    @Primary
-    public SqlSessionTemplate testSqlSessionTemplate(@Qualifier("database2SqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
-        return new SqlSessionTemplate(sqlSessionFactory);
-    }
-
-}

Some files were not shown because too many files changed in this diff