@dssp/dkpi 1.0.27 → 1.0.29
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/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +19 -4
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +19 -4
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +19 -4
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +78 -4
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +35 -4
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +29 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +11 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +65 -12
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -1
- package/dist-client/pages/project-complete-tabs/pc-tab1-plan.d.ts +18 -0
- package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js +138 -64
- package/dist-client/pages/project-complete-tabs/pc-tab1-plan.js.map +1 -1
- package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js +80 -8
- package/dist-client/pages/project-complete-tabs/pc-tab3-upload.js.map +1 -1
- package/dist-client/pages/sv-project-detail.d.ts +33 -0
- package/dist-client/pages/sv-project-detail.js +130 -8
- package/dist-client/pages/sv-project-detail.js.map +1 -1
- package/dist-client/pages/sv-project-update.js +98 -31
- package/dist-client/pages/sv-project-update.js.map +1 -1
- package/dist-client/shared/complete-api.d.ts +7 -0
- package/dist-client/shared/complete-api.js +27 -0
- package/dist-client/shared/complete-api.js.map +1 -1
- package/dist-client/shared/project-axis.d.ts +23 -0
- package/dist-client/shared/project-axis.js +42 -0
- package/dist-client/shared/project-axis.js.map +1 -0
- package/dist-client/shared/sentiment-index.d.ts +47 -0
- package/dist-client/shared/sentiment-index.js +119 -0
- package/dist-client/shared/sentiment-index.js.map +1 -0
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/index.js +14 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/scripts/load-grade-data-migration.js +17 -3
- package/dist-server/scripts/load-grade-data-migration.js.map +1 -1
- package/dist-server/scripts/propagate-parent-kpi-values.js +13 -2
- package/dist-server/scripts/propagate-parent-kpi-values.js.map +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +22 -0
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +93 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -1
- package/dist-server/service/kpi-stat/kpi-stat-query.d.ts +9 -9
- package/dist-server/service/kpi-stat/kpi-stat-query.js +71 -84
- package/dist-server/service/kpi-stat/kpi-stat-query.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/schema.graphql +2011 -67
|
@@ -7,8 +7,22 @@ const shell_1 = require("@things-factory/shell");
|
|
|
7
7
|
const kpi_1 = require("@things-factory/kpi");
|
|
8
8
|
const domain_inheritance_js_1 = require("@things-factory/kpi/dist-server/service/utils/domain-inheritance.js");
|
|
9
9
|
const kpi_stat_types_1 = require("./kpi-stat-types");
|
|
10
|
+
const PROJECT_AXIS_COLUMNS = {
|
|
11
|
+
sectorType: 'sector_type',
|
|
12
|
+
buildingUsage: 'building_usage',
|
|
13
|
+
projectScale: 'project_scale',
|
|
14
|
+
facilityType: 'facility_type'
|
|
15
|
+
};
|
|
16
|
+
function applyProjectAxisFilters(queryBuilder, alias, filters) {
|
|
17
|
+
for (const [key, column] of Object.entries(PROJECT_AXIS_COLUMNS)) {
|
|
18
|
+
const value = filters[key];
|
|
19
|
+
if (!(value === null || value === void 0 ? void 0 : value.trim()))
|
|
20
|
+
continue;
|
|
21
|
+
queryBuilder.andWhere(`${alias}.${column} = :${key}`, { [key]: value });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
10
24
|
let KpiStatQuery = class KpiStatQuery {
|
|
11
|
-
async totalKpiZValueComprehensiveStats(startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
25
|
+
async totalKpiZValueComprehensiveStats(startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
12
26
|
const { domain } = context.state;
|
|
13
27
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
14
28
|
.createQueryBuilder('kv')
|
|
@@ -34,12 +48,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
34
48
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
35
49
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
36
50
|
}
|
|
37
|
-
|
|
38
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
39
|
-
}
|
|
40
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
41
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
42
|
-
}
|
|
51
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
43
52
|
queryBuilder.groupBy('k.name');
|
|
44
53
|
const results = await queryBuilder.getRawMany();
|
|
45
54
|
return results.map(result => {
|
|
@@ -63,7 +72,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
63
72
|
};
|
|
64
73
|
});
|
|
65
74
|
}
|
|
66
|
-
async totalKpiYValueComprehensiveStats(startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
75
|
+
async totalKpiYValueComprehensiveStats(startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
67
76
|
const { domain } = context.state;
|
|
68
77
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
69
78
|
.createQueryBuilder('kv')
|
|
@@ -89,12 +98,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
89
98
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
90
99
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
91
100
|
}
|
|
92
|
-
|
|
93
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
94
|
-
}
|
|
95
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
96
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
97
|
-
}
|
|
101
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
98
102
|
queryBuilder.groupBy('k.name').orderBy('k.name', 'ASC');
|
|
99
103
|
const results = await queryBuilder.getRawMany();
|
|
100
104
|
return results.map(result => {
|
|
@@ -118,7 +122,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
118
122
|
};
|
|
119
123
|
});
|
|
120
124
|
}
|
|
121
|
-
async kpiZValueComprehensiveStatsByGeoGroup(geoGroup, kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
125
|
+
async kpiZValueComprehensiveStatsByGeoGroup(geoGroup, kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
122
126
|
var _a, _b;
|
|
123
127
|
const { domain } = context.state;
|
|
124
128
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
@@ -163,12 +167,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
163
167
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
164
168
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
165
169
|
}
|
|
166
|
-
|
|
167
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
168
|
-
}
|
|
169
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
170
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
171
|
-
}
|
|
170
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
172
171
|
// KPI 필터: kpiName이 지정되면 해당 Y-level KPI만, 없으면 Z-level KPI 전체
|
|
173
172
|
if (kpiName && kpiName.trim() !== '') {
|
|
174
173
|
// kpiName 표기 불일치('일정성과(Y1)' vs 'Y1. 일정...') 방지 — Y1~Y6 코드로 LIKE 매칭
|
|
@@ -256,7 +255,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
256
255
|
})
|
|
257
256
|
.filter(result => result.geoGroup !== null);
|
|
258
257
|
}
|
|
259
|
-
async kpiZValueMonthlyTrendByGeoGroup(kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
258
|
+
async kpiZValueMonthlyTrendByGeoGroup(kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
260
259
|
var _a, _b;
|
|
261
260
|
const { domain } = context.state;
|
|
262
261
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
@@ -298,12 +297,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
298
297
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
299
298
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
300
299
|
}
|
|
301
|
-
|
|
302
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
303
|
-
}
|
|
304
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
305
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
306
|
-
}
|
|
300
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
307
301
|
// KPI 필터: kpiName이 지정되면 해당 Y-level KPI만, 없으면 Z-level KPI 전체
|
|
308
302
|
if (kpiName && kpiName.trim() !== '') {
|
|
309
303
|
// kpiName 표기 불일치('일정성과(Y1)' vs 'Y1. 일정...') 방지 — Y1~Y6 코드로 LIKE 매칭
|
|
@@ -327,7 +321,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
327
321
|
})
|
|
328
322
|
.filter(result => result.geoGroup !== null);
|
|
329
323
|
}
|
|
330
|
-
async kpiZValueMonthlyTrendBySigungu(geoGroup, kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
324
|
+
async kpiZValueMonthlyTrendBySigungu(geoGroup, kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
331
325
|
var _a, _b;
|
|
332
326
|
const { domain } = context.state;
|
|
333
327
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
@@ -350,12 +344,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
350
344
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
351
345
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
352
346
|
}
|
|
353
|
-
|
|
354
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
355
|
-
}
|
|
356
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
357
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
358
|
-
}
|
|
347
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
359
348
|
if (kpiName && kpiName.trim() !== '') {
|
|
360
349
|
// kpiName 표기 불일치('일정성과(Y1)' vs 'Y1. 일정...') 방지 — Y1~Y6 코드로 LIKE 매칭
|
|
361
350
|
queryBuilder.andWhere('k.name LIKE :kpiNameLike', { kpiNameLike: `%${(_b = (_a = kpiName.match(/Y[1-6]/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : kpiName}%` });
|
|
@@ -376,7 +365,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
376
365
|
};
|
|
377
366
|
});
|
|
378
367
|
}
|
|
379
|
-
async kpiProjectStats(sectorType, buildingUsage, kpiNamePattern, startYearMonth, endYearMonth, context) {
|
|
368
|
+
async kpiProjectStats(sectorType, buildingUsage, projectScale, facilityType, kpiNamePattern, startYearMonth, endYearMonth, context) {
|
|
380
369
|
const { domain } = context.state;
|
|
381
370
|
const qb = (0, shell_1.getRepository)('kpi_values')
|
|
382
371
|
.createQueryBuilder('kv')
|
|
@@ -397,12 +386,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
397
386
|
.innerJoin('projects', 'p', 'kv."group" = p.id::text')
|
|
398
387
|
.where('p.end_date IS NOT NULL')
|
|
399
388
|
.andWhere('kv.domain_id IN (:...domainIds)', { domainIds: await (0, domain_inheritance_js_1.getDomainIdsWithAncestors)(domain) });
|
|
400
|
-
|
|
401
|
-
qb.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
402
|
-
}
|
|
403
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
404
|
-
qb.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
405
|
-
}
|
|
389
|
+
applyProjectAxisFilters(qb, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
406
390
|
if (kpiNamePattern === null || kpiNamePattern === void 0 ? void 0 : kpiNamePattern.trim()) {
|
|
407
391
|
qb.andWhere('k.name LIKE :kpiNamePattern', { kpiNamePattern: `${kpiNamePattern}%` });
|
|
408
392
|
}
|
|
@@ -428,7 +412,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
428
412
|
projectCount: isNaN(Number(r.projectcount)) ? 0 : Number(r.projectcount)
|
|
429
413
|
}));
|
|
430
414
|
}
|
|
431
|
-
async kpiZValueStatsBySigungu(kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
415
|
+
async kpiZValueStatsBySigungu(kpiName, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
432
416
|
var _a, _b;
|
|
433
417
|
const { domain } = context.state;
|
|
434
418
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
@@ -454,12 +438,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
454
438
|
if (endYearMonth === null || endYearMonth === void 0 ? void 0 : endYearMonth.trim()) {
|
|
455
439
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
456
440
|
}
|
|
457
|
-
|
|
458
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
459
|
-
}
|
|
460
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
461
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
462
|
-
}
|
|
441
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
463
442
|
if (kpiName === null || kpiName === void 0 ? void 0 : kpiName.trim()) {
|
|
464
443
|
// kpiName 표기 불일치('일정성과(Y1)' vs 'Y1. 일정...') 방지 — Y1~Y6 코드로 LIKE 매칭
|
|
465
444
|
queryBuilder.andWhere('k.name LIKE :kpiNameLike', { kpiNameLike: `%${(_b = (_a = kpiName.match(/Y[1-6]/)) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : kpiName}%` });
|
|
@@ -484,7 +463,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
484
463
|
}))
|
|
485
464
|
.filter(r => r.geoGroup !== null);
|
|
486
465
|
}
|
|
487
|
-
async kpiYValueStatsByGeoGroup(geoGroup, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
466
|
+
async kpiYValueStatsByGeoGroup(geoGroup, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
488
467
|
const { domain } = context.state;
|
|
489
468
|
const queryBuilder = (0, shell_1.getRepository)('kpi_values')
|
|
490
469
|
.createQueryBuilder('kv')
|
|
@@ -510,12 +489,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
510
489
|
if (endYearMonth === null || endYearMonth === void 0 ? void 0 : endYearMonth.trim()) {
|
|
511
490
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
512
491
|
}
|
|
513
|
-
|
|
514
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
515
|
-
}
|
|
516
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
517
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
518
|
-
}
|
|
492
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
519
493
|
queryBuilder.groupBy('k.name').orderBy('k.name', 'ASC');
|
|
520
494
|
const results = await queryBuilder.getRawMany();
|
|
521
495
|
const clamp = (v) => Math.min(Math.max(isNaN(v) ? 0 : v, 0), 1);
|
|
@@ -530,7 +504,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
530
504
|
projectCount: isNaN(Number(r.projectcount)) ? 0 : Number(r.projectcount)
|
|
531
505
|
}));
|
|
532
506
|
}
|
|
533
|
-
async kpiYValueStatsByMetroArea(metroArea, startYearMonth, endYearMonth, sectorType, buildingUsage, context) {
|
|
507
|
+
async kpiYValueStatsByMetroArea(metroArea, startYearMonth, endYearMonth, sectorType, buildingUsage, projectScale, facilityType, context) {
|
|
534
508
|
if (!context || !context.state) {
|
|
535
509
|
console.error('Context is undefined or missing state');
|
|
536
510
|
return [];
|
|
@@ -561,12 +535,7 @@ let KpiStatQuery = class KpiStatQuery {
|
|
|
561
535
|
if (endYearMonth && endYearMonth.trim() !== '') {
|
|
562
536
|
queryBuilder.andWhere(`LEFT(kv.value_date, 7) <= :endYearMonth`, { endYearMonth });
|
|
563
537
|
}
|
|
564
|
-
|
|
565
|
-
queryBuilder.andWhere('p.sector_type = :sectorType', { sectorType });
|
|
566
|
-
}
|
|
567
|
-
if (buildingUsage === null || buildingUsage === void 0 ? void 0 : buildingUsage.trim()) {
|
|
568
|
-
queryBuilder.andWhere('p.building_usage = :buildingUsage', { buildingUsage });
|
|
569
|
-
}
|
|
538
|
+
applyProjectAxisFilters(queryBuilder, 'p', { sectorType, buildingUsage, projectScale, facilityType });
|
|
570
539
|
queryBuilder
|
|
571
540
|
.andWhere(`CASE
|
|
572
541
|
WHEN p.geo_group IN ('01','02','03','04','05','06','07','08') THEN '서울특별시'
|
|
@@ -620,9 +589,11 @@ tslib_1.__decorate([
|
|
|
620
589
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
621
590
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
622
591
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
623
|
-
tslib_1.__param(4, (0, type_graphql_1.
|
|
592
|
+
tslib_1.__param(4, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
593
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
594
|
+
tslib_1.__param(6, (0, type_graphql_1.Ctx)()),
|
|
624
595
|
tslib_1.__metadata("design:type", Function),
|
|
625
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, Object]),
|
|
596
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, Object]),
|
|
626
597
|
tslib_1.__metadata("design:returntype", Promise)
|
|
627
598
|
], KpiStatQuery.prototype, "totalKpiZValueComprehensiveStats", null);
|
|
628
599
|
tslib_1.__decorate([
|
|
@@ -632,9 +603,11 @@ tslib_1.__decorate([
|
|
|
632
603
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
633
604
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
634
605
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
635
|
-
tslib_1.__param(4, (0, type_graphql_1.
|
|
606
|
+
tslib_1.__param(4, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
607
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
608
|
+
tslib_1.__param(6, (0, type_graphql_1.Ctx)()),
|
|
636
609
|
tslib_1.__metadata("design:type", Function),
|
|
637
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, Object]),
|
|
610
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, Object]),
|
|
638
611
|
tslib_1.__metadata("design:returntype", Promise)
|
|
639
612
|
], KpiStatQuery.prototype, "totalKpiYValueComprehensiveStats", null);
|
|
640
613
|
tslib_1.__decorate([
|
|
@@ -648,9 +621,11 @@ tslib_1.__decorate([
|
|
|
648
621
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
649
622
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
650
623
|
tslib_1.__param(5, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
651
|
-
tslib_1.__param(6, (0, type_graphql_1.
|
|
624
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
625
|
+
tslib_1.__param(7, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
626
|
+
tslib_1.__param(8, (0, type_graphql_1.Ctx)()),
|
|
652
627
|
tslib_1.__metadata("design:type", Function),
|
|
653
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, Object]),
|
|
628
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, String, Object]),
|
|
654
629
|
tslib_1.__metadata("design:returntype", Promise)
|
|
655
630
|
], KpiStatQuery.prototype, "kpiZValueComprehensiveStatsByGeoGroup", null);
|
|
656
631
|
tslib_1.__decorate([
|
|
@@ -670,9 +645,11 @@ tslib_1.__decorate([
|
|
|
670
645
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
671
646
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
672
647
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
673
|
-
tslib_1.__param(5, (0, type_graphql_1.
|
|
648
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
649
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
650
|
+
tslib_1.__param(7, (0, type_graphql_1.Ctx)()),
|
|
674
651
|
tslib_1.__metadata("design:type", Function),
|
|
675
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
652
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Object]),
|
|
676
653
|
tslib_1.__metadata("design:returntype", Promise)
|
|
677
654
|
], KpiStatQuery.prototype, "kpiZValueMonthlyTrendByGeoGroup", null);
|
|
678
655
|
tslib_1.__decorate([
|
|
@@ -686,9 +663,11 @@ tslib_1.__decorate([
|
|
|
686
663
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
687
664
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
688
665
|
tslib_1.__param(5, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
689
|
-
tslib_1.__param(6, (0, type_graphql_1.
|
|
666
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
667
|
+
tslib_1.__param(7, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
668
|
+
tslib_1.__param(8, (0, type_graphql_1.Ctx)()),
|
|
690
669
|
tslib_1.__metadata("design:type", Function),
|
|
691
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, Object]),
|
|
670
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, String, Object]),
|
|
692
671
|
tslib_1.__metadata("design:returntype", Promise)
|
|
693
672
|
], KpiStatQuery.prototype, "kpiZValueMonthlyTrendBySigungu", null);
|
|
694
673
|
tslib_1.__decorate([
|
|
@@ -696,12 +675,14 @@ tslib_1.__decorate([
|
|
|
696
675
|
(0, type_graphql_1.Query)(() => [kpi_stat_types_1.KpiProjectStat], { description: 'Get KPI stats aggregated from project data with optional sectorType/buildingUsage filters' }),
|
|
697
676
|
tslib_1.__param(0, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
698
677
|
tslib_1.__param(1, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
699
|
-
tslib_1.__param(2, (0, type_graphql_1.Arg)('
|
|
700
|
-
tslib_1.__param(3, (0, type_graphql_1.Arg)('
|
|
701
|
-
tslib_1.__param(4, (0, type_graphql_1.Arg)('
|
|
702
|
-
tslib_1.__param(5, (0, type_graphql_1.
|
|
678
|
+
tslib_1.__param(2, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
679
|
+
tslib_1.__param(3, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
680
|
+
tslib_1.__param(4, (0, type_graphql_1.Arg)('kpiNamePattern', { nullable: true })),
|
|
681
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('startYearMonth', { nullable: true })),
|
|
682
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
683
|
+
tslib_1.__param(7, (0, type_graphql_1.Ctx)()),
|
|
703
684
|
tslib_1.__metadata("design:type", Function),
|
|
704
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
685
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Object]),
|
|
705
686
|
tslib_1.__metadata("design:returntype", Promise)
|
|
706
687
|
], KpiStatQuery.prototype, "kpiProjectStats", null);
|
|
707
688
|
tslib_1.__decorate([
|
|
@@ -714,9 +695,11 @@ tslib_1.__decorate([
|
|
|
714
695
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
715
696
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
716
697
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
717
|
-
tslib_1.__param(5, (0, type_graphql_1.
|
|
698
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
699
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
700
|
+
tslib_1.__param(7, (0, type_graphql_1.Ctx)()),
|
|
718
701
|
tslib_1.__metadata("design:type", Function),
|
|
719
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
702
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Object]),
|
|
720
703
|
tslib_1.__metadata("design:returntype", Promise)
|
|
721
704
|
], KpiStatQuery.prototype, "kpiZValueStatsBySigungu", null);
|
|
722
705
|
tslib_1.__decorate([
|
|
@@ -727,9 +710,11 @@ tslib_1.__decorate([
|
|
|
727
710
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
728
711
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
729
712
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
730
|
-
tslib_1.__param(5, (0, type_graphql_1.
|
|
713
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
714
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
715
|
+
tslib_1.__param(7, (0, type_graphql_1.Ctx)()),
|
|
731
716
|
tslib_1.__metadata("design:type", Function),
|
|
732
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
717
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Object]),
|
|
733
718
|
tslib_1.__metadata("design:returntype", Promise)
|
|
734
719
|
], KpiStatQuery.prototype, "kpiYValueStatsByGeoGroup", null);
|
|
735
720
|
tslib_1.__decorate([
|
|
@@ -740,9 +725,11 @@ tslib_1.__decorate([
|
|
|
740
725
|
tslib_1.__param(2, (0, type_graphql_1.Arg)('endYearMonth', { nullable: true })),
|
|
741
726
|
tslib_1.__param(3, (0, type_graphql_1.Arg)('sectorType', { nullable: true })),
|
|
742
727
|
tslib_1.__param(4, (0, type_graphql_1.Arg)('buildingUsage', { nullable: true })),
|
|
743
|
-
tslib_1.__param(5, (0, type_graphql_1.
|
|
728
|
+
tslib_1.__param(5, (0, type_graphql_1.Arg)('projectScale', { nullable: true })),
|
|
729
|
+
tslib_1.__param(6, (0, type_graphql_1.Arg)('facilityType', { nullable: true })),
|
|
730
|
+
tslib_1.__param(7, (0, type_graphql_1.Ctx)()),
|
|
744
731
|
tslib_1.__metadata("design:type", Function),
|
|
745
|
-
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, Object]),
|
|
732
|
+
tslib_1.__metadata("design:paramtypes", [String, String, String, String, String, String, String, Object]),
|
|
746
733
|
tslib_1.__metadata("design:returntype", Promise)
|
|
747
734
|
], KpiStatQuery.prototype, "kpiYValueStatsByMetroArea", null);
|
|
748
735
|
exports.KpiStatQuery = KpiStatQuery = tslib_1.__decorate([
|