@gingkoo/pandora-metabase 1.0.118 → 1.0.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. package/lib/cjs/common/Portal/index.js +0 -2
  2. package/lib/cjs/common/SplitView/index.d.ts +0 -4
  3. package/lib/cjs/common/SplitView/index.js +0 -10
  4. package/lib/cjs/components/dialog/custom-column/config.js +4 -48
  5. package/lib/cjs/components/dialog/custom-column/expression-editor.js +3 -14
  6. package/lib/cjs/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
  7. package/lib/cjs/components/dialog/custom-column/expressions/suggest.js +2 -43
  8. package/lib/cjs/components/dialog/custom-column/expressions/tokenizer.js +8 -65
  9. package/lib/cjs/components/dialog/custom-column/index.js +2 -4
  10. package/lib/cjs/components/dialog/custom-column/tokenized-expression.js +2 -3
  11. package/lib/cjs/components/dialog/custom-column/tokenizedI-input.js +1 -1
  12. package/lib/cjs/components/dialog/custom-editor/index.js +2 -7
  13. package/lib/cjs/components/dialog/diff-viewer/index copy.js +1 -16
  14. package/lib/cjs/components/dialog/expression/date-format-picker.js +2 -20
  15. package/lib/cjs/components/dialog/expression/date-format.js +2 -8
  16. package/lib/cjs/components/dialog/expression/index.d.ts +0 -3
  17. package/lib/cjs/components/dialog/expression/index.js +2 -83
  18. package/lib/cjs/components/dialog/formula/index.js +6 -31
  19. package/lib/cjs/components/dialog/formula/utils.js +2 -10
  20. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
  21. package/lib/cjs/components/dialog/formula-list/CaseWhenGroup.js +109 -0
  22. package/lib/cjs/components/dialog/formula-list/LogicGroup.d.ts +9 -0
  23. package/lib/cjs/components/dialog/formula-list/LogicGroup.js +43 -0
  24. package/lib/cjs/components/dialog/formula-list/index.d.ts +3 -0
  25. package/lib/cjs/components/dialog/formula-list/index.js +970 -504
  26. package/lib/cjs/components/dialog/formula-list/index.less +724 -0
  27. package/lib/cjs/components/dialog/formula-list/utils.d.ts +0 -7
  28. package/lib/cjs/components/dialog/formula-list/utils.js +117 -113
  29. package/lib/cjs/components/dialog/select-column/index.d.ts +0 -6
  30. package/lib/cjs/components/dialog/select-column/index.js +4 -15
  31. package/lib/cjs/components/dialog/select-column-multiple/index.d.ts +0 -8
  32. package/lib/cjs/components/dialog/select-column-multiple/index.js +6 -45
  33. package/lib/cjs/components/dialog/select-join/index.d.ts +0 -5
  34. package/lib/cjs/components/dialog/select-join/index.js +0 -6
  35. package/lib/cjs/components/dialog/select-join-column/index.d.ts +0 -8
  36. package/lib/cjs/components/dialog/select-join-column/index.js +7 -21
  37. package/lib/cjs/components/dialog/select-join-column-multiple/index.d.ts +0 -8
  38. package/lib/cjs/components/dialog/select-join-column-multiple/index.js +5 -35
  39. package/lib/cjs/components/dialog/select-permission-table/index.d.ts +0 -5
  40. package/lib/cjs/components/dialog/select-permission-table/index.js +0 -6
  41. package/lib/cjs/components/dialog/select-summarize/index.d.ts +7 -4
  42. package/lib/cjs/components/dialog/select-summarize/index.js +105 -18
  43. package/lib/cjs/components/dialog/select-summarize/index.less +23 -0
  44. package/lib/cjs/components/dialog/select-table/index.d.ts +0 -6
  45. package/lib/cjs/components/dialog/select-table/index.js +1 -9
  46. package/lib/cjs/components/metabase/index.js +72 -86
  47. package/lib/cjs/components/metabase/index.less +7 -7
  48. package/lib/cjs/components/modules/components/Wrapper.js +1 -1
  49. package/lib/cjs/components/modules/components/header.js +2 -2
  50. package/lib/cjs/components/modules/components/meta-icon.d.ts +0 -3
  51. package/lib/cjs/components/modules/components/meta-icon.js +2 -47
  52. package/lib/cjs/components/modules/custom-column.js +3 -29
  53. package/lib/cjs/components/modules/enum/filter-enum.js +9 -88
  54. package/lib/cjs/components/modules/filter.js +2 -20
  55. package/lib/cjs/components/modules/index.d.ts +4 -2
  56. package/lib/cjs/components/modules/index.js +24 -1
  57. package/lib/cjs/components/modules/join-data.js +13 -291
  58. package/lib/cjs/components/modules/row-limit.js +0 -1
  59. package/lib/cjs/components/modules/sort.js +1 -61
  60. package/lib/cjs/components/modules/summarize/group-by.d.ts +0 -5
  61. package/lib/cjs/components/modules/summarize/group-by.js +251 -89
  62. package/lib/cjs/components/modules/summarize/select-index.js +116 -59
  63. package/lib/cjs/components/modules/table-data.js +11 -64
  64. package/lib/cjs/components/popup.js +26 -32
  65. package/lib/cjs/hooks/patch.d.ts +1 -0
  66. package/lib/cjs/hooks/patch.js +104 -6
  67. package/lib/cjs/hooks/patch2.js +3 -165
  68. package/lib/cjs/hooks/use-provider.js +0 -3
  69. package/lib/cjs/hooks/use-state.js +55 -135
  70. package/lib/cjs/index.js +0 -15
  71. package/lib/cjs/locale/en.js +5 -0
  72. package/lib/cjs/locale/index.js +1 -4
  73. package/lib/cjs/locale/zh.js +5 -0
  74. package/lib/cjs/sql-formula.js +0 -1
  75. package/lib/cjs/store/enum.d.ts +6 -6
  76. package/lib/cjs/store/enum.js +0 -13
  77. package/lib/cjs/store/helper.d.ts +2 -1
  78. package/lib/cjs/store/helper.js +15 -225
  79. package/lib/cjs/store/types.d.ts +45 -67
  80. package/lib/cjs/store/types.js +3 -49
  81. package/lib/cjs/types.d.ts +1 -0
  82. package/lib/cjs/utils/cookies.js +0 -3
  83. package/lib/cjs/utils/event.js +1 -1
  84. package/lib/cjs/utils/helper-dom.d.ts +1 -0
  85. package/lib/cjs/utils/helper-dom.js +17 -10
  86. package/lib/cjs/utils/helper.js +1 -24
  87. package/lib/cjs/utils/keydown.js +4 -7
  88. package/lib/cjs/utils/platform.d.ts +0 -9
  89. package/lib/cjs/utils/platform.js +0 -10
  90. package/lib/cjs/utils/selection.js +0 -6
  91. package/lib/cjs/utils/storage.d.ts +0 -9
  92. package/lib/cjs/utils/storage.js +1 -11
  93. package/lib/cjs/utils/transformSql.d.ts +5 -0
  94. package/lib/cjs/utils/transformSql.js +40 -101
  95. package/lib/cjs/utils.d.ts +1 -6
  96. package/lib/cjs/utils.js +126 -255
  97. package/lib/es/common/Portal/index.js +0 -2
  98. package/lib/es/common/SplitView/index.d.ts +0 -4
  99. package/lib/es/common/SplitView/index.js +0 -10
  100. package/lib/es/components/dialog/custom-column/config.js +4 -48
  101. package/lib/es/components/dialog/custom-column/expression-editor.js +3 -14
  102. package/lib/es/components/dialog/custom-column/expressions/suggest.d.ts +2 -34
  103. package/lib/es/components/dialog/custom-column/expressions/suggest.js +2 -43
  104. package/lib/es/components/dialog/custom-column/expressions/tokenizer.js +8 -65
  105. package/lib/es/components/dialog/custom-column/index.js +2 -4
  106. package/lib/es/components/dialog/custom-column/tokenized-expression.js +1 -3
  107. package/lib/es/components/dialog/custom-column/tokenizedI-input.js +1 -1
  108. package/lib/es/components/dialog/custom-editor/index.js +1 -7
  109. package/lib/es/components/dialog/diff-viewer/index copy.js +1 -15
  110. package/lib/es/components/dialog/expression/date-format-picker.js +2 -20
  111. package/lib/es/components/dialog/expression/date-format.js +2 -8
  112. package/lib/es/components/dialog/expression/index.d.ts +0 -3
  113. package/lib/es/components/dialog/expression/index.js +2 -82
  114. package/lib/es/components/dialog/formula/index.js +5 -31
  115. package/lib/es/components/dialog/formula/utils.js +2 -10
  116. package/lib/es/components/dialog/formula-list/CaseWhenGroup.d.ts +19 -0
  117. package/lib/es/components/dialog/formula-list/CaseWhenGroup.js +102 -0
  118. package/lib/es/components/dialog/formula-list/LogicGroup.d.ts +9 -0
  119. package/lib/es/components/dialog/formula-list/LogicGroup.js +36 -0
  120. package/lib/es/components/dialog/formula-list/index.d.ts +3 -0
  121. package/lib/es/components/dialog/formula-list/index.js +969 -504
  122. package/lib/es/components/dialog/formula-list/index.less +724 -0
  123. package/lib/es/components/dialog/formula-list/utils.d.ts +0 -7
  124. package/lib/es/components/dialog/formula-list/utils.js +117 -113
  125. package/lib/es/components/dialog/index.js +3 -3
  126. package/lib/es/components/dialog/select-column/index.d.ts +0 -6
  127. package/lib/es/components/dialog/select-column/index.js +4 -14
  128. package/lib/es/components/dialog/select-column-multiple/index.d.ts +0 -8
  129. package/lib/es/components/dialog/select-column-multiple/index.js +7 -47
  130. package/lib/es/components/dialog/select-join/index.d.ts +0 -5
  131. package/lib/es/components/dialog/select-join/index.js +0 -5
  132. package/lib/es/components/dialog/select-join-column/index.d.ts +0 -8
  133. package/lib/es/components/dialog/select-join-column/index.js +7 -20
  134. package/lib/es/components/dialog/select-join-column-multiple/index.d.ts +0 -8
  135. package/lib/es/components/dialog/select-join-column-multiple/index.js +5 -34
  136. package/lib/es/components/dialog/select-permission-table/index.d.ts +0 -5
  137. package/lib/es/components/dialog/select-permission-table/index.js +0 -5
  138. package/lib/es/components/dialog/select-summarize/index.d.ts +7 -4
  139. package/lib/es/components/dialog/select-summarize/index.js +106 -18
  140. package/lib/es/components/dialog/select-summarize/index.less +23 -0
  141. package/lib/es/components/dialog/select-table/index.d.ts +0 -6
  142. package/lib/es/components/dialog/select-table/index.js +1 -8
  143. package/lib/es/components/metabase/index.js +72 -87
  144. package/lib/es/components/metabase/index.less +7 -7
  145. package/lib/es/components/modules/components/Wrapper.js +1 -1
  146. package/lib/es/components/modules/components/header.js +2 -2
  147. package/lib/es/components/modules/components/meta-icon.d.ts +0 -3
  148. package/lib/es/components/modules/components/meta-icon.js +2 -46
  149. package/lib/es/components/modules/custom-column.js +3 -29
  150. package/lib/es/components/modules/enum/filter-enum.js +9 -88
  151. package/lib/es/components/modules/filter.js +2 -19
  152. package/lib/es/components/modules/index.d.ts +4 -2
  153. package/lib/es/components/modules/index.js +24 -1
  154. package/lib/es/components/modules/join-data.js +13 -291
  155. package/lib/es/components/modules/row-limit.js +0 -1
  156. package/lib/es/components/modules/sort.js +1 -61
  157. package/lib/es/components/modules/summarize/group-by.d.ts +0 -5
  158. package/lib/es/components/modules/summarize/group-by.js +253 -91
  159. package/lib/es/components/modules/summarize/select-index.js +116 -59
  160. package/lib/es/components/modules/table-data.js +11 -64
  161. package/lib/es/components/popup.js +27 -33
  162. package/lib/es/hooks/patch.d.ts +1 -0
  163. package/lib/es/hooks/patch.js +103 -5
  164. package/lib/es/hooks/patch2.js +2 -164
  165. package/lib/es/hooks/use-provider.js +0 -3
  166. package/lib/es/hooks/use-state.js +55 -135
  167. package/lib/es/index.js +0 -14
  168. package/lib/es/locale/en.js +5 -0
  169. package/lib/es/locale/index.js +1 -4
  170. package/lib/es/locale/zh.js +5 -0
  171. package/lib/es/sql-formula.js +0 -1
  172. package/lib/es/store/enum.d.ts +6 -6
  173. package/lib/es/store/enum.js +0 -13
  174. package/lib/es/store/helper.d.ts +2 -1
  175. package/lib/es/store/helper.js +13 -224
  176. package/lib/es/store/types.d.ts +45 -67
  177. package/lib/es/store/types.js +3 -49
  178. package/lib/es/types.d.ts +1 -0
  179. package/lib/es/types.js +1 -18
  180. package/lib/es/utils/cookies.js +0 -3
  181. package/lib/es/utils/event.js +1 -1
  182. package/lib/es/utils/helper-dom.d.ts +1 -0
  183. package/lib/es/utils/helper-dom.js +16 -9
  184. package/lib/es/utils/helper.js +1 -24
  185. package/lib/es/utils/keydown.js +4 -7
  186. package/lib/es/utils/platform.d.ts +0 -9
  187. package/lib/es/utils/platform.js +0 -10
  188. package/lib/es/utils/selection.js +0 -6
  189. package/lib/es/utils/storage.d.ts +0 -9
  190. package/lib/es/utils/storage.js +1 -10
  191. package/lib/es/utils/transformSql.d.ts +5 -0
  192. package/lib/es/utils/transformSql.js +40 -100
  193. package/lib/es/utils.d.ts +1 -6
  194. package/lib/es/utils.js +127 -255
  195. package/package.json +1 -1
package/lib/cjs/utils.js CHANGED
@@ -8,7 +8,7 @@ exports.changeTableAlias = exports.changeFieldAlias = exports.changeExistsCopyFi
8
8
  exports.containsSubset = containsSubset;
9
9
  exports.isExistsError = exports.isError = exports.isCanPaste = exports.getSubColumns = exports.getObjTem = exports.getMetaTabels = exports.getHelper = exports.getColumnsTables = exports.findMetaKey = exports.findIndex = void 0;
10
10
  exports.isValidSQLAlias = isValidSQLAlias;
11
- exports.patchData = exports.metaIsCheck = void 0;
11
+ exports.patchData = exports.normalizeLegacySummarizeForSave = exports.metaIsCheck = void 0;
12
12
  exports.reassembleByUnion = reassembleByUnion;
13
13
  exports.splitByUnion = splitByUnion;
14
14
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/typeof"));
@@ -52,7 +52,6 @@ var getMetaTabels = exports.getMetaTabels = function getMetaTabels(data) {
52
52
  var getColumnsTables = exports.getColumnsTables = function getColumnsTables(data) {
53
53
  var obj = {};
54
54
  data.map(function (v) {
55
- // data也可直接是下拉框
56
55
  var _v$datasourceId = v.datasourceId,
57
56
  datasourceId = _v$datasourceId === void 0 ? 'source' : _v$datasourceId,
58
57
  _v$id = v.id,
@@ -71,13 +70,11 @@ var getHelper = exports.getHelper = function getHelper(list, item) {
71
70
  return v.type;
72
71
  });
73
72
  var curIndex = list.indexOf(item);
74
- var leftTypes = types.slice(0, curIndex); // 当前元素上面的所有元素 (不包含自己)
75
- var rightTypes = types.slice(curIndex + 1); // 当前元素下面的所有元素 (不包含自己)
73
+ var leftTypes = types.slice(0, curIndex);
74
+ var rightTypes = types.slice(curIndex + 1);
76
75
  var leftList = list.slice(0, curIndex);
77
76
  var rightList = list.slice(curIndex + 1);
78
- var topList = leftList; // 包含自己
79
- // let prevType = list[curIndex - 1]?.type || '';
80
- // let nextType = list[curIndex + 1]?.type || '';
77
+ var topList = leftList;
81
78
  var prevItem = list[curIndex - 1] || {};
82
79
  var nextItem = list[curIndex + 1] || {};
83
80
  var ExistAboveGroupBy = false;
@@ -119,16 +116,13 @@ var getHelper = exports.getHelper = function getHelper(list, item) {
119
116
  nextItem: nextItem
120
117
  };
121
118
  };
122
- // 获取子查询的字段
123
119
  var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
124
120
  var obj = {
125
121
  metaKey: -1,
126
122
  type: _enum.TypeEnum.customColumn,
127
123
  customColumn: [{
128
124
  name: '',
129
- // 用户起的别名
130
125
  fieldUuid: ''
131
- // formula: '', // 公式}];
132
126
  }]
133
127
  };
134
128
  var _getHelper = getHelper([].concat((0, _toConsumableArray2["default"])(metaList), [obj]), obj),
@@ -153,9 +147,7 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
153
147
  name: v.name || v.quotes,
154
148
  name_zh: v.name_zh || v.quotes,
155
149
  id: v.id || v.fieldId,
156
- // fieldUuid: uuidv4('field'),
157
150
  realName: ((_v$sql = v.sql) === null || _v$sql === void 0 || (_v$sql = _v$sql.split(' AS ')) === null || _v$sql === void 0 ? void 0 : _v$sql[1]) || '',
158
- // name_zh: '',
159
151
  database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
160
152
  special_type: '',
161
153
  select: true
@@ -170,7 +162,6 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
170
162
  name_zh: v.name_zh || v.quotes,
171
163
  id: v.id || v.fieldId,
172
164
  realName: ((_v$sql2 = v.sql) === null || _v$sql2 === void 0 || (_v$sql2 = _v$sql2.split(' AS ')) === null || _v$sql2 === void 0 ? void 0 : _v$sql2[1]) || '',
173
- // name_zh: '',
174
165
  database_type: (v === null || v === void 0 ? void 0 : v.database_type) || _enum.SQL_COLUMN_TYPE.FLOAT,
175
166
  special_type: '',
176
167
  select: true
@@ -180,20 +171,15 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
180
171
  data = [_data];
181
172
  var joinData = prevList.filter(function (v) {
182
173
  return v.type === _enum.TypeEnum.joinData;
183
- })
184
- // @ts-ignore
185
- .filter(function (v) {
174
+ }).filter(function (v) {
186
175
  return v && v.table2.name;
187
176
  });
188
177
  if (joinData.length) {
189
- data = data.concat(
190
- // @ts-ignore
191
- joinData.map(function (v) {
178
+ data = data.concat(joinData.map(function (v) {
192
179
  var columns = v.columns.map(function (column) {
193
180
  return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
194
181
  name: column.fieldAlias || column.name,
195
182
  fieldAlias: ''
196
- // fieldUuid: uuidv4('field'),
197
183
  });
198
184
  });
199
185
  return {
@@ -204,14 +190,12 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
204
190
  }));
205
191
  }
206
192
  } else {
207
- // @ts-ignore
208
193
  data = metaList.slice().map(function (v) {
209
194
  if (v.type === _enum.TypeEnum.data) {
210
195
  var columns = v.columns.map(function (column) {
211
196
  return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
212
197
  name: column.fieldAlias || column.name,
213
198
  fieldAlias: ''
214
- // fieldUuid: uuidv4('field'),
215
199
  });
216
200
  }).filter(function (item) {
217
201
  return item.select;
@@ -226,7 +210,6 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
226
210
  return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, column), {}, {
227
211
  name: column.fieldAlias || column.name,
228
212
  fieldAlias: ''
229
- // fieldUuid: uuidv4('field'),
230
213
  });
231
214
  }).filter(function (item) {
232
215
  return item.select;
@@ -265,20 +248,11 @@ var getSubColumns = exports.getSubColumns = function getSubColumns(metaList) {
265
248
  }
266
249
  return data;
267
250
  };
268
- // data = 'data',
269
- // joinData = 'joinData',
270
- // permissionTable = 'permissionTable', // 权限表
271
- // customColumn = 'customColumn',
272
- // filter = 'filter',
273
- // summarize = 'summarize',
274
- // sort = 'sort',
275
- // rowLimit = 'rowLimit',
276
251
  var AliasType;
277
252
  (function (AliasType) {
278
253
  AliasType["table"] = "table";
279
254
  AliasType["field"] = "field";
280
255
  })(AliasType || (AliasType = {}));
281
- // 修改别名
282
256
  var _changeAlias = function changeAlias(items, val, type) {
283
257
  return items.map(function (v) {
284
258
  if (v.type === _types.AtomsTypeEnum.JOIN_DEFAULT || v.type === _types.AtomsTypeEnum.EXPRESSION) {
@@ -381,13 +355,26 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
381
355
  v.group.map(function (group) {
382
356
  if (group.tableUuid === tableUuid) {
383
357
  group.alias = alias;
358
+ var groupAtoms = group.atoms;
359
+ if (groupAtoms && groupAtoms.length > 0) {
360
+ group.atoms = _changeAlias(groupAtoms, {
361
+ uuid: tableUuid,
362
+ alias: alias
363
+ }, AliasType.table);
364
+ }
384
365
  group.sql = (0, _helper.summarizeToSql)(v.group, group).sql;
385
366
  }
386
367
  });
387
368
  v.by.map(function (by) {
388
369
  if (by.tableUuid === tableUuid) {
389
370
  by.alias = alias;
390
- by.sql = "".concat(by.alias, ".").concat(by.realName || by.name);
371
+ if (by.atoms && by.atoms.length > 0) {
372
+ by.atoms = _changeAlias(by.atoms, {
373
+ uuid: tableUuid,
374
+ alias: alias
375
+ }, AliasType.table);
376
+ }
377
+ by.sql = (0, _helper.summarizeByToSql)(by);
391
378
  }
392
379
  });
393
380
  }
@@ -399,12 +386,6 @@ var changeTableAlias = exports.changeTableAlias = function changeTableAlias(list
399
386
  }, AliasType.table);
400
387
  }
401
388
  }
402
- // if ((v as MetaData | MetaJoin).subquery) {
403
- // (v as MetaData | MetaJoin).subquery = changeTableAlias(
404
- // (v as MetaData | MetaJoin).subquery || [],
405
- // curObj,
406
- // );
407
- // }
408
389
  return v;
409
390
  })) || [];
410
391
  };
@@ -438,13 +419,26 @@ var changeFieldAlias = exports.changeFieldAlias = function changeFieldAlias(list
438
419
  v.group.map(function (group) {
439
420
  if (group.fieldUuid === uuid) {
440
421
  group.fieldAlias = alias;
422
+ var groupAtoms = group.atoms;
423
+ if (groupAtoms && groupAtoms.length > 0) {
424
+ group.atoms = _changeAlias(groupAtoms, {
425
+ uuid: uuid,
426
+ alias: alias
427
+ }, AliasType.field);
428
+ }
441
429
  group.sql = (0, _helper.summarizeToSql)(v.group, group).sql;
442
430
  }
443
431
  });
444
432
  v.by.map(function (by) {
445
433
  if (by.fieldUuid === uuid) {
446
434
  by.fieldAlias = alias;
447
- by.sql = "".concat(by.alias, ".").concat(by.realName || by.name);
435
+ if (by.atoms && by.atoms.length > 0) {
436
+ by.atoms = _changeAlias(by.atoms, {
437
+ uuid: uuid,
438
+ alias: alias
439
+ }, AliasType.field);
440
+ }
441
+ by.sql = (0, _helper.summarizeByToSql)(by);
448
442
  }
449
443
  });
450
444
  }
@@ -479,7 +473,6 @@ function splitByUnion(data) {
479
473
  while (i < original.length) {
480
474
  var item = original[i];
481
475
  if (item.type === 'group') {
482
- // group.list 中每一项原样推入结果
483
476
  var _iterator = (0, _createForOfIteratorHelper2["default"])(item.list),
484
477
  _step;
485
478
  try {
@@ -496,7 +489,6 @@ function splitByUnion(data) {
496
489
  } else if (item.type === 'union') {
497
490
  var list = item.list,
498
491
  otehr = (0, _objectWithoutProperties2["default"])(item, _excluded);
499
- // 查找下一个 group,并将其 list 转成 subquery
500
492
  var nextItem = original[i + 1];
501
493
  if (nextItem && nextItem.type === 'group') {
502
494
  result.push((0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, otehr), {}, {
@@ -515,6 +507,77 @@ function splitByUnion(data) {
515
507
  }
516
508
  return result;
517
509
  }
510
+ var summarizeNoArgumentConditions = ['总行数', '累积行数'];
511
+ var stripSummarizeTableFields = function stripSummarizeTableFields(record) {
512
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, record), {}, {
513
+ table: '',
514
+ tableId: '',
515
+ tableUuid: '',
516
+ alias: '',
517
+ datasourceId: '',
518
+ datasourceName: ''
519
+ });
520
+ };
521
+ var createSummarizeFieldAtom = function createSummarizeFieldAtom(record) {
522
+ if (!record.name) return null;
523
+ return {
524
+ fieldName: record.name,
525
+ fieldNameZh: record.name_zh || '',
526
+ fieldAlias: '',
527
+ fieldUuid: (0, _helper2.uuidv4)('field'),
528
+ fieldId: record.id || record.fieldId || '',
529
+ tableName: record.table || '',
530
+ tableNameZh: '',
531
+ tableId: record.tableId || '',
532
+ tableAlias: record.alias || '',
533
+ tableUuid: record.tableUuid || '',
534
+ datasourceName: record.datasourceName || '',
535
+ datasourceId: record.datasourceId || '',
536
+ type: _types.AtomsTypeEnum.FIELD
537
+ };
538
+ };
539
+ var normalizeSummarizeItemForSave = function normalizeSummarizeItemForSave(record) {
540
+ var _record$atoms;
541
+ if ((_record$atoms = record.atoms) !== null && _record$atoms !== void 0 && _record$atoms.length || summarizeNoArgumentConditions.includes(record.condition)) {
542
+ var _record$atoms2;
543
+ return (_record$atoms2 = record.atoms) !== null && _record$atoms2 !== void 0 && _record$atoms2.length ? stripSummarizeTableFields(record) : record;
544
+ }
545
+ var fieldAtom = createSummarizeFieldAtom(record);
546
+ if (!fieldAtom) return record;
547
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, stripSummarizeTableFields(record)), {}, {
548
+ atoms: [fieldAtom]
549
+ });
550
+ };
551
+ var normalizeSummarizeByForSave = function normalizeSummarizeByForSave(record) {
552
+ var _record$atoms3;
553
+ if ((_record$atoms3 = record.atoms) !== null && _record$atoms3 !== void 0 && _record$atoms3.length) return stripSummarizeTableFields(record);
554
+ var fieldAtom = createSummarizeFieldAtom(record);
555
+ if (!fieldAtom) return record;
556
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, stripSummarizeTableFields(record)), {}, {
557
+ atoms: [fieldAtom]
558
+ });
559
+ };
560
+ var _normalizeLegacySummarizeForSave = exports.normalizeLegacySummarizeForSave = function normalizeLegacySummarizeForSave() {
561
+ var metas = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
562
+ return metas.map(function (meta) {
563
+ if (meta.type === _enum.TypeEnum.summarize) {
564
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
565
+ group: meta.group.map(function (item) {
566
+ return normalizeSummarizeItemForSave(item);
567
+ }),
568
+ by: meta.by.map(function (item) {
569
+ return normalizeSummarizeByForSave(item);
570
+ })
571
+ });
572
+ }
573
+ if (meta.type === _enum.TypeEnum.union) {
574
+ return (0, _objectSpread6["default"])((0, _objectSpread6["default"])({}, meta), {}, {
575
+ subquery: _normalizeLegacySummarizeForSave(meta.subquery || [])
576
+ });
577
+ }
578
+ return meta;
579
+ });
580
+ };
518
581
  var getObjTem = exports.getObjTem = function getObjTem(arr) {
519
582
  var obj = {};
520
583
  arr === null || arr === void 0 || arr.map(function (v) {
@@ -529,12 +592,8 @@ var getObjTem = exports.getObjTem = function getObjTem(arr) {
529
592
  var patchData = exports.patchData = function patchData(metas) {
530
593
  var constantList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
531
594
  var formulaTemplates = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
532
- // return metas;
533
595
  var mainTable = metas[0] || {};
534
596
  var version = (mainTable === null || mainTable === void 0 ? void 0 : mainTable.patchVersion) || '';
535
- // if (version != '1.0.0') {
536
- // return patchMetas(metas);
537
- // }
538
597
  if (version != '1.1.0') {
539
598
  return (0, _patch.patchMetas)(metas, constantList, getObjTem(formulaTemplates));
540
599
  }
@@ -546,7 +605,6 @@ function reassembleByUnion() {
546
605
  var result = [];
547
606
  var i = 0;
548
607
  var len = target.length;
549
- // 如果没有任何 union,直接放入一个 group.list
550
608
  var hasUnion = target.some(function (item) {
551
609
  return item.type === 'union';
552
610
  });
@@ -557,11 +615,9 @@ function reassembleByUnion() {
557
615
  list: (0, _toConsumableArray2["default"])(target)
558
616
  }];
559
617
  }
560
- // 否则正常处理
561
618
  while (i < len) {
562
619
  var item = target[i];
563
620
  if (item.type !== 'union') {
564
- // 收集连续非 union 的 item,统一放入一个 group.list
565
621
  var groupList = [];
566
622
  while (i < len && target[i].type !== 'union') {
567
623
  groupList.push(target[i]);
@@ -574,7 +630,6 @@ function reassembleByUnion() {
574
630
  });
575
631
  } else {
576
632
  var _item$union;
577
- // 处理 union
578
633
  result.push({
579
634
  type: 'union',
580
635
  name: 'union',
@@ -584,39 +639,11 @@ function reassembleByUnion() {
584
639
  var subquery = item.subquery || [];
585
640
  var convertedSubquery = reassembleByUnion(subquery);
586
641
  result.push.apply(result, (0, _toConsumableArray2["default"])(convertedSubquery));
587
- i++; // 跳过当前 union
642
+ i++;
588
643
  }
589
644
  }
590
645
  return result;
591
646
  }
592
- // export const buildSqlQuery = (data?: MetaListType[]): string => {
593
- // if (!data || data.length === 0) return '';
594
- // let sqlClauses: string[] = ['not exitis ( '];
595
- // data.forEach((item) => {
596
- // if (item.type === TypeEnum.data) {
597
- // const meta = item as MetaData;
598
- // const tableName = meta.table.name;
599
- // const alias = meta.table.alias ? `AS ${meta.table.alias}` : '';
600
- // const dataSource = meta.table.datasourceName;
601
- // sqlClauses.push(`SELECT 1 FROM ${dataSource}.${tableName} ${alias}`);
602
- // }
603
- // if (item.type === TypeEnum.joinData) {
604
- // const meta = item as MetaJoin;
605
- // const table1 = meta.table1.alias ? meta.table1.alias : meta.table1.name;
606
- // const table2 = `${meta.table2.datasourceName}.${meta.table2.name}`;
607
- // const alias2 = meta.table2.alias ? meta.table2.alias : '';
608
- // joins.push(`LEFT JOIN ${table2} ${alias2} ON ${table1}.${meta.columns[0]?.name} = ${alias2}.${meta.columns[0]?.name}`);
609
- // }
610
- // if (item.type === TypeEnum.filter) {
611
- // const filterStrings = (item as MetaFilter).filter.map((f) => f.quotes).filter(Boolean); // 排除空条件
612
- // if (filterStrings.length > 0) {
613
- // sqlClauses.push(`WHERE ${filterStrings.join(' AND ')}`);
614
- // }
615
- // }
616
- // });
617
- // // 简单拼接 SQL 片段
618
- // return sqlClauses.join(' ') + ' )' + ';';
619
- // };
620
647
  var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
621
648
  var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
622
649
  var type = arguments.length > 1 ? arguments[1] : undefined;
@@ -631,124 +658,17 @@ var buildSqlQuery = exports.buildSqlQuery = function buildSqlQuery() {
631
658
  var _transformSql = (0, _transformSql2.transformSql)(data),
632
659
  sql = _transformSql.sql;
633
660
  return "".concat(typeName, "(").concat(sql, ") ");
634
- // if (!data || data.length === 0) return '';
635
- // const name = type === AtomsTypeEnum.EXISTS ? 'EXISTS' : 'NOT EXISTS';
636
- // let sqlClauses: string[] = [`${name} (`];
637
- // let tables: string[] = [];
638
- // let joins: string[] = [];
639
- // let wheres: string[] = [];
640
- // data?.forEach((item) => {
641
- // if (item.type === TypeEnum.data) {
642
- // const meta = item as MetaData;
643
- // const tableName = `${meta.table.name}`;
644
- // const alias = meta.table.alias ? ` AS ${meta.table.alias}` : '';
645
- // tables.push(`${tableName}${alias}`);
646
- // }
647
- // if (item.type === TypeEnum.joinData) {
648
- // const meta = item as MetaJoin;
649
- // const table2Name = `${meta.table2.name}`;
650
- // const alias2 = meta.table2.alias ? ` AS ${meta.table2.alias}` : '';
651
- // const table2 = `${meta.table2.alias || meta.table2.name}`;
652
- // const table1 = `${meta.table1.alias || meta.table1.name}`;
653
- // joins.push(`LEFT JOIN ${table2Name}${alias2} ON `);
654
- // if (Array.isArray(item.expressions) && item.expressions?.length > 0) {
655
- // item.expressions?.forEach((expression) => {
656
- // let left = '',
657
- // right = '';
658
- // if (expression.type === AtomsTypeEnum.JOIN_DEFAULT) {
659
- // if (expression.lhs[0].type === AtomsTypeEnum.FIELD) {
660
- // left = expression.lhs
661
- // .map((v) => {
662
- // if (v.type === AtomsTypeEnum.FIELD) {
663
- // return v.fieldName;
664
- // } else {
665
- // return '';
666
- // }
667
- // })
668
- // .join(' || ');
669
- // } else if (
670
- // expression.lhs[0].type === AtomsTypeEnum.CONSTANT ||
671
- // expression.lhs[0].type === AtomsTypeEnum.INPUT_STRING
672
- // ) {
673
- // left = expression.lhs[0].val;
674
- // }
675
- // if (expression.rhs[0].type === AtomsTypeEnum.FIELD) {
676
- // right = expression.rhs
677
- // .map((v) => {
678
- // if (v.type === AtomsTypeEnum.FIELD) {
679
- // return v.fieldName;
680
- // } else {
681
- // return '';
682
- // }
683
- // })
684
- // .join(' || ');
685
- // } else if (
686
- // expression.rhs[0].type === AtomsTypeEnum.CONSTANT ||
687
- // expression.rhs[0].type === AtomsTypeEnum.INPUT_STRING
688
- // ) {
689
- // right = expression.rhs[0].val;
690
- // }
691
- // }
692
- // joins.push(`${left} = ${right}`);
693
- // });
694
- // }
695
- // }
696
- // if (item.type === TypeEnum.filter) {
697
- // const filterStrings = (item as MetaFilter).filter
698
- // .map((f) => {
699
- // if (f.type === AtomsTypeEnum.FIELD) {
700
- // return f.fieldName;
701
- // } else if (
702
- // f.type === AtomsTypeEnum.EXPRESSION ||
703
- // f.type === AtomsTypeEnum.EXISTS ||
704
- // f.type === AtomsTypeEnum.NOT_EXISTS ||
705
- // f.type === AtomsTypeEnum.FORMULA ||
706
- // f.type === AtomsTypeEnum.COLLECTION
707
- // ) {
708
- // return f.quotes;
709
- // } else if (f.type === AtomsTypeEnum.JOIN_DEFAULT) {
710
- // return '';
711
- // } else if (
712
- // f.type === AtomsTypeEnum.INPUT_NUMBER ||
713
- // f.type === AtomsTypeEnum.INPUT_NUMBER_LIST ||
714
- // f.type === AtomsTypeEnum.INPUT_STRING_LIST
715
- // ) {
716
- // return '';
717
- // } else {
718
- // return f.val;
719
- // }
720
- // })
721
- // .filter(Boolean);
722
- // if (filterStrings.length > 0) {
723
- // wheres.push(...filterStrings);
724
- // }
725
- // }
726
- // });
727
- // // 构建子查询
728
- // if (tables.length > 0) {
729
- // sqlClauses.push(`SELECT 1 FROM ${tables[0]}`);
730
- // if (joins.length > 0) {
731
- // sqlClauses.push(joins.join(' '));
732
- // }
733
- // if (wheres.length > 0) {
734
- // sqlClauses.push(`WHERE ${wheres.join(' ')}`);
735
- // }
736
- // }
737
- // sqlClauses.push(')');
738
- // return sqlClauses.join(' ');
739
661
  };
740
662
  var _isError = exports.isError = function isError(item, data) {
741
663
  var tables = getColumnsTables(data);
742
- // 不存在
743
664
  if (!item) {
744
665
  return false;
745
666
  }
746
667
  if (Array.isArray(item)) {
747
668
  return item.some(function (v) {
748
669
  return _isError(v, data);
749
- }); // item可能为数组关联的时候有多选情况,只要有一个错,整体就错
670
+ });
750
671
  }
751
- // 字段类型
752
672
  if (item.type === _types.AtomsTypeEnum.FIELD) {
753
673
  var datasourceId = item.datasourceId,
754
674
  _item$tableId = item.tableId,
@@ -757,16 +677,15 @@ var _isError = exports.isError = function isError(item, data) {
757
677
  tableAlias = _item$tableAlias === void 0 ? '' : _item$tableAlias,
758
678
  fieldName = item.fieldName,
759
679
  fieldId = item.fieldId;
760
- var _datasourceId = datasourceId || 'source'; // 默认为source
680
+ var _datasourceId = datasourceId || 'source';
761
681
  if (tableId === 'source') {
762
682
  _datasourceId = 'source';
763
683
  }
764
684
  if (!tableId) {
765
- return false; // 未选不报错
685
+ return false;
766
686
  }
767
687
  if (_datasourceId === 'source') {
768
688
  var _tables$_datasourceId;
769
- // 检查是否所有字段的 name 都不等于 fieldName
770
689
  if (!(tables !== null && tables !== void 0 && (_tables$_datasourceId = tables[_datasourceId]) !== null && _tables$_datasourceId !== void 0 && _tables$_datasourceId[tableId + tableAlias])) {
771
690
  return true;
772
691
  } else {
@@ -783,44 +702,31 @@ var _isError = exports.isError = function isError(item, data) {
783
702
  var hasField = (_tables$_datasourceId3 = tables === null || tables === void 0 || (_tables$_datasourceId4 = tables[_datasourceId]) === null || _tables$_datasourceId4 === void 0 || (_tables$_datasourceId4 = _tables$_datasourceId4[tableId + tableAlias]) === null || _tables$_datasourceId4 === void 0 ? void 0 : _tables$_datasourceId4.some(function (v) {
784
703
  return v.name === fieldName && (v.id === undefined || v.id === fieldId);
785
704
  })) !== null && _tables$_datasourceId3 !== void 0 ? _tables$_datasourceId3 : false;
786
- return !hasField; // 注意:返回 true 表示“有错误”
705
+ return !hasField;
787
706
  }
788
707
  }
789
- // 表达式类型
790
708
  if (item.type === _types.AtomsTypeEnum.EXPRESSION) {
791
709
  var lhsHasError = _isError(item.lhs, data);
792
710
  var rhsHasError = _isError(item.rhs, data);
793
711
  return lhsHasError || rhsHasError;
794
712
  }
795
- // 公式
796
713
  if (item.type === _types.AtomsTypeEnum.FORMULA) {
797
714
  return _isError(item.args, data);
798
715
  }
799
- // 公式
800
716
  if (item.type === _types.AtomsTypeEnum.COLLECTION) {
801
717
  return _isError(item.list, data);
802
718
  }
803
- return false; // 其他类型默认无错误
719
+ return false;
804
720
  };
805
- /**
806
- * 深度判断 sub 是否是 obj 的子集(递归比较所有可枚举自有属性)
807
- * @param sub 可能包含部分属性的对象
808
- * @param obj 待比较的对象
809
- * @param visited 用于处理循环引用的 WeakSet
810
- */
811
721
  function isSubset(sub, obj) {
812
722
  var visited = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new WeakSet();
813
- // 基本类型或引用相同
814
723
  if (sub === obj) return true;
815
- // 如果任一不是对象/数组,或者为 null,则不相等(sub 为基本类型时,上面已经比较过,这里只处理对象不等的情况)
816
724
  if ((0, _typeof2["default"])(sub) !== 'object' || sub === null || (0, _typeof2["default"])(obj) !== 'object' || obj === null) {
817
725
  return false;
818
726
  }
819
- // 避免循环引用
820
727
  if (visited.has(sub) || visited.has(obj)) return false;
821
728
  visited.add(sub);
822
729
  visited.add(obj);
823
- // 处理数组
824
730
  if (Array.isArray(sub)) {
825
731
  if (!Array.isArray(obj) || sub.length !== obj.length) return false;
826
732
  for (var i = 0; i < sub.length; i++) {
@@ -828,35 +734,23 @@ function isSubset(sub, obj) {
828
734
  }
829
735
  return true;
830
736
  }
831
- // 普通对象:遍历 sub 的每个键
832
737
  for (var key in sub) {
833
738
  if (Object.prototype.hasOwnProperty.call(sub, key)) {
834
- // obj 必须包含该键
835
739
  if (!Object.prototype.hasOwnProperty.call(obj, key)) return false;
836
- // 递归比较值
837
740
  if (!isSubset(sub[key], obj[key], visited)) return false;
838
741
  }
839
742
  }
840
743
  return true;
841
744
  }
842
- /**
843
- * 在嵌套结构 root 中查找是否存在一个对象,使得 target 是该对象的子集
844
- * @param root 可能包含任意层数组/对象的根数据
845
- * @param target 目标对象(可能只包含部分字段)
846
- * @returns 是否存在
847
- */
848
745
  function containsSubset(root, target) {
849
746
  var visited = new WeakSet();
850
747
  function search(current) {
851
748
  if (current && (0, _typeof2["default"])(current) === 'object') {
852
- // 避免循环引用
853
749
  if (visited.has(current)) return false;
854
750
  visited.add(current);
855
- // 如果是普通对象(非数组),先检查是否包含 target 子集
856
751
  if (!Array.isArray(current) && isSubset(target, current)) {
857
752
  return true;
858
753
  }
859
- // 继续深入遍历子元素
860
754
  if (Array.isArray(current)) {
861
755
  var _iterator2 = (0, _createForOfIteratorHelper2["default"])(current),
862
756
  _step2;
@@ -882,45 +776,37 @@ function containsSubset(root, target) {
882
776
  }
883
777
  return search(root);
884
778
  }
885
- // 判断当前meta中是否含有errorList
886
779
  var isExistsError = exports.isExistsError = function isExistsError(meta, errorList) {
887
780
  var _meta = (0, _cloneDeep3["default"])(meta);
888
781
  return errorList.some(function (error) {
889
782
  return containsSubset(_meta, error);
890
783
  });
891
784
  };
892
- // 设置新字段信息
893
785
  function setNewField(field, data) {
894
- console.log('🚀 ~ setNewField ~ field:', field);
895
786
  var _iterator3 = (0, _createForOfIteratorHelper2["default"])(data),
896
787
  _step3;
897
788
  try {
898
789
  for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
899
790
  var table = _step3.value;
900
- // 第一步:判断表名是否一致
901
791
  if (table.name !== field.tableName) {
902
792
  continue;
903
793
  }
904
- // 第二步:✅ 表名一致,立即更新所有表相关信息(不管字段是否存在)
905
794
  field.datasourceId = table.datasourceId || '';
906
795
  field.datasourceName = table.datasourceName || '';
907
796
  field.tableId = table.id || '';
908
- field.tableName = table.name || ''; // 虽然相同,但确保标准化
797
+ field.tableName = table.name || '';
909
798
  field.tableAlias = table.alias || '';
910
799
  field.tableUuid = table.tableUuid || '';
911
800
  field.tableNameZh = table.name_zh || '';
912
- // 第三步:尝试找字段,更新字段相关信息(仅当字段存在时)
913
801
  var matchedColumn = table.columns.find(function (col) {
914
802
  return col.name === field.fieldName;
915
803
  });
916
- console.log('🚀 ~ setNewField ~ matchedColumn:', matchedColumn);
917
804
  if (matchedColumn) {
918
805
  field.fieldId = matchedColumn.id || '';
919
806
  field.fieldNameZh = matchedColumn.name_zh || '';
920
807
  field.fieldUuid = matchedColumn.fieldUuid || '';
921
808
  field.fieldAlias = matchedColumn.fieldAlias || '';
922
809
  }
923
- // 找到同名表就停止(假设表名唯一)
924
810
  break;
925
811
  }
926
812
  } catch (err) {
@@ -928,10 +814,8 @@ function setNewField(field, data) {
928
814
  } finally {
929
815
  _iterator3.f();
930
816
  }
931
- console.log('🚀 ~ setNewField ~ field:', field);
932
817
  return field;
933
818
  }
934
- // 复制字段别名后修改对应的表id或字段id的别名
935
819
  var _changeCopyField = exports.changeCopyField = function changeCopyField(items, data) {
936
820
  return items.map(function (v) {
937
821
  if (v.type === _types.AtomsTypeEnum.JOIN_DEFAULT || v.type === _types.AtomsTypeEnum.EXPRESSION) {
@@ -940,22 +824,10 @@ var _changeCopyField = exports.changeCopyField = function changeCopyField(items,
940
824
  rhs: _changeCopyField(v.rhs, data)
941
825
  });
942
826
  } else if (v.type === _types.AtomsTypeEnum.FIELD) {
943
- // if (type === AliasType.table && v.tableUuid === val.uuid) {
944
- // v.tableAlias = val.alias;
945
- // }
946
- // if (type === AliasType.field && v.fieldUuid === val.uuid) {
947
- // v.fieldAlias = val.alias;
948
- // }
949
- // 需要处理复制的字段别名
950
827
  v = setNewField(v, data);
951
828
  return v;
952
829
  } else if (v.type === _types.AtomsTypeEnum.EXISTS || v.type === _types.AtomsTypeEnum.NOT_EXISTS) {
953
830
  v.notExists = changeExistsCopyField(v.notExists || [], data);
954
- // if (type === AliasType.table) {
955
- // v.notExists = changeExistsCopyTable(v.notExists || [], data);
956
- // }
957
- // if (type === AliasType.field) {
958
- // }
959
831
  return v;
960
832
  } else if (v.type === _types.AtomsTypeEnum.FORMULA) {
961
833
  v.args = _changeCopyField(v.args, data);
@@ -986,23 +858,22 @@ var changeExistsCopyField = exports.changeExistsCopyField = function changeExist
986
858
  });
987
859
  }
988
860
  if (v.type === _enum.TypeEnum.rowLimit) {}
989
- // if (v.type === TypeEnum.summarize) {
990
- // v.group.map((group) => {
991
- // if (group.fieldUuid === uuid) {
992
- // group.fieldAlias = alias;
993
- // group.sql = summarizeToSql(v.group, group).sql;
994
- // }
995
- // });
996
- // v.by.map((by) => {
997
- // if (by.fieldUuid === uuid) {
998
- // by.fieldAlias = alias;
999
- // by.sql = `${by.alias}.${by.realName || by.name}`;
1000
- // }
1001
- // });
1002
- // }
861
+ if (v.type === _enum.TypeEnum.summarize) {
862
+ v.group.map(function (group) {
863
+ if (group.atoms && group.atoms.length > 0) {
864
+ group.atoms = _changeCopyField(group.atoms, _data);
865
+ group.sql = (0, _helper.summarizeToSql)(v.group, group).sql;
866
+ }
867
+ });
868
+ v.by.map(function (by) {
869
+ if (by.atoms && by.atoms.length > 0) {
870
+ by.atoms = _changeCopyField(by.atoms, _data);
871
+ by.sql = (0, _helper.summarizeByToSql)(by);
872
+ }
873
+ });
874
+ }
1003
875
  if (v.type === _enum.TypeEnum.filter) {
1004
876
  if (v.filter && v.filter.length > 0) {
1005
- console.log(v.filter);
1006
877
  v.filter = _changeCopyField(v.filter, _data);
1007
878
  }
1008
879
  }