@steedos/objectql 2.1.82 → 2.1.86
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.
- package/lib/actions/field_updates.js +15 -15
- package/lib/actions/field_updates.js.map +1 -1
- package/lib/actions/index.js +3 -3
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/workflow_notifications.js +10 -10
- package/lib/actions/workflow_notifications.js.map +1 -1
- package/lib/actions/workflow_rule.js +19 -19
- package/lib/actions/workflow_rule.js.map +1 -1
- package/lib/driver/index.js +1 -0
- package/lib/driver/index.js.map +1 -1
- package/lib/driver/metadata.js +3 -3
- package/lib/driver/metadata.js.map +1 -1
- package/lib/driver/meteorMongo.js +36 -36
- package/lib/driver/meteorMongo.js.map +1 -1
- package/lib/driver/mongo.js +43 -43
- package/lib/driver/mongo.js.map +1 -1
- package/lib/driver/mysql.js +2 -2
- package/lib/driver/mysql.js.map +1 -1
- package/lib/driver/oracle.js +5 -5
- package/lib/driver/oracle.js.map +1 -1
- package/lib/driver/postgres.js +2 -2
- package/lib/driver/postgres.js.map +1 -1
- package/lib/driver/sqlite3.js +2 -2
- package/lib/driver/sqlite3.js.map +1 -1
- package/lib/driver/sqlserver.js +4 -4
- package/lib/driver/sqlserver.js.map +1 -1
- package/lib/dynamic-load/actions.js +22 -18
- package/lib/dynamic-load/actions.js.map +1 -1
- package/lib/dynamic-load/approval_process.js +15 -10
- package/lib/dynamic-load/approval_process.js.map +1 -1
- package/lib/dynamic-load/button.js +25 -18
- package/lib/dynamic-load/button.js.map +1 -1
- package/lib/dynamic-load/chart.js +20 -23
- package/lib/dynamic-load/chart.js.map +1 -1
- package/lib/dynamic-load/field.js +21 -16
- package/lib/dynamic-load/field.js.map +1 -1
- package/lib/dynamic-load/flow_role.js +12 -8
- package/lib/dynamic-load/flow_role.js.map +1 -1
- package/lib/dynamic-load/index.d.ts +1 -0
- package/lib/dynamic-load/index.js +20 -19
- package/lib/dynamic-load/index.js.map +1 -1
- package/lib/dynamic-load/layout.js +19 -14
- package/lib/dynamic-load/layout.js.map +1 -1
- package/lib/dynamic-load/listview.js +14 -11
- package/lib/dynamic-load/listview.js.map +1 -1
- package/lib/dynamic-load/method.js +9 -6
- package/lib/dynamic-load/method.js.map +1 -1
- package/lib/dynamic-load/object_translations.js +29 -51
- package/lib/dynamic-load/object_translations.js.map +1 -1
- package/lib/dynamic-load/originalObject.js +1 -1
- package/lib/dynamic-load/originalObject.js.map +1 -1
- package/lib/dynamic-load/package.d.ts +9 -0
- package/lib/dynamic-load/package.js +507 -0
- package/lib/dynamic-load/package.js.map +1 -0
- package/lib/dynamic-load/page.js +20 -23
- package/lib/dynamic-load/page.js.map +1 -1
- package/lib/dynamic-load/permission.js +61 -65
- package/lib/dynamic-load/permission.js.map +1 -1
- package/lib/dynamic-load/permissionset.js +30 -25
- package/lib/dynamic-load/permissionset.js.map +1 -1
- package/lib/dynamic-load/preload_data.js +55 -74
- package/lib/dynamic-load/preload_data.js.map +1 -1
- package/lib/dynamic-load/profile.js +33 -28
- package/lib/dynamic-load/profile.js.map +1 -1
- package/lib/dynamic-load/query.js +20 -23
- package/lib/dynamic-load/query.js.map +1 -1
- package/lib/dynamic-load/restrictionRules.js +18 -23
- package/lib/dynamic-load/restrictionRules.js.map +1 -1
- package/lib/dynamic-load/role.js +12 -8
- package/lib/dynamic-load/role.js.map +1 -1
- package/lib/dynamic-load/shareRules.js +18 -23
- package/lib/dynamic-load/shareRules.js.map +1 -1
- package/lib/dynamic-load/tab.js +4 -3
- package/lib/dynamic-load/tab.js.map +1 -1
- package/lib/dynamic-load/tabs.js +9 -7
- package/lib/dynamic-load/tabs.js.map +1 -1
- package/lib/dynamic-load/translations.js +23 -17
- package/lib/dynamic-load/translations.js.map +1 -1
- package/lib/dynamic-load/trigger.js +14 -10
- package/lib/dynamic-load/trigger.js.map +1 -1
- package/lib/dynamic-load/validation_rule.js +13 -8
- package/lib/dynamic-load/validation_rule.js.map +1 -1
- package/lib/dynamic-load/workflow.js +38 -25
- package/lib/dynamic-load/workflow.js.map +1 -1
- package/lib/errors/index.js +2 -1
- package/lib/errors/index.js.map +1 -1
- package/lib/formula/core.js +105 -91
- package/lib/formula/core.js.map +1 -1
- package/lib/formula/field_formula.js +26 -20
- package/lib/formula/field_formula.js.map +1 -1
- package/lib/formula/index.js +26 -26
- package/lib/formula/index.js.map +1 -1
- package/lib/formula/params.js +1 -1
- package/lib/formula/params.js.map +1 -1
- package/lib/formula/recompute.js +27 -25
- package/lib/formula/recompute.js.map +1 -1
- package/lib/formula/simple_params.js +2 -2
- package/lib/formula/simple_params.js.map +1 -1
- package/lib/formula/util.js +33 -23
- package/lib/formula/util.js.map +1 -1
- package/lib/index.js +15 -15
- package/lib/index.js.map +1 -1
- package/lib/metadata-register/_base.d.ts +1 -0
- package/lib/metadata-register/_base.js +45 -15
- package/lib/metadata-register/_base.js.map +1 -1
- package/lib/metadata-register/app.js +8 -8
- package/lib/metadata-register/chart.js +1 -1
- package/lib/metadata-register/chart.js.map +1 -1
- package/lib/metadata-register/index.js +72 -72
- package/lib/metadata-register/index.js.map +1 -1
- package/lib/metadata-register/layout.js +18 -16
- package/lib/metadata-register/layout.js.map +1 -1
- package/lib/metadata-register/object.d.ts +0 -1
- package/lib/metadata-register/object.js +17 -35
- package/lib/metadata-register/object.js.map +1 -1
- package/lib/metadata-register/page.js +1 -1
- package/lib/metadata-register/page.js.map +1 -1
- package/lib/metadata-register/permissionFields.js +2 -2
- package/lib/metadata-register/permissionFields.js.map +1 -1
- package/lib/metadata-register/permissionset.js +6 -6
- package/lib/metadata-register/profile.js +6 -6
- package/lib/metadata-register/query.js +1 -1
- package/lib/metadata-register/query.js.map +1 -1
- package/lib/metadata-register/restrictionRules.js +2 -2
- package/lib/metadata-register/restrictionRules.js.map +1 -1
- package/lib/metadata-register/shareRules.js +2 -2
- package/lib/metadata-register/shareRules.js.map +1 -1
- package/lib/metadata-register/tab.js +1 -1
- package/lib/metadata-register/tab.js.map +1 -1
- package/lib/metadata-register/tabs.js +18 -16
- package/lib/metadata-register/tabs.js.map +1 -1
- package/lib/services/datasourceServiceFactory.d.ts +1 -0
- package/lib/services/datasourceServiceFactory.js +51 -0
- package/lib/services/datasourceServiceFactory.js.map +1 -0
- package/lib/services/helpers/graphql.js +86 -87
- package/lib/services/helpers/graphql.js.map +1 -1
- package/lib/services/helpers/index.js +2 -2
- package/lib/services/helpers/index.js.map +1 -1
- package/lib/services/helpers/rest.js +1 -1
- package/lib/services/helpers/rest.js.map +1 -1
- package/lib/services/index.d.ts +3 -0
- package/lib/services/index.js +10 -4
- package/lib/services/index.js.map +1 -1
- package/lib/services/objectService.js +143 -143
- package/lib/services/objectService.js.map +1 -1
- package/lib/services/objectServiceDispatcher.js +92 -92
- package/lib/services/objectServiceDispatcher.js.map +1 -1
- package/lib/{metadata-register/objectServiceManager.d.ts → services/objectServiceFactory.d.ts} +0 -0
- package/lib/{metadata-register/objectServiceManager.js → services/objectServiceFactory.js} +5 -5
- package/lib/services/objectServiceFactory.js.map +1 -0
- package/lib/summary/core.js +51 -44
- package/lib/summary/core.js.map +1 -1
- package/lib/summary/field_summary.js +21 -16
- package/lib/summary/field_summary.js.map +1 -1
- package/lib/summary/index.js +25 -22
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/recompute.js +13 -11
- package/lib/summary/recompute.js.map +1 -1
- package/lib/ts-types/index.js +3 -3
- package/lib/ts-types/index.js.map +1 -1
- package/lib/typeorm/driver.js +58 -58
- package/lib/typeorm/driver.js.map +1 -1
- package/lib/typeorm/index.js +2 -1
- package/lib/typeorm/index.js.map +1 -1
- package/lib/typeorm/util.js +2 -2
- package/lib/typeorm/util.js.map +1 -1
- package/lib/types/app.js +41 -35
- package/lib/types/app.js.map +1 -1
- package/lib/types/config.js +52 -45
- package/lib/types/config.js.map +1 -1
- package/lib/types/connection.js +20 -18
- package/lib/types/connection.js.map +1 -1
- package/lib/types/dashboard.js +10 -7
- package/lib/types/dashboard.js.map +1 -1
- package/lib/types/datasource.d.ts +14 -1
- package/lib/types/datasource.js +205 -192
- package/lib/types/datasource.js.map +1 -1
- package/lib/types/field.d.ts +2 -2
- package/lib/types/field.js +6 -6
- package/lib/types/field.js.map +1 -1
- package/lib/types/field_permission.js +8 -8
- package/lib/types/field_permission.js.map +1 -1
- package/lib/types/index.js +11 -10
- package/lib/types/index.js.map +1 -1
- package/lib/types/list_view.d.ts +1 -1
- package/lib/types/list_view.js +1 -1
- package/lib/types/list_view.js.map +1 -1
- package/lib/types/object.d.ts +11 -11
- package/lib/types/object.js +208 -201
- package/lib/types/object.js.map +1 -1
- package/lib/types/object_dynamic_load.js +105 -155
- package/lib/types/object_dynamic_load.js.map +1 -1
- package/lib/types/object_events.js +5 -5
- package/lib/types/object_events.js.map +1 -1
- package/lib/types/object_layouts.js +7 -7
- package/lib/types/object_layouts.js.map +1 -1
- package/lib/types/object_permission.d.ts +1 -1
- package/lib/types/object_permission.js +1 -1
- package/lib/types/object_permission.js.map +1 -1
- package/lib/types/report.js +10 -7
- package/lib/types/report.js.map +1 -1
- package/lib/types/restrictionRule.js +11 -11
- package/lib/types/restrictionRule.js.map +1 -1
- package/lib/types/schema.d.ts +1 -1
- package/lib/types/schema.js +41 -19
- package/lib/types/schema.js.map +1 -1
- package/lib/types/shareRule.js +11 -11
- package/lib/types/shareRule.js.map +1 -1
- package/lib/types/trigger.js +2 -2
- package/lib/types/trigger.js.map +1 -1
- package/lib/types/validation_rules.js +5 -5
- package/lib/types/validation_rules.js.map +1 -1
- package/lib/util/convert.d.ts +2 -0
- package/lib/util/convert.js +130 -0
- package/lib/util/convert.js.map +1 -0
- package/lib/util/field.js +5 -3
- package/lib/util/field.js.map +1 -1
- package/lib/util/function_expression.js +5 -3
- package/lib/util/function_expression.js.map +1 -1
- package/lib/util/index.d.ts +2 -7
- package/lib/util/index.js +86 -166
- package/lib/util/index.js.map +1 -1
- package/lib/util/locale.js +5 -3
- package/lib/util/locale.js.map +1 -1
- package/lib/util/permission_shares.js +2 -2
- package/lib/util/permission_shares.js.map +1 -1
- package/lib/util/suffix.js +22 -16
- package/lib/util/suffix.js.map +1 -1
- package/lib/util/transform.js +11 -11
- package/lib/util/transform.js.map +1 -1
- package/lib/validators/index.js +3 -2
- package/lib/validators/index.js.map +1 -1
- package/package.json +13 -13
- package/src/dynamic-load/chart.ts +6 -1
- package/src/dynamic-load/index.ts +1 -0
- package/src/dynamic-load/object_translations.ts +19 -10
- package/src/dynamic-load/package.ts +303 -0
- package/src/dynamic-load/page.ts +7 -1
- package/src/dynamic-load/permission.ts +1 -5
- package/src/dynamic-load/preload_data.ts +2 -3
- package/src/dynamic-load/query.ts +6 -1
- package/src/dynamic-load/restrictionRules.ts +6 -2
- package/src/dynamic-load/shareRules.ts +5 -1
- package/src/dynamic-load/translations.ts +3 -1
- package/src/metadata-register/_base.ts +23 -0
- package/src/metadata-register/object.ts +1 -20
- package/src/services/datasourceServiceFactory.ts +37 -0
- package/src/services/helpers/graphql.ts +5 -3
- package/src/services/index.ts +7 -0
- package/src/services/objectService.ts +5 -4
- package/src/{metadata-register/objectServiceManager.ts → services/objectServiceFactory.ts} +4 -4
- package/src/types/datasource.ts +81 -72
- package/src/types/field.ts +2 -2
- package/src/types/list_view.ts +1 -1
- package/src/types/object.ts +11 -11
- package/src/types/object_dynamic_load.ts +5 -47
- package/src/types/object_permission.ts +1 -1
- package/src/types/schema.ts +11 -1
- package/src/util/convert.ts +130 -0
- package/src/util/index.ts +6 -120
- package/lib/metadata-register/objectServiceManager.js.map +0 -1
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createObjectService = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var index_1 = require("
|
|
5
|
+
var index_1 = require("./index");
|
|
6
6
|
var objectService = require('../services/objectService');
|
|
7
7
|
var LocalObjectServices = {};
|
|
8
8
|
function onDestroyObjectService(objectApiName) {
|
|
9
|
-
var serviceName = index_1.getObjectServiceName(objectApiName);
|
|
9
|
+
var serviceName = (0, index_1.getObjectServiceName)(objectApiName);
|
|
10
10
|
delete LocalObjectServices[serviceName];
|
|
11
11
|
}
|
|
12
12
|
function createObjectService(broker, serviceName, objectConfig) {
|
|
13
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
13
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
14
14
|
var service;
|
|
15
|
-
return tslib_1.__generator(this, function (_a) {
|
|
15
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
16
16
|
switch (_a.label) {
|
|
17
17
|
case 0:
|
|
18
18
|
if (LocalObjectServices[serviceName]) {
|
|
@@ -39,4 +39,4 @@ function createObjectService(broker, serviceName, objectConfig) {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
exports.createObjectService = createObjectService;
|
|
42
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=objectServiceFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"objectServiceFactory.js","sourceRoot":"","sources":["../../src/services/objectServiceFactory.ts"],"names":[],"mappings":";;;;AACA,iCAA+C;AAC/C,IAAM,aAAa,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAC;AAE3D,IAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B,SAAS,sBAAsB,CAAC,aAAa;IACzC,IAAM,WAAW,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAC;IACxD,OAAO,mBAAmB,CAAC,WAAW,CAAC,CAAA;AAC3C,CAAC;AAED,SAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY;;;;;;oBACvE,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE;wBAClC,sBAAO;qBACV;oBACG,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;wBAC/B,IAAI,EAAE,WAAW;wBACjB,MAAM,EAAE,CAAC,aAAa,CAAC;wBACvB,QAAQ,EAAE;4BACN,YAAY,EAAE,YAAY;4BAC1B,sBAAsB,wBAAA;yBACzB;qBACJ,CAAC,CAAA;yBACE,CAAC,MAAM,CAAC,OAAO,EAAf,wBAAe;oBACf,qBAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAA;;oBAArC,SAAqC,CAAA;;;oBAEzC,mBAAmB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;oBACxC,sBAAM;;;;CACT;AAjBD,kDAiBC"}
|
package/lib/summary/core.js
CHANGED
|
@@ -16,17 +16,17 @@ var _ = require("lodash");
|
|
|
16
16
|
* @param fieldNames 传入该参数时,只查找和处理引用了该对象中这些指定字段的公式字段
|
|
17
17
|
* @param quotedByConfigs 如果已经根据objectName和fieldNames查过相关配置了,请直接传入,可以避免重复查找,提高性能
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
var runQuotedByObjectFieldSummaries = function (objectName, recordId, previousDoc, userSession, options) {
|
|
20
20
|
if (options === void 0) { options = {}; }
|
|
21
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
21
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
22
22
|
var fieldNames, quotedByConfigs, quotedByConfigs_1, quotedByConfigs_1_1, config, e_1_1;
|
|
23
23
|
var e_1, _a;
|
|
24
|
-
return tslib_1.__generator(this, function (_b) {
|
|
24
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
25
25
|
switch (_b.label) {
|
|
26
26
|
case 0:
|
|
27
27
|
fieldNames = options.fieldNames, quotedByConfigs = options.quotedByConfigs;
|
|
28
28
|
if (!!quotedByConfigs) return [3 /*break*/, 2];
|
|
29
|
-
return [4 /*yield*/, field_summary_1.getObjectQuotedByFieldSummaryConfigs(objectName, fieldNames)];
|
|
29
|
+
return [4 /*yield*/, (0, field_summary_1.getObjectQuotedByFieldSummaryConfigs)(objectName, fieldNames)];
|
|
30
30
|
case 1:
|
|
31
31
|
quotedByConfigs = _b.sent();
|
|
32
32
|
_b.label = 2;
|
|
@@ -37,12 +37,12 @@ exports.runQuotedByObjectFieldSummaries = function (objectName, recordId, previo
|
|
|
37
37
|
_b.label = 3;
|
|
38
38
|
case 3:
|
|
39
39
|
_b.trys.push([3, 8, 9, 10]);
|
|
40
|
-
quotedByConfigs_1 = tslib_1.__values(quotedByConfigs), quotedByConfigs_1_1 = quotedByConfigs_1.next();
|
|
40
|
+
quotedByConfigs_1 = (0, tslib_1.__values)(quotedByConfigs), quotedByConfigs_1_1 = quotedByConfigs_1.next();
|
|
41
41
|
_b.label = 4;
|
|
42
42
|
case 4:
|
|
43
43
|
if (!!quotedByConfigs_1_1.done) return [3 /*break*/, 7];
|
|
44
44
|
config = quotedByConfigs_1_1.value;
|
|
45
|
-
return [4 /*yield*/, exports.updateQuotedByObjectFieldSummaryValue(objectName, recordId, previousDoc, config, userSession)];
|
|
45
|
+
return [4 /*yield*/, (0, exports.updateQuotedByObjectFieldSummaryValue)(objectName, recordId, previousDoc, config, userSession)];
|
|
46
46
|
case 5:
|
|
47
47
|
_b.sent();
|
|
48
48
|
_b.label = 6;
|
|
@@ -65,6 +65,7 @@ exports.runQuotedByObjectFieldSummaries = function (objectName, recordId, previo
|
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
};
|
|
68
|
+
exports.runQuotedByObjectFieldSummaries = runQuotedByObjectFieldSummaries;
|
|
68
69
|
var getSummaryAggregateGroupKey = function (summary_type, summary_field) {
|
|
69
70
|
return summary_type === type_1.SteedosSummaryTypeValue.COUNT ? type_1.SteedosSummaryTypeValue.COUNT : summary_field;
|
|
70
71
|
};
|
|
@@ -85,7 +86,7 @@ var getSummaryAggregateGroupKey = function (summary_type, summary_field) {
|
|
|
85
86
|
* @param summary_type
|
|
86
87
|
* @param summary_field
|
|
87
88
|
*/
|
|
88
|
-
|
|
89
|
+
var getSummaryAggregateGroups = function (summary_type, summary_field) {
|
|
89
90
|
var group = {
|
|
90
91
|
_id: "summary_group"
|
|
91
92
|
};
|
|
@@ -95,22 +96,23 @@ exports.getSummaryAggregateGroups = function (summary_type, summary_field) {
|
|
|
95
96
|
group[groupKey] = { $sum: 1 };
|
|
96
97
|
break;
|
|
97
98
|
case type_1.SteedosSummaryTypeValue.MAX:
|
|
98
|
-
group[groupKey] = { $max: "$"
|
|
99
|
+
group[groupKey] = { $max: "$".concat(summary_field) };
|
|
99
100
|
break;
|
|
100
101
|
case type_1.SteedosSummaryTypeValue.MIN:
|
|
101
|
-
group[groupKey] = { $min: "$"
|
|
102
|
+
group[groupKey] = { $min: "$".concat(summary_field) };
|
|
102
103
|
break;
|
|
103
104
|
case type_1.SteedosSummaryTypeValue.SUM:
|
|
104
|
-
group[groupKey] = { $sum: "$"
|
|
105
|
+
group[groupKey] = { $sum: "$".concat(summary_field) };
|
|
105
106
|
break;
|
|
106
107
|
case type_1.SteedosSummaryTypeValue.AVG:
|
|
107
|
-
group[groupKey] = { $avg: "$"
|
|
108
|
+
group[groupKey] = { $avg: "$".concat(summary_field) };
|
|
108
109
|
break;
|
|
109
110
|
}
|
|
110
111
|
return [{
|
|
111
112
|
$group: group
|
|
112
113
|
}];
|
|
113
114
|
};
|
|
115
|
+
exports.getSummaryAggregateGroups = getSummaryAggregateGroups;
|
|
114
116
|
/**
|
|
115
117
|
* 新建或修改记录时,根据查到的引用了该记录相关字段汇总配置,重新计算字段值,并把计算结果更新到数据库相关记录中
|
|
116
118
|
* @param objectName 当前修改的记录所属对象名称
|
|
@@ -143,13 +145,13 @@ exports.getSummaryAggregateGroups = function (summary_type, summary_field) {
|
|
|
143
145
|
"count" : 2.0
|
|
144
146
|
}]
|
|
145
147
|
*/
|
|
146
|
-
|
|
148
|
+
var updateQuotedByObjectFieldSummaryValue = function (objectName, recordId, previousDoc, fieldSummaryConfig, userSession) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
147
149
|
var reference_to_field, referenceToRecord, referenceToId, referenceToIds, previousReferenceToId;
|
|
148
|
-
return tslib_1.__generator(this, function (_a) {
|
|
150
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
149
151
|
switch (_a.label) {
|
|
150
152
|
case 0:
|
|
151
153
|
reference_to_field = fieldSummaryConfig.reference_to_field;
|
|
152
|
-
return [4 /*yield*/, index_1.getSteedosSchema().getObject(objectName).findOne(recordId, { fields: [reference_to_field] })];
|
|
154
|
+
return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(objectName).findOne(recordId, { fields: [reference_to_field] })];
|
|
153
155
|
case 1:
|
|
154
156
|
referenceToRecord = _a.sent();
|
|
155
157
|
if (referenceToRecord) {
|
|
@@ -175,34 +177,35 @@ exports.updateQuotedByObjectFieldSummaryValue = function (objectName, recordId,
|
|
|
175
177
|
if (!referenceToIds.length) {
|
|
176
178
|
return [2 /*return*/];
|
|
177
179
|
}
|
|
178
|
-
return [4 /*yield*/, exports.updateReferenceTosFieldSummaryValue(referenceToIds, fieldSummaryConfig, userSession)];
|
|
180
|
+
return [4 /*yield*/, (0, exports.updateReferenceTosFieldSummaryValue)(referenceToIds, fieldSummaryConfig, userSession)];
|
|
179
181
|
case 2:
|
|
180
182
|
_a.sent();
|
|
181
183
|
return [2 /*return*/];
|
|
182
184
|
}
|
|
183
185
|
});
|
|
184
186
|
}); };
|
|
187
|
+
exports.updateQuotedByObjectFieldSummaryValue = updateQuotedByObjectFieldSummaryValue;
|
|
185
188
|
/**
|
|
186
189
|
* 执行聚合计算,并把聚合汇总后的值更新到数据库中
|
|
187
190
|
* @param referenceToIds 子表上的master_detail关联到主表对象的字段值集合,是多条子表记录上的关联id值组成的数组
|
|
188
191
|
* @param fieldSummaryConfig
|
|
189
192
|
* @param userSession
|
|
190
193
|
*/
|
|
191
|
-
|
|
194
|
+
var updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSummaryConfig, userSession) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
192
195
|
var reference_to_field, summary_type, summary_field, summary_object, object_name, summary_filters, field_name, aggregateGroups, referenceToIds_1, referenceToIds_1_1, referenceToId, referenceToFilters, aggregateFilters, summaryObject, aggregateResults, groupKey, summarizedValue, masterRecord, defaultValue, e_2_1;
|
|
193
196
|
var e_2, _a;
|
|
194
|
-
return tslib_1.__generator(this, function (_b) {
|
|
197
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
195
198
|
switch (_b.label) {
|
|
196
199
|
case 0:
|
|
197
200
|
reference_to_field = fieldSummaryConfig.reference_to_field, summary_type = fieldSummaryConfig.summary_type, summary_field = fieldSummaryConfig.summary_field, summary_object = fieldSummaryConfig.summary_object, object_name = fieldSummaryConfig.object_name, summary_filters = fieldSummaryConfig.summary_filters, field_name = fieldSummaryConfig.field_name;
|
|
198
201
|
if (!_.isArray(referenceToIds)) {
|
|
199
202
|
referenceToIds = [referenceToIds];
|
|
200
203
|
}
|
|
201
|
-
aggregateGroups = exports.getSummaryAggregateGroups(summary_type, summary_field);
|
|
204
|
+
aggregateGroups = (0, exports.getSummaryAggregateGroups)(summary_type, summary_field);
|
|
202
205
|
_b.label = 1;
|
|
203
206
|
case 1:
|
|
204
207
|
_b.trys.push([1, 10, 11, 12]);
|
|
205
|
-
referenceToIds_1 = tslib_1.__values(referenceToIds), referenceToIds_1_1 = referenceToIds_1.next();
|
|
208
|
+
referenceToIds_1 = (0, tslib_1.__values)(referenceToIds), referenceToIds_1_1 = referenceToIds_1.next();
|
|
206
209
|
_b.label = 2;
|
|
207
210
|
case 2:
|
|
208
211
|
if (!!referenceToIds_1_1.done) return [3 /*break*/, 9];
|
|
@@ -215,23 +218,23 @@ exports.updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSum
|
|
|
215
218
|
if (summary_filters && summary_filters.length) {
|
|
216
219
|
if (typeof summary_filters === "string") {
|
|
217
220
|
// 传入的过滤条件为odata字符串时,需要把aggregateFilters也解析为odata串并取AND
|
|
218
|
-
aggregateFilters = filters_1.formatFiltersToODataQuery(referenceToFilters);
|
|
219
|
-
aggregateFilters = "("
|
|
221
|
+
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(referenceToFilters);
|
|
222
|
+
aggregateFilters = "(".concat(aggregateFilters, ") and (").concat(summary_filters, ")");
|
|
220
223
|
}
|
|
221
224
|
else {
|
|
222
|
-
summaryObject = index_1.getObjectConfig(summary_object);
|
|
225
|
+
summaryObject = (0, index_1.getObjectConfig)(summary_object);
|
|
223
226
|
if (!summaryObject) {
|
|
224
|
-
throw new Error("The summary_object '"
|
|
227
|
+
throw new Error("The summary_object '".concat(summary_object, "' of the field '").concat(field_name, "' on the object '").concat(object_name, "' is not found in the default datasource."));
|
|
225
228
|
}
|
|
226
|
-
index_1.processFilters(summary_filters, summaryObject.fields);
|
|
229
|
+
(0, index_1.processFilters)(summary_filters, summaryObject.fields);
|
|
227
230
|
aggregateFilters = [referenceToFilters, summary_filters];
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
if (userSession && aggregateFilters && !_.isString(aggregateFilters)) {
|
|
231
234
|
// 过滤器中支持userSession变量的写法,比如[["owner", "=", "{userId}"]]
|
|
232
|
-
aggregateFilters = filters_1.formatFiltersToODataQuery(aggregateFilters, userSession);
|
|
235
|
+
aggregateFilters = (0, filters_1.formatFiltersToODataQuery)(aggregateFilters, userSession);
|
|
233
236
|
}
|
|
234
|
-
return [4 /*yield*/, index_1.getSteedosSchema().getObject(summary_object).directAggregate({
|
|
237
|
+
return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(summary_object).directAggregate({
|
|
235
238
|
filters: aggregateFilters
|
|
236
239
|
}, aggregateGroups)];
|
|
237
240
|
case 3:
|
|
@@ -239,16 +242,16 @@ exports.updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSum
|
|
|
239
242
|
if (!(aggregateResults && aggregateResults.length)) return [3 /*break*/, 5];
|
|
240
243
|
groupKey = getSummaryAggregateGroupKey(summary_type, summary_field);
|
|
241
244
|
summarizedValue = aggregateResults[0][groupKey];
|
|
242
|
-
return [4 /*yield*/, exports.updateReferenceToFieldSummaryValue(referenceToId, summarizedValue, fieldSummaryConfig, userSession)];
|
|
245
|
+
return [4 /*yield*/, (0, exports.updateReferenceToFieldSummaryValue)(referenceToId, summarizedValue, fieldSummaryConfig, userSession)];
|
|
243
246
|
case 4:
|
|
244
247
|
_b.sent();
|
|
245
248
|
return [3 /*break*/, 8];
|
|
246
|
-
case 5: return [4 /*yield*/, index_1.getSteedosSchema().getObject(object_name).findOne(referenceToId, { fields: ["_id"] })];
|
|
249
|
+
case 5: return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(object_name).findOne(referenceToId, { fields: ["_id"] })];
|
|
247
250
|
case 6:
|
|
248
251
|
masterRecord = _b.sent();
|
|
249
252
|
if (!masterRecord) return [3 /*break*/, 8];
|
|
250
253
|
defaultValue = type_1.SteedosSummaryTypeBlankValue[summary_type];
|
|
251
|
-
return [4 /*yield*/, exports.updateReferenceToFieldSummaryValue(referenceToId, defaultValue, fieldSummaryConfig, userSession)];
|
|
254
|
+
return [4 /*yield*/, (0, exports.updateReferenceToFieldSummaryValue)(referenceToId, defaultValue, fieldSummaryConfig, userSession)];
|
|
252
255
|
case 7:
|
|
253
256
|
_b.sent();
|
|
254
257
|
_b.label = 8;
|
|
@@ -268,7 +271,7 @@ exports.updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSum
|
|
|
268
271
|
return [7 /*endfinally*/];
|
|
269
272
|
case 12:
|
|
270
273
|
// 这里特意重新遍历一次referenceToIds而不是直接在updateReferenceToFieldSummaryValue函数中每次更新一条记录后立即处理被引用字段的级联变更,见:公式或汇总触发级联重算时,数据类型变更可能会造成无法重算 #965
|
|
271
|
-
return [4 /*yield*/, exports.updateQuotedByReferenceTosForSummaryType(referenceToIds, fieldSummaryConfig, userSession)];
|
|
274
|
+
return [4 /*yield*/, (0, exports.updateQuotedByReferenceTosForSummaryType)(referenceToIds, fieldSummaryConfig, userSession)];
|
|
272
275
|
case 13:
|
|
273
276
|
// 这里特意重新遍历一次referenceToIds而不是直接在updateReferenceToFieldSummaryValue函数中每次更新一条记录后立即处理被引用字段的级联变更,见:公式或汇总触发级联重算时,数据类型变更可能会造成无法重算 #965
|
|
274
277
|
_b.sent();
|
|
@@ -276,25 +279,27 @@ exports.updateReferenceTosFieldSummaryValue = function (referenceToIds, fieldSum
|
|
|
276
279
|
}
|
|
277
280
|
});
|
|
278
281
|
}); };
|
|
279
|
-
exports.
|
|
282
|
+
exports.updateReferenceTosFieldSummaryValue = updateReferenceTosFieldSummaryValue;
|
|
283
|
+
var updateReferenceToFieldSummaryValue = function (referenceToId, value, fieldSummaryConfig, userSession) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
280
284
|
var field_name, object_name, setDoc;
|
|
281
|
-
return tslib_1.__generator(this, function (_a) {
|
|
285
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
282
286
|
switch (_a.label) {
|
|
283
287
|
case 0:
|
|
284
288
|
field_name = fieldSummaryConfig.field_name, object_name = fieldSummaryConfig.object_name;
|
|
285
289
|
setDoc = {};
|
|
286
290
|
setDoc[field_name] = value;
|
|
287
|
-
return [4 /*yield*/, index_1.getSteedosSchema().getObject(object_name).directUpdate(referenceToId, setDoc)];
|
|
291
|
+
return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(object_name).directUpdate(referenceToId, setDoc)];
|
|
288
292
|
case 1:
|
|
289
293
|
_a.sent();
|
|
290
294
|
return [2 /*return*/];
|
|
291
295
|
}
|
|
292
296
|
});
|
|
293
297
|
}); };
|
|
294
|
-
exports.
|
|
298
|
+
exports.updateReferenceToFieldSummaryValue = updateReferenceToFieldSummaryValue;
|
|
299
|
+
var updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fieldSummaryConfig, userSession) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
295
300
|
var field_name, object_name, fieldNames, referenceToIds_2, referenceToIds_2_1, referenceToId, e_3_1;
|
|
296
301
|
var e_3, _a;
|
|
297
|
-
return tslib_1.__generator(this, function (_b) {
|
|
302
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
298
303
|
switch (_b.label) {
|
|
299
304
|
case 0:
|
|
300
305
|
field_name = fieldSummaryConfig.field_name, object_name = fieldSummaryConfig.object_name;
|
|
@@ -305,7 +310,7 @@ exports.updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fie
|
|
|
305
310
|
_b.label = 1;
|
|
306
311
|
case 1:
|
|
307
312
|
_b.trys.push([1, 7, 8, 9]);
|
|
308
|
-
referenceToIds_2 = tslib_1.__values(referenceToIds), referenceToIds_2_1 = referenceToIds_2.next();
|
|
313
|
+
referenceToIds_2 = (0, tslib_1.__values)(referenceToIds), referenceToIds_2_1 = referenceToIds_2.next();
|
|
309
314
|
_b.label = 2;
|
|
310
315
|
case 2:
|
|
311
316
|
if (!!referenceToIds_2_1.done) return [3 /*break*/, 6];
|
|
@@ -315,7 +320,7 @@ exports.updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fie
|
|
|
315
320
|
}
|
|
316
321
|
// console.log("===updateQuotedByReferenceTosForSummaryType====object_name, referenceToId, field_name===", object_name, referenceToId, field_name);
|
|
317
322
|
// 汇总字段修改后,需要找到引用了该字段的其他公式字段并更新其值
|
|
318
|
-
return [4 /*yield*/, formula_1.runQuotedByObjectFieldFormulas(object_name, referenceToId, userSession, {
|
|
323
|
+
return [4 /*yield*/, (0, formula_1.runQuotedByObjectFieldFormulas)(object_name, referenceToId, userSession, {
|
|
319
324
|
fieldNames: fieldNames
|
|
320
325
|
})];
|
|
321
326
|
case 3:
|
|
@@ -323,7 +328,7 @@ exports.updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fie
|
|
|
323
328
|
// 汇总字段修改后,需要找到引用了该字段的其他公式字段并更新其值
|
|
324
329
|
_b.sent();
|
|
325
330
|
// 汇总字段修改后,需要找到引用了该字段的其他汇总字段并更新其值
|
|
326
|
-
return [4 /*yield*/, exports.runQuotedByObjectFieldSummaries(object_name, referenceToId, null, userSession, {
|
|
331
|
+
return [4 /*yield*/, (0, exports.runQuotedByObjectFieldSummaries)(object_name, referenceToId, null, userSession, {
|
|
327
332
|
fieldNames: fieldNames
|
|
328
333
|
})];
|
|
329
334
|
case 4:
|
|
@@ -348,18 +353,19 @@ exports.updateQuotedByReferenceTosForSummaryType = function (referenceToIds, fie
|
|
|
348
353
|
}
|
|
349
354
|
});
|
|
350
355
|
}); };
|
|
356
|
+
exports.updateQuotedByReferenceTosForSummaryType = updateQuotedByReferenceTosForSummaryType;
|
|
351
357
|
/**
|
|
352
358
|
* 新建主表记录时需要处理汇总字段默认值,只有insert主表记录才需要调用该函数
|
|
353
359
|
* @param objectName
|
|
354
360
|
* @param recordId
|
|
355
361
|
*/
|
|
356
|
-
|
|
357
|
-
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
362
|
+
var runCurrentObjectFieldSummaries = function (objectName, recordId) {
|
|
363
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
|
358
364
|
var configs, setDoc, configs_1, configs_1_1, config, defaultValue;
|
|
359
365
|
var e_4, _a;
|
|
360
|
-
return tslib_1.__generator(this, function (_b) {
|
|
366
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
|
361
367
|
switch (_b.label) {
|
|
362
|
-
case 0: return [4 /*yield*/, field_summary_1.getObjectFieldSummaryConfigs(objectName)];
|
|
368
|
+
case 0: return [4 /*yield*/, (0, field_summary_1.getObjectFieldSummaryConfigs)(objectName)];
|
|
363
369
|
case 1:
|
|
364
370
|
configs = _b.sent();
|
|
365
371
|
if (!configs.length) {
|
|
@@ -367,7 +373,7 @@ exports.runCurrentObjectFieldSummaries = function (objectName, recordId) {
|
|
|
367
373
|
}
|
|
368
374
|
setDoc = {};
|
|
369
375
|
try {
|
|
370
|
-
for (configs_1 = tslib_1.__values(configs), configs_1_1 = configs_1.next(); !configs_1_1.done; configs_1_1 = configs_1.next()) {
|
|
376
|
+
for (configs_1 = (0, tslib_1.__values)(configs), configs_1_1 = configs_1.next(); !configs_1_1.done; configs_1_1 = configs_1.next()) {
|
|
371
377
|
config = configs_1_1.value;
|
|
372
378
|
defaultValue = type_1.SteedosSummaryTypeBlankValue[config.summary_type];
|
|
373
379
|
if (defaultValue != null) {
|
|
@@ -385,7 +391,7 @@ exports.runCurrentObjectFieldSummaries = function (objectName, recordId) {
|
|
|
385
391
|
if (_.isEmpty(setDoc)) {
|
|
386
392
|
return [2 /*return*/];
|
|
387
393
|
}
|
|
388
|
-
return [4 /*yield*/, index_1.getSteedosSchema().getObject(objectName).directUpdate(recordId, setDoc)];
|
|
394
|
+
return [4 /*yield*/, (0, index_1.getSteedosSchema)().getObject(objectName).directUpdate(recordId, setDoc)];
|
|
389
395
|
case 2:
|
|
390
396
|
_b.sent();
|
|
391
397
|
return [2 /*return*/];
|
|
@@ -393,4 +399,5 @@ exports.runCurrentObjectFieldSummaries = function (objectName, recordId) {
|
|
|
393
399
|
});
|
|
394
400
|
});
|
|
395
401
|
};
|
|
402
|
+
exports.runCurrentObjectFieldSummaries = runCurrentObjectFieldSummaries;
|
|
396
403
|
//# sourceMappingURL=core.js.map
|
package/lib/summary/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":";;;;AAAA,kCAA6E;AAC7E,+BAA8G;AAC9G,iDAAqG;AACrG,sCAA4D;AAC5D,4CAA6D;AAC7D,0BAA6B;AAG7B;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/summary/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,47 +3,50 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getQuotedByFieldSummaryConfigs = exports.getObjectQuotedByFieldSummaryConfigs = exports.getObjectFieldSummaryConfigs = exports.getFieldSummaryConfig = exports.getFieldSummaryConfigs = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var schema_1 = require("../types/schema");
|
|
6
|
-
|
|
7
|
-
return tslib_1.__generator(this, function (_a) {
|
|
6
|
+
var getFieldSummaryConfigs = function (objectApiName, fieldApiName) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
7
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
8
8
|
switch (_a.label) {
|
|
9
|
-
case 0: return [4 /*yield*/, schema_1.getSteedosSchema().metadataBroker.call("objects.getObjectFieldSummaryConfigs", { objectApiName: objectApiName, fieldApiName: fieldApiName })];
|
|
9
|
+
case 0: return [4 /*yield*/, (0, schema_1.getSteedosSchema)().metadataBroker.call("objects.getObjectFieldSummaryConfigs", { objectApiName: objectApiName, fieldApiName: fieldApiName })];
|
|
10
10
|
case 1: return [2 /*return*/, _a.sent()];
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
13
|
}); };
|
|
14
|
-
exports.
|
|
15
|
-
|
|
14
|
+
exports.getFieldSummaryConfigs = getFieldSummaryConfigs;
|
|
15
|
+
var getFieldSummaryConfig = function (fieldApiFullName) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
16
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
16
17
|
switch (_a.label) {
|
|
17
|
-
case 0: return [4 /*yield*/, schema_1.getSteedosSchema().metadataBroker.call("objects.getObjectFieldSummaryConfig", { fieldApiFullName: fieldApiFullName })];
|
|
18
|
+
case 0: return [4 /*yield*/, (0, schema_1.getSteedosSchema)().metadataBroker.call("objects.getObjectFieldSummaryConfig", { fieldApiFullName: fieldApiFullName })];
|
|
18
19
|
case 1: return [2 /*return*/, _a.sent()];
|
|
19
20
|
}
|
|
20
21
|
});
|
|
21
22
|
}); };
|
|
23
|
+
exports.getFieldSummaryConfig = getFieldSummaryConfig;
|
|
22
24
|
/**
|
|
23
25
|
* 获取对象本身的累计汇总配置
|
|
24
26
|
* 不传入fieldName时取objectName关联的所有累计汇总配置
|
|
25
27
|
* @param objectName
|
|
26
28
|
* @param fieldName
|
|
27
29
|
*/
|
|
28
|
-
|
|
29
|
-
return tslib_1.__generator(this, function (_a) {
|
|
30
|
+
var getObjectFieldSummaryConfigs = function (objectName, fieldName) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
31
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
30
32
|
switch (_a.label) {
|
|
31
|
-
case 0: return [4 /*yield*/, exports.getFieldSummaryConfigs(objectName, fieldName)];
|
|
33
|
+
case 0: return [4 /*yield*/, (0, exports.getFieldSummaryConfigs)(objectName, fieldName)];
|
|
32
34
|
case 1: return [2 /*return*/, _a.sent()];
|
|
33
35
|
}
|
|
34
36
|
});
|
|
35
37
|
}); };
|
|
38
|
+
exports.getObjectFieldSummaryConfigs = getObjectFieldSummaryConfigs;
|
|
36
39
|
/**
|
|
37
40
|
* 获取对象在哪些累计汇总中被引用
|
|
38
41
|
* 不传入fieldNames时取objectName关联的所有累计汇总配置
|
|
39
42
|
* @param objectName
|
|
40
43
|
* @param fieldNames
|
|
41
44
|
*/
|
|
42
|
-
|
|
45
|
+
var getObjectQuotedByFieldSummaryConfigs = function (objectName, fieldNames) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
43
46
|
var configs;
|
|
44
|
-
return tslib_1.__generator(this, function (_a) {
|
|
47
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
45
48
|
switch (_a.label) {
|
|
46
|
-
case 0: return [4 /*yield*/, exports.getFieldSummaryConfigs()];
|
|
49
|
+
case 0: return [4 /*yield*/, (0, exports.getFieldSummaryConfigs)()];
|
|
47
50
|
case 1:
|
|
48
51
|
configs = _a.sent();
|
|
49
52
|
return [2 /*return*/, configs.filter(function (config) {
|
|
@@ -59,7 +62,7 @@ exports.getObjectQuotedByFieldSummaryConfigs = function (objectName, fieldNames)
|
|
|
59
62
|
if (summaryFilters_1 && summaryFilters_1.length) {
|
|
60
63
|
// 如果汇总过滤条件中正好包括了fieldNames中一某个字段的话,也需要重新触发该汇总字段重新计算
|
|
61
64
|
return !!fieldNames.find(function (fieldName) {
|
|
62
|
-
return new RegExp("\\b"
|
|
65
|
+
return new RegExp("\\b".concat(fieldName, "\\b")).test(JSON.stringify(summaryFilters_1));
|
|
63
66
|
});
|
|
64
67
|
}
|
|
65
68
|
return false;
|
|
@@ -79,16 +82,18 @@ exports.getObjectQuotedByFieldSummaryConfigs = function (objectName, fieldNames)
|
|
|
79
82
|
}
|
|
80
83
|
});
|
|
81
84
|
}); };
|
|
85
|
+
exports.getObjectQuotedByFieldSummaryConfigs = getObjectQuotedByFieldSummaryConfigs;
|
|
82
86
|
/**
|
|
83
87
|
* 获取参数config在哪些累计汇总中被引用
|
|
84
88
|
* @param config
|
|
85
89
|
*/
|
|
86
|
-
|
|
87
|
-
return tslib_1.__generator(this, function (_a) {
|
|
90
|
+
var getQuotedByFieldSummaryConfigs = function (config) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
91
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
88
92
|
switch (_a.label) {
|
|
89
|
-
case 0: return [4 /*yield*/, exports.getObjectQuotedByFieldSummaryConfigs(config.object_name, [config.field_name])];
|
|
93
|
+
case 0: return [4 /*yield*/, (0, exports.getObjectQuotedByFieldSummaryConfigs)(config.object_name, [config.field_name])];
|
|
90
94
|
case 1: return [2 /*return*/, _a.sent()];
|
|
91
95
|
}
|
|
92
96
|
});
|
|
93
97
|
}); };
|
|
98
|
+
exports.getQuotedByFieldSummaryConfigs = getQuotedByFieldSummaryConfigs;
|
|
94
99
|
//# sourceMappingURL=field_summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field_summary.js","sourceRoot":"","sources":["../../src/summary/field_summary.ts"],"names":[],"mappings":";;;;AAEA,0CAAmD;
|
|
1
|
+
{"version":3,"file":"field_summary.js","sourceRoot":"","sources":["../../src/summary/field_summary.ts"],"names":[],"mappings":";;;;AAEA,0CAAmD;AAG5C,IAAM,sBAAsB,GAAG,UAAM,aAAc,EAAE,YAAa;;;oBAC9D,qBAAM,IAAA,yBAAgB,GAAE,CAAC,cAAc,CAAC,IAAI,CAAC,sCAAsC,EAAE,EAAC,aAAa,eAAA,EAAE,YAAY,cAAA,EAAC,CAAC,EAAA;oBAA1H,sBAAO,SAAmH,EAAA;;;KAC7H,CAAA;AAFY,QAAA,sBAAsB,0BAElC;AAEM,IAAM,qBAAqB,GAAG,UAAO,gBAAwB;;;oBACzD,qBAAM,IAAA,yBAAgB,GAAE,CAAC,cAAc,CAAC,IAAI,CAAC,qCAAqC,EAAE,EAAC,gBAAgB,kBAAA,EAAC,CAAC,EAAA;oBAA9G,sBAAO,SAAuG,EAAA;;;KACjH,CAAA;AAFY,QAAA,qBAAqB,yBAEjC;AAED;;;;;GAKG;AACI,IAAM,4BAA4B,GAAG,UAAM,UAAkB,EAAE,SAAkB;;;oBAC7E,qBAAM,IAAA,8BAAsB,EAAC,UAAU,EAAE,SAAS,CAAC,EAAA;oBAA1D,sBAAO,SAAmD,EAAC;;;KAC9D,CAAA;AAFY,QAAA,4BAA4B,gCAExC;AAGD;;;;;GAKG;AACI,IAAM,oCAAoC,GAAG,UAAO,UAAkB,EAAE,UAA0B;;;;oBACrF,qBAAM,IAAA,8BAAsB,GAAE,EAAA;;gBAAxC,OAAO,GAAG,SAA8B;gBAC9C,sBAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAqC;wBACxD,IAAM,iBAAiB,GAAG,MAAM,CAAC,cAAc,CAAC;wBAChD,IAAG,iBAAiB,EAAC;4BACjB,IAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa,CAAC;4BAC9C,IAAG,iBAAiB,KAAK,UAAU,EAAC;gCAChC,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;oCACjC,IAAG,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAC;wCACzC,OAAO,IAAI,CAAC;qCACf;oCACD,IAAM,gBAAc,GAAG,MAAM,CAAC,eAAe,CAAC;oCAC9C,IAAG,gBAAc,IAAI,gBAAc,CAAC,MAAM,EAAC;wCACvC,oDAAoD;wCACpD,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,SAAS;4CAC/B,OAAO,IAAI,MAAM,CAAC,aAAM,SAAS,QAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAc,CAAC,CAAC,CAAA;wCAChF,CAAC,CAAC,CAAA;qCACL;oCACD,OAAO,KAAK,CAAC;iCAChB;qCACG;oCACA,OAAO,IAAI,CAAC;iCACf;6BACJ;iCACG;gCACA,OAAO,KAAK,CAAC;6BAChB;yBACJ;6BACI;4BACD,OAAO,KAAK,CAAC;yBAChB;oBACL,CAAC,CAAC,EAAC;;;KACN,CAAA;AAhCY,QAAA,oCAAoC,wCAgChD;AAED;;;GAGG;AACI,IAAM,8BAA8B,GAAG,UAAM,MAAqC;;;oBAC9E,qBAAM,IAAA,4CAAoC,EAAC,MAAM,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAA;oBAA1F,sBAAO,SAAmF,EAAC;;;KAC9F,CAAA;AAFY,QAAA,8BAA8B,kCAE1C"}
|
package/lib/summary/index.js
CHANGED
|
@@ -7,29 +7,29 @@ var type_1 = require("./type");
|
|
|
7
7
|
var util_1 = require("../util");
|
|
8
8
|
var formula_1 = require("../formula");
|
|
9
9
|
var _ = require("lodash");
|
|
10
|
-
tslib_1.__exportStar(require("./type"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./field_summary"), exports);
|
|
12
|
-
tslib_1.__exportStar(require("./core"), exports);
|
|
13
|
-
tslib_1.__exportStar(require("./recompute"), exports);
|
|
10
|
+
(0, tslib_1.__exportStar)(require("./type"), exports);
|
|
11
|
+
(0, tslib_1.__exportStar)(require("./field_summary"), exports);
|
|
12
|
+
(0, tslib_1.__exportStar)(require("./core"), exports);
|
|
13
|
+
(0, tslib_1.__exportStar)(require("./recompute"), exports);
|
|
14
14
|
/**
|
|
15
15
|
* 校验summaryConfig合法性并设置其reference_to_field、data_type属性值
|
|
16
16
|
* 因为getObjectConfigs拿到的对象肯定不包括被禁用和假删除的对象,所以不需要额外判断相关状态
|
|
17
17
|
* @param summaryConfig
|
|
18
18
|
*/
|
|
19
|
-
|
|
19
|
+
var initSummaryConfig = function (summaryConfig) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
20
20
|
var objectConfigs, summary_object, field_name, object_name, summaryObject, referenceToField, dataType;
|
|
21
|
-
return tslib_1.__generator(this, function (_a) {
|
|
21
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
22
22
|
switch (_a.label) {
|
|
23
23
|
case 0:
|
|
24
|
-
objectConfigs = types_1.getObjectConfigs("default");
|
|
24
|
+
objectConfigs = (0, types_1.getObjectConfigs)("default");
|
|
25
25
|
summary_object = summaryConfig.summary_object, field_name = summaryConfig.field_name, object_name = summaryConfig.object_name;
|
|
26
26
|
summaryObject = _.find(objectConfigs, function (item) {
|
|
27
27
|
return item.name === summary_object;
|
|
28
28
|
});
|
|
29
29
|
if (!summaryObject) {
|
|
30
30
|
// 如果不是零代码对象,直接报错,否则直接返回,待相关零代码对象加载进来时,会再进入该函数
|
|
31
|
-
if (util_1.isCodeObject(summary_object)) {
|
|
32
|
-
throw new Error("The summary_object '"
|
|
31
|
+
if ((0, util_1.isCodeObject)(summary_object)) {
|
|
32
|
+
throw new Error("The summary_object '".concat(summary_object, "' of the field '").concat(field_name, "' on the object '").concat(object_name, "' is not found in the default datasource."));
|
|
33
33
|
}
|
|
34
34
|
else {
|
|
35
35
|
return [2 /*return*/];
|
|
@@ -39,26 +39,27 @@ exports.initSummaryConfig = function (summaryConfig) { return tslib_1.__awaiter(
|
|
|
39
39
|
return item.type === "master_detail" && item.reference_to === object_name;
|
|
40
40
|
});
|
|
41
41
|
if (!referenceToField) {
|
|
42
|
-
throw new Error("Can't fount a master_detail type field that reference_to the master object '"
|
|
42
|
+
throw new Error("Can't fount a master_detail type field that reference_to the master object '".concat(object_name, "' on the summary_object '").concat(summary_object, "'."));
|
|
43
43
|
}
|
|
44
44
|
summaryConfig.reference_to_field = referenceToField.name;
|
|
45
45
|
if (!summaryConfig.data_type) {
|
|
46
|
-
throw new Error("Invalid field type summary '"
|
|
46
|
+
throw new Error("Invalid field type summary '".concat(field_name, "' on the object '").concat(object_name, "', miss data_type property."));
|
|
47
47
|
}
|
|
48
|
-
return [4 /*yield*/, exports.getSummaryDataType(summaryConfig, summaryObject)];
|
|
48
|
+
return [4 /*yield*/, (0, exports.getSummaryDataType)(summaryConfig, summaryObject)];
|
|
49
49
|
case 1:
|
|
50
50
|
dataType = _a.sent();
|
|
51
51
|
if (dataType !== summaryConfig.data_type) {
|
|
52
|
-
throw new Error("The data_type of the summary field '"
|
|
52
|
+
throw new Error("The data_type of the summary field '".concat(field_name, "' on the object '").concat(object_name, "' is incorrect, it should be '").concat(dataType, "' but is set to '").concat(summaryConfig.data_type, "'."));
|
|
53
53
|
}
|
|
54
54
|
summaryConfig.data_type = dataType;
|
|
55
55
|
return [2 /*return*/];
|
|
56
56
|
}
|
|
57
57
|
});
|
|
58
58
|
}); };
|
|
59
|
-
exports.
|
|
59
|
+
exports.initSummaryConfig = initSummaryConfig;
|
|
60
|
+
var getSummaryDataType = function (summaryConfig, summaryObject) { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () {
|
|
60
61
|
var summary_object, summary_type, summary_field, field_name, object_name, result, needSummaryField, field, fieldType, isQuotingTwoWay;
|
|
61
|
-
return tslib_1.__generator(this, function (_a) {
|
|
62
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
|
62
63
|
switch (_a.label) {
|
|
63
64
|
case 0:
|
|
64
65
|
summary_object = summaryConfig.summary_object, summary_type = summaryConfig.summary_type, summary_field = summaryConfig.summary_field, field_name = summaryConfig.field_name, object_name = summaryConfig.object_name;
|
|
@@ -68,7 +69,7 @@ exports.getSummaryDataType = function (summaryConfig, summaryObject) { return ts
|
|
|
68
69
|
needSummaryField = false;
|
|
69
70
|
}
|
|
70
71
|
else if (!summary_field) {
|
|
71
|
-
throw new Error("You have to set a summary_field property for the field '"
|
|
72
|
+
throw new Error("You have to set a summary_field property for the field '".concat(field_name, "' of the object '").concat(object_name, "' when the summary_type is not set to 'count'."));
|
|
72
73
|
}
|
|
73
74
|
if (!(summary_field && needSummaryField)) return [3 /*break*/, 5];
|
|
74
75
|
field = summaryObject.fields[summary_field];
|
|
@@ -78,11 +79,11 @@ exports.getSummaryDataType = function (summaryConfig, summaryObject) { return ts
|
|
|
78
79
|
// 要聚合的是公式,则其数据类型为公式字段的数据类型
|
|
79
80
|
// 因公式字段可能再引用当前汇总字段,所以要判断下不允许互相引用
|
|
80
81
|
fieldType = field.data_type;
|
|
81
|
-
return [4 /*yield*/, formula_1.isFormulaFieldQuotingObjectAndFields(summary_object, summary_field, object_name, [field_name])];
|
|
82
|
+
return [4 /*yield*/, (0, formula_1.isFormulaFieldQuotingObjectAndFields)(summary_object, summary_field, object_name, [field_name])];
|
|
82
83
|
case 1:
|
|
83
84
|
isQuotingTwoWay = _a.sent();
|
|
84
85
|
if (isQuotingTwoWay) {
|
|
85
|
-
throw new Error("Do not refer to each other, the field '"
|
|
86
|
+
throw new Error("Do not refer to each other, the field '".concat(field_name, "' of the master object '").concat(object_name, "' is summarizing a formula type summary_field '").concat(summary_field, "' of the detail object '").concat(summary_object, "', but the formula type field of the detail object exactly quoting the field of the master object, which is not allowed."));
|
|
86
87
|
}
|
|
87
88
|
_a.label = 2;
|
|
88
89
|
case 2:
|
|
@@ -91,12 +92,12 @@ exports.getSummaryDataType = function (summaryConfig, summaryObject) { return ts
|
|
|
91
92
|
// 因两个对象之前不可能互为子表关系,所以汇总字段不存在互为汇总聚合关系,不需要进一步判断它们是否互相引用
|
|
92
93
|
fieldType = field.data_type;
|
|
93
94
|
}
|
|
94
|
-
if (!exports.isSummaryFieldTypeSupported(summary_type, fieldType)) {
|
|
95
|
-
throw new Error("The summary data_type '"
|
|
95
|
+
if (!(0, exports.isSummaryFieldTypeSupported)(summary_type, fieldType)) {
|
|
96
|
+
throw new Error("The summary data_type '".concat(fieldType, "' on the field '").concat(field_name, "' of the object '").concat(object_name, "' is not supported for the summary_type '").concat(summary_type, "' which only support these types: ").concat(type_1.SupportedSummaryFieldTypes[summary_type], "."));
|
|
96
97
|
}
|
|
97
98
|
result = fieldType;
|
|
98
99
|
return [3 /*break*/, 4];
|
|
99
|
-
case 3: throw new Error("The summary_field '"
|
|
100
|
+
case 3: throw new Error("The summary_field '".concat(summary_field, "' is not a field of the summary_object '").concat(summary_object, "'."));
|
|
100
101
|
case 4: return [3 /*break*/, 6];
|
|
101
102
|
case 5:
|
|
102
103
|
result = type_1.SteedosSummaryDataTypeValue.Number;
|
|
@@ -105,7 +106,9 @@ exports.getSummaryDataType = function (summaryConfig, summaryObject) { return ts
|
|
|
105
106
|
}
|
|
106
107
|
});
|
|
107
108
|
}); };
|
|
108
|
-
exports.
|
|
109
|
+
exports.getSummaryDataType = getSummaryDataType;
|
|
110
|
+
var isSummaryFieldTypeSupported = function (summaryType, summaryFieldType) {
|
|
109
111
|
return !!(type_1.SupportedSummaryFieldTypes[summaryType] && type_1.SupportedSummaryFieldTypes[summaryType].indexOf(summaryFieldType) > -1);
|
|
110
112
|
};
|
|
113
|
+
exports.isSummaryFieldTypeSupported = isSummaryFieldTypeSupported;
|
|
111
114
|
//# sourceMappingURL=index.js.map
|