@webtypen/webframez-core 0.3.2 → 0.3.4
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.
|
@@ -192,11 +192,17 @@ class Datatable {
|
|
|
192
192
|
},
|
|
193
193
|
})
|
|
194
194
|
.toArray();
|
|
195
|
+
const sumsAfter = [];
|
|
195
196
|
const statsGroup = { $group: { _id: null, count: { $sum: 1 } } };
|
|
196
197
|
if (req.body.sums && Object.keys(req.body.sums).length > 0) {
|
|
197
198
|
for (let key in req.body.sums) {
|
|
198
199
|
if (req.body.sums[key] && req.body.sums[key].mapping) {
|
|
199
|
-
|
|
200
|
+
if (req.body.sums[key].afterOnRow) {
|
|
201
|
+
statsGroup.$group["sum_" + req.body.sums[key].mapping] = { $sum: "$" + req.body.sums[key].mapping };
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
sumsAfter.push(req.body.sums[key]);
|
|
205
|
+
}
|
|
200
206
|
}
|
|
201
207
|
}
|
|
202
208
|
}
|
|
@@ -229,6 +235,21 @@ class Datatable {
|
|
|
229
235
|
}
|
|
230
236
|
}
|
|
231
237
|
}
|
|
238
|
+
if (sumsAfter && sumsAfter.length > 0) {
|
|
239
|
+
for (let i in results) {
|
|
240
|
+
for (let sum of sumsAfter) {
|
|
241
|
+
if (!sums[req.body.sums[sum.mapping].mapping]) {
|
|
242
|
+
sums[req.body.sums[sum.mapping].mapping] = Object.assign({}, req.body.sums[sum.mapping]);
|
|
243
|
+
}
|
|
244
|
+
sums[req.body.sums[sum.mapping].mapping] +=
|
|
245
|
+
results[i][sum.mapping] !== null &&
|
|
246
|
+
results[i][sum.mapping] !== undefined &&
|
|
247
|
+
!isNaN(parseFloat(results[i][sum.mapping]))
|
|
248
|
+
? parseFloat(results[i][sum.mapping])
|
|
249
|
+
: 0;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
232
253
|
const data = {
|
|
233
254
|
page: page,
|
|
234
255
|
max_entries: stats && stats[0] && stats[0].count ? stats[0].count : 0,
|
|
@@ -253,6 +274,9 @@ class Datatable {
|
|
|
253
274
|
delete entry.skipStats;
|
|
254
275
|
aggregation.push(entry);
|
|
255
276
|
}
|
|
277
|
+
else {
|
|
278
|
+
aggregation.push(entry);
|
|
279
|
+
}
|
|
256
280
|
}
|
|
257
281
|
}
|
|
258
282
|
const connection = yield DBConnection_1.DBConnection.getConnection();
|
package/package.json
CHANGED
|
@@ -192,11 +192,16 @@ export class Datatable {
|
|
|
192
192
|
})
|
|
193
193
|
.toArray();
|
|
194
194
|
|
|
195
|
+
const sumsAfter: any = [];
|
|
195
196
|
const statsGroup: any = { $group: { _id: null, count: { $sum: 1 } } };
|
|
196
197
|
if (req.body.sums && Object.keys(req.body.sums).length > 0) {
|
|
197
198
|
for (let key in req.body.sums) {
|
|
198
199
|
if (req.body.sums[key] && req.body.sums[key].mapping) {
|
|
199
|
-
|
|
200
|
+
if (req.body.sums[key].afterOnRow) {
|
|
201
|
+
statsGroup.$group["sum_" + req.body.sums[key].mapping] = { $sum: "$" + req.body.sums[key].mapping };
|
|
202
|
+
} else {
|
|
203
|
+
sumsAfter.push(req.body.sums[key]);
|
|
204
|
+
}
|
|
200
205
|
}
|
|
201
206
|
}
|
|
202
207
|
}
|
|
@@ -238,6 +243,25 @@ export class Datatable {
|
|
|
238
243
|
}
|
|
239
244
|
}
|
|
240
245
|
|
|
246
|
+
if (sumsAfter && sumsAfter.length > 0) {
|
|
247
|
+
for (let i in results) {
|
|
248
|
+
for (let sum of sumsAfter) {
|
|
249
|
+
if (!sums[req.body.sums[sum.mapping].mapping]) {
|
|
250
|
+
sums[req.body.sums[sum.mapping].mapping] = {
|
|
251
|
+
...req.body.sums[sum.mapping],
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
sums[req.body.sums[sum.mapping].mapping] +=
|
|
256
|
+
results[i][sum.mapping] !== null &&
|
|
257
|
+
results[i][sum.mapping] !== undefined &&
|
|
258
|
+
!isNaN(parseFloat(results[i][sum.mapping]))
|
|
259
|
+
? parseFloat(results[i][sum.mapping])
|
|
260
|
+
: 0;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
241
265
|
const data = {
|
|
242
266
|
page: page,
|
|
243
267
|
max_entries: stats && stats[0] && stats[0].count ? stats[0].count : 0,
|
|
@@ -262,6 +286,8 @@ export class Datatable {
|
|
|
262
286
|
if (entry.skipStats) {
|
|
263
287
|
delete entry.skipStats;
|
|
264
288
|
aggregation.push(entry);
|
|
289
|
+
} else {
|
|
290
|
+
aggregation.push(entry);
|
|
265
291
|
}
|
|
266
292
|
}
|
|
267
293
|
}
|