@things-factory/kpi 10.1.247 → 10.1.248
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/package.json +3 -3
- package/dist-client/bootstrap.d.ts +0 -2
- package/dist-client/bootstrap.js +0 -7
- package/dist-client/bootstrap.js.map +0 -1
- package/dist-client/charts/kpi-boxplot-chart.d.ts +0 -24
- package/dist-client/charts/kpi-boxplot-chart.js +0 -324
- package/dist-client/charts/kpi-boxplot-chart.js.map +0 -1
- package/dist-client/charts/kpi-mini-trend-chart.d.ts +0 -14
- package/dist-client/charts/kpi-mini-trend-chart.js +0 -148
- package/dist-client/charts/kpi-mini-trend-chart.js.map +0 -1
- package/dist-client/charts/kpi-radar-chart.d.ts +0 -16
- package/dist-client/charts/kpi-radar-chart.js +0 -138
- package/dist-client/charts/kpi-radar-chart.js.map +0 -1
- package/dist-client/charts/kpi-trend-chart.d.ts +0 -25
- package/dist-client/charts/kpi-trend-chart.js +0 -186
- package/dist-client/charts/kpi-trend-chart.js.map +0 -1
- package/dist-client/google-map/common-google-map.d.ts +0 -34
- package/dist-client/google-map/common-google-map.js +0 -333
- package/dist-client/google-map/common-google-map.js.map +0 -1
- package/dist-client/google-map/google-map-loader.d.ts +0 -8
- package/dist-client/google-map/google-map-loader.js +0 -22
- package/dist-client/google-map/google-map-loader.js.map +0 -1
- package/dist-client/index.d.ts +0 -1
- package/dist-client/index.js +0 -2
- package/dist-client/index.js.map +0 -1
- package/dist-client/pages/kpi/kpi-grade-editor.d.ts +0 -35
- package/dist-client/pages/kpi/kpi-grade-editor.js +0 -165
- package/dist-client/pages/kpi/kpi-grade-editor.js.map +0 -1
- package/dist-client/pages/kpi/kpi-importer.d.ts +0 -23
- package/dist-client/pages/kpi/kpi-importer.js +0 -92
- package/dist-client/pages/kpi/kpi-importer.js.map +0 -1
- package/dist-client/pages/kpi/kpi-list-page.d.ts +0 -136
- package/dist-client/pages/kpi/kpi-list-page.js +0 -948
- package/dist-client/pages/kpi/kpi-list-page.js.map +0 -1
- package/dist-client/pages/kpi/kpi-overview-sample.d.ts +0 -36
- package/dist-client/pages/kpi/kpi-overview-sample.js +0 -264
- package/dist-client/pages/kpi/kpi-overview-sample.js.map +0 -1
- package/dist-client/pages/kpi/kpi-overview.d.ts +0 -14
- package/dist-client/pages/kpi/kpi-overview.js +0 -361
- package/dist-client/pages/kpi/kpi-overview.js.map +0 -1
- package/dist-client/pages/kpi/kpi-tree-page.d.ts +0 -51
- package/dist-client/pages/kpi/kpi-tree-page.js +0 -355
- package/dist-client/pages/kpi/kpi-tree-page.js.map +0 -1
- package/dist-client/pages/kpi/kpi-view.d.ts +0 -12
- package/dist-client/pages/kpi/kpi-view.js +0 -193
- package/dist-client/pages/kpi/kpi-view.js.map +0 -1
- package/dist-client/pages/kpi/kpi-viz-editor.d.ts +0 -19
- package/dist-client/pages/kpi/kpi-viz-editor.js +0 -562
- package/dist-client/pages/kpi/kpi-viz-editor.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.d.ts +0 -17
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +0 -279
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.d.ts +0 -19
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +0 -385
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.d.ts +0 -23
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +0 -465
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.d.ts +0 -8
- package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js +0 -78
- package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +0 -24
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +0 -440
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +0 -33
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +0 -444
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +0 -23
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +0 -369
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.d.ts +0 -18
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js +0 -128
- package/dist-client/pages/kpi-dashboard/kpi-alert-panel.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +0 -31
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +0 -493
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +0 -50
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +0 -884
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.d.ts +0 -12
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js +0 -82
- package/dist-client/pages/kpi-dashboard/kpi-grade-visualization.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.d.ts +0 -11
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js +0 -65
- package/dist-client/pages/kpi-dashboard/kpi-history-viewer.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.d.ts +0 -13
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.js +0 -115
- package/dist-client/pages/kpi-dashboard/kpi-list-summary.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.d.ts +0 -15
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js +0 -146
- package/dist-client/pages/kpi-dashboard/kpi-performance-summary.js.map +0 -1
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.d.ts +0 -7
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.js +0 -86
- package/dist-client/pages/kpi-dashboard/kpi-value-entry.js.map +0 -1
- package/dist-client/pages/kpi-history/kpi-history-list-page.d.ts +0 -21
- package/dist-client/pages/kpi-history/kpi-history-list-page.js +0 -160
- package/dist-client/pages/kpi-history/kpi-history-list-page.js.map +0 -1
- package/dist-client/pages/kpi-metric/kpi-metric-importer.d.ts +0 -23
- package/dist-client/pages/kpi-metric/kpi-metric-importer.js +0 -92
- package/dist-client/pages/kpi-metric/kpi-metric-importer.js.map +0 -1
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +0 -65
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +0 -415
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +0 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +0 -52
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +0 -678
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +0 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.d.ts +0 -23
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js +0 -75
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js.map +0 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +0 -64
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +0 -311
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +0 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.d.ts +0 -12
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js +0 -175
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js.map +0 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.d.ts +0 -35
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +0 -161
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +0 -1
- package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.d.ts +0 -47
- package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +0 -655
- package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +0 -1
- package/dist-client/pages/kpi-statistic/kpi-statistic-importer.d.ts +0 -23
- package/dist-client/pages/kpi-statistic/kpi-statistic-importer.js +0 -92
- package/dist-client/pages/kpi-statistic/kpi-statistic-importer.js.map +0 -1
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +0 -65
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +0 -416
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +0 -1
- package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +0 -50
- package/dist-client/pages/kpi-value/kpi-value-editor-page.js +0 -700
- package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +0 -1
- package/dist-client/pages/kpi-value/kpi-value-importer.d.ts +0 -23
- package/dist-client/pages/kpi-value/kpi-value-importer.js +0 -92
- package/dist-client/pages/kpi-value/kpi-value-importer.js.map +0 -1
- package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +0 -73
- package/dist-client/pages/kpi-value/kpi-value-list-page.js +0 -403
- package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +0 -1
- package/dist-client/route.d.ts +0 -1
- package/dist-client/route.js +0 -47
- package/dist-client/route.js.map +0 -1
- package/dist-client/tsconfig.tsbuildinfo +0 -1
- package/dist-client/viewparts/kpi-metric-input.d.ts +0 -23
- package/dist-client/viewparts/kpi-metric-input.js +0 -140
- package/dist-client/viewparts/kpi-metric-input.js.map +0 -1
- package/dist-client/viewparts/kpi-metric-meta-editor.d.ts +0 -36
- package/dist-client/viewparts/kpi-metric-meta-editor.js +0 -321
- package/dist-client/viewparts/kpi-metric-meta-editor.js.map +0 -1
- package/dist-client/viewparts/metric-input-hint.d.ts +0 -26
- package/dist-client/viewparts/metric-input-hint.js +0 -19
- package/dist-client/viewparts/metric-input-hint.js.map +0 -1
- package/dist-client/viewparts/metric-input.test.d.ts +0 -1
- package/dist-client/viewparts/metric-input.test.js +0 -43
- package/dist-client/viewparts/metric-input.test.js.map +0 -1
- package/dist-client/viewparts/metric-renderer-registry.d.ts +0 -18
- package/dist-client/viewparts/metric-renderer-registry.js +0 -29
- package/dist-client/viewparts/metric-renderer-registry.js.map +0 -1
- package/dist-client/viewparts/ox-grist-editor-metric-input-hint.d.ts +0 -19
- package/dist-client/viewparts/ox-grist-editor-metric-input-hint.js +0 -76
- package/dist-client/viewparts/ox-grist-editor-metric-input-hint.js.map +0 -1
- package/dist-server/calculator/calculator.test.d.ts +0 -1
- package/dist-server/calculator/calculator.test.js +0 -126
- package/dist-server/calculator/calculator.test.js.map +0 -1
- package/dist-server/calculator/evaluator.d.ts +0 -8
- package/dist-server/calculator/evaluator.js +0 -42
- package/dist-server/calculator/evaluator.js.map +0 -1
- package/dist-server/calculator/functions.d.ts +0 -3
- package/dist-server/calculator/functions.js +0 -62
- package/dist-server/calculator/functions.js.map +0 -1
- package/dist-server/calculator/index.d.ts +0 -6
- package/dist-server/calculator/index.js +0 -10
- package/dist-server/calculator/index.js.map +0 -1
- package/dist-server/calculator/parser.d.ts +0 -34
- package/dist-server/calculator/parser.js +0 -185
- package/dist-server/calculator/parser.js.map +0 -1
- package/dist-server/calculator/provider.d.ts +0 -8
- package/dist-server/calculator/provider.js +0 -13
- package/dist-server/calculator/provider.js.map +0 -1
- package/dist-server/calculator/score.d.ts +0 -21
- package/dist-server/calculator/score.js +0 -36
- package/dist-server/calculator/score.js.map +0 -1
- package/dist-server/calculator/score.test.d.ts +0 -1
- package/dist-server/calculator/score.test.js +0 -47
- package/dist-server/calculator/score.test.js.map +0 -1
- package/dist-server/calculator/validate.d.ts +0 -15
- package/dist-server/calculator/validate.js +0 -30
- package/dist-server/calculator/validate.js.map +0 -1
- package/dist-server/calculator/validate.test.d.ts +0 -1
- package/dist-server/calculator/validate.test.js +0 -45
- package/dist-server/calculator/validate.test.js.map +0 -1
- package/dist-server/controllers/index.d.ts +0 -2
- package/dist-server/controllers/index.js +0 -6
- package/dist-server/controllers/index.js.map +0 -1
- package/dist-server/controllers/kpi-metric-value-provider.d.ts +0 -11
- package/dist-server/controllers/kpi-metric-value-provider.js +0 -97
- package/dist-server/controllers/kpi-metric-value-provider.js.map +0 -1
- package/dist-server/controllers/kpi-value-provider.d.ts +0 -11
- package/dist-server/controllers/kpi-value-provider.js +0 -50
- package/dist-server/controllers/kpi-value-provider.js.map +0 -1
- package/dist-server/index.d.ts +0 -5
- package/dist-server/index.js +0 -9
- package/dist-server/index.js.map +0 -1
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.d.ts +0 -6
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.js +0 -102
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.js.map +0 -1
- package/dist-server/migrations/1752190849681-seed-kpi.d.ts +0 -5
- package/dist-server/migrations/1752190849681-seed-kpi.js +0 -315
- package/dist-server/migrations/1752190849681-seed-kpi.js.map +0 -1
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.d.ts +0 -7
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.js +0 -51
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.js.map +0 -1
- package/dist-server/migrations/1752192090124-add-kpi-statistics.d.ts +0 -5
- package/dist-server/migrations/1752192090124-add-kpi-statistics.js +0 -710
- package/dist-server/migrations/1752192090124-add-kpi-statistics.js.map +0 -1
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.d.ts +0 -6
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js +0 -111
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js.map +0 -1
- package/dist-server/migrations/1752192090129-seed-kpi-values.d.ts +0 -6
- package/dist-server/migrations/1752192090129-seed-kpi-values.js +0 -187
- package/dist-server/migrations/1752192090129-seed-kpi-values.js.map +0 -1
- package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.d.ts +0 -10
- package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.js +0 -26
- package/dist-server/migrations/1752192090200-add-meta-to-kpi-metric.js.map +0 -1
- package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.d.ts +0 -11
- package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.js +0 -54
- package/dist-server/migrations/1752192090201-backfill-kpi-metric-meta.js.map +0 -1
- package/dist-server/migrations/grade-data/x11-performance-table.json +0 -962
- package/dist-server/migrations/grade-data/x12-performance-table.json +0 -611
- package/dist-server/migrations/grade-data/x14-performance-table.json +0 -42
- package/dist-server/migrations/grade-data/x21-performance-table.json +0 -889
- package/dist-server/migrations/grade-data/x22-performance-table.json +0 -1064
- package/dist-server/migrations/grade-data/x23-performance-table.json +0 -42
- package/dist-server/migrations/grade-data/x31-performance-table.json +0 -644
- package/dist-server/migrations/grade-data/x32-performance-table.json +0 -993
- package/dist-server/migrations/grade-data/x33-performance-table.json +0 -195
- package/dist-server/migrations/grade-data/x34-performance-table.json +0 -12
- package/dist-server/migrations/grade-data/x35-performance-table.json +0 -42
- package/dist-server/migrations/grade-data/x41-performance-table.json +0 -825
- package/dist-server/migrations/grade-data/x42-performance-table.json +0 -786
- package/dist-server/migrations/grade-data/x43-performance-table.json +0 -12
- package/dist-server/migrations/grade-data/x44-performance-table.json +0 -42
- package/dist-server/migrations/grade-data/x51-performance-table.json +0 -924
- package/dist-server/migrations/grade-data/x52-performance-table.json +0 -42
- package/dist-server/migrations/grade-data/x61-performance-table.json +0 -261
- package/dist-server/migrations/grade-data/x62-performance-table.json +0 -42
- package/dist-server/migrations/index.d.ts +0 -1
- package/dist-server/migrations/index.js +0 -12
- package/dist-server/migrations/index.js.map +0 -1
- package/dist-server/migrations/seed-data/kpi-metrics-seed.json +0 -517
- package/dist-server/migrations/seed-data/kpi-org-scope-seed.json +0 -1676
- package/dist-server/migrations/seed-data/kpi-scopes-seed.json +0 -121
- package/dist-server/migrations/seed-data/kpi-values-seed.json +0 -402
- package/dist-server/migrations/seed-data/kpis-seed.json +0 -488
- package/dist-server/migrations/seed-data/scope-definitions-seed.json +0 -90
- package/dist-server/routes.d.ts +0 -1
- package/dist-server/routes.js +0 -72
- package/dist-server/routes.js.map +0 -1
- package/dist-server/service/index.d.ts +0 -15
- package/dist-server/service/index.js +0 -49
- package/dist-server/service/index.js.map +0 -1
- package/dist-server/service/kpi/aggregate-kpi.d.ts +0 -8
- package/dist-server/service/kpi/aggregate-kpi.js +0 -123
- package/dist-server/service/kpi/aggregate-kpi.js.map +0 -1
- package/dist-server/service/kpi/event-subscriber.d.ts +0 -9
- package/dist-server/service/kpi/event-subscriber.js +0 -31
- package/dist-server/service/kpi/event-subscriber.js.map +0 -1
- package/dist-server/service/kpi/index.d.ts +0 -8
- package/dist-server/service/kpi/index.js +0 -12
- package/dist-server/service/kpi/index.js.map +0 -1
- package/dist-server/service/kpi/kpi-formula.service.d.ts +0 -49
- package/dist-server/service/kpi/kpi-formula.service.js +0 -165
- package/dist-server/service/kpi/kpi-formula.service.js.map +0 -1
- package/dist-server/service/kpi/kpi-grade.types.d.ts +0 -22
- package/dist-server/service/kpi/kpi-grade.types.js +0 -3
- package/dist-server/service/kpi/kpi-grade.types.js.map +0 -1
- package/dist-server/service/kpi/kpi-history.d.ts +0 -29
- package/dist-server/service/kpi/kpi-history.js +0 -148
- package/dist-server/service/kpi/kpi-history.js.map +0 -1
- package/dist-server/service/kpi/kpi-mutation.d.ts +0 -14
- package/dist-server/service/kpi/kpi-mutation.js +0 -553
- package/dist-server/service/kpi/kpi-mutation.js.map +0 -1
- package/dist-server/service/kpi/kpi-query.d.ts +0 -24
- package/dist-server/service/kpi/kpi-query.js +0 -309
- package/dist-server/service/kpi/kpi-query.js.map +0 -1
- package/dist-server/service/kpi/kpi-type.d.ts +0 -48
- package/dist-server/service/kpi/kpi-type.js +0 -221
- package/dist-server/service/kpi/kpi-type.js.map +0 -1
- package/dist-server/service/kpi/kpi.d.ts +0 -130
- package/dist-server/service/kpi/kpi.js +0 -356
- package/dist-server/service/kpi/kpi.js.map +0 -1
- package/dist-server/service/kpi-alert/index.d.ts +0 -2
- package/dist-server/service/kpi-alert/index.js +0 -6
- package/dist-server/service/kpi-alert/index.js.map +0 -1
- package/dist-server/service/kpi-alert/kpi-alert-query.d.ts +0 -4
- package/dist-server/service/kpi-alert/kpi-alert-query.js +0 -72
- package/dist-server/service/kpi-alert/kpi-alert-query.js.map +0 -1
- package/dist-server/service/kpi-alert/kpi-alert-type.d.ts +0 -8
- package/dist-server/service/kpi-alert/kpi-alert-type.js +0 -33
- package/dist-server/service/kpi-alert/kpi-alert-type.js.map +0 -1
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.d.ts +0 -8
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js +0 -126
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js.map +0 -1
- package/dist-server/service/kpi-metric/index.d.ts +0 -6
- package/dist-server/service/kpi-metric/index.js +0 -10
- package/dist-server/service/kpi-metric/index.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-meta.d.ts +0 -46
- package/dist-server/service/kpi-metric/kpi-metric-meta.js +0 -27
- package/dist-server/service/kpi-metric/kpi-metric-meta.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-meta.test.d.ts +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-meta.test.js +0 -43
- package/dist-server/service/kpi-metric/kpi-metric-meta.test.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-mutation.d.ts +0 -10
- package/dist-server/service/kpi-metric/kpi-metric-mutation.js +0 -296
- package/dist-server/service/kpi-metric/kpi-metric-mutation.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-query.d.ts +0 -14
- package/dist-server/service/kpi-metric/kpi-metric-query.js +0 -126
- package/dist-server/service/kpi-metric/kpi-metric-query.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric-type.d.ts +0 -45
- package/dist-server/service/kpi-metric/kpi-metric-type.js +0 -177
- package/dist-server/service/kpi-metric/kpi-metric-type.js.map +0 -1
- package/dist-server/service/kpi-metric/kpi-metric.d.ts +0 -39
- package/dist-server/service/kpi-metric/kpi-metric.js +0 -174
- package/dist-server/service/kpi-metric/kpi-metric.js.map +0 -1
- package/dist-server/service/kpi-metric-value/index.d.ts +0 -6
- package/dist-server/service/kpi-metric-value/index.js +0 -10
- package/dist-server/service/kpi-metric-value/index.js.map +0 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +0 -11
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +0 -283
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +0 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-query.d.ts +0 -13
- package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js +0 -106
- package/dist-server/service/kpi-metric-value/kpi-metric-value-query.js.map +0 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.d.ts +0 -26
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js +0 -112
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js.map +0 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value.d.ts +0 -23
- package/dist-server/service/kpi-metric-value/kpi-metric-value.js +0 -107
- package/dist-server/service/kpi-metric-value/kpi-metric-value.js.map +0 -1
- package/dist-server/service/kpi-org-scope/index.d.ts +0 -5
- package/dist-server/service/kpi-org-scope/index.js +0 -9
- package/dist-server/service/kpi-org-scope/index.js.map +0 -1
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.d.ts +0 -8
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js +0 -170
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js.map +0 -1
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.d.ts +0 -14
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js +0 -152
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js.map +0 -1
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.d.ts +0 -26
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js +0 -101
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js.map +0 -1
- package/dist-server/service/kpi-org-scope/kpi-org-scope.d.ts +0 -26
- package/dist-server/service/kpi-org-scope/kpi-org-scope.js +0 -135
- package/dist-server/service/kpi-org-scope/kpi-org-scope.js.map +0 -1
- package/dist-server/service/kpi-scope/index.d.ts +0 -9
- package/dist-server/service/kpi-scope/index.js +0 -14
- package/dist-server/service/kpi-scope/index.js.map +0 -1
- package/dist-server/service/kpi-scope/kpi-scope-mutation.d.ts +0 -9
- package/dist-server/service/kpi-scope/kpi-scope-mutation.js +0 -140
- package/dist-server/service/kpi-scope/kpi-scope-mutation.js.map +0 -1
- package/dist-server/service/kpi-scope/kpi-scope-query.d.ts +0 -11
- package/dist-server/service/kpi-scope/kpi-scope-query.js +0 -89
- package/dist-server/service/kpi-scope/kpi-scope-query.js.map +0 -1
- package/dist-server/service/kpi-scope/kpi-scope-type.d.ts +0 -35
- package/dist-server/service/kpi-scope/kpi-scope-type.js +0 -138
- package/dist-server/service/kpi-scope/kpi-scope-type.js.map +0 -1
- package/dist-server/service/kpi-scope/kpi-scope.d.ts +0 -38
- package/dist-server/service/kpi-scope/kpi-scope.js +0 -144
- package/dist-server/service/kpi-scope/kpi-scope.js.map +0 -1
- package/dist-server/service/kpi-statistic/index.d.ts +0 -6
- package/dist-server/service/kpi-statistic/index.js +0 -10
- package/dist-server/service/kpi-statistic/index.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.d.ts +0 -43
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js +0 -181
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.d.ts +0 -50
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js +0 -324
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.d.ts +0 -14
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js +0 -279
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-query.d.ts +0 -17
- package/dist-server/service/kpi-statistic/kpi-statistic-query.js +0 -183
- package/dist-server/service/kpi-statistic/kpi-statistic-query.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-type.d.ts +0 -59
- package/dist-server/service/kpi-statistic/kpi-statistic-type.js +0 -200
- package/dist-server/service/kpi-statistic/kpi-statistic-type.js.map +0 -1
- package/dist-server/service/kpi-statistic/kpi-statistic.d.ts +0 -42
- package/dist-server/service/kpi-statistic/kpi-statistic.js +0 -210
- package/dist-server/service/kpi-statistic/kpi-statistic.js.map +0 -1
- package/dist-server/service/kpi-value/index.d.ts +0 -6
- package/dist-server/service/kpi-value/index.js +0 -10
- package/dist-server/service/kpi-value/index.js.map +0 -1
- package/dist-server/service/kpi-value/kpi-value-mutation.d.ts +0 -13
- package/dist-server/service/kpi-value/kpi-value-mutation.js +0 -447
- package/dist-server/service/kpi-value/kpi-value-mutation.js.map +0 -1
- package/dist-server/service/kpi-value/kpi-value-query.d.ts +0 -22
- package/dist-server/service/kpi-value/kpi-value-query.js +0 -149
- package/dist-server/service/kpi-value/kpi-value-query.js.map +0 -1
- package/dist-server/service/kpi-value/kpi-value-score.service.d.ts +0 -24
- package/dist-server/service/kpi-value/kpi-value-score.service.js +0 -61
- package/dist-server/service/kpi-value/kpi-value-score.service.js.map +0 -1
- package/dist-server/service/kpi-value/kpi-value-type.d.ts +0 -33
- package/dist-server/service/kpi-value/kpi-value-type.js +0 -156
- package/dist-server/service/kpi-value/kpi-value-type.js.map +0 -1
- package/dist-server/service/kpi-value/kpi-value.d.ts +0 -32
- package/dist-server/service/kpi-value/kpi-value.js +0 -175
- package/dist-server/service/kpi-value/kpi-value.js.map +0 -1
- package/dist-server/service/utils/value-date-util.d.ts +0 -4
- package/dist-server/service/utils/value-date-util.js +0 -117
- package/dist-server/service/utils/value-date-util.js.map +0 -1
- package/dist-server/tsconfig.tsbuildinfo +0 -1
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KpiValueQuery = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const typeorm_1 = require("typeorm");
|
|
6
|
-
const type_graphql_1 = require("type-graphql");
|
|
7
|
-
const shell_1 = require("@things-factory/shell");
|
|
8
|
-
const auth_base_1 = require("@things-factory/auth-base");
|
|
9
|
-
const kpi_value_1 = require("./kpi-value");
|
|
10
|
-
const kpi_value_type_1 = require("./kpi-value-type");
|
|
11
|
-
const kpi_1 = require("../kpi/kpi");
|
|
12
|
-
let KpiValueQuery = class KpiValueQuery {
|
|
13
|
-
async kpiValue(id, context) {
|
|
14
|
-
const { domain } = context.state;
|
|
15
|
-
const domainIds = await (0, shell_1.getDomainIdsWithAncestors)(domain);
|
|
16
|
-
return await (0, shell_1.getRepository)(kpi_value_1.KpiValue).findOne({
|
|
17
|
-
where: { domain: { id: (0, typeorm_1.In)(domainIds) }, id }
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
async kpiValues(params, context) {
|
|
21
|
-
const { domain } = context.state;
|
|
22
|
-
const domainIds = await (0, shell_1.getDomainIdsWithAncestors)(domain);
|
|
23
|
-
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
24
|
-
domain: undefined,
|
|
25
|
-
params,
|
|
26
|
-
repository: (0, shell_1.getRepository)(kpi_value_1.KpiValue),
|
|
27
|
-
searchables: ['kpi', 'group', 'valueDate']
|
|
28
|
-
});
|
|
29
|
-
queryBuilder.andWhere(`${queryBuilder.alias}.domain IN (:...ancestorDomainIds)`, {
|
|
30
|
-
ancestorDomainIds: domainIds
|
|
31
|
-
});
|
|
32
|
-
const [items, total] = await queryBuilder.getManyAndCount();
|
|
33
|
-
return { items, total };
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* 같은 (domain, kpi, valueDate, kpiOrgScope) 좌표에서 version 이 가장 큰 row 만 반환.
|
|
37
|
-
* 차트·최종 KPI 계산 등 "최신 상태" 만 필요한 사용처용.
|
|
38
|
-
*
|
|
39
|
-
* 구현: subquery 로 (domain, kpi, valueDate, kpiOrgScope) 그룹별 MAX(version) 를 구한 뒤
|
|
40
|
-
* 본 테이블과 매칭. 기존 kpiValues 와 동일하게 ListParam (filters/sortings/pagination)
|
|
41
|
-
* 지원, 도메인 inheritance 적용.
|
|
42
|
-
*/
|
|
43
|
-
async latestKpiValues(params, context) {
|
|
44
|
-
const { domain } = context.state;
|
|
45
|
-
const domainIds = await (0, shell_1.getDomainIdsWithAncestors)(domain);
|
|
46
|
-
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
47
|
-
domain: undefined,
|
|
48
|
-
params,
|
|
49
|
-
repository: (0, shell_1.getRepository)(kpi_value_1.KpiValue),
|
|
50
|
-
searchables: ['kpi', 'group', 'valueDate']
|
|
51
|
-
});
|
|
52
|
-
queryBuilder.andWhere(`${queryBuilder.alias}.domain IN (:...ancestorDomainIds)`, {
|
|
53
|
-
ancestorDomainIds: domainIds
|
|
54
|
-
});
|
|
55
|
-
// 같은 (domain, kpi, valueDate, kpiOrgScope) 좌표에서 가장 높은 version 만 통과.
|
|
56
|
-
// 운영 DB 가 PostgreSQL 이라 DISTINCT ON 활용 — TypeORM QueryBuilder 의 정식 메서드.
|
|
57
|
-
queryBuilder
|
|
58
|
-
.distinctOn([
|
|
59
|
-
`${queryBuilder.alias}.domainId`,
|
|
60
|
-
`${queryBuilder.alias}.kpiId`,
|
|
61
|
-
`${queryBuilder.alias}.valueDate`,
|
|
62
|
-
`${queryBuilder.alias}.kpiOrgScope`
|
|
63
|
-
])
|
|
64
|
-
/* DISTINCT ON reads its columns first in the order - in place of the list's own order. */
|
|
65
|
-
.orderBy(`${queryBuilder.alias}.domainId`, 'ASC')
|
|
66
|
-
.addOrderBy(`${queryBuilder.alias}.kpiId`, 'ASC')
|
|
67
|
-
.addOrderBy(`${queryBuilder.alias}.valueDate`, 'ASC')
|
|
68
|
-
.addOrderBy(`${queryBuilder.alias}.kpiOrgScope`, 'ASC')
|
|
69
|
-
.addOrderBy(`${queryBuilder.alias}.version`, 'DESC');
|
|
70
|
-
const items = await queryBuilder.getMany();
|
|
71
|
-
return { items, total: items.length };
|
|
72
|
-
}
|
|
73
|
-
async domain(kpiValue) {
|
|
74
|
-
return kpiValue.domainId && (await (0, shell_1.getRepository)(shell_1.Domain).findOneBy({ id: kpiValue.domainId }));
|
|
75
|
-
}
|
|
76
|
-
async updater(kpiValue) {
|
|
77
|
-
return kpiValue.updaterId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: kpiValue.updaterId }));
|
|
78
|
-
}
|
|
79
|
-
async creator(kpiValue) {
|
|
80
|
-
return kpiValue.creatorId && (await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: kpiValue.creatorId }));
|
|
81
|
-
}
|
|
82
|
-
async kpi(kpiValue) {
|
|
83
|
-
if (!kpiValue.kpiId)
|
|
84
|
-
return null;
|
|
85
|
-
return await (0, shell_1.getRepository)(kpi_1.Kpi).findOneBy({ id: kpiValue.kpiId });
|
|
86
|
-
}
|
|
87
|
-
};
|
|
88
|
-
exports.KpiValueQuery = KpiValueQuery;
|
|
89
|
-
tslib_1.__decorate([
|
|
90
|
-
(0, type_graphql_1.Directive)('@privilege(category: "kpi", privilege: "query", domainOwnerGranted: true, superUserGranted: true)'),
|
|
91
|
-
(0, type_graphql_1.Query)(returns => kpi_value_1.KpiValue, { nullable: true, description: 'Fetch a single KPI value by its unique identifier.' }),
|
|
92
|
-
tslib_1.__param(0, (0, type_graphql_1.Arg)('id', { description: 'Unique identifier of the KPI value to fetch.' })),
|
|
93
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
94
|
-
tslib_1.__metadata("design:type", Function),
|
|
95
|
-
tslib_1.__metadata("design:paramtypes", [String, Object]),
|
|
96
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
97
|
-
], KpiValueQuery.prototype, "kpiValue", null);
|
|
98
|
-
tslib_1.__decorate([
|
|
99
|
-
(0, type_graphql_1.Directive)('@privilege(category: "kpi", privilege: "query", domainOwnerGranted: true, superUserGranted: true)'),
|
|
100
|
-
(0, type_graphql_1.Query)(returns => kpi_value_type_1.KpiValueList, { description: 'To fetch multiple KpiValues' }),
|
|
101
|
-
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
102
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
103
|
-
tslib_1.__metadata("design:type", Function),
|
|
104
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
105
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
106
|
-
], KpiValueQuery.prototype, "kpiValues", null);
|
|
107
|
-
tslib_1.__decorate([
|
|
108
|
-
(0, type_graphql_1.Directive)('@privilege(category: "kpi", privilege: "query", domainOwnerGranted: true, superUserGranted: true)'),
|
|
109
|
-
(0, type_graphql_1.Query)(returns => kpi_value_type_1.KpiValueList, {
|
|
110
|
-
description: 'Fetch latest-version KpiValues only — one row per (domain, kpi, valueDate, kpiOrgScope).'
|
|
111
|
-
}),
|
|
112
|
-
tslib_1.__param(0, (0, type_graphql_1.Args)(type => shell_1.ListParam)),
|
|
113
|
-
tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
|
|
114
|
-
tslib_1.__metadata("design:type", Function),
|
|
115
|
-
tslib_1.__metadata("design:paramtypes", [shell_1.ListParam, Object]),
|
|
116
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
117
|
-
], KpiValueQuery.prototype, "latestKpiValues", null);
|
|
118
|
-
tslib_1.__decorate([
|
|
119
|
-
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
|
120
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
121
|
-
tslib_1.__metadata("design:type", Function),
|
|
122
|
-
tslib_1.__metadata("design:paramtypes", [kpi_value_1.KpiValue]),
|
|
123
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
124
|
-
], KpiValueQuery.prototype, "domain", null);
|
|
125
|
-
tslib_1.__decorate([
|
|
126
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
127
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
128
|
-
tslib_1.__metadata("design:type", Function),
|
|
129
|
-
tslib_1.__metadata("design:paramtypes", [kpi_value_1.KpiValue]),
|
|
130
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
131
|
-
], KpiValueQuery.prototype, "updater", null);
|
|
132
|
-
tslib_1.__decorate([
|
|
133
|
-
(0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
|
|
134
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
135
|
-
tslib_1.__metadata("design:type", Function),
|
|
136
|
-
tslib_1.__metadata("design:paramtypes", [kpi_value_1.KpiValue]),
|
|
137
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
138
|
-
], KpiValueQuery.prototype, "creator", null);
|
|
139
|
-
tslib_1.__decorate([
|
|
140
|
-
(0, type_graphql_1.FieldResolver)(type => kpi_1.Kpi),
|
|
141
|
-
tslib_1.__param(0, (0, type_graphql_1.Root)()),
|
|
142
|
-
tslib_1.__metadata("design:type", Function),
|
|
143
|
-
tslib_1.__metadata("design:paramtypes", [kpi_value_1.KpiValue]),
|
|
144
|
-
tslib_1.__metadata("design:returntype", Promise)
|
|
145
|
-
], KpiValueQuery.prototype, "kpi", null);
|
|
146
|
-
exports.KpiValueQuery = KpiValueQuery = tslib_1.__decorate([
|
|
147
|
-
(0, type_graphql_1.Resolver)(kpi_value_1.KpiValue)
|
|
148
|
-
], KpiValueQuery);
|
|
149
|
-
//# sourceMappingURL=kpi-value-query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kpi-value-query.js","sourceRoot":"","sources":["../../../server/service/kpi-value/kpi-value-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { In } from 'typeorm'\nimport { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive, Float } from 'type-graphql'\nimport {\n Domain,\n getQueryBuilderFromListParams,\n getRepository,\n ListParam,\n getDomainIdsWithAncestors\n} from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { KpiValue } from './kpi-value'\nimport { KpiValueList } from './kpi-value-type'\nimport { Kpi } from '../kpi/kpi'\nimport { KpiValueScoreService } from './kpi-value-score.service'\n\n@Resolver(KpiValue)\nexport class KpiValueQuery {\n @Directive('@privilege(category: \"kpi\", privilege: \"query\", domainOwnerGranted: true, superUserGranted: true)')\n @Query(returns => KpiValue!, { nullable: true, description: 'Fetch a single KPI value by its unique identifier.' })\n async kpiValue(\n @Arg('id', { description: 'Unique identifier of the KPI value to fetch.' }) id: string,\n @Ctx() context: ResolverContext\n ): Promise<KpiValue> {\n const { domain } = context.state\n const domainIds = await getDomainIdsWithAncestors(domain)\n\n return await getRepository(KpiValue).findOne({\n where: { domain: { id: In(domainIds) }, id }\n })\n }\n\n @Directive('@privilege(category: \"kpi\", privilege: \"query\", domainOwnerGranted: true, superUserGranted: true)')\n @Query(returns => KpiValueList, { description: 'To fetch multiple KpiValues' })\n async kpiValues(@Args(type => ListParam) params: ListParam, @Ctx() context: ResolverContext): Promise<KpiValueList> {\n const { domain } = context.state\n const domainIds = await getDomainIdsWithAncestors(domain)\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain: undefined,\n params,\n repository: getRepository(KpiValue),\n searchables: ['kpi', 'group', 'valueDate']\n })\n\n queryBuilder.andWhere(`${queryBuilder.alias}.domain IN (:...ancestorDomainIds)`, {\n ancestorDomainIds: domainIds\n })\n\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n /**\n * 같은 (domain, kpi, valueDate, kpiOrgScope) 좌표에서 version 이 가장 큰 row 만 반환.\n * 차트·최종 KPI 계산 등 \"최신 상태\" 만 필요한 사용처용.\n *\n * 구현: subquery 로 (domain, kpi, valueDate, kpiOrgScope) 그룹별 MAX(version) 를 구한 뒤\n * 본 테이블과 매칭. 기존 kpiValues 와 동일하게 ListParam (filters/sortings/pagination)\n * 지원, 도메인 inheritance 적용.\n */\n @Directive('@privilege(category: \"kpi\", privilege: \"query\", domainOwnerGranted: true, superUserGranted: true)')\n @Query(returns => KpiValueList, {\n description: 'Fetch latest-version KpiValues only — one row per (domain, kpi, valueDate, kpiOrgScope).'\n })\n async latestKpiValues(\n @Args(type => ListParam) params: ListParam,\n @Ctx() context: ResolverContext\n ): Promise<KpiValueList> {\n const { domain } = context.state\n const domainIds = await getDomainIdsWithAncestors(domain)\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain: undefined,\n params,\n repository: getRepository(KpiValue),\n searchables: ['kpi', 'group', 'valueDate']\n })\n\n queryBuilder.andWhere(`${queryBuilder.alias}.domain IN (:...ancestorDomainIds)`, {\n ancestorDomainIds: domainIds\n })\n\n // 같은 (domain, kpi, valueDate, kpiOrgScope) 좌표에서 가장 높은 version 만 통과.\n // 운영 DB 가 PostgreSQL 이라 DISTINCT ON 활용 — TypeORM QueryBuilder 의 정식 메서드.\n queryBuilder\n .distinctOn([\n `${queryBuilder.alias}.domainId`,\n `${queryBuilder.alias}.kpiId`,\n `${queryBuilder.alias}.valueDate`,\n `${queryBuilder.alias}.kpiOrgScope`\n ])\n /* DISTINCT ON reads its columns first in the order - in place of the list's own order. */\n .orderBy(`${queryBuilder.alias}.domainId`, 'ASC')\n .addOrderBy(`${queryBuilder.alias}.kpiId`, 'ASC')\n .addOrderBy(`${queryBuilder.alias}.valueDate`, 'ASC')\n .addOrderBy(`${queryBuilder.alias}.kpiOrgScope`, 'ASC')\n .addOrderBy(`${queryBuilder.alias}.version`, 'DESC')\n\n const items = await queryBuilder.getMany()\n\n return { items, total: items.length }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() kpiValue: KpiValue): Promise<Domain> {\n return kpiValue.domainId && (await getRepository(Domain).findOneBy({ id: kpiValue.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() kpiValue: KpiValue): Promise<User> {\n return kpiValue.updaterId && (await getRepository(User).findOneBy({ id: kpiValue.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() kpiValue: KpiValue): Promise<User> {\n return kpiValue.creatorId && (await getRepository(User).findOneBy({ id: kpiValue.creatorId }))\n }\n\n @FieldResolver(type => Kpi)\n async kpi(@Root() kpiValue: KpiValue): Promise<Kpi | null> {\n if (!kpiValue.kpiId) return null\n return await getRepository(Kpi).findOneBy({ id: kpiValue.kpiId })\n }\n}\n"]}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Kpi } from '../kpi/kpi';
|
|
2
|
-
import { KpiValue } from './kpi-value';
|
|
3
|
-
import { ScoreResult } from '../../calculator/score.js';
|
|
4
|
-
export { ScoreResult };
|
|
5
|
-
export declare class KpiValueScoreService {
|
|
6
|
-
/**
|
|
7
|
-
* scoreFormula를 사용한 성과 점수 계산 — 순수 로직은 calculator/score 에 위임.
|
|
8
|
-
* 파싱/평가 예외는 여기서 로그 후 null (점수 계산 실패는 치명 아님).
|
|
9
|
-
*/
|
|
10
|
-
calculateScoreFromFormula(kpi: Kpi, value: number): Promise<ScoreResult | null>;
|
|
11
|
-
/**
|
|
12
|
-
* KPI의 grades lookup table을 이용한 성과 점수 변환.
|
|
13
|
-
* @deprecated 향후 grades 필드 제거 예정. scoreFormula로 대체 권장
|
|
14
|
-
*/
|
|
15
|
-
calculateScoreFromLookup(kpi: Kpi, value: number): ScoreResult | null;
|
|
16
|
-
/**
|
|
17
|
-
* KpiValue 생성/수정 시 성과 점수 자동 계산 및 저장
|
|
18
|
-
*/
|
|
19
|
-
calculateAndSaveScore(kpiValue: KpiValue, kpi: Kpi): Promise<void>;
|
|
20
|
-
/**
|
|
21
|
-
* 기존 KpiValue들의 성과 점수 재계산 (배치 처리)
|
|
22
|
-
*/
|
|
23
|
-
recalculateScoresForKpi(kpiId: string, context: ResolverContext): Promise<void>;
|
|
24
|
-
}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KpiValueScoreService = void 0;
|
|
4
|
-
const shell_1 = require("@things-factory/shell");
|
|
5
|
-
const kpi_1 = require("../kpi/kpi");
|
|
6
|
-
const kpi_value_1 = require("./kpi-value");
|
|
7
|
-
const score_js_1 = require("../../calculator/score.js");
|
|
8
|
-
class KpiValueScoreService {
|
|
9
|
-
/**
|
|
10
|
-
* scoreFormula를 사용한 성과 점수 계산 — 순수 로직은 calculator/score 에 위임.
|
|
11
|
-
* 파싱/평가 예외는 여기서 로그 후 null (점수 계산 실패는 치명 아님).
|
|
12
|
-
*/
|
|
13
|
-
async calculateScoreFromFormula(kpi, value) {
|
|
14
|
-
try {
|
|
15
|
-
return await (0, score_js_1.scoreFromFormula)(kpi.scoreFormula, value);
|
|
16
|
-
}
|
|
17
|
-
catch (error) {
|
|
18
|
-
console.error(`Score formula evaluation for '${kpi.name}: ${kpi.scoreFormula}' error:`, error);
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* KPI의 grades lookup table을 이용한 성과 점수 변환.
|
|
24
|
-
* @deprecated 향후 grades 필드 제거 예정. scoreFormula로 대체 권장
|
|
25
|
-
*/
|
|
26
|
-
calculateScoreFromLookup(kpi, value) {
|
|
27
|
-
return (0, score_js_1.scoreFromLookup)(kpi.grades, value);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* KpiValue 생성/수정 시 성과 점수 자동 계산 및 저장
|
|
31
|
-
*/
|
|
32
|
-
async calculateAndSaveScore(kpiValue, kpi) {
|
|
33
|
-
// 1. scoreFormula 우선 시도
|
|
34
|
-
let scoreResult = await this.calculateScoreFromFormula(kpi, kpiValue.value);
|
|
35
|
-
// 2. scoreFormula가 없거나 실패하면 grades lookup table 사용 (deprecated)
|
|
36
|
-
if (!scoreResult) {
|
|
37
|
-
scoreResult = this.calculateScoreFromLookup(kpi, kpiValue.value);
|
|
38
|
-
}
|
|
39
|
-
if (scoreResult) {
|
|
40
|
-
// KpiValue의 score 필드에 성과 점수 저장
|
|
41
|
-
kpiValue.score = scoreResult.score;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* 기존 KpiValue들의 성과 점수 재계산 (배치 처리)
|
|
46
|
-
*/
|
|
47
|
-
async recalculateScoresForKpi(kpiId, context) {
|
|
48
|
-
const kpi = await (0, shell_1.getRepository)(kpi_1.Kpi).findOne({ where: { id: kpiId } });
|
|
49
|
-
if (!kpi)
|
|
50
|
-
return;
|
|
51
|
-
const kpiValues = await (0, shell_1.getRepository)(kpi_value_1.KpiValue).find({
|
|
52
|
-
where: { kpiId, version: kpi.version }
|
|
53
|
-
});
|
|
54
|
-
for (const kpiValue of kpiValues) {
|
|
55
|
-
await this.calculateAndSaveScore(kpiValue, kpi);
|
|
56
|
-
}
|
|
57
|
-
await (0, shell_1.getRepository)(kpi_value_1.KpiValue).save(kpiValues);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
exports.KpiValueScoreService = KpiValueScoreService;
|
|
61
|
-
//# sourceMappingURL=kpi-value-score.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kpi-value-score.service.js","sourceRoot":"","sources":["../../../server/service/kpi-value/kpi-value-score.service.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,oCAAgC;AAChC,2CAAsC;AACtC,wDAA0F;AAI1F,MAAa,oBAAoB;IAC/B;;;OAGG;IACH,KAAK,CAAC,yBAAyB,CAAC,GAAQ,EAAE,KAAa;QACrD,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,2BAAgB,EAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,CAAA;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,YAAY,UAAU,EAAE,KAAK,CAAC,CAAA;YAC9F,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,wBAAwB,CAAC,GAAQ,EAAE,KAAa;QAC9C,OAAO,IAAA,0BAAe,EAAC,GAAG,CAAC,MAAa,EAAE,KAAK,CAAC,CAAA;IAClD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,QAAkB,EAAE,GAAQ;QACtD,wBAAwB;QACxB,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE3E,gEAAgE;QAChE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAA;QAClE,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,+BAA+B;YAC/B,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAA;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,KAAa,EAAE,OAAwB;QACnE,MAAM,GAAG,GAAG,MAAM,IAAA,qBAAa,EAAC,SAAG,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,GAAG;YAAE,OAAM;QAEhB,MAAM,SAAS,GAAG,MAAM,IAAA,qBAAa,EAAC,oBAAQ,CAAC,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE;SACvC,CAAC,CAAA;QAEF,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAA;QACjD,CAAC;QAED,MAAM,IAAA,qBAAa,EAAC,oBAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/C,CAAC;CACF;AAzDD,oDAyDC","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { Kpi } from '../kpi/kpi'\nimport { KpiValue } from './kpi-value'\nimport { scoreFromFormula, scoreFromLookup, ScoreResult } from '../../calculator/score.js'\n\nexport { ScoreResult }\n\nexport class KpiValueScoreService {\n /**\n * scoreFormula를 사용한 성과 점수 계산 — 순수 로직은 calculator/score 에 위임.\n * 파싱/평가 예외는 여기서 로그 후 null (점수 계산 실패는 치명 아님).\n */\n async calculateScoreFromFormula(kpi: Kpi, value: number): Promise<ScoreResult | null> {\n try {\n return await scoreFromFormula(kpi.scoreFormula, value)\n } catch (error) {\n console.error(`Score formula evaluation for '${kpi.name}: ${kpi.scoreFormula}' error:`, error)\n return null\n }\n }\n\n /**\n * KPI의 grades lookup table을 이용한 성과 점수 변환.\n * @deprecated 향후 grades 필드 제거 예정. scoreFormula로 대체 권장\n */\n calculateScoreFromLookup(kpi: Kpi, value: number): ScoreResult | null {\n return scoreFromLookup(kpi.grades as any, value)\n }\n\n /**\n * KpiValue 생성/수정 시 성과 점수 자동 계산 및 저장\n */\n async calculateAndSaveScore(kpiValue: KpiValue, kpi: Kpi): Promise<void> {\n // 1. scoreFormula 우선 시도\n let scoreResult = await this.calculateScoreFromFormula(kpi, kpiValue.value)\n\n // 2. scoreFormula가 없거나 실패하면 grades lookup table 사용 (deprecated)\n if (!scoreResult) {\n scoreResult = this.calculateScoreFromLookup(kpi, kpiValue.value)\n }\n\n if (scoreResult) {\n // KpiValue의 score 필드에 성과 점수 저장\n kpiValue.score = scoreResult.score\n }\n }\n\n /**\n * 기존 KpiValue들의 성과 점수 재계산 (배치 처리)\n */\n async recalculateScoresForKpi(kpiId: string, context: ResolverContext): Promise<void> {\n const kpi = await getRepository(Kpi).findOne({ where: { id: kpiId } })\n if (!kpi) return\n\n const kpiValues = await getRepository(KpiValue).find({\n where: { kpiId, version: kpi.version }\n })\n\n for (const kpiValue of kpiValues) {\n await this.calculateAndSaveScore(kpiValue, kpi)\n }\n\n await getRepository(KpiValue).save(kpiValues)\n }\n}\n"]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { KpiValue, KpiValueInputType } from './kpi-value';
|
|
2
|
-
export declare class NewKpiValue {
|
|
3
|
-
kpiId: string;
|
|
4
|
-
version: number;
|
|
5
|
-
valueDate: string;
|
|
6
|
-
value: number;
|
|
7
|
-
score?: number;
|
|
8
|
-
meta?: any;
|
|
9
|
-
kpiOrgScopeId?: string;
|
|
10
|
-
org?: string;
|
|
11
|
-
group?: string;
|
|
12
|
-
inputType?: KpiValueInputType;
|
|
13
|
-
source?: string;
|
|
14
|
-
}
|
|
15
|
-
export declare class KpiValuePatch {
|
|
16
|
-
id?: string;
|
|
17
|
-
kpiId?: string;
|
|
18
|
-
version?: number;
|
|
19
|
-
valueDate?: string;
|
|
20
|
-
value?: number;
|
|
21
|
-
score?: number;
|
|
22
|
-
meta?: any;
|
|
23
|
-
kpiOrgScopeId?: string;
|
|
24
|
-
org?: string;
|
|
25
|
-
group?: string;
|
|
26
|
-
inputType?: KpiValueInputType;
|
|
27
|
-
source?: string;
|
|
28
|
-
cuFlag?: string;
|
|
29
|
-
}
|
|
30
|
-
export declare class KpiValueList {
|
|
31
|
-
items: KpiValue[];
|
|
32
|
-
total: number;
|
|
33
|
-
}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.KpiValueList = exports.KpiValuePatch = exports.NewKpiValue = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const type_graphql_1 = require("type-graphql");
|
|
6
|
-
const shell_1 = require("@things-factory/shell");
|
|
7
|
-
const kpi_value_1 = require("./kpi-value");
|
|
8
|
-
let NewKpiValue = class NewKpiValue {
|
|
9
|
-
};
|
|
10
|
-
exports.NewKpiValue = NewKpiValue;
|
|
11
|
-
tslib_1.__decorate([
|
|
12
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { description: 'ID of the KPI to which this value belongs.' }),
|
|
13
|
-
tslib_1.__metadata("design:type", String)
|
|
14
|
-
], NewKpiValue.prototype, "kpiId", void 0);
|
|
15
|
-
tslib_1.__decorate([
|
|
16
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { description: 'Version of the KPI definition at the time this value is calculated.' }),
|
|
17
|
-
tslib_1.__metadata("design:type", Number)
|
|
18
|
-
], NewKpiValue.prototype, "version", void 0);
|
|
19
|
-
tslib_1.__decorate([
|
|
20
|
-
(0, type_graphql_1.Field)({ description: 'Date or period for which this KPI value is recorded (e.g., day, month, quarter).' }),
|
|
21
|
-
tslib_1.__metadata("design:type", String)
|
|
22
|
-
], NewKpiValue.prototype, "valueDate", void 0);
|
|
23
|
-
tslib_1.__decorate([
|
|
24
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Float, { description: 'The calculated numeric value for this KPI and period.' }),
|
|
25
|
-
tslib_1.__metadata("design:type", Number)
|
|
26
|
-
], NewKpiValue.prototype, "value", void 0);
|
|
27
|
-
tslib_1.__decorate([
|
|
28
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Float, {
|
|
29
|
-
nullable: true,
|
|
30
|
-
description: 'Performance score calculated from KPI value using scoreFormula or grades lookup table. Range: 0-1.'
|
|
31
|
-
}),
|
|
32
|
-
tslib_1.__metadata("design:type", Number)
|
|
33
|
-
], NewKpiValue.prototype, "score", void 0);
|
|
34
|
-
tslib_1.__decorate([
|
|
35
|
-
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
|
|
36
|
-
nullable: true,
|
|
37
|
-
description: 'Extended or non-numeric information related to this KPI value, stored as JSON5. Can include grade, status, comments, or other metadata.'
|
|
38
|
-
}),
|
|
39
|
-
tslib_1.__metadata("design:type", Object)
|
|
40
|
-
], NewKpiValue.prototype, "meta", void 0);
|
|
41
|
-
tslib_1.__decorate([
|
|
42
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'ID of the KPI organization scope for this value.' }),
|
|
43
|
-
tslib_1.__metadata("design:type", String)
|
|
44
|
-
], NewKpiValue.prototype, "kpiOrgScopeId", void 0);
|
|
45
|
-
tslib_1.__decorate([
|
|
46
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Legacy organizational unit identifier (for backward compatibility)' }),
|
|
47
|
-
tslib_1.__metadata("design:type", String)
|
|
48
|
-
], NewKpiValue.prototype, "org", void 0);
|
|
49
|
-
tslib_1.__decorate([
|
|
50
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Group key for this value (organization, line, user, project, etc.)' }),
|
|
51
|
-
tslib_1.__metadata("design:type", String)
|
|
52
|
-
], NewKpiValue.prototype, "group", void 0);
|
|
53
|
-
tslib_1.__decorate([
|
|
54
|
-
(0, type_graphql_1.Field)(type => kpi_value_1.KpiValueInputType, {
|
|
55
|
-
nullable: true,
|
|
56
|
-
description: 'Indicates whether this value was entered manually or generated automatically.'
|
|
57
|
-
}),
|
|
58
|
-
tslib_1.__metadata("design:type", String)
|
|
59
|
-
], NewKpiValue.prototype, "inputType", void 0);
|
|
60
|
-
tslib_1.__decorate([
|
|
61
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Source of the value (e.g., system, user, external integration).' }),
|
|
62
|
-
tslib_1.__metadata("design:type", String)
|
|
63
|
-
], NewKpiValue.prototype, "source", void 0);
|
|
64
|
-
exports.NewKpiValue = NewKpiValue = tslib_1.__decorate([
|
|
65
|
-
(0, type_graphql_1.InputType)({ description: 'Input type for creating a new KPI value. Used in mutations to provide KPI value details.' })
|
|
66
|
-
], NewKpiValue);
|
|
67
|
-
let KpiValuePatch = class KpiValuePatch {
|
|
68
|
-
};
|
|
69
|
-
exports.KpiValuePatch = KpiValuePatch;
|
|
70
|
-
tslib_1.__decorate([
|
|
71
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'ID of the KPI value to update.' }),
|
|
72
|
-
tslib_1.__metadata("design:type", String)
|
|
73
|
-
], KpiValuePatch.prototype, "id", void 0);
|
|
74
|
-
tslib_1.__decorate([
|
|
75
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'ID of the KPI to which this value belongs.' }),
|
|
76
|
-
tslib_1.__metadata("design:type", String)
|
|
77
|
-
], KpiValuePatch.prototype, "kpiId", void 0);
|
|
78
|
-
tslib_1.__decorate([
|
|
79
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int, {
|
|
80
|
-
nullable: true,
|
|
81
|
-
description: 'Version of the KPI definition at the time this value is calculated.'
|
|
82
|
-
}),
|
|
83
|
-
tslib_1.__metadata("design:type", Number)
|
|
84
|
-
], KpiValuePatch.prototype, "version", void 0);
|
|
85
|
-
tslib_1.__decorate([
|
|
86
|
-
(0, type_graphql_1.Field)({
|
|
87
|
-
nullable: true,
|
|
88
|
-
description: 'Date or period for which this KPI value is recorded (e.g., day, month, quarter).'
|
|
89
|
-
}),
|
|
90
|
-
tslib_1.__metadata("design:type", String)
|
|
91
|
-
], KpiValuePatch.prototype, "valueDate", void 0);
|
|
92
|
-
tslib_1.__decorate([
|
|
93
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Float, { nullable: true, description: 'The calculated numeric value for this KPI and period.' }),
|
|
94
|
-
tslib_1.__metadata("design:type", Number)
|
|
95
|
-
], KpiValuePatch.prototype, "value", void 0);
|
|
96
|
-
tslib_1.__decorate([
|
|
97
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Float, {
|
|
98
|
-
nullable: true,
|
|
99
|
-
description: 'Performance score calculated from KPI value using scoreFormula or grades lookup table. Range: 0-1.'
|
|
100
|
-
}),
|
|
101
|
-
tslib_1.__metadata("design:type", Number)
|
|
102
|
-
], KpiValuePatch.prototype, "score", void 0);
|
|
103
|
-
tslib_1.__decorate([
|
|
104
|
-
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, {
|
|
105
|
-
nullable: true,
|
|
106
|
-
description: 'Extended or non-numeric information related to this KPI value, stored as JSON5. Can include grade, status, comments, or other metadata.'
|
|
107
|
-
}),
|
|
108
|
-
tslib_1.__metadata("design:type", Object)
|
|
109
|
-
], KpiValuePatch.prototype, "meta", void 0);
|
|
110
|
-
tslib_1.__decorate([
|
|
111
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.ID, { nullable: true, description: 'ID of the KPI organization scope for this value.' }),
|
|
112
|
-
tslib_1.__metadata("design:type", String)
|
|
113
|
-
], KpiValuePatch.prototype, "kpiOrgScopeId", void 0);
|
|
114
|
-
tslib_1.__decorate([
|
|
115
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Legacy organizational unit identifier (for backward compatibility)' }),
|
|
116
|
-
tslib_1.__metadata("design:type", String)
|
|
117
|
-
], KpiValuePatch.prototype, "org", void 0);
|
|
118
|
-
tslib_1.__decorate([
|
|
119
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Group key for this value (organization, line, user, project, etc.)' }),
|
|
120
|
-
tslib_1.__metadata("design:type", String)
|
|
121
|
-
], KpiValuePatch.prototype, "group", void 0);
|
|
122
|
-
tslib_1.__decorate([
|
|
123
|
-
(0, type_graphql_1.Field)(type => kpi_value_1.KpiValueInputType, {
|
|
124
|
-
nullable: true,
|
|
125
|
-
description: 'Indicates whether this value was entered manually or generated automatically.'
|
|
126
|
-
}),
|
|
127
|
-
tslib_1.__metadata("design:type", String)
|
|
128
|
-
], KpiValuePatch.prototype, "inputType", void 0);
|
|
129
|
-
tslib_1.__decorate([
|
|
130
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Source of the value (e.g., system, user, external integration).' }),
|
|
131
|
-
tslib_1.__metadata("design:type", String)
|
|
132
|
-
], KpiValuePatch.prototype, "source", void 0);
|
|
133
|
-
tslib_1.__decorate([
|
|
134
|
-
(0, type_graphql_1.Field)({ nullable: true, description: 'Custom flag for update operations (internal use).' }),
|
|
135
|
-
tslib_1.__metadata("design:type", String)
|
|
136
|
-
], KpiValuePatch.prototype, "cuFlag", void 0);
|
|
137
|
-
exports.KpiValuePatch = KpiValuePatch = tslib_1.__decorate([
|
|
138
|
-
(0, type_graphql_1.InputType)({
|
|
139
|
-
description: 'Input type for updating an existing KPI value. Used in mutations to patch KPI value details.'
|
|
140
|
-
})
|
|
141
|
-
], KpiValuePatch);
|
|
142
|
-
let KpiValueList = class KpiValueList {
|
|
143
|
-
};
|
|
144
|
-
exports.KpiValueList = KpiValueList;
|
|
145
|
-
tslib_1.__decorate([
|
|
146
|
-
(0, type_graphql_1.Field)(type => [kpi_value_1.KpiValue]),
|
|
147
|
-
tslib_1.__metadata("design:type", Array)
|
|
148
|
-
], KpiValueList.prototype, "items", void 0);
|
|
149
|
-
tslib_1.__decorate([
|
|
150
|
-
(0, type_graphql_1.Field)(type => type_graphql_1.Int),
|
|
151
|
-
tslib_1.__metadata("design:type", Number)
|
|
152
|
-
], KpiValueList.prototype, "total", void 0);
|
|
153
|
-
exports.KpiValueList = KpiValueList = tslib_1.__decorate([
|
|
154
|
-
(0, type_graphql_1.ObjectType)()
|
|
155
|
-
], KpiValueList);
|
|
156
|
-
//# sourceMappingURL=kpi-value-type.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"kpi-value-type.js","sourceRoot":"","sources":["../../../server/service/kpi-value/kpi-value-type.ts"],"names":[],"mappings":"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","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { ObjectType, Field, InputType, Int, ID, registerEnumType, Float } from 'type-graphql'\n\nimport { ObjectRef, ScalarObject } from '@things-factory/shell'\n\nimport { KpiValue, KpiValueInputType } from './kpi-value'\n\n@InputType({ description: 'Input type for creating a new KPI value. Used in mutations to provide KPI value details.' })\nexport class NewKpiValue {\n @Field(type => ID, { description: 'ID of the KPI to which this value belongs.' })\n kpiId: string\n\n @Field(type => Int, { description: 'Version of the KPI definition at the time this value is calculated.' })\n version: number\n\n @Field({ description: 'Date or period for which this KPI value is recorded (e.g., day, month, quarter).' })\n valueDate: string\n\n @Field(type => Float, { description: 'The calculated numeric value for this KPI and period.' })\n value: number\n\n @Field(type => Float, {\n nullable: true,\n description: 'Performance score calculated from KPI value using scoreFormula or grades lookup table. Range: 0-1.'\n })\n score?: number\n\n @Field(type => ScalarObject, {\n nullable: true,\n description:\n 'Extended or non-numeric information related to this KPI value, stored as JSON5. Can include grade, status, comments, or other metadata.'\n })\n meta?: any\n\n @Field(type => ID, { nullable: true, description: 'ID of the KPI organization scope for this value.' })\n kpiOrgScopeId?: string\n\n @Field({ nullable: true, description: 'Legacy organizational unit identifier (for backward compatibility)' })\n org?: string\n\n @Field({ nullable: true, description: 'Group key for this value (organization, line, user, project, etc.)' })\n group?: string\n\n @Field(type => KpiValueInputType, {\n nullable: true,\n description: 'Indicates whether this value was entered manually or generated automatically.'\n })\n inputType?: KpiValueInputType\n\n @Field({ nullable: true, description: 'Source of the value (e.g., system, user, external integration).' })\n source?: string\n}\n\n@InputType({\n description: 'Input type for updating an existing KPI value. Used in mutations to patch KPI value details.'\n})\nexport class KpiValuePatch {\n @Field(type => ID, { nullable: true, description: 'ID of the KPI value to update.' })\n id?: string\n\n @Field(type => ID, { nullable: true, description: 'ID of the KPI to which this value belongs.' })\n kpiId?: string\n\n @Field(type => Int, {\n nullable: true,\n description: 'Version of the KPI definition at the time this value is calculated.'\n })\n version?: number\n\n @Field({\n nullable: true,\n description: 'Date or period for which this KPI value is recorded (e.g., day, month, quarter).'\n })\n valueDate?: string\n\n @Field(type => Float, { nullable: true, description: 'The calculated numeric value for this KPI and period.' })\n value?: number\n\n @Field(type => Float, {\n nullable: true,\n description: 'Performance score calculated from KPI value using scoreFormula or grades lookup table. Range: 0-1.'\n })\n score?: number\n\n @Field(type => ScalarObject, {\n nullable: true,\n description:\n 'Extended or non-numeric information related to this KPI value, stored as JSON5. Can include grade, status, comments, or other metadata.'\n })\n meta?: any\n\n @Field(type => ID, { nullable: true, description: 'ID of the KPI organization scope for this value.' })\n kpiOrgScopeId?: string\n\n @Field({ nullable: true, description: 'Legacy organizational unit identifier (for backward compatibility)' })\n org?: string\n\n @Field({ nullable: true, description: 'Group key for this value (organization, line, user, project, etc.)' })\n group?: string\n\n @Field(type => KpiValueInputType, {\n nullable: true,\n description: 'Indicates whether this value was entered manually or generated automatically.'\n })\n inputType?: KpiValueInputType\n\n @Field({ nullable: true, description: 'Source of the value (e.g., system, user, external integration).' })\n source?: string\n\n @Field({ nullable: true, description: 'Custom flag for update operations (internal use).' })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class KpiValueList {\n @Field(type => [KpiValue])\n items: KpiValue[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { User } from '@things-factory/auth-base';
|
|
2
|
-
import { Domain } from '@things-factory/shell';
|
|
3
|
-
import { Kpi, KpiPeriodType } from '../kpi/kpi';
|
|
4
|
-
import { KpiOrgScope } from '../kpi-org-scope/kpi-org-scope';
|
|
5
|
-
export declare enum KpiValueInputType {
|
|
6
|
-
MANUAL = "MANUAL",
|
|
7
|
-
AUTO = "AUTO"
|
|
8
|
-
}
|
|
9
|
-
export declare class KpiValue {
|
|
10
|
-
readonly id: string;
|
|
11
|
-
domain?: Domain;
|
|
12
|
-
domainId?: string;
|
|
13
|
-
kpi: Kpi;
|
|
14
|
-
kpiId: string;
|
|
15
|
-
version: number;
|
|
16
|
-
valueDate: string;
|
|
17
|
-
value: number;
|
|
18
|
-
score?: number;
|
|
19
|
-
group?: string;
|
|
20
|
-
kpiOrgScope?: KpiOrgScope;
|
|
21
|
-
kpiOrgScopeId?: string;
|
|
22
|
-
inputType?: KpiValueInputType;
|
|
23
|
-
source?: string;
|
|
24
|
-
meta?: any;
|
|
25
|
-
periodType: KpiPeriodType;
|
|
26
|
-
createdAt?: Date;
|
|
27
|
-
updatedAt?: Date;
|
|
28
|
-
creator?: User;
|
|
29
|
-
creatorId?: string;
|
|
30
|
-
updater?: User;
|
|
31
|
-
updaterId?: string;
|
|
32
|
-
}
|