@things-factory/kpi 9.0.31 → 9.0.33
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 +1 -2
- package/client/charts/kpi-boxplot-chart.ts +182 -42
- package/client/charts/kpi-radar-chart.ts +9 -9
- package/client/pages/kpi/kpi-list-page.ts +196 -32
- package/client/pages/kpi/kpi-overview.ts +9 -11
- package/client/pages/kpi/kpi-tree-page.ts +409 -0
- package/client/pages/kpi/kpi-view.ts +187 -0
- package/client/pages/kpi-dashboard/cards/kpi-level1-card.ts +1 -1
- package/client/pages/kpi-dashboard/cards/kpi-level2-comparison.ts +1 -1
- package/client/pages/kpi-dashboard/cards/kpi-level3-comparison.ts +1 -1
- package/client/pages/kpi-dashboard/components/kpi-left-panel.ts +198 -160
- package/client/pages/kpi-dashboard/components/kpi-map-panel.ts +133 -0
- package/client/pages/kpi-dashboard/components/kpi-region-popup.ts +3 -2
- package/client/pages/kpi-dashboard/kpi-dashboard-map.ts +291 -48
- package/client/pages/kpi-dashboard/kpi-dashboard.ts +28 -30
- package/client/pages/kpi-history/kpi-history-list-page.ts +11 -11
- package/client/pages/kpi-metric/kpi-metric-list-page.ts +10 -2
- package/client/pages/kpi-metric-value/kpi-metric-value-editor-page.ts +7 -7
- package/client/pages/kpi-metric-value/kpi-metric-value-importer.ts +2 -2
- package/client/pages/kpi-metric-value/kpi-metric-value-list-page.ts +16 -8
- package/client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.ts +5 -5
- package/client/pages/kpi-statistic/kpi-statistic-editor-page.ts +1 -2
- package/client/pages/kpi-statistic/kpi-statistic-list-page.ts +10 -2
- package/client/pages/kpi-value/kpi-value-editor-page.ts +11 -7
- package/client/pages/kpi-value/kpi-value-list-page.ts +31 -7
- package/client/route.ts +2 -9
- package/design-entities.md +8 -12
- package/dist-client/charts/kpi-boxplot-chart.d.ts +2 -0
- package/dist-client/charts/kpi-boxplot-chart.js +168 -42
- package/dist-client/charts/kpi-boxplot-chart.js.map +1 -1
- package/dist-client/charts/kpi-radar-chart.js +9 -9
- package/dist-client/charts/kpi-radar-chart.js.map +1 -1
- package/dist-client/pages/kpi/kpi-list-page.d.ts +19 -3
- package/dist-client/pages/kpi/kpi-list-page.js +188 -32
- package/dist-client/pages/kpi/kpi-list-page.js.map +1 -1
- package/dist-client/pages/kpi/kpi-overview.js +9 -11
- package/dist-client/pages/kpi/kpi-overview.js.map +1 -1
- package/dist-client/pages/kpi/kpi-tree-page.d.ts +59 -0
- package/dist-client/pages/kpi/kpi-tree-page.js +403 -0
- package/dist-client/pages/kpi/kpi-tree-page.js.map +1 -0
- package/dist-client/pages/kpi/kpi-view.d.ts +12 -0
- package/dist-client/pages/kpi/kpi-view.js +191 -0
- package/dist-client/pages/kpi/kpi-view.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +3 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +197 -161
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +5 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +146 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +3 -2
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +3 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +268 -46
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +28 -30
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -1
- package/dist-client/pages/kpi-history/kpi-history-list-page.d.ts +6 -1
- package/dist-client/pages/kpi-history/kpi-history-list-page.js +11 -11
- package/dist-client/pages/kpi-history/kpi-history-list-page.js.map +1 -1
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +5 -0
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +10 -2
- package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +8 -8
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js +2 -2
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js.map +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +5 -0
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +16 -8
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.d.ts +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js +6 -6
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js.map +1 -1
- package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +1 -2
- package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +1 -1
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +5 -0
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +10 -2
- package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +2 -1
- package/dist-client/pages/kpi-value/kpi-value-editor-page.js +16 -8
- package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +5 -0
- package/dist-client/pages/kpi-value/kpi-value-list-page.js +31 -7
- package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +2 -8
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/controllers/kpi-metric-value-provider.d.ts +1 -1
- package/dist-server/controllers/kpi-metric-value-provider.js +4 -4
- package/dist-server/controllers/kpi-metric-value-provider.js.map +1 -1
- package/dist-server/controllers/kpi-value-provider.d.ts +1 -1
- package/dist-server/controllers/kpi-value-provider.js +3 -3
- package/dist-server/controllers/kpi-value-provider.js.map +1 -1
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.d.ts +6 -0
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.js +101 -0
- package/dist-server/migrations/1752190849680-seed-kpi-metrics.js.map +1 -0
- package/dist-server/migrations/1752190849681-seed-kpi.d.ts +5 -0
- package/dist-server/migrations/1752190849681-seed-kpi.js +315 -0
- package/dist-server/migrations/1752190849681-seed-kpi.js.map +1 -0
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.d.ts +7 -0
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.js +51 -0
- package/dist-server/migrations/1752192090123-add-grades-to-kpi.js.map +1 -0
- package/dist-server/migrations/1752192090124-add-kpi-statistics.d.ts +5 -0
- package/dist-server/migrations/1752192090124-add-kpi-statistics.js +710 -0
- package/dist-server/migrations/1752192090124-add-kpi-statistics.js.map +1 -0
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.d.ts +6 -0
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js +111 -0
- package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js.map +1 -0
- package/dist-server/migrations/1752192090129-seed-kpi-values.d.ts +6 -0
- package/dist-server/migrations/1752192090129-seed-kpi-values.js +187 -0
- package/dist-server/migrations/1752192090129-seed-kpi-values.js.map +1 -0
- package/dist-server/migrations/grade-data/x11-performance-table.json +962 -0
- package/dist-server/migrations/grade-data/x12-performance-table.json +611 -0
- package/dist-server/migrations/grade-data/x14-performance-table.json +42 -0
- package/dist-server/migrations/grade-data/x21-performance-table.json +889 -0
- package/dist-server/migrations/grade-data/x22-performance-table.json +1064 -0
- package/dist-server/migrations/grade-data/x23-performance-table.json +42 -0
- package/dist-server/migrations/grade-data/x31-performance-table.json +644 -0
- package/dist-server/migrations/grade-data/x32-performance-table.json +993 -0
- package/dist-server/migrations/grade-data/x33-performance-table.json +195 -0
- package/dist-server/migrations/grade-data/x34-performance-table.json +12 -0
- package/dist-server/migrations/grade-data/x35-performance-table.json +42 -0
- package/dist-server/migrations/grade-data/x41-performance-table.json +825 -0
- package/dist-server/migrations/grade-data/x42-performance-table.json +786 -0
- package/dist-server/migrations/grade-data/x43-performance-table.json +12 -0
- package/dist-server/migrations/grade-data/x44-performance-table.json +42 -0
- package/dist-server/migrations/grade-data/x51-performance-table.json +924 -0
- package/dist-server/migrations/grade-data/x52-performance-table.json +42 -0
- package/dist-server/migrations/grade-data/x61-performance-table.json +261 -0
- package/dist-server/migrations/grade-data/x62-performance-table.json +42 -0
- package/dist-server/migrations/seed-data/kpi-metrics-seed.json +454 -0
- package/dist-server/migrations/seed-data/kpi-org-scope-seed.json +1676 -0
- package/dist-server/migrations/seed-data/kpi-scopes-seed.json +121 -0
- package/dist-server/migrations/seed-data/kpi-values-seed.json +402 -0
- package/dist-server/migrations/seed-data/kpis-seed.json +488 -0
- package/dist-server/migrations/seed-data/scope-definitions-seed.json +90 -0
- package/dist-server/service/index.d.ts +4 -7
- package/dist-server/service/index.js +10 -13
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/kpi/aggregate-kpi.js +30 -13
- package/dist-server/service/kpi/aggregate-kpi.js.map +1 -1
- package/dist-server/service/kpi/kpi-formula.service.d.ts +15 -0
- package/dist-server/service/kpi/kpi-formula.service.js +90 -0
- package/dist-server/service/kpi/kpi-formula.service.js.map +1 -1
- package/dist-server/service/kpi/kpi-history.d.ts +0 -3
- package/dist-server/service/kpi/kpi-history.js +0 -10
- package/dist-server/service/kpi/kpi-history.js.map +1 -1
- package/dist-server/service/kpi/kpi-mutation.d.ts +1 -1
- package/dist-server/service/kpi/kpi-mutation.js +57 -20
- package/dist-server/service/kpi/kpi-mutation.js.map +1 -1
- package/dist-server/service/kpi/kpi-query.d.ts +7 -3
- package/dist-server/service/kpi/kpi-query.js +126 -10
- package/dist-server/service/kpi/kpi-query.js.map +1 -1
- package/dist-server/service/kpi/kpi-type.d.ts +4 -2
- package/dist-server/service/kpi/kpi-type.js +12 -4
- package/dist-server/service/kpi/kpi-type.js.map +1 -1
- package/dist-server/service/kpi/kpi.d.ts +4 -3
- package/dist-server/service/kpi/kpi.js +20 -8
- package/dist-server/service/kpi/kpi.js.map +1 -1
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js +46 -11
- package/dist-server/service/kpi-metric/aggregate-kpi-metric.js.map +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +6 -6
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.d.ts +2 -2
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js +4 -4
- package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js.map +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value.d.ts +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value.js +3 -3
- package/dist-server/service/kpi-metric-value/kpi-metric-value.js.map +1 -1
- package/dist-server/service/kpi-org-scope/index.d.ts +5 -0
- package/dist-server/service/kpi-org-scope/index.js +9 -0
- package/dist-server/service/kpi-org-scope/index.js.map +1 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.d.ts +8 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js +170 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js.map +1 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.d.ts +14 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js +152 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js.map +1 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.d.ts +26 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js +101 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js.map +1 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope.d.ts +26 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope.js +135 -0
- package/dist-server/service/kpi-org-scope/kpi-org-scope.js.map +1 -0
- package/dist-server/service/kpi-scope/index.d.ts +9 -0
- package/dist-server/service/kpi-scope/index.js +14 -0
- package/dist-server/service/kpi-scope/index.js.map +1 -0
- package/dist-server/service/kpi-scope/kpi-scope-mutation.d.ts +9 -0
- package/dist-server/service/kpi-scope/kpi-scope-mutation.js +135 -0
- package/dist-server/service/kpi-scope/kpi-scope-mutation.js.map +1 -0
- package/dist-server/service/kpi-scope/kpi-scope-query.d.ts +11 -0
- package/dist-server/service/kpi-scope/kpi-scope-query.js +89 -0
- package/dist-server/service/kpi-scope/kpi-scope-query.js.map +1 -0
- package/dist-server/service/kpi-scope/kpi-scope-type.d.ts +35 -0
- package/dist-server/service/kpi-scope/kpi-scope-type.js +138 -0
- package/dist-server/service/kpi-scope/kpi-scope-type.js.map +1 -0
- package/dist-server/service/kpi-scope/kpi-scope.d.ts +38 -0
- package/dist-server/service/kpi-scope/kpi-scope.js +144 -0
- package/dist-server/service/kpi-scope/kpi-scope.js.map +1 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.d.ts +43 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js +181 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-batch.service.js.map +1 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.d.ts +50 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js +324 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-calculation.service.js.map +1 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.d.ts +4 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js +76 -0
- package/dist-server/service/kpi-statistic/kpi-statistic-mutation.js.map +1 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-query.d.ts +5 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-query.js +92 -1
- package/dist-server/service/kpi-statistic/kpi-statistic-query.js.map +1 -1
- package/dist-server/service/kpi-statistic/kpi-statistic.d.ts +4 -0
- package/dist-server/service/kpi-statistic/kpi-statistic.js +33 -0
- package/dist-server/service/kpi-statistic/kpi-statistic.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value-mutation.js +71 -7
- package/dist-server/service/kpi-value/kpi-value-mutation.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value-type.d.ts +4 -2
- package/dist-server/service/kpi-value/kpi-value-type.js +12 -4
- package/dist-server/service/kpi-value/kpi-value-type.js.map +1 -1
- package/dist-server/service/kpi-value/kpi-value.d.ts +3 -1
- package/dist-server/service/kpi-value/kpi-value.js +11 -5
- package/dist-server/service/kpi-value/kpi-value.js.map +1 -1
- package/dist-server/service/utils/value-date-util.d.ts +1 -0
- package/dist-server/service/utils/value-date-util.js +41 -0
- package/dist-server/service/utils/value-date-util.js.map +1 -1
- package/dist-server/tsconfig.json +10 -0
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +7 -6
- package/server/@types/index.d.ts +11 -0
- package/server/controllers/kpi-metric-value-provider.ts +5 -5
- package/server/controllers/kpi-value-provider.ts +4 -4
- package/server/migrations/1752190849680-seed-kpi-metrics.ts +124 -0
- package/server/migrations/1752190849681-seed-kpi.ts +356 -0
- package/server/migrations/1752192090123-add-grades-to-kpi.ts +67 -0
- package/server/migrations/1752192090124-add-kpi-statistics.ts +719 -0
- package/server/migrations/1752192090128-seed-kpi-org-scope.ts +132 -0
- package/server/migrations/1752192090129-seed-kpi-values.ts +207 -0
- package/server/migrations/grade-data/x11-performance-table.json +962 -0
- package/server/migrations/grade-data/x12-performance-table.json +611 -0
- package/server/migrations/grade-data/x14-performance-table.json +42 -0
- package/server/migrations/grade-data/x21-performance-table.json +889 -0
- package/server/migrations/grade-data/x22-performance-table.json +1064 -0
- package/server/migrations/grade-data/x23-performance-table.json +42 -0
- package/server/migrations/grade-data/x31-performance-table.json +644 -0
- package/server/migrations/grade-data/x32-performance-table.json +993 -0
- package/server/migrations/grade-data/x33-performance-table.json +195 -0
- package/server/migrations/grade-data/x34-performance-table.json +12 -0
- package/server/migrations/grade-data/x35-performance-table.json +42 -0
- package/server/migrations/grade-data/x41-performance-table.json +825 -0
- package/server/migrations/grade-data/x42-performance-table.json +786 -0
- package/server/migrations/grade-data/x43-performance-table.json +12 -0
- package/server/migrations/grade-data/x44-performance-table.json +42 -0
- package/server/migrations/grade-data/x51-performance-table.json +924 -0
- package/server/migrations/grade-data/x52-performance-table.json +42 -0
- package/server/migrations/grade-data/x61-performance-table.json +261 -0
- package/server/migrations/grade-data/x62-performance-table.json +42 -0
- package/server/migrations/seed-data/kpi-metrics-seed.json +454 -0
- package/server/migrations/seed-data/kpi-org-scope-seed.json +1676 -0
- package/server/migrations/seed-data/kpi-scopes-seed.json +121 -0
- package/server/migrations/seed-data/kpi-values-seed.json +402 -0
- package/server/migrations/seed-data/kpis-seed.json +488 -0
- package/server/migrations/seed-data/scope-definitions-seed.json +90 -0
- package/server/service/index.ts +10 -13
- package/server/service/kpi/aggregate-kpi.ts +31 -13
- package/server/service/kpi/kpi-formula.service.ts +101 -0
- package/server/service/kpi/kpi-history.ts +0 -8
- package/server/service/kpi/kpi-mutation.ts +59 -19
- package/server/service/kpi/kpi-query.ts +119 -8
- package/server/service/kpi/kpi-type.ts +10 -4
- package/server/service/kpi/kpi.ts +17 -7
- package/server/service/kpi-metric/aggregate-kpi-metric.ts +55 -11
- package/server/service/kpi-metric-value/kpi-metric-value-mutation.ts +6 -6
- package/server/service/kpi-metric-value/kpi-metric-value-type.ts +4 -4
- package/server/service/kpi-metric-value/kpi-metric-value.ts +3 -3
- package/server/service/kpi-org-scope/index.ts +6 -0
- package/server/service/kpi-org-scope/kpi-org-scope-mutation.ts +173 -0
- package/server/service/kpi-org-scope/kpi-org-scope-query.ts +127 -0
- package/server/service/kpi-org-scope/kpi-org-scope-type.ts +68 -0
- package/server/service/kpi-org-scope/kpi-org-scope.ts +123 -0
- package/server/service/kpi-scope/index.ts +11 -0
- package/server/service/kpi-scope/kpi-scope-mutation.ts +129 -0
- package/server/service/kpi-scope/kpi-scope-query.ts +63 -0
- package/server/service/kpi-scope/kpi-scope-type.ts +96 -0
- package/server/service/kpi-scope/kpi-scope.ts +143 -0
- package/server/service/kpi-statistic/kpi-statistic-batch.service.ts +231 -0
- package/server/service/kpi-statistic/kpi-statistic-calculation.service.ts +410 -0
- package/server/service/kpi-statistic/kpi-statistic-mutation.ts +97 -0
- package/server/service/kpi-statistic/kpi-statistic-query.ts +89 -2
- package/server/service/kpi-statistic/kpi-statistic.ts +32 -0
- package/server/service/kpi-value/kpi-value-mutation.ts +73 -7
- package/server/service/kpi-value/kpi-value-type.ts +10 -4
- package/server/service/kpi-value/kpi-value.ts +10 -5
- package/server/service/utils/value-date-util.ts +47 -0
- package/server/types/global.d.ts +8 -0
- package/things-factory.config.js +1 -0
- package/translations/en.json +15 -3
- package/translations/ja.json +13 -3
- package/translations/ko.json +15 -3
- package/translations/ms.json +13 -3
- package/translations/zh.json +13 -3
- package/client/pages/kpi-category/kpi-category-importer.ts +0 -90
- package/client/pages/kpi-category/kpi-category-list-page.ts +0 -537
- package/client/pages/kpi-category/kpi-category-value-calculator.ts +0 -233
- package/client/pages/kpi-category-value/kpi-category-value-list-page.ts +0 -404
- package/dist-client/pages/kpi-category/kpi-category-importer.d.ts +0 -23
- package/dist-client/pages/kpi-category/kpi-category-importer.js +0 -92
- package/dist-client/pages/kpi-category/kpi-category-importer.js.map +0 -1
- package/dist-client/pages/kpi-category/kpi-category-list-page.d.ts +0 -74
- package/dist-client/pages/kpi-category/kpi-category-list-page.js +0 -517
- package/dist-client/pages/kpi-category/kpi-category-list-page.js.map +0 -1
- package/dist-client/pages/kpi-category/kpi-category-value-calculator.d.ts +0 -13
- package/dist-client/pages/kpi-category/kpi-category-value-calculator.js +0 -256
- package/dist-client/pages/kpi-category/kpi-category-value-calculator.js.map +0 -1
- package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.d.ts +0 -63
- package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.js +0 -393
- package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.js.map +0 -1
- package/dist-server/service/kpi-category/index.d.ts +0 -6
- package/dist-server/service/kpi-category/index.js +0 -10
- package/dist-server/service/kpi-category/index.js.map +0 -1
- package/dist-server/service/kpi-category/kpi-category-mutation.d.ts +0 -9
- package/dist-server/service/kpi-category/kpi-category-mutation.js +0 -221
- package/dist-server/service/kpi-category/kpi-category-mutation.js.map +0 -1
- package/dist-server/service/kpi-category/kpi-category-query.d.ts +0 -18
- package/dist-server/service/kpi-category/kpi-category-query.js +0 -115
- package/dist-server/service/kpi-category/kpi-category-query.js.map +0 -1
- package/dist-server/service/kpi-category/kpi-category-type.d.ts +0 -24
- package/dist-server/service/kpi-category/kpi-category-type.js +0 -100
- package/dist-server/service/kpi-category/kpi-category-type.js.map +0 -1
- package/dist-server/service/kpi-category/kpi-category.d.ts +0 -22
- package/dist-server/service/kpi-category/kpi-category.js +0 -106
- package/dist-server/service/kpi-category/kpi-category.js.map +0 -1
- package/dist-server/service/kpi-category-value/index.d.ts +0 -6
- package/dist-server/service/kpi-category-value/index.js +0 -10
- package/dist-server/service/kpi-category-value/index.js.map +0 -1
- package/dist-server/service/kpi-category-value/kpi-category-value-mutation.d.ts +0 -8
- package/dist-server/service/kpi-category-value/kpi-category-value-mutation.js +0 -102
- package/dist-server/service/kpi-category-value/kpi-category-value-mutation.js.map +0 -1
- package/dist-server/service/kpi-category-value/kpi-category-value-query.d.ts +0 -13
- package/dist-server/service/kpi-category-value/kpi-category-value-query.js +0 -91
- package/dist-server/service/kpi-category-value/kpi-category-value-query.js.map +0 -1
- package/dist-server/service/kpi-category-value/kpi-category-value-type.d.ts +0 -19
- package/dist-server/service/kpi-category-value/kpi-category-value-type.js +0 -73
- package/dist-server/service/kpi-category-value/kpi-category-value-type.js.map +0 -1
- package/dist-server/service/kpi-category-value/kpi-category-value.d.ts +0 -19
- package/dist-server/service/kpi-category-value/kpi-category-value.js +0 -91
- package/dist-server/service/kpi-category-value/kpi-category-value.js.map +0 -1
- package/helps/kpi/kpi-category.md +0 -160
- package/server/service/kpi-category/index.ts +0 -7
- package/server/service/kpi-category/kpi-category-mutation.ts +0 -217
- package/server/service/kpi-category/kpi-category-query.ts +0 -87
- package/server/service/kpi-category/kpi-category-type.ts +0 -73
- package/server/service/kpi-category/kpi-category.ts +0 -95
- package/server/service/kpi-category-value/index.ts +0 -7
- package/server/service/kpi-category-value/kpi-category-value-mutation.ts +0 -88
- package/server/service/kpi-category-value/kpi-category-value-query.ts +0 -62
- package/server/service/kpi-category-value/kpi-category-value-type.ts +0 -48
- package/server/service/kpi-category-value/kpi-category-value.ts +0 -79
|
@@ -16,12 +16,13 @@ import { i18next, localize } from '@operato/i18n'
|
|
|
16
16
|
import { notify, openPopup } from '@operato/layout'
|
|
17
17
|
import { OxPopup, OxPrompt } from '@operato/popup'
|
|
18
18
|
import { isMobileDevice } from '@operato/utils'
|
|
19
|
+
import { p13n } from '@operato/p13n'
|
|
19
20
|
|
|
20
21
|
import { connect } from 'pwa-helpers/connect-mixin'
|
|
21
22
|
import gql from 'graphql-tag'
|
|
22
23
|
|
|
23
24
|
@customElement('kpi-metric-value-list-page')
|
|
24
|
-
export class KpiMetricValueListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
25
|
+
export class KpiMetricValueListPage extends connect(store)(p13n(localize(i18next)(ScopedElementsMixin(PageView)))) {
|
|
25
26
|
static styles = [
|
|
26
27
|
ScrollbarStyles,
|
|
27
28
|
CommonGristStyles,
|
|
@@ -90,7 +91,12 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
90
91
|
render() {
|
|
91
92
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
92
93
|
return html`
|
|
93
|
-
<ox-grist
|
|
94
|
+
<ox-grist
|
|
95
|
+
.mode=${mode}
|
|
96
|
+
.config=${this.gristConfig}
|
|
97
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
98
|
+
.personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}
|
|
99
|
+
>
|
|
94
100
|
<div slot="headroom" class="header">
|
|
95
101
|
<div class="filters">
|
|
96
102
|
<ox-filters-form autofocus without-search></ox-filters-form>
|
|
@@ -106,6 +112,8 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
106
112
|
</ox-record-creator>
|
|
107
113
|
</div>
|
|
108
114
|
</div>
|
|
115
|
+
|
|
116
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
109
117
|
</ox-grist>
|
|
110
118
|
`
|
|
111
119
|
}
|
|
@@ -113,8 +121,8 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
113
121
|
async pageInitialized() {
|
|
114
122
|
this.gristConfig = {
|
|
115
123
|
list: {
|
|
116
|
-
fields: ['metric', 'valueDate', 'value', '
|
|
117
|
-
details: ['metric', 'valueDate', 'value', '
|
|
124
|
+
fields: ['metric', 'valueDate', 'value', 'org', 'meta', 'createdAt', 'updatedAt', 'creator', 'updater'],
|
|
125
|
+
details: ['metric', 'valueDate', 'value', 'org', 'meta', 'createdAt', 'updatedAt', 'creator', 'updater']
|
|
118
126
|
},
|
|
119
127
|
columns: [
|
|
120
128
|
{ type: 'gutter', gutterName: 'sequence' },
|
|
@@ -140,7 +148,7 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
140
148
|
},
|
|
141
149
|
{ type: 'string', name: 'valueDate', header: '날짜', record: { editable: true }, width: 120 },
|
|
142
150
|
{ type: 'number', name: 'value', header: '값', record: { editable: true }, width: 120 },
|
|
143
|
-
{ type: 'string', name: '
|
|
151
|
+
{ type: 'string', name: 'org', header: '조직', record: { editable: false }, width: 120 },
|
|
144
152
|
{ type: 'object', name: 'meta', header: '메타', record: { editable: false }, width: 120 },
|
|
145
153
|
{ type: 'datetime', name: 'createdAt', header: '생성일', record: { editable: false }, width: 180 },
|
|
146
154
|
{ type: 'datetime', name: 'updatedAt', header: '수정일', record: { editable: false }, width: 180 },
|
|
@@ -189,7 +197,7 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
189
197
|
valueDate
|
|
190
198
|
value
|
|
191
199
|
meta
|
|
192
|
-
|
|
200
|
+
org
|
|
193
201
|
updater {
|
|
194
202
|
id
|
|
195
203
|
name
|
|
@@ -307,7 +315,7 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
307
315
|
|
|
308
316
|
async exportHandler() {
|
|
309
317
|
const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
|
|
310
|
-
const targetFieldSet = new Set(['id', 'metric', 'valueDate', 'value', '
|
|
318
|
+
const targetFieldSet = new Set(['id', 'metric', 'valueDate', 'value', 'org', 'meta'])
|
|
311
319
|
return exportTargets.map(metricValue => {
|
|
312
320
|
let tempObj = {}
|
|
313
321
|
for (const field of targetFieldSet) {
|
|
@@ -328,7 +336,7 @@ export class KpiMetricValueListPage extends connect(store)(localize(i18next)(Sco
|
|
|
328
336
|
.metric=${metricValue.metric}
|
|
329
337
|
.valueDate=${metricValue.valueDate}
|
|
330
338
|
.value=${metricValue.value}
|
|
331
|
-
.
|
|
339
|
+
.org=${metricValue.org}
|
|
332
340
|
.meta=${metricValue.meta ? JSON.stringify(metricValue.meta) : ''}
|
|
333
341
|
@saved=${() => {
|
|
334
342
|
this.grist.fetch()
|
|
@@ -61,7 +61,7 @@ export class KpiMetricValueManualEntryForm extends LitElement {
|
|
|
61
61
|
@property({ type: Object }) metric: any
|
|
62
62
|
@state() valueDate = new Date().toISOString().slice(0, 10)
|
|
63
63
|
@state() value = ''
|
|
64
|
-
@state()
|
|
64
|
+
@state() org = ''
|
|
65
65
|
@state() meta = ''
|
|
66
66
|
@state() loading = false
|
|
67
67
|
|
|
@@ -80,7 +80,7 @@ export class KpiMetricValueManualEntryForm extends LitElement {
|
|
|
80
80
|
</label>
|
|
81
81
|
<label>
|
|
82
82
|
그룹 (선택)
|
|
83
|
-
<input type="text" .value=${this.
|
|
83
|
+
<input type="text" .value=${this.org} @input=${e => (this.org = e.target.value)} />
|
|
84
84
|
</label>
|
|
85
85
|
<label>
|
|
86
86
|
메타정보 (선택, JSON)
|
|
@@ -111,8 +111,8 @@ export class KpiMetricValueManualEntryForm extends LitElement {
|
|
|
111
111
|
try {
|
|
112
112
|
await client.mutate({
|
|
113
113
|
mutation: gql`
|
|
114
|
-
mutation ($metricName: String!, $value: Float!, $
|
|
115
|
-
recordKpiMetricValue(metricName: $metricName, value: $value, meta: $meta,
|
|
114
|
+
mutation ($metricName: String!, $value: Float!, $org: String, $meta: Object) {
|
|
115
|
+
recordKpiMetricValue(metricName: $metricName, value: $value, meta: $meta, org: $org) {
|
|
116
116
|
id
|
|
117
117
|
}
|
|
118
118
|
}
|
|
@@ -120,7 +120,7 @@ export class KpiMetricValueManualEntryForm extends LitElement {
|
|
|
120
120
|
variables: {
|
|
121
121
|
metricName: this.metric.name,
|
|
122
122
|
value: parseFloat(this.value),
|
|
123
|
-
|
|
123
|
+
org: this.org || undefined,
|
|
124
124
|
meta: parsedMeta
|
|
125
125
|
}
|
|
126
126
|
})
|
|
@@ -15,6 +15,7 @@ import { i18next, localize } from '@operato/i18n'
|
|
|
15
15
|
import { notify, openPopup } from '@operato/layout'
|
|
16
16
|
import { OxPopup, OxPrompt } from '@operato/popup'
|
|
17
17
|
import { isMobileDevice } from '@operato/utils'
|
|
18
|
+
import { p13n } from '@operato/p13n'
|
|
18
19
|
|
|
19
20
|
import { connect } from 'pwa-helpers/connect-mixin'
|
|
20
21
|
import gql from 'graphql-tag'
|
|
@@ -22,7 +23,7 @@ import gql from 'graphql-tag'
|
|
|
22
23
|
import { KpiStatisticImporter } from './kpi-statistic-importer.js'
|
|
23
24
|
|
|
24
25
|
@customElement('kpi-statistic-list-page')
|
|
25
|
-
export class KpiStatisticListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
26
|
+
export class KpiStatisticListPage extends connect(store)(p13n(localize(i18next)(ScopedElementsMixin(PageView)))) {
|
|
26
27
|
static styles = [
|
|
27
28
|
ScrollbarStyles,
|
|
28
29
|
CommonGristStyles,
|
|
@@ -100,7 +101,12 @@ export class KpiStatisticListPage extends connect(store)(localize(i18next)(Scope
|
|
|
100
101
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
101
102
|
|
|
102
103
|
return html`
|
|
103
|
-
<ox-grist
|
|
104
|
+
<ox-grist
|
|
105
|
+
.mode=${mode}
|
|
106
|
+
.config=${this.gristConfig}
|
|
107
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
108
|
+
.personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}
|
|
109
|
+
>
|
|
104
110
|
<div slot="headroom" class="header">
|
|
105
111
|
<div class="filters">
|
|
106
112
|
<ox-filters-form autofocus without-search></ox-filters-form>
|
|
@@ -118,6 +124,8 @@ export class KpiStatisticListPage extends connect(store)(localize(i18next)(Scope
|
|
|
118
124
|
</ox-record-creator>
|
|
119
125
|
</div>
|
|
120
126
|
</div>
|
|
127
|
+
|
|
128
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
121
129
|
</ox-grist>
|
|
122
130
|
`
|
|
123
131
|
}
|
|
@@ -210,7 +210,8 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
210
210
|
`
|
|
211
211
|
]
|
|
212
212
|
|
|
213
|
-
@property({ type: String })
|
|
213
|
+
@property({ type: String }) kpiOrgScopeId: string = ''
|
|
214
|
+
@property({ type: String }) org: string = '' // legacy support
|
|
214
215
|
@property({ type: String }) startDate: string = ''
|
|
215
216
|
@property({ type: String }) endDate: string = ''
|
|
216
217
|
|
|
@@ -263,8 +264,8 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
263
264
|
<div class="controls">
|
|
264
265
|
<md-outlined-text-field
|
|
265
266
|
label="그룹"
|
|
266
|
-
.value=${this.
|
|
267
|
-
@input=${(e: any) => (this.
|
|
267
|
+
.value=${this.org}
|
|
268
|
+
@input=${(e: any) => (this.org = e.target.value)}
|
|
268
269
|
style="width: 150px;"
|
|
269
270
|
></md-outlined-text-field>
|
|
270
271
|
|
|
@@ -591,7 +592,10 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
591
592
|
valueDate
|
|
592
593
|
value
|
|
593
594
|
score
|
|
594
|
-
|
|
595
|
+
kpiOrgScope {
|
|
596
|
+
id
|
|
597
|
+
org
|
|
598
|
+
}
|
|
595
599
|
}
|
|
596
600
|
total
|
|
597
601
|
}
|
|
@@ -599,7 +603,7 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
599
603
|
`,
|
|
600
604
|
variables: {
|
|
601
605
|
filters: [
|
|
602
|
-
...(this.
|
|
606
|
+
...(this.org ? [{ name: 'org', operator: 'eq', value: this.org }] : []),
|
|
603
607
|
{ name: 'valueDate', operator: 'between', value: [this.startDate, this.endDate] }
|
|
604
608
|
]
|
|
605
609
|
}
|
|
@@ -688,7 +692,7 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
688
692
|
patches.push({
|
|
689
693
|
id: existingValue.id,
|
|
690
694
|
value: data.value,
|
|
691
|
-
|
|
695
|
+
org: this.org,
|
|
692
696
|
cuFlag: 'M'
|
|
693
697
|
})
|
|
694
698
|
} else {
|
|
@@ -697,7 +701,7 @@ export class KpiValueEditorPage extends connect(store)(localize(i18next)(ScopedE
|
|
|
697
701
|
kpiId: kpi.kpiId,
|
|
698
702
|
valueDate: date,
|
|
699
703
|
value: data.value,
|
|
700
|
-
|
|
704
|
+
org: this.org,
|
|
701
705
|
cuFlag: '+'
|
|
702
706
|
})
|
|
703
707
|
}
|
|
@@ -15,6 +15,7 @@ import { i18next, localize } from '@operato/i18n'
|
|
|
15
15
|
import { notify, openPopup } from '@operato/layout'
|
|
16
16
|
import { OxPopup, OxPrompt } from '@operato/popup'
|
|
17
17
|
import { isMobileDevice } from '@operato/utils'
|
|
18
|
+
import { p13n } from '@operato/p13n'
|
|
18
19
|
|
|
19
20
|
import { connect } from 'pwa-helpers/connect-mixin'
|
|
20
21
|
import gql from 'graphql-tag'
|
|
@@ -22,7 +23,7 @@ import gql from 'graphql-tag'
|
|
|
22
23
|
import { KpiValueImporter } from './kpi-value-importer'
|
|
23
24
|
|
|
24
25
|
@customElement('kpi-value-list-page')
|
|
25
|
-
export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
|
|
26
|
+
export class KpiValueListPage extends connect(store)(p13n(localize(i18next)(ScopedElementsMixin(PageView)))) {
|
|
26
27
|
static styles = [
|
|
27
28
|
ScrollbarStyles,
|
|
28
29
|
CommonGristStyles,
|
|
@@ -106,7 +107,12 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
106
107
|
const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
|
|
107
108
|
|
|
108
109
|
return html`
|
|
109
|
-
<ox-grist
|
|
110
|
+
<ox-grist
|
|
111
|
+
.mode=${mode}
|
|
112
|
+
.config=${this.gristConfig}
|
|
113
|
+
.fetchHandler=${this.fetchHandler.bind(this)}
|
|
114
|
+
.personalConfigProvider=${this.getPagePreferenceProvider('ox-grist')!}
|
|
115
|
+
>
|
|
110
116
|
<div slot="headroom" class="header">
|
|
111
117
|
<div class="filters">
|
|
112
118
|
<ox-filters-form autofocus without-search></ox-filters-form>
|
|
@@ -124,6 +130,8 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
124
130
|
</ox-record-creator>
|
|
125
131
|
</div>
|
|
126
132
|
</div>
|
|
133
|
+
|
|
134
|
+
<ox-grist-personalizer slot="setting"></ox-grist-personalizer>
|
|
127
135
|
</ox-grist>
|
|
128
136
|
`
|
|
129
137
|
}
|
|
@@ -137,7 +145,7 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
137
145
|
'valueDate',
|
|
138
146
|
'value',
|
|
139
147
|
'score',
|
|
140
|
-
'
|
|
148
|
+
'kpiOrgScope',
|
|
141
149
|
'inputType',
|
|
142
150
|
'source',
|
|
143
151
|
'meta',
|
|
@@ -152,7 +160,7 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
152
160
|
'valueDate',
|
|
153
161
|
'value',
|
|
154
162
|
'score',
|
|
155
|
-
'
|
|
163
|
+
'kpiOrgScope',
|
|
156
164
|
'inputType',
|
|
157
165
|
'source',
|
|
158
166
|
'meta',
|
|
@@ -188,7 +196,16 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
188
196
|
{ type: 'string', name: 'valueDate', header: '실적일', record: { editable: true }, width: 120 },
|
|
189
197
|
{ type: 'number', name: 'value', header: '실적값', record: { editable: true }, width: 120 },
|
|
190
198
|
{ type: 'number', name: 'score', header: '성과점수', record: { editable: false }, width: 120 },
|
|
191
|
-
{
|
|
199
|
+
{
|
|
200
|
+
type: 'string',
|
|
201
|
+
name: 'kpiOrgScope',
|
|
202
|
+
header: '조직',
|
|
203
|
+
record: { editable: false },
|
|
204
|
+
width: 120,
|
|
205
|
+
renderer: (value, column, record, rowIndex, field) => {
|
|
206
|
+
return value?.entityName || value?.org || ''
|
|
207
|
+
}
|
|
208
|
+
},
|
|
192
209
|
{ type: 'string', name: 'inputType', header: '입력방식', record: { editable: false }, width: 100 },
|
|
193
210
|
{ type: 'string', name: 'source', header: '수집출처', record: { editable: false }, width: 120 },
|
|
194
211
|
{ type: 'object', name: 'meta', header: '메타', record: { editable: false }, width: 120 },
|
|
@@ -243,7 +260,10 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
243
260
|
inputType
|
|
244
261
|
source
|
|
245
262
|
meta
|
|
246
|
-
|
|
263
|
+
kpiOrgScope {
|
|
264
|
+
id
|
|
265
|
+
org
|
|
266
|
+
}
|
|
247
267
|
updater {
|
|
248
268
|
id
|
|
249
269
|
name
|
|
@@ -362,7 +382,11 @@ export class KpiValueListPage extends connect(store)(localize(i18next)(ScopedEle
|
|
|
362
382
|
value
|
|
363
383
|
score
|
|
364
384
|
valueDate
|
|
365
|
-
|
|
385
|
+
kpiOrgScope {
|
|
386
|
+
id
|
|
387
|
+
entityName
|
|
388
|
+
org
|
|
389
|
+
}
|
|
366
390
|
}
|
|
367
391
|
}
|
|
368
392
|
`,
|
package/client/route.ts
CHANGED
|
@@ -12,17 +12,10 @@ export default function route(page: string) {
|
|
|
12
12
|
import('./pages/kpi/kpi-list-page')
|
|
13
13
|
return page
|
|
14
14
|
|
|
15
|
-
case 'kpi-
|
|
16
|
-
import('./pages/kpi
|
|
15
|
+
case 'kpi-tree':
|
|
16
|
+
import('./pages/kpi/kpi-tree-page')
|
|
17
17
|
return page
|
|
18
18
|
|
|
19
|
-
case 'kpi-category-list':
|
|
20
|
-
import('./pages/kpi-category/kpi-category-list-page')
|
|
21
|
-
return page
|
|
22
|
-
|
|
23
|
-
case 'kpi-category-value-list':
|
|
24
|
-
import('./pages/kpi-category-value/kpi-category-value-list-page')
|
|
25
|
-
return page
|
|
26
19
|
|
|
27
20
|
case 'kpi-metric-list':
|
|
28
21
|
import('./pages/kpi-metric/kpi-metric-list-page')
|
package/design-entities.md
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
|
|
2
1
|
# KPI 모듈 엔티티 설계
|
|
3
2
|
|
|
4
3
|
## 1. KPI (핵심성과지표)
|
|
4
|
+
|
|
5
5
|
- **id**: string (PK)
|
|
6
6
|
- **name**: string (지표명)
|
|
7
7
|
- **code**: string (지표코드, unique)
|
|
8
8
|
- **description**: string (설명)
|
|
9
|
-
- **categoryId**: string (FK, KPI 카테고리)
|
|
10
9
|
- **unit**: string (단위)
|
|
11
10
|
- **formula**: string (산식)
|
|
12
11
|
- **targetValue**: number (목표값)
|
|
@@ -16,13 +15,8 @@
|
|
|
16
15
|
- **createdAt**: datetime
|
|
17
16
|
- **updatedAt**: datetime
|
|
18
17
|
|
|
19
|
-
## 2. KPI_CATEGORY (지표 분류)
|
|
20
|
-
- **id**: string (PK)
|
|
21
|
-
- **name**: string (분류명)
|
|
22
|
-
- **description**: string
|
|
23
|
-
- **parentId**: string (FK, 상위 분류)
|
|
24
|
-
|
|
25
18
|
## 3. KPI_VALUE (지표 실적값)
|
|
19
|
+
|
|
26
20
|
- **id**: string (PK)
|
|
27
21
|
- **kpiId**: string (FK, KPI)
|
|
28
22
|
- **date**: date (실적 기준일)
|
|
@@ -32,13 +26,14 @@
|
|
|
32
26
|
- **createdAt**: datetime
|
|
33
27
|
|
|
34
28
|
## 4. KPI_OWNER (담당자/조직)
|
|
29
|
+
|
|
35
30
|
- **id**: string (PK)
|
|
36
31
|
- **name**: string (이름/조직명)
|
|
37
32
|
- **type**: enum('USER', 'DEPT')
|
|
38
33
|
- **email**: string
|
|
39
34
|
|
|
40
|
-
|
|
41
35
|
## 5. KPI_HISTORY (변경이력)
|
|
36
|
+
|
|
42
37
|
- **id**: string (PK)
|
|
43
38
|
- **kpiId**: string (FK, KPI)
|
|
44
39
|
- **changedAt**: datetime
|
|
@@ -48,6 +43,7 @@
|
|
|
48
43
|
- **newValue**: string
|
|
49
44
|
|
|
50
45
|
## 6. METRIC (측정지표)
|
|
46
|
+
|
|
51
47
|
- **id**: string (PK)
|
|
52
48
|
- **name**: string (지표명)
|
|
53
49
|
- **code**: string (지표코드, unique)
|
|
@@ -57,14 +53,15 @@
|
|
|
57
53
|
- **createdAt**: datetime
|
|
58
54
|
- **updatedAt**: datetime
|
|
59
55
|
|
|
60
|
-
|
|
61
56
|
## 7. KPI_METRIC_MAP (KPI-메트릭 매핑)
|
|
57
|
+
|
|
62
58
|
- **id**: string (PK)
|
|
63
59
|
- **kpiId**: string (FK, KPI)
|
|
64
60
|
- **metricId**: string (FK, METRIC)
|
|
65
61
|
- **order**: number (산식 내 사용 순서/우선순위)
|
|
66
62
|
|
|
67
63
|
## 8. KPI_GRADE (KPI별 등급/구간)
|
|
64
|
+
|
|
68
65
|
- **id**: string (PK)
|
|
69
66
|
- **kpiId**: string (FK, KPI)
|
|
70
67
|
- **grade**: string (등급명, 예: A, B, C, D)
|
|
@@ -79,10 +76,8 @@
|
|
|
79
76
|
## 엔티티 간 릴레이션
|
|
80
77
|
|
|
81
78
|
- **KPI** 1 --- N **KPI_VALUE** (한 KPI에 여러 실적값)
|
|
82
|
-
- **KPI** N --- 1 **KPI_CATEGORY** (여러 KPI가 한 분류에 속함)
|
|
83
79
|
- **KPI** N --- 1 **KPI_OWNER** (여러 KPI가 한 담당자/조직에 속함)
|
|
84
80
|
- **KPI** 1 --- N **KPI_HISTORY** (한 KPI에 여러 변경이력)
|
|
85
|
-
- **KPI_CATEGORY** N --- 1 **KPI_CATEGORY** (상위-하위 분류 구조)
|
|
86
81
|
- **KPI** N --- M **METRIC** (KPI와 Metric은 N:M, KPI_METRIC_MAP으로 연결)
|
|
87
82
|
|
|
88
83
|
- **KPI** 1 --- N **KPI_GRADE** (한 KPI에 여러 등급/구간)
|
|
@@ -90,6 +85,7 @@
|
|
|
90
85
|
---
|
|
91
86
|
|
|
92
87
|
## 확장 고려사항
|
|
88
|
+
|
|
93
89
|
- KPI별 첨부파일, 알림설정, 외부연계정보 등은 추후 별도 엔티티로 확장 가능
|
|
94
90
|
|
|
95
91
|
---
|
|
@@ -10,6 +10,7 @@ export declare class KpiBoxplotChart extends LitElement {
|
|
|
10
10
|
q3Key: string;
|
|
11
11
|
valueKey: string;
|
|
12
12
|
currentGroup: string;
|
|
13
|
+
independentScale: boolean;
|
|
13
14
|
static styles: import("lit").CSSResult;
|
|
14
15
|
private chartWidth;
|
|
15
16
|
private chartHeight;
|
|
@@ -18,5 +19,6 @@ export declare class KpiBoxplotChart extends LitElement {
|
|
|
18
19
|
connectedCallback(): void;
|
|
19
20
|
disconnectedCallback(): void;
|
|
20
21
|
updated(): void;
|
|
22
|
+
private getOrgValue;
|
|
21
23
|
drawBoxplot(): void;
|
|
22
24
|
}
|