@things-factory/kpi 1.0.0-alpha.5 → 9.0.9
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/README.md +74 -0
- package/client/pages/kpi/kpi-list-page.ts +97 -47
- package/client/pages/kpi/kpi-overview-sample.ts +260 -0
- package/client/pages/kpi/kpi-overview.ts +271 -0
- package/client/pages/kpi-category/kpi-category-list-page.ts +39 -50
- package/client/pages/kpi-dashboard/kpi-alert-panel.ts +114 -0
- package/client/pages/kpi-dashboard/kpi-dashboard.ts +285 -0
- package/client/pages/kpi-dashboard/kpi-grade-visualization.ts +75 -0
- package/client/pages/kpi-dashboard/kpi-history-viewer.ts +58 -0
- package/client/pages/kpi-dashboard/kpi-list-summary.ts +100 -0
- package/client/pages/kpi-dashboard/kpi-performance-summary.ts +124 -0
- package/client/pages/kpi-dashboard/kpi-value-entry.ts +78 -0
- package/client/pages/kpi-grade/kpi-grade-list-page.ts +58 -68
- package/client/pages/kpi-history/kpi-history-list-page.ts +146 -0
- package/client/pages/kpi-metric/kpi-metric-list-page.ts +67 -63
- package/client/pages/kpi-value/kpi-value-list-page.ts +73 -72
- package/client/pages/kpi-value/kpi-value-manual-entry-form.ts +168 -0
- package/client/pages/kpi-value/kpi-value-manual-entry-page.ts +173 -0
- package/client/route.ts +35 -0
- package/dist-client/pages/kpi/kpi-importer.js +16 -17
- package/dist-client/pages/kpi/kpi-importer.js.map +1 -1
- package/dist-client/pages/kpi/kpi-list-page.js +128 -68
- package/dist-client/pages/kpi/kpi-list-page.js.map +1 -1
- package/dist-client/pages/kpi/kpi-overview-sample.d.ts +36 -0
- package/dist-client/pages/kpi/kpi-overview-sample.js +264 -0
- package/dist-client/pages/kpi/kpi-overview-sample.js.map +1 -0
- package/dist-client/pages/kpi/kpi-overview.d.ts +14 -0
- package/dist-client/pages/kpi/kpi-overview.js +290 -0
- package/dist-client/pages/kpi/kpi-overview.js.map +1 -0
- package/dist-client/pages/kpi-category/kpi-category-importer.js +16 -17
- package/dist-client/pages/kpi-category/kpi-category-importer.js.map +1 -1
- package/dist-client/pages/kpi-category/kpi-category-list-page.js +70 -71
- package/dist-client/pages/kpi-category/kpi-category-list-page.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.d.ts +18 -0
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js +128 -0
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +24 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +305 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.d.ts +12 -0
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js +82 -0
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.d.ts +11 -0
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js +65 -0
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.d.ts +13 -0
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.js +115 -0
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.d.ts +15 -0
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js +139 -0
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.d.ts +7 -0
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.js +86 -0
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.js.map +1 -0
- package/dist-client/pages/kpi-grade/kpi-grade-importer.js +16 -17
- package/dist-client/pages/kpi-grade/kpi-grade-importer.js.map +1 -1
- package/dist-client/pages/kpi-grade/kpi-grade-list-page.js +89 -89
- package/dist-client/pages/kpi-grade/kpi-grade-list-page.js.map +1 -1
- package/dist-client/pages/kpi-history/kpi-history-list-page.d.ts +16 -0
- package/dist-client/pages/kpi-history/kpi-history-list-page.js +155 -0
- package/dist-client/pages/kpi-history/kpi-history-list-page.js.map +1 -0
- package/dist-client/pages/kpi-metric/kpi-metric-importer.js +16 -17
- package/dist-client/pages/kpi-metric/kpi-metric-importer.js.map +1 -1
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +98 -84
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-importer.js +16 -17
- package/dist-client/pages/kpi-value/kpi-value-importer.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-list-page.js +104 -93
- package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-form.d.ts +14 -0
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-form.js +201 -0
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-form.js.map +1 -0
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-page.d.ts +41 -0
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-page.js +180 -0
- package/dist-client/pages/kpi-value/kpi-value-manual-entry-page.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +27 -0
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/index.d.ts +2 -1
- package/dist-server/index.js +2 -1
- package/dist-server/index.js.map +1 -1
- package/dist-server/migrations/1752188906708-SeedKpiCategory.d.ts +5 -0
- package/dist-server/migrations/1752188906708-SeedKpiCategory.js +56 -0
- package/dist-server/migrations/1752188906708-SeedKpiCategory.js.map +1 -0
- package/dist-server/migrations/1752190849681-SeedKpi.d.ts +5 -0
- package/dist-server/migrations/1752190849681-SeedKpi.js +107 -0
- package/dist-server/migrations/1752190849681-SeedKpi.js.map +1 -0
- package/dist-server/migrations/1752191090459-SeedKpiGrade.d.ts +5 -0
- package/dist-server/migrations/1752191090459-SeedKpiGrade.js +271 -0
- package/dist-server/migrations/1752191090459-SeedKpiGrade.js.map +1 -0
- package/dist-server/migrations/index.d.ts +1 -0
- package/dist-server/migrations/index.js +12 -0
- package/dist-server/migrations/index.js.map +1 -0
- package/dist-server/routes.d.ts +1 -0
- package/dist-server/routes.js +48 -0
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/index.d.ts +3 -4
- package/dist-server/service/index.js +4 -6
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/kpi/aggregate-kpi.d.ts +8 -0
- package/dist-server/service/kpi/aggregate-kpi.js +88 -0
- package/dist-server/service/kpi/aggregate-kpi.js.map +1 -0
- package/dist-server/service/kpi/event-subscriber.d.ts +2 -0
- package/dist-server/service/kpi/event-subscriber.js +10 -0
- package/dist-server/service/kpi/event-subscriber.js.map +1 -1
- package/dist-server/service/kpi/index.d.ts +2 -1
- package/dist-server/service/kpi/kpi-formula.service.d.ts +24 -0
- package/dist-server/service/kpi/kpi-formula.service.js +64 -0
- package/dist-server/service/kpi/kpi-formula.service.js.map +1 -0
- package/dist-server/service/kpi/kpi-history.d.ts +6 -2
- package/dist-server/service/kpi/kpi-history.js +29 -11
- package/dist-server/service/kpi/kpi-history.js.map +1 -1
- package/dist-server/service/kpi/kpi-mutation.d.ts +2 -0
- package/dist-server/service/kpi/kpi-mutation.js +215 -10
- package/dist-server/service/kpi/kpi-mutation.js.map +1 -1
- package/dist-server/service/kpi/kpi-query.d.ts +10 -0
- package/dist-server/service/kpi/kpi-query.js +87 -3
- package/dist-server/service/kpi/kpi-query.js.map +1 -1
- package/dist-server/service/kpi/kpi-type.d.ts +14 -3
- package/dist-server/service/kpi/kpi-type.js +81 -18
- package/dist-server/service/kpi/kpi-type.js.map +1 -1
- package/dist-server/service/kpi/kpi.d.ts +14 -3
- package/dist-server/service/kpi/kpi.js +96 -19
- package/dist-server/service/kpi/kpi.js.map +1 -1
- package/dist-server/service/kpi-alert/index.d.ts +2 -0
- package/dist-server/service/kpi-alert/index.js +6 -0
- package/dist-server/service/kpi-alert/index.js.map +1 -0
- package/dist-server/service/kpi-alert/kpi-alert-query.d.ts +4 -0
- package/dist-server/service/kpi-alert/kpi-alert-query.js +71 -0
- package/dist-server/service/kpi-alert/kpi-alert-query.js.map +1 -0
- package/dist-server/service/kpi-alert/kpi-alert-type.d.ts +8 -0
- package/dist-server/service/kpi-alert/kpi-alert-type.js +33 -0
- package/dist-server/service/kpi-alert/kpi-alert-type.js.map +1 -0
- package/dist-server/service/kpi-category/kpi-category-mutation.d.ts +1 -1
- package/dist-server/service/kpi-category/kpi-category-mutation.js +36 -10
- package/dist-server/service/kpi-category/kpi-category-mutation.js.map +1 -1
- package/dist-server/service/kpi-category/kpi-category-query.d.ts +2 -0
- package/dist-server/service/kpi-category/kpi-category-query.js +18 -2
- package/dist-server/service/kpi-category/kpi-category-query.js.map +1 -1
- package/dist-server/service/kpi-category/kpi-category-type.d.ts +3 -5
- package/dist-server/service/kpi-category/kpi-category-type.js +16 -20
- package/dist-server/service/kpi-category/kpi-category-type.js.map +1 -1
- package/dist-server/service/kpi-category/kpi-category.d.ts +7 -9
- package/dist-server/service/kpi-category/kpi-category.js +40 -38
- package/dist-server/service/kpi-category/kpi-category.js.map +1 -1
- package/dist-server/service/kpi-grade/index.d.ts +1 -2
- package/dist-server/service/kpi-grade/index.js +2 -4
- package/dist-server/service/kpi-grade/index.js.map +1 -1
- package/dist-server/service/kpi-grade/kpi-grade-mutation.d.ts +1 -1
- package/dist-server/service/kpi-grade/kpi-grade-mutation.js +33 -10
- package/dist-server/service/kpi-grade/kpi-grade-mutation.js.map +1 -1
- package/dist-server/service/kpi-grade/kpi-grade-query.js +2 -2
- package/dist-server/service/kpi-grade/kpi-grade-query.js.map +1 -1
- package/dist-server/service/kpi-grade/kpi-grade-type.d.ts +13 -4
- package/dist-server/service/kpi-grade/kpi-grade-type.js +54 -18
- package/dist-server/service/kpi-grade/kpi-grade-type.js.map +1 -1
- package/dist-server/service/kpi-grade/kpi-grade.d.ts +8 -8
- package/dist-server/service/kpi-grade/kpi-grade.js +48 -40
- package/dist-server/service/kpi-grade/kpi-grade.js.map +1 -1
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.d.ts +8 -0
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js +134 -0
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js.map +1 -0
- package/dist-server/service/kpi-metric/index.d.ts +1 -2
- package/dist-server/service/kpi-metric/index.js +2 -4
- package/dist-server/service/kpi-metric/index.js.map +1 -1
- package/dist-server/service/kpi-metric/kpi-metric-mutation.d.ts +1 -1
- package/dist-server/service/kpi-metric/kpi-metric-mutation.js +139 -13
- package/dist-server/service/kpi-metric/kpi-metric-mutation.js.map +1 -1
- package/dist-server/service/kpi-metric/kpi-metric-query.js +3 -3
- package/dist-server/service/kpi-metric/kpi-metric-query.js.map +1 -1
- package/dist-server/service/kpi-metric/kpi-metric-type.d.ts +17 -4
- package/dist-server/service/kpi-metric/kpi-metric-type.js +69 -11
- package/dist-server/service/kpi-metric/kpi-metric-type.js.map +1 -1
- package/dist-server/service/kpi-metric/kpi-metric.d.ts +11 -8
- package/dist-server/service/kpi-metric/kpi-metric.js +62 -37
- package/dist-server/service/kpi-metric/kpi-metric.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value-mutation.js +66 -11
- package/dist-server/service/kpi-value/kpi-value-mutation.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value-query.d.ts +2 -0
- package/dist-server/service/kpi-value/kpi-value-query.js +15 -2
- package/dist-server/service/kpi-value/kpi-value-query.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value-type.d.ts +19 -10
- package/dist-server/service/kpi-value/kpi-value-type.js +87 -24
- package/dist-server/service/kpi-value/kpi-value-type.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value.d.ts +15 -9
- package/dist-server/service/kpi-value/kpi-value.js +86 -32
- package/dist-server/service/kpi-value/kpi-value.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/implement-plan/01-entity-type-resolver.md +57 -0
- package/implement-plan/02-dataset-integration.md +35 -0
- package/implement-plan/03-kpivalue-automation.md +34 -0
- package/implement-plan/04-version-history.md +33 -0
- package/implement-plan/05-grade-visualization.md +33 -0
- package/implement-plan/06-graphql-frontend.md +30 -0
- package/implement-plan/07-test-docs.md +35 -0
- package/implement-plan/TODO.md +41 -0
- package/package.json +18 -6
- package/server/index.ts +2 -1
- package/server/migrations/1752188906708-SeedKpiCategory.ts +61 -0
- package/server/migrations/1752190849681-SeedKpi.ts +112 -0
- package/server/migrations/1752191090459-SeedKpiGrade.ts +270 -0
- package/server/migrations/index.ts +9 -0
- package/server/routes.ts +55 -0
- package/server/service/index.ts +4 -6
- package/server/service/kpi/aggregate-kpi.ts +82 -0
- package/server/service/kpi/event-subscriber.ts +12 -0
- package/server/service/kpi/kpi-formula.service.ts +63 -0
- package/server/service/kpi/kpi-history.ts +29 -21
- package/server/service/kpi/kpi-mutation.ts +194 -12
- package/server/service/kpi/kpi-query.ts +57 -2
- package/server/service/kpi/kpi-type.ts +72 -19
- package/server/service/kpi/kpi.ts +96 -20
- package/server/service/kpi-alert/index.ts +3 -0
- package/server/service/kpi-alert/kpi-alert-query.ts +59 -0
- package/server/service/kpi-alert/kpi-alert-type.ts +20 -0
- package/server/service/kpi-category/kpi-category-mutation.ts +17 -4
- package/server/service/kpi-category/kpi-category-query.ts +20 -3
- package/server/service/kpi-category/kpi-category-type.ts +17 -19
- package/server/service/kpi-category/kpi-category.ts +39 -37
- package/server/service/kpi-grade/index.ts +2 -4
- package/server/service/kpi-grade/kpi-grade-mutation.ts +13 -4
- package/server/service/kpi-grade/kpi-grade-query.ts +5 -2
- package/server/service/kpi-grade/kpi-grade-type.ts +46 -19
- package/server/service/kpi-grade/kpi-grade.ts +44 -38
- package/server/service/kpi-metric/aggregate-kpi-metric.ts +128 -0
- package/server/service/kpi-metric/index.ts +2 -4
- package/server/service/kpi-metric/kpi-metric-mutation.ts +123 -7
- package/server/service/kpi-metric/kpi-metric-query.ts +9 -3
- package/server/service/kpi-metric/kpi-metric-type.ts +56 -13
- package/server/service/kpi-metric/kpi-metric.ts +55 -35
- package/server/service/kpi-value/kpi-value-mutation.ts +52 -14
- package/server/service/kpi-value/kpi-value-query.ts +12 -2
- package/server/service/kpi-value/kpi-value-type.ts +80 -25
- package/server/service/kpi-value/kpi-value.ts +81 -29
- package/things-factory.config.js +12 -4
- package/translations/en.json +12 -1
- package/translations/ja.json +12 -1
- package/translations/ko.json +12 -1
- package/translations/ms.json +12 -1
- package/translations/zh.json +12 -1
- package/client/pages/kpe-metric/kpe-metric-importer.ts +0 -90
- package/client/pages/kpe-metric/kpe-metric-list-page.ts +0 -398
- package/client/pages/kpi-formula/kpi-formula-importer.ts +0 -90
- package/client/pages/kpi-formula/kpi-formula-list-page.ts +0 -398
- package/client/pages/metric/metric-importer.ts +0 -90
- package/client/pages/metric/metric-list-page.ts +0 -398
- package/dist-client/pages/kpe-metric/kpe-metric-importer.d.ts +0 -23
- package/dist-client/pages/kpe-metric/kpe-metric-importer.js +0 -93
- package/dist-client/pages/kpe-metric/kpe-metric-importer.js.map +0 -1
- package/dist-client/pages/kpe-metric/kpe-metric-list-page.d.ts +0 -66
- package/dist-client/pages/kpe-metric/kpe-metric-list-page.js +0 -370
- package/dist-client/pages/kpe-metric/kpe-metric-list-page.js.map +0 -1
- package/dist-client/pages/kpi-formula/kpi-formula-importer.d.ts +0 -23
- package/dist-client/pages/kpi-formula/kpi-formula-importer.js +0 -93
- package/dist-client/pages/kpi-formula/kpi-formula-importer.js.map +0 -1
- package/dist-client/pages/kpi-formula/kpi-formula-list-page.d.ts +0 -66
- package/dist-client/pages/kpi-formula/kpi-formula-list-page.js +0 -370
- package/dist-client/pages/kpi-formula/kpi-formula-list-page.js.map +0 -1
- package/dist-client/pages/metric/metric-importer.d.ts +0 -23
- package/dist-client/pages/metric/metric-importer.js +0 -93
- package/dist-client/pages/metric/metric-importer.js.map +0 -1
- package/dist-client/pages/metric/metric-list-page.d.ts +0 -66
- package/dist-client/pages/metric/metric-list-page.js +0 -370
- package/dist-client/pages/metric/metric-list-page.js.map +0 -1
- package/dist-server/service/kpi-formula/event-subscriber.d.ts +0 -7
- package/dist-server/service/kpi-formula/event-subscriber.js +0 -21
- package/dist-server/service/kpi-formula/event-subscriber.js.map +0 -1
- package/dist-server/service/kpi-formula/index.d.ts +0 -7
- package/dist-server/service/kpi-formula/index.js +0 -12
- package/dist-server/service/kpi-formula/index.js.map +0 -1
- package/dist-server/service/kpi-formula/kpi-formula-history.d.ts +0 -25
- package/dist-server/service/kpi-formula/kpi-formula-history.js +0 -128
- package/dist-server/service/kpi-formula/kpi-formula-history.js.map +0 -1
- package/dist-server/service/kpi-formula/kpi-formula-mutation.d.ts +0 -10
- package/dist-server/service/kpi-formula/kpi-formula-mutation.js +0 -128
- package/dist-server/service/kpi-formula/kpi-formula-mutation.js.map +0 -1
- package/dist-server/service/kpi-formula/kpi-formula-query.d.ts +0 -11
- package/dist-server/service/kpi-formula/kpi-formula-query.js +0 -79
- package/dist-server/service/kpi-formula/kpi-formula-query.js.map +0 -1
- package/dist-server/service/kpi-formula/kpi-formula-type.d.ts +0 -20
- package/dist-server/service/kpi-formula/kpi-formula-type.js +0 -77
- package/dist-server/service/kpi-formula/kpi-formula-type.js.map +0 -1
- package/dist-server/service/kpi-formula/kpi-formula.d.ts +0 -24
- package/dist-server/service/kpi-formula/kpi-formula.js +0 -109
- package/dist-server/service/kpi-formula/kpi-formula.js.map +0 -1
- package/dist-server/service/kpi-grade/event-subscriber.d.ts +0 -7
- package/dist-server/service/kpi-grade/event-subscriber.js +0 -21
- package/dist-server/service/kpi-grade/event-subscriber.js.map +0 -1
- package/dist-server/service/kpi-grade/kpi-grade-history.d.ts +0 -25
- package/dist-server/service/kpi-grade/kpi-grade-history.js +0 -128
- package/dist-server/service/kpi-grade/kpi-grade-history.js.map +0 -1
- package/dist-server/service/kpi-metric/event-subscriber.d.ts +0 -7
- package/dist-server/service/kpi-metric/event-subscriber.js +0 -21
- package/dist-server/service/kpi-metric/event-subscriber.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-history.d.ts +0 -25
- package/dist-server/service/kpi-metric/kpi-metric-history.js +0 -128
- package/dist-server/service/kpi-metric/kpi-metric-history.js.map +0 -1
- package/server/service/kpi-formula/event-subscriber.ts +0 -17
- package/server/service/kpi-formula/index.ts +0 -9
- package/server/service/kpi-formula/kpi-formula-history.ts +0 -116
- package/server/service/kpi-formula/kpi-formula-mutation.ts +0 -137
- package/server/service/kpi-formula/kpi-formula-query.ts +0 -48
- package/server/service/kpi-formula/kpi-formula-type.ts +0 -55
- package/server/service/kpi-formula/kpi-formula.ts +0 -95
- package/server/service/kpi-grade/event-subscriber.ts +0 -17
- package/server/service/kpi-grade/kpi-grade-history.ts +0 -116
- package/server/service/kpi-metric/event-subscriber.ts +0 -17
- package/server/service/kpi-metric/kpi-metric-history.ts +0 -116
package/dist-server/index.d.ts
CHANGED
package/dist-server/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./service"), exports);
|
|
4
|
+
tslib_1.__exportStar(require("./service/index.js"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./migrations/index.js"), exports);
|
|
5
6
|
require("./routes");
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
package/dist-server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../server/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,gEAAqC;AAErC,oBAAiB","sourcesContent":["export * from './service/index.js'\nexport * from './migrations/index.js'\n\nimport './routes'\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SeedKpiCategory1752188906708 = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const kpi_category_js_1 = require("../service/kpi-category/kpi-category.js");
|
|
6
|
+
const SEED = [
|
|
7
|
+
{
|
|
8
|
+
name: '일정성과',
|
|
9
|
+
description: '프로젝트 일정 준수 및 일정 이탈 수준 평가'
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
name: '비용성과',
|
|
13
|
+
description: '프로젝트 비용 집행 및 비용성과 수준 평가'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: '품질성과',
|
|
17
|
+
description: '품질 불합격률, 품질성과 수준 등 품질 관련 성과 평가'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: '안전성과',
|
|
21
|
+
description: '재해율, SL-PA 등 안전 관련 성과 평가'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: '환경성과',
|
|
25
|
+
description: '건설폐기물 등 환경 관련 성과 평가'
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
name: '생산성과',
|
|
29
|
+
description: '투입인력 생산성 등 생산성 관련 성과 평가'
|
|
30
|
+
}
|
|
31
|
+
];
|
|
32
|
+
class SeedKpiCategory1752188906708 {
|
|
33
|
+
async up(queryRunner) {
|
|
34
|
+
const repository = (0, shell_1.getRepository)(kpi_category_js_1.KpiCategory);
|
|
35
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
36
|
+
name: 'SYSTEM'
|
|
37
|
+
});
|
|
38
|
+
return await Promise.all(SEED.map(async (kpiCategory) => {
|
|
39
|
+
await repository.save({
|
|
40
|
+
...kpiCategory,
|
|
41
|
+
domain
|
|
42
|
+
});
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
async down(queryRunner) {
|
|
46
|
+
const repository = (0, shell_1.getRepository)(kpi_category_js_1.KpiCategory);
|
|
47
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
48
|
+
name: 'SYSTEM'
|
|
49
|
+
});
|
|
50
|
+
return await Promise.all(SEED.reverse().map(async (kpiCategory) => {
|
|
51
|
+
await repository.delete({ name: kpiCategory.name, domain: { id: domain.id } });
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.SeedKpiCategory1752188906708 = SeedKpiCategory1752188906708;
|
|
56
|
+
//# sourceMappingURL=1752188906708-SeedKpiCategory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1752188906708-SeedKpiCategory.js","sourceRoot":"","sources":["../../server/migrations/1752188906708-SeedKpiCategory.ts"],"names":[],"mappings":";;;AACA,iDAA6D;AAC7D,6EAAqE;AAErE,MAAM,IAAI,GAAG;IACX;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;KACvC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,gCAAgC;KAC9C;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0BAA0B;KACxC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,qBAAqB;KACnC;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,yBAAyB;KACvC;CACF,CAAA;AAED,MAAa,4BAA4B;IAChC,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,6BAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAW,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC;YAC3D,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;YAC3B,MAAM,UAAU,CAAC,IAAI,CAAC;gBACpB,GAAG,WAAW;gBACd,MAAM;aACP,CAAC,CAAA;QACJ,CAAC,CAAC,CACH,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,6BAAW,CAAC,CAAA;QAC7C,MAAM,MAAM,GAAW,MAAM,IAAA,qBAAa,EAAC,cAAM,CAAC,CAAC,SAAS,CAAC;YAC3D,IAAI,EAAE,QAAQ;SACf,CAAC,CAAA;QAEF,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,KAAK,EAAC,WAAW,EAAC,EAAE;YACrC,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAChF,CAAC,CAAC,CACH,CAAA;IACH,CAAC;CACF;AA7BD,oEA6BC","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { KpiCategory } from '../service/kpi-category/kpi-category.js'\n\nconst SEED = [\n {\n name: '일정성과',\n description: '프로젝트 일정 준수 및 일정 이탈 수준 평가'\n },\n {\n name: '비용성과',\n description: '프로젝트 비용 집행 및 비용성과 수준 평가'\n },\n {\n name: '품질성과',\n description: '품질 불합격률, 품질성과 수준 등 품질 관련 성과 평가'\n },\n {\n name: '안전성과',\n description: '재해율, SL-PA 등 안전 관련 성과 평가'\n },\n {\n name: '환경성과',\n description: '건설폐기물 등 환경 관련 성과 평가'\n },\n {\n name: '생산성과',\n description: '투입인력 생산성 등 생산성 관련 성과 평가'\n }\n]\n\nexport class SeedKpiCategory1752188906708 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(KpiCategory)\n const domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n return await Promise.all(\n SEED.map(async kpiCategory => {\n await repository.save({\n ...kpiCategory,\n domain\n })\n })\n )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(KpiCategory)\n const domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n return await Promise.all(\n SEED.reverse().map(async kpiCategory => {\n await repository.delete({ name: kpiCategory.name, domain: { id: domain.id } })\n })\n )\n }\n}\n"]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SeedKpi1752190849681 = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const kpi_js_1 = require("../service/kpi/kpi.js");
|
|
6
|
+
const SEED = [
|
|
7
|
+
{
|
|
8
|
+
name: '일정 이탈 수준',
|
|
9
|
+
description: '프로젝트 일정 이탈 수준 평가',
|
|
10
|
+
categoryName: '일정성과',
|
|
11
|
+
formula: 'Table(1~5점)',
|
|
12
|
+
scoreType: 'table',
|
|
13
|
+
dataType: 'score'
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
name: '일정성과 수준 평가',
|
|
17
|
+
description: '일정성과 종합 평가',
|
|
18
|
+
categoryName: '일정성과',
|
|
19
|
+
formula: '감리자 1~5점 척도',
|
|
20
|
+
scoreType: 'inspector',
|
|
21
|
+
dataType: 'score'
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: '비용성과 수준 평가',
|
|
25
|
+
description: '비용성과 종합 평가',
|
|
26
|
+
categoryName: '비용성과',
|
|
27
|
+
formula: '감리자 1~5점 척도',
|
|
28
|
+
scoreType: 'inspector',
|
|
29
|
+
dataType: 'score'
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
name: '품질 SL-PA 결과값',
|
|
33
|
+
description: '품질 SL-PA 결과',
|
|
34
|
+
categoryName: '품질성과',
|
|
35
|
+
formula: 'Python(1~5점)',
|
|
36
|
+
scoreType: 'python',
|
|
37
|
+
dataType: 'score'
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
name: '품질성과 수준 평가',
|
|
41
|
+
description: '품질성과 종합 평가',
|
|
42
|
+
categoryName: '품질성과',
|
|
43
|
+
formula: '감리자 1~5점 척도',
|
|
44
|
+
scoreType: 'inspector',
|
|
45
|
+
dataType: 'score'
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: '안전 SL-PA 결과값',
|
|
49
|
+
description: '안전 SL-PA 결과',
|
|
50
|
+
categoryName: '안전성과',
|
|
51
|
+
formula: 'Python(1~5점)',
|
|
52
|
+
scoreType: 'python',
|
|
53
|
+
dataType: 'score'
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
name: '안전성과 수준 평가',
|
|
57
|
+
description: '안전성과 종합 평가',
|
|
58
|
+
categoryName: '안전성과',
|
|
59
|
+
formula: '감리자 1~5점 척도',
|
|
60
|
+
scoreType: 'inspector',
|
|
61
|
+
dataType: 'score'
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: '환경성과 수준 평가',
|
|
65
|
+
description: '환경성과 종합 평가',
|
|
66
|
+
categoryName: '환경성과',
|
|
67
|
+
formula: '감리자 1~5점 척도',
|
|
68
|
+
scoreType: 'inspector',
|
|
69
|
+
dataType: 'score'
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
name: '생산성과 수준 평가',
|
|
73
|
+
description: '생산성과 종합 평가',
|
|
74
|
+
categoryName: '생산성과',
|
|
75
|
+
formula: '감리자 1~5점 척도',
|
|
76
|
+
scoreType: 'inspector',
|
|
77
|
+
dataType: 'score'
|
|
78
|
+
}
|
|
79
|
+
];
|
|
80
|
+
class SeedKpi1752190849681 {
|
|
81
|
+
async up(queryRunner) {
|
|
82
|
+
const repository = (0, shell_1.getRepository)(kpi_js_1.Kpi);
|
|
83
|
+
const categoryRepository = (0, shell_1.getRepository)('KpiCategory');
|
|
84
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
85
|
+
name: 'SYSTEM'
|
|
86
|
+
});
|
|
87
|
+
return await Promise.all(SEED.map(async (kpi) => {
|
|
88
|
+
const category = await categoryRepository.findOneBy({ name: kpi.categoryName, domain: { id: domain.id } });
|
|
89
|
+
await repository.save({
|
|
90
|
+
...kpi,
|
|
91
|
+
category,
|
|
92
|
+
domain
|
|
93
|
+
});
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
async down(queryRunner) {
|
|
97
|
+
const repository = (0, shell_1.getRepository)(kpi_js_1.Kpi);
|
|
98
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({
|
|
99
|
+
name: 'SYSTEM'
|
|
100
|
+
});
|
|
101
|
+
return await Promise.all(SEED.reverse().map(async (kpi) => {
|
|
102
|
+
await repository.delete({ name: kpi.name, domain: { id: domain.id } });
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
exports.SeedKpi1752190849681 = SeedKpi1752190849681;
|
|
107
|
+
//# sourceMappingURL=1752190849681-SeedKpi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1752190849681-SeedKpi.js","sourceRoot":"","sources":["../../server/migrations/1752190849681-SeedKpi.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { Kpi } from '../service/kpi/kpi.js'\n\nconst SEED = [\n {\n name: '일정 이탈 수준',\n description: '프로젝트 일정 이탈 수준 평가',\n categoryName: '일정성과',\n formula: 'Table(1~5점)',\n scoreType: 'table',\n dataType: 'score'\n },\n {\n name: '일정성과 수준 평가',\n description: '일정성과 종합 평가',\n categoryName: '일정성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n },\n {\n name: '비용성과 수준 평가',\n description: '비용성과 종합 평가',\n categoryName: '비용성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n },\n {\n name: '품질 SL-PA 결과값',\n description: '품질 SL-PA 결과',\n categoryName: '품질성과',\n formula: 'Python(1~5점)',\n scoreType: 'python',\n dataType: 'score'\n },\n {\n name: '품질성과 수준 평가',\n description: '품질성과 종합 평가',\n categoryName: '품질성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n },\n {\n name: '안전 SL-PA 결과값',\n description: '안전 SL-PA 결과',\n categoryName: '안전성과',\n formula: 'Python(1~5점)',\n scoreType: 'python',\n dataType: 'score'\n },\n {\n name: '안전성과 수준 평가',\n description: '안전성과 종합 평가',\n categoryName: '안전성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n },\n {\n name: '환경성과 수준 평가',\n description: '환경성과 종합 평가',\n categoryName: '환경성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n },\n {\n name: '생산성과 수준 평가',\n description: '생산성과 종합 평가',\n categoryName: '생산성과',\n formula: '감리자 1~5점 척도',\n scoreType: 'inspector',\n dataType: 'score'\n }\n]\n\nexport class SeedKpi1752190849681 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Kpi)\n const categoryRepository = getRepository('KpiCategory')\n const domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n return await Promise.all(\n SEED.map(async kpi => {\n const category = await categoryRepository.findOneBy({ name: kpi.categoryName, domain: { id: domain.id } })\n await repository.save({\n ...kpi,\n category,\n domain\n })\n })\n )\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(Kpi)\n const domain: Domain = await getRepository(Domain).findOneBy({\n name: 'SYSTEM'\n })\n\n return await Promise.all(\n SEED.reverse().map(async kpi => {\n await repository.delete({ name: kpi.name, domain: { id: domain.id } })\n })\n )\n }\n}\n"]}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SeedKpiGrade1752191090459 = void 0;
|
|
4
|
+
const shell_1 = require("@things-factory/shell");
|
|
5
|
+
const kpi_grade_js_1 = require("../service/kpi-grade/kpi-grade.js");
|
|
6
|
+
const kpi_js_1 = require("../service/kpi/kpi.js");
|
|
7
|
+
const GRADE_SEED = [
|
|
8
|
+
{
|
|
9
|
+
kpiName: '일정성과 수준 평가',
|
|
10
|
+
version: 1,
|
|
11
|
+
grades: [
|
|
12
|
+
{
|
|
13
|
+
name: '1점',
|
|
14
|
+
minValue: 1,
|
|
15
|
+
maxValue: 1,
|
|
16
|
+
score: 1,
|
|
17
|
+
description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하여 공기가 지연됨.'
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: '2점',
|
|
21
|
+
minValue: 2,
|
|
22
|
+
maxValue: 2,
|
|
23
|
+
score: 2,
|
|
24
|
+
description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하여 공기를 맞춤.'
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: '3점',
|
|
28
|
+
minValue: 3,
|
|
29
|
+
maxValue: 3,
|
|
30
|
+
score: 3,
|
|
31
|
+
description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으나 공기를 맞춤.'
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: '4점',
|
|
35
|
+
minValue: 4,
|
|
36
|
+
maxValue: 4,
|
|
37
|
+
score: 4,
|
|
38
|
+
description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으며 공기를 단축함.'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: '5점',
|
|
42
|
+
minValue: 5,
|
|
43
|
+
maxValue: 5,
|
|
44
|
+
score: 5,
|
|
45
|
+
description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으며 공기를 단축함.'
|
|
46
|
+
}
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
kpiName: '비용성과 수준 평가',
|
|
51
|
+
version: 1,
|
|
52
|
+
grades: [
|
|
53
|
+
{
|
|
54
|
+
name: '1점',
|
|
55
|
+
minValue: 1,
|
|
56
|
+
maxValue: 1,
|
|
57
|
+
score: 1,
|
|
58
|
+
description: '공사비 변동과 민원 등이 발생하여 공사비 관리가 미흡함.'
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
name: '2점',
|
|
62
|
+
minValue: 2,
|
|
63
|
+
maxValue: 2,
|
|
64
|
+
score: 2,
|
|
65
|
+
description: '공사비 변동과 민원 등이 발생하여 공사비 관리가 미흡함.'
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: '3점',
|
|
69
|
+
minValue: 3,
|
|
70
|
+
maxValue: 3,
|
|
71
|
+
score: 3,
|
|
72
|
+
description: '공사비 변동과 민원 등이 발생하였으나 공사비 관리를 적정하게 수행함.'
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
name: '4점',
|
|
76
|
+
minValue: 4,
|
|
77
|
+
maxValue: 4,
|
|
78
|
+
score: 4,
|
|
79
|
+
description: '공사비 변동과 민원 등이 발생하지 않으며 공사비 관리를 적정하게 수행함.'
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
name: '5점',
|
|
83
|
+
minValue: 5,
|
|
84
|
+
maxValue: 5,
|
|
85
|
+
score: 5,
|
|
86
|
+
description: '공사비 변동과 민원 등이 발생하지 않으며 매우 훌륭하게 수행함.'
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
kpiName: '품질성과 수준 평가',
|
|
92
|
+
version: 1,
|
|
93
|
+
grades: [
|
|
94
|
+
{
|
|
95
|
+
name: '1점',
|
|
96
|
+
minValue: 1,
|
|
97
|
+
maxValue: 1,
|
|
98
|
+
score: 1,
|
|
99
|
+
description: '법적 요구 수준에 못 미치거나 공사 완성도의 개선이 매우 필요한 경우'
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: '2점',
|
|
103
|
+
minValue: 2,
|
|
104
|
+
maxValue: 2,
|
|
105
|
+
score: 2,
|
|
106
|
+
description: '법적 요구 수준을 일부 만족하나, 공사 완성도의 개선이 일부 필요한 경우'
|
|
107
|
+
},
|
|
108
|
+
{ name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },
|
|
109
|
+
{
|
|
110
|
+
name: '4점',
|
|
111
|
+
minValue: 4,
|
|
112
|
+
maxValue: 4,
|
|
113
|
+
score: 4,
|
|
114
|
+
description: '법적 요구 수준을 만족하며, 품질관리 활동이 능동적인 경우'
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
name: '5점',
|
|
118
|
+
minValue: 5,
|
|
119
|
+
maxValue: 5,
|
|
120
|
+
score: 5,
|
|
121
|
+
description: '법적 요구 수준을 만족하며, 품질관리 활동이 매우 능동적인 경우'
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
kpiName: '안전성과 수준 평가',
|
|
127
|
+
version: 1,
|
|
128
|
+
grades: [
|
|
129
|
+
{
|
|
130
|
+
name: '1점',
|
|
131
|
+
minValue: 1,
|
|
132
|
+
maxValue: 1,
|
|
133
|
+
score: 1,
|
|
134
|
+
description: '법적 요구 수준을 미달하거나 안전관리 활동이 미흡한 경우'
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
name: '2점',
|
|
138
|
+
minValue: 2,
|
|
139
|
+
maxValue: 2,
|
|
140
|
+
score: 2,
|
|
141
|
+
description: '법적 요구 수준을 일부 만족하나, 안전관리 활동이 다소 필요한 경우'
|
|
142
|
+
},
|
|
143
|
+
{ name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },
|
|
144
|
+
{
|
|
145
|
+
name: '4점',
|
|
146
|
+
minValue: 4,
|
|
147
|
+
maxValue: 4,
|
|
148
|
+
score: 4,
|
|
149
|
+
description: '법적 요구 수준을 만족하며, 안전관리 활동이 능동적인 경우'
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
name: '5점',
|
|
153
|
+
minValue: 5,
|
|
154
|
+
maxValue: 5,
|
|
155
|
+
score: 5,
|
|
156
|
+
description: '법적 요구 수준을 만족하며, 안전관리 활동이 매우 능동적인 경우'
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
kpiName: '환경성과 수준 평가',
|
|
162
|
+
version: 1,
|
|
163
|
+
grades: [
|
|
164
|
+
{
|
|
165
|
+
name: '1점',
|
|
166
|
+
minValue: 1,
|
|
167
|
+
maxValue: 1,
|
|
168
|
+
score: 1,
|
|
169
|
+
description: '법적 요구 수준에 못 미치거나 환경관리 활동의 개선이 매우 필요한 경우'
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: '2점',
|
|
173
|
+
minValue: 2,
|
|
174
|
+
maxValue: 2,
|
|
175
|
+
score: 2,
|
|
176
|
+
description: '법적 요구 수준을 일부 만족하나, 환경관리 활동이 다소 필요한 경우'
|
|
177
|
+
},
|
|
178
|
+
{ name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },
|
|
179
|
+
{
|
|
180
|
+
name: '4점',
|
|
181
|
+
minValue: 4,
|
|
182
|
+
maxValue: 4,
|
|
183
|
+
score: 4,
|
|
184
|
+
description: '법적 요구 수준을 만족하며, 환경관리 활동의 효율성을 다소 높은 수준'
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: '5점',
|
|
188
|
+
minValue: 5,
|
|
189
|
+
maxValue: 5,
|
|
190
|
+
score: 5,
|
|
191
|
+
description: '법적 요구 수준을 만족하며, 환경관리 활동의 효율성이 확연히 높은 수준'
|
|
192
|
+
}
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
kpiName: '생산성과 수준 평가',
|
|
197
|
+
version: 1,
|
|
198
|
+
grades: [
|
|
199
|
+
{
|
|
200
|
+
name: '1점',
|
|
201
|
+
minValue: 1,
|
|
202
|
+
maxValue: 1,
|
|
203
|
+
score: 1,
|
|
204
|
+
description: '인력 및 장비 투입 규모에 대한 효율성이 매우 낮은 수준'
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
name: '2점',
|
|
208
|
+
minValue: 2,
|
|
209
|
+
maxValue: 2,
|
|
210
|
+
score: 2,
|
|
211
|
+
description: '인력 및 장비 투입 규모가 법적 요구 수준을 충족하나, 연계에 비해 미흡함.'
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
name: '3점',
|
|
215
|
+
minValue: 3,
|
|
216
|
+
maxValue: 3,
|
|
217
|
+
score: 3,
|
|
218
|
+
description: '인력 및 장비 투입 규모가 법적 요구 수준을 충족하는 수준'
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: '4점',
|
|
222
|
+
minValue: 4,
|
|
223
|
+
maxValue: 4,
|
|
224
|
+
score: 4,
|
|
225
|
+
description: '투입 규모가 법적 요구 수준을 충족하며, 효율성이 다소 높은 수준'
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
name: '5점',
|
|
229
|
+
minValue: 5,
|
|
230
|
+
maxValue: 5,
|
|
231
|
+
score: 5,
|
|
232
|
+
description: '투입 규모가 법적 요구 수준을 충족하며, 효율성이 확연히 높은 수준'
|
|
233
|
+
}
|
|
234
|
+
]
|
|
235
|
+
}
|
|
236
|
+
];
|
|
237
|
+
class SeedKpiGrade1752191090459 {
|
|
238
|
+
async up(queryRunner) {
|
|
239
|
+
const repository = (0, shell_1.getRepository)(kpi_grade_js_1.KpiGrade);
|
|
240
|
+
const kpiRepository = (0, shell_1.getRepository)(kpi_js_1.Kpi);
|
|
241
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ name: 'SYSTEM' });
|
|
242
|
+
for (const seed of GRADE_SEED) {
|
|
243
|
+
const kpi = await kpiRepository.findOneBy({ name: seed.kpiName, domain: { id: domain.id } });
|
|
244
|
+
if (!kpi)
|
|
245
|
+
continue;
|
|
246
|
+
for (const grade of seed.grades) {
|
|
247
|
+
await repository.save({
|
|
248
|
+
...grade,
|
|
249
|
+
version: seed.version,
|
|
250
|
+
kpi,
|
|
251
|
+
domain
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
async down(queryRunner) {
|
|
257
|
+
const repository = (0, shell_1.getRepository)(kpi_grade_js_1.KpiGrade);
|
|
258
|
+
const kpiRepository = (0, shell_1.getRepository)(kpi_js_1.Kpi);
|
|
259
|
+
const domain = await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ name: 'SYSTEM' });
|
|
260
|
+
for (const seed of GRADE_SEED) {
|
|
261
|
+
const kpi = await kpiRepository.findOneBy({ name: seed.kpiName, domain: { id: domain.id } });
|
|
262
|
+
if (!kpi)
|
|
263
|
+
continue;
|
|
264
|
+
for (const grade of seed.grades.reverse()) {
|
|
265
|
+
await repository.delete({ name: grade.name, kpi: { id: kpi.id }, domain: { id: domain.id } });
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
exports.SeedKpiGrade1752191090459 = SeedKpiGrade1752191090459;
|
|
271
|
+
//# sourceMappingURL=1752191090459-SeedKpiGrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"1752191090459-SeedKpiGrade.js","sourceRoot":"","sources":["../../server/migrations/1752191090459-SeedKpiGrade.ts"],"names":[],"mappings":"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","sourcesContent":["import { MigrationInterface, QueryRunner } from 'typeorm'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { KpiGrade } from '../service/kpi-grade/kpi-grade.js'\nimport { Kpi } from '../service/kpi/kpi.js'\n\nconst GRADE_SEED = [\n {\n kpiName: '일정성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하여 공기가 지연됨.'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하여 공기를 맞춤.'\n },\n {\n name: '3점',\n minValue: 3,\n maxValue: 3,\n score: 3,\n description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으나 공기를 맞춤.'\n },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으며 공기를 단축함.'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '달성상황(기후, 일반변화 등)과 인근주민 민원 등이 발생하지 않으며 공기를 단축함.'\n }\n ]\n },\n {\n kpiName: '비용성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '공사비 변동과 민원 등이 발생하여 공사비 관리가 미흡함.'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '공사비 변동과 민원 등이 발생하여 공사비 관리가 미흡함.'\n },\n {\n name: '3점',\n minValue: 3,\n maxValue: 3,\n score: 3,\n description: '공사비 변동과 민원 등이 발생하였으나 공사비 관리를 적정하게 수행함.'\n },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '공사비 변동과 민원 등이 발생하지 않으며 공사비 관리를 적정하게 수행함.'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '공사비 변동과 민원 등이 발생하지 않으며 매우 훌륭하게 수행함.'\n }\n ]\n },\n {\n kpiName: '품질성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '법적 요구 수준에 못 미치거나 공사 완성도의 개선이 매우 필요한 경우'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '법적 요구 수준을 일부 만족하나, 공사 완성도의 개선이 일부 필요한 경우'\n },\n { name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '법적 요구 수준을 만족하며, 품질관리 활동이 능동적인 경우'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '법적 요구 수준을 만족하며, 품질관리 활동이 매우 능동적인 경우'\n }\n ]\n },\n {\n kpiName: '안전성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '법적 요구 수준을 미달하거나 안전관리 활동이 미흡한 경우'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '법적 요구 수준을 일부 만족하나, 안전관리 활동이 다소 필요한 경우'\n },\n { name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '법적 요구 수준을 만족하며, 안전관리 활동이 능동적인 경우'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '법적 요구 수준을 만족하며, 안전관리 활동이 매우 능동적인 경우'\n }\n ]\n },\n {\n kpiName: '환경성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '법적 요구 수준에 못 미치거나 환경관리 활동의 개선이 매우 필요한 경우'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '법적 요구 수준을 일부 만족하나, 환경관리 활동이 다소 필요한 경우'\n },\n { name: '3점', minValue: 3, maxValue: 3, score: 3, description: '법적 요구 수준을 충족하는 수준' },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '법적 요구 수준을 만족하며, 환경관리 활동의 효율성을 다소 높은 수준'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '법적 요구 수준을 만족하며, 환경관리 활동의 효율성이 확연히 높은 수준'\n }\n ]\n },\n {\n kpiName: '생산성과 수준 평가',\n version: 1,\n grades: [\n {\n name: '1점',\n minValue: 1,\n maxValue: 1,\n score: 1,\n description: '인력 및 장비 투입 규모에 대한 효율성이 매우 낮은 수준'\n },\n {\n name: '2점',\n minValue: 2,\n maxValue: 2,\n score: 2,\n description: '인력 및 장비 투입 규모가 법적 요구 수준을 충족하나, 연계에 비해 미흡함.'\n },\n {\n name: '3점',\n minValue: 3,\n maxValue: 3,\n score: 3,\n description: '인력 및 장비 투입 규모가 법적 요구 수준을 충족하는 수준'\n },\n {\n name: '4점',\n minValue: 4,\n maxValue: 4,\n score: 4,\n description: '투입 규모가 법적 요구 수준을 충족하며, 효율성이 다소 높은 수준'\n },\n {\n name: '5점',\n minValue: 5,\n maxValue: 5,\n score: 5,\n description: '투입 규모가 법적 요구 수준을 충족하며, 효율성이 확연히 높은 수준'\n }\n ]\n }\n]\n\nexport class SeedKpiGrade1752191090459 implements MigrationInterface {\n public async up(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(KpiGrade)\n const kpiRepository = getRepository(Kpi)\n const domain: Domain = await getRepository(Domain).findOneBy({ name: 'SYSTEM' })\n\n for (const seed of GRADE_SEED) {\n const kpi = await kpiRepository.findOneBy({ name: seed.kpiName, domain: { id: domain.id } })\n if (!kpi) continue\n for (const grade of seed.grades) {\n await repository.save({\n ...grade,\n version: seed.version,\n kpi,\n domain\n })\n }\n }\n }\n\n public async down(queryRunner: QueryRunner): Promise<any> {\n const repository = getRepository(KpiGrade)\n const kpiRepository = getRepository(Kpi)\n const domain: Domain = await getRepository(Domain).findOneBy({ name: 'SYSTEM' })\n\n for (const seed of GRADE_SEED) {\n const kpi = await kpiRepository.findOneBy({ name: seed.kpiName, domain: { id: domain.id } })\n if (!kpi) continue\n for (const grade of seed.grades.reverse()) {\n await repository.delete({ name: grade.name, kpi: { id: kpi.id }, domain: { id: domain.id } })\n }\n }\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare var migrations: any[];
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrations = void 0;
|
|
4
|
+
const glob = require('glob');
|
|
5
|
+
const path = require('path');
|
|
6
|
+
exports.migrations = [];
|
|
7
|
+
glob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function (file) {
|
|
8
|
+
if (file.indexOf('index.js') !== -1)
|
|
9
|
+
return;
|
|
10
|
+
exports.migrations = exports.migrations.concat(Object.values(require(path.resolve(file))) || []);
|
|
11
|
+
});
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/migrations/index.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;AAEjB,QAAA,UAAU,GAAG,EAAE,CAAA;AAE1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,UAAS,IAAI;IACzE,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAAE,OAAM;IAC3C,kBAAU,GAAG,kBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;AAClF,CAAC,CAAC,CAAA","sourcesContent":["const glob = require('glob')\nconst path = require('path')\n\nexport var migrations = []\n\nglob.sync(path.resolve(__dirname, '.', '**', '*.js')).forEach(function(file) {\n if (file.indexOf('index.js') !== -1) return\n migrations = migrations.concat(Object.values(require(path.resolve(file))) || [])\n})\n"]}
|
package/dist-server/routes.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist-server/routes.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const aggregate_kpi_metric_1 = require("./service/kpi-metric/aggregate-kpi-metric");
|
|
4
|
+
const aggregate_kpi_1 = require("./service/kpi/aggregate-kpi");
|
|
1
5
|
process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) => {
|
|
2
6
|
/*
|
|
3
7
|
* can add global public routes to application (auth not required, tenancy not required)
|
|
@@ -5,6 +9,50 @@ process.on('bootstrap-module-global-public-route', (app, globalPublicRouter) =>
|
|
|
5
9
|
* ex) routes.get('/path', async(context, next) => {})
|
|
6
10
|
* ex) routes.post('/path', async(context, next) => {})
|
|
7
11
|
*/
|
|
12
|
+
// KPI-Metric 스케줄러 콜백 엔드포인트
|
|
13
|
+
globalPublicRouter.post('/callback-schedule-for-kpi-metric', async (context, next) => {
|
|
14
|
+
const { client } = context.request.body;
|
|
15
|
+
if (!client || typeof client !== 'object') {
|
|
16
|
+
throw new Error('client property should be a part of callback body.');
|
|
17
|
+
}
|
|
18
|
+
const { group: domainId, key: metricId } = client;
|
|
19
|
+
if (!domainId || !metricId) {
|
|
20
|
+
throw new Error(`group(${domainId}) and key(${metricId}) properties should not be empty`);
|
|
21
|
+
}
|
|
22
|
+
try {
|
|
23
|
+
// KPI-Metric 집계/자동화 함수 호출
|
|
24
|
+
const values = await (0, aggregate_kpi_metric_1.aggregateKpiMetricValue)(metricId, domainId, context);
|
|
25
|
+
console.log(`[KPI-Metric Schedule Callback] domainId=${domainId}, metricId=${metricId}, values=`, values);
|
|
26
|
+
context.status = 200;
|
|
27
|
+
}
|
|
28
|
+
catch (err) {
|
|
29
|
+
console.error('[KPI-Metric Schedule Callback][ERROR]', err);
|
|
30
|
+
context.status = 500;
|
|
31
|
+
context.body = { error: err.message || String(err) };
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// KPI 스케줄러 콜백 엔드포인트
|
|
35
|
+
globalPublicRouter.post('/callback-schedule-for-kpi', async (context, next) => {
|
|
36
|
+
const { client } = context.request.body;
|
|
37
|
+
if (!client || typeof client !== 'object') {
|
|
38
|
+
throw new Error('client property should be a part of callback body.');
|
|
39
|
+
}
|
|
40
|
+
const { group: domainId, key: kpiId } = client;
|
|
41
|
+
if (!domainId || !kpiId) {
|
|
42
|
+
throw new Error(`group(${domainId}) and key(${kpiId}) properties should not be empty`);
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
// KPI 집계/자동화 함수 호출
|
|
46
|
+
const values = await (0, aggregate_kpi_1.aggregateKpiValue)(kpiId, domainId, context);
|
|
47
|
+
console.log(`[KPI Schedule Callback] domainId=${domainId}, kpiId=${kpiId}, values=`, values);
|
|
48
|
+
context.status = 200;
|
|
49
|
+
}
|
|
50
|
+
catch (err) {
|
|
51
|
+
console.error('[KPI Schedule Callback][ERROR]', err);
|
|
52
|
+
context.status = 500;
|
|
53
|
+
context.body = { error: err.message || String(err) };
|
|
54
|
+
}
|
|
55
|
+
});
|
|
8
56
|
});
|
|
9
57
|
process.on('bootstrap-module-global-private-route', (app, globalPrivateRouter) => {
|
|
10
58
|
/*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,EAAE,CAAC,sCAA6C,EAAE,CAAC,GAAG,EAAE,kBAAkB,EAAE,EAAE;IACpF;;;;;OAKG;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../server/routes.ts"],"names":[],"mappings":"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","sourcesContent":["import { aggregateKpiMetricValue } from './service/kpi-metric/aggregate-kpi-metric'\nimport { aggregateKpiValue } from './service/kpi/aggregate-kpi'\n\nprocess.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {\n /*\n * can add global public routes to application (auth not required, tenancy not required)\n *\n * ex) routes.get('/path', async(context, next) => {})\n * ex) routes.post('/path', async(context, next) => {})\n */\n\n // KPI-Metric 스케줄러 콜백 엔드포인트\n globalPublicRouter.post('/callback-schedule-for-kpi-metric', async (context, next) => {\n const { client } = context.request.body\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: metricId } = client\n\n if (!domainId || !metricId) {\n throw new Error(`group(${domainId}) and key(${metricId}) properties should not be empty`)\n }\n\n try {\n // KPI-Metric 집계/자동화 함수 호출\n const values = await aggregateKpiMetricValue(metricId, domainId, context)\n console.log(`[KPI-Metric Schedule Callback] domainId=${domainId}, metricId=${metricId}, values=`, values)\n context.status = 200\n } catch (err) {\n console.error('[KPI-Metric Schedule Callback][ERROR]', err)\n context.status = 500\n context.body = { error: err.message || String(err) }\n }\n })\n\n // KPI 스케줄러 콜백 엔드포인트\n globalPublicRouter.post('/callback-schedule-for-kpi', async (context, next) => {\n const { client } = context.request.body\n\n if (!client || typeof client !== 'object') {\n throw new Error('client property should be a part of callback body.')\n }\n\n const { group: domainId, key: kpiId } = client\n\n if (!domainId || !kpiId) {\n throw new Error(`group(${domainId}) and key(${kpiId}) properties should not be empty`)\n }\n\n try {\n // KPI 집계/자동화 함수 호출\n const values = await aggregateKpiValue(kpiId, domainId, context)\n console.log(`[KPI Schedule Callback] domainId=${domainId}, kpiId=${kpiId}, values=`, values)\n context.status = 200\n } catch (err) {\n console.error('[KPI Schedule Callback][ERROR]', err)\n context.status = 500\n context.body = { error: err.message || String(err) }\n }\n })\n})\n\nprocess.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {\n /*\n * can add global private routes to application (auth required, tenancy not required)\n */\n})\n\nprocess.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {\n /*\n * can add domain public routes to application (auth not required, tenancy required)\n */\n})\n\nprocess.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {\n /*\n * can add domain private routes to application (auth required, tenancy required)\n */\n})\n"]}
|