@things-factory/kpi 9.0.30 → 9.0.32

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.
Files changed (347) hide show
  1. package/README.md +1 -2
  2. package/client/charts/kpi-boxplot-chart.ts +182 -42
  3. package/client/charts/kpi-mini-trend-chart.ts +125 -0
  4. package/client/charts/kpi-radar-chart.ts +9 -9
  5. package/client/charts/kpi-trend-chart.ts +163 -0
  6. package/client/google-map/common-google-map.ts +45 -7
  7. package/client/google-map/google-map-loader.ts +1 -1
  8. package/client/pages/kpi/kpi-list-page.ts +196 -32
  9. package/client/pages/kpi/kpi-overview.ts +9 -11
  10. package/client/pages/kpi/kpi-tree-page.ts +409 -0
  11. package/client/pages/kpi/kpi-view.ts +187 -0
  12. package/client/pages/kpi-dashboard/cards/kpi-level1-card.ts +1 -1
  13. package/client/pages/kpi-dashboard/cards/kpi-level2-comparison.ts +1 -1
  14. package/client/pages/kpi-dashboard/cards/kpi-level3-comparison.ts +1 -1
  15. package/client/pages/kpi-dashboard/components/kpi-chart-toggle.ts +1 -2
  16. package/client/pages/kpi-dashboard/components/kpi-left-panel.ts +437 -0
  17. package/client/pages/kpi-dashboard/components/kpi-map-panel.ts +243 -30
  18. package/client/pages/kpi-dashboard/components/kpi-region-popup.ts +356 -0
  19. package/client/pages/kpi-dashboard/kpi-dashboard-map.ts +50 -592
  20. package/client/pages/kpi-dashboard/kpi-dashboard.ts +28 -30
  21. package/client/pages/kpi-history/kpi-history-list-page.ts +11 -11
  22. package/client/pages/kpi-metric/kpi-metric-list-page.ts +10 -2
  23. package/client/pages/kpi-metric-value/kpi-metric-value-editor-page.ts +7 -7
  24. package/client/pages/kpi-metric-value/kpi-metric-value-importer.ts +2 -2
  25. package/client/pages/kpi-metric-value/kpi-metric-value-list-page.ts +16 -8
  26. package/client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.ts +5 -5
  27. package/client/pages/kpi-statistic/kpi-statistic-editor-page.ts +1 -2
  28. package/client/pages/kpi-statistic/kpi-statistic-list-page.ts +10 -2
  29. package/client/pages/kpi-value/kpi-value-editor-page.ts +11 -7
  30. package/client/pages/kpi-value/kpi-value-list-page.ts +31 -7
  31. package/client/route.ts +2 -9
  32. package/design-entities.md +8 -12
  33. package/dist-client/charts/kpi-boxplot-chart.d.ts +2 -0
  34. package/dist-client/charts/kpi-boxplot-chart.js +168 -42
  35. package/dist-client/charts/kpi-boxplot-chart.js.map +1 -1
  36. package/dist-client/charts/kpi-mini-trend-chart.d.ts +14 -0
  37. package/dist-client/charts/kpi-mini-trend-chart.js +148 -0
  38. package/dist-client/charts/kpi-mini-trend-chart.js.map +1 -0
  39. package/dist-client/charts/kpi-radar-chart.js +9 -9
  40. package/dist-client/charts/kpi-radar-chart.js.map +1 -1
  41. package/dist-client/charts/kpi-trend-chart.d.ts +25 -0
  42. package/dist-client/charts/kpi-trend-chart.js +186 -0
  43. package/dist-client/charts/kpi-trend-chart.js.map +1 -0
  44. package/dist-client/google-map/common-google-map.js +40 -7
  45. package/dist-client/google-map/common-google-map.js.map +1 -1
  46. package/dist-client/google-map/google-map-loader.js +1 -1
  47. package/dist-client/google-map/google-map-loader.js.map +1 -1
  48. package/dist-client/pages/kpi/kpi-list-page.d.ts +19 -3
  49. package/dist-client/pages/kpi/kpi-list-page.js +188 -32
  50. package/dist-client/pages/kpi/kpi-list-page.js.map +1 -1
  51. package/dist-client/pages/kpi/kpi-overview.js +9 -11
  52. package/dist-client/pages/kpi/kpi-overview.js.map +1 -1
  53. package/dist-client/pages/kpi/kpi-tree-page.d.ts +59 -0
  54. package/dist-client/pages/kpi/kpi-tree-page.js +403 -0
  55. package/dist-client/pages/kpi/kpi-tree-page.js.map +1 -0
  56. package/dist-client/pages/kpi/kpi-view.d.ts +12 -0
  57. package/dist-client/pages/kpi/kpi-view.js +191 -0
  58. package/dist-client/pages/kpi/kpi-view.js.map +1 -0
  59. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +1 -1
  60. package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -1
  61. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +1 -1
  62. package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -1
  63. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +1 -1
  64. package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js.map +1 -1
  65. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js +1 -2
  66. package/dist-client/pages/kpi-dashboard/components/kpi-chart-toggle.js.map +1 -1
  67. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.d.ts +24 -0
  68. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +440 -0
  69. package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js.map +1 -0
  70. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.d.ts +11 -1
  71. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +243 -22
  72. package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -1
  73. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +23 -0
  74. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +369 -0
  75. package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js.map +1 -0
  76. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.d.ts +6 -15
  77. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +47 -588
  78. package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -1
  79. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +28 -30
  80. package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -1
  81. package/dist-client/pages/kpi-history/kpi-history-list-page.d.ts +6 -1
  82. package/dist-client/pages/kpi-history/kpi-history-list-page.js +11 -11
  83. package/dist-client/pages/kpi-history/kpi-history-list-page.js.map +1 -1
  84. package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +5 -0
  85. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +10 -2
  86. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -1
  87. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +1 -1
  88. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +8 -8
  89. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -1
  90. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js +2 -2
  91. package/dist-client/pages/kpi-metric-value/kpi-metric-value-importer.js.map +1 -1
  92. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +5 -0
  93. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +16 -8
  94. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -1
  95. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.d.ts +1 -1
  96. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js +6 -6
  97. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-form.js.map +1 -1
  98. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +1 -2
  99. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +1 -1
  100. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +5 -0
  101. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +10 -2
  102. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +1 -1
  103. package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +2 -1
  104. package/dist-client/pages/kpi-value/kpi-value-editor-page.js +16 -8
  105. package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +1 -1
  106. package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +5 -0
  107. package/dist-client/pages/kpi-value/kpi-value-list-page.js +31 -7
  108. package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
  109. package/dist-client/route.d.ts +1 -1
  110. package/dist-client/route.js +2 -8
  111. package/dist-client/route.js.map +1 -1
  112. package/dist-client/tsconfig.tsbuildinfo +1 -1
  113. package/dist-server/controllers/kpi-metric-value-provider.d.ts +1 -1
  114. package/dist-server/controllers/kpi-metric-value-provider.js +4 -4
  115. package/dist-server/controllers/kpi-metric-value-provider.js.map +1 -1
  116. package/dist-server/controllers/kpi-value-provider.d.ts +1 -1
  117. package/dist-server/controllers/kpi-value-provider.js +3 -3
  118. package/dist-server/controllers/kpi-value-provider.js.map +1 -1
  119. package/dist-server/migrations/1752190849680-seed-kpi-metrics.d.ts +6 -0
  120. package/dist-server/migrations/1752190849680-seed-kpi-metrics.js +101 -0
  121. package/dist-server/migrations/1752190849680-seed-kpi-metrics.js.map +1 -0
  122. package/dist-server/migrations/1752190849681-seed-kpi.d.ts +5 -0
  123. package/dist-server/migrations/1752190849681-seed-kpi.js +315 -0
  124. package/dist-server/migrations/1752190849681-seed-kpi.js.map +1 -0
  125. package/dist-server/migrations/1752192090123-add-grades-to-kpi.d.ts +7 -0
  126. package/dist-server/migrations/1752192090123-add-grades-to-kpi.js +51 -0
  127. package/dist-server/migrations/1752192090123-add-grades-to-kpi.js.map +1 -0
  128. package/dist-server/migrations/1752192090124-add-kpi-statistics.d.ts +5 -0
  129. package/dist-server/migrations/1752192090124-add-kpi-statistics.js +710 -0
  130. package/dist-server/migrations/1752192090124-add-kpi-statistics.js.map +1 -0
  131. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.d.ts +6 -0
  132. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js +111 -0
  133. package/dist-server/migrations/1752192090128-seed-kpi-org-scope.js.map +1 -0
  134. package/dist-server/migrations/1752192090129-seed-kpi-values.d.ts +6 -0
  135. package/dist-server/migrations/1752192090129-seed-kpi-values.js +187 -0
  136. package/dist-server/migrations/1752192090129-seed-kpi-values.js.map +1 -0
  137. package/dist-server/migrations/grade-data/x11-performance-table.json +962 -0
  138. package/dist-server/migrations/grade-data/x12-performance-table.json +611 -0
  139. package/dist-server/migrations/grade-data/x14-performance-table.json +42 -0
  140. package/dist-server/migrations/grade-data/x21-performance-table.json +889 -0
  141. package/dist-server/migrations/grade-data/x22-performance-table.json +1064 -0
  142. package/dist-server/migrations/grade-data/x23-performance-table.json +42 -0
  143. package/dist-server/migrations/grade-data/x31-performance-table.json +644 -0
  144. package/dist-server/migrations/grade-data/x32-performance-table.json +993 -0
  145. package/dist-server/migrations/grade-data/x33-performance-table.json +195 -0
  146. package/dist-server/migrations/grade-data/x34-performance-table.json +12 -0
  147. package/dist-server/migrations/grade-data/x35-performance-table.json +42 -0
  148. package/dist-server/migrations/grade-data/x41-performance-table.json +825 -0
  149. package/dist-server/migrations/grade-data/x42-performance-table.json +786 -0
  150. package/dist-server/migrations/grade-data/x43-performance-table.json +12 -0
  151. package/dist-server/migrations/grade-data/x44-performance-table.json +42 -0
  152. package/dist-server/migrations/grade-data/x51-performance-table.json +924 -0
  153. package/dist-server/migrations/grade-data/x52-performance-table.json +42 -0
  154. package/dist-server/migrations/grade-data/x61-performance-table.json +261 -0
  155. package/dist-server/migrations/grade-data/x62-performance-table.json +42 -0
  156. package/dist-server/migrations/seed-data/kpi-metrics-seed.json +454 -0
  157. package/dist-server/migrations/seed-data/kpi-org-scope-seed.json +1676 -0
  158. package/dist-server/migrations/seed-data/kpi-values-seed.json +402 -0
  159. package/dist-server/migrations/seed-data/kpis-seed.json +488 -0
  160. package/dist-server/service/index.d.ts +3 -7
  161. package/dist-server/service/index.js +5 -12
  162. package/dist-server/service/index.js.map +1 -1
  163. package/dist-server/service/kpi/aggregate-kpi.js +30 -13
  164. package/dist-server/service/kpi/aggregate-kpi.js.map +1 -1
  165. package/dist-server/service/kpi/kpi-formula.service.d.ts +15 -0
  166. package/dist-server/service/kpi/kpi-formula.service.js +90 -0
  167. package/dist-server/service/kpi/kpi-formula.service.js.map +1 -1
  168. package/dist-server/service/kpi/kpi-history.d.ts +0 -3
  169. package/dist-server/service/kpi/kpi-history.js +0 -10
  170. package/dist-server/service/kpi/kpi-history.js.map +1 -1
  171. package/dist-server/service/kpi/kpi-mutation.d.ts +1 -1
  172. package/dist-server/service/kpi/kpi-mutation.js +57 -20
  173. package/dist-server/service/kpi/kpi-mutation.js.map +1 -1
  174. package/dist-server/service/kpi/kpi-query.d.ts +7 -3
  175. package/dist-server/service/kpi/kpi-query.js +126 -10
  176. package/dist-server/service/kpi/kpi-query.js.map +1 -1
  177. package/dist-server/service/kpi/kpi-type.d.ts +4 -2
  178. package/dist-server/service/kpi/kpi-type.js +12 -4
  179. package/dist-server/service/kpi/kpi-type.js.map +1 -1
  180. package/dist-server/service/kpi/kpi.d.ts +4 -3
  181. package/dist-server/service/kpi/kpi.js +20 -8
  182. package/dist-server/service/kpi/kpi.js.map +1 -1
  183. package/dist-server/service/kpi-metric/aggregate-kpi-metric.js +46 -11
  184. package/dist-server/service/kpi-metric/aggregate-kpi-metric.js.map +1 -1
  185. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +1 -1
  186. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +6 -6
  187. package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -1
  188. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.d.ts +2 -2
  189. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js +4 -4
  190. package/dist-server/service/kpi-metric-value/kpi-metric-value-type.js.map +1 -1
  191. package/dist-server/service/kpi-metric-value/kpi-metric-value.d.ts +1 -1
  192. package/dist-server/service/kpi-metric-value/kpi-metric-value.js +3 -3
  193. package/dist-server/service/kpi-metric-value/kpi-metric-value.js.map +1 -1
  194. package/dist-server/service/kpi-org-scope/index.d.ts +9 -0
  195. package/dist-server/service/kpi-org-scope/index.js +14 -0
  196. package/dist-server/service/kpi-org-scope/index.js.map +1 -0
  197. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.d.ts +8 -0
  198. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js +170 -0
  199. package/dist-server/service/kpi-org-scope/kpi-org-scope-mutation.js.map +1 -0
  200. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.d.ts +14 -0
  201. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js +152 -0
  202. package/dist-server/service/kpi-org-scope/kpi-org-scope-query.js.map +1 -0
  203. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.d.ts +26 -0
  204. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js +101 -0
  205. package/dist-server/service/kpi-org-scope/kpi-org-scope-type.js.map +1 -0
  206. package/dist-server/service/kpi-org-scope/kpi-org-scope.d.ts +26 -0
  207. package/dist-server/service/kpi-org-scope/kpi-org-scope.js +135 -0
  208. package/dist-server/service/kpi-org-scope/kpi-org-scope.js.map +1 -0
  209. package/dist-server/service/kpi-statistic/kpi-statistic.d.ts +1 -0
  210. package/dist-server/service/kpi-statistic/kpi-statistic.js +11 -0
  211. package/dist-server/service/kpi-statistic/kpi-statistic.js.map +1 -1
  212. package/dist-server/service/kpi-value/kpi-value-mutation.js +71 -7
  213. package/dist-server/service/kpi-value/kpi-value-mutation.js.map +1 -1
  214. package/dist-server/service/kpi-value/kpi-value-type.d.ts +4 -2
  215. package/dist-server/service/kpi-value/kpi-value-type.js +12 -4
  216. package/dist-server/service/kpi-value/kpi-value-type.js.map +1 -1
  217. package/dist-server/service/kpi-value/kpi-value.d.ts +3 -1
  218. package/dist-server/service/kpi-value/kpi-value.js +11 -5
  219. package/dist-server/service/kpi-value/kpi-value.js.map +1 -1
  220. package/dist-server/service/utils/value-date-util.d.ts +1 -0
  221. package/dist-server/service/utils/value-date-util.js +41 -0
  222. package/dist-server/service/utils/value-date-util.js.map +1 -1
  223. package/dist-server/tsconfig.json +10 -0
  224. package/dist-server/tsconfig.tsbuildinfo +1 -1
  225. package/package.json +7 -6
  226. package/server/@types/index.d.ts +11 -0
  227. package/server/controllers/kpi-metric-value-provider.ts +5 -5
  228. package/server/controllers/kpi-value-provider.ts +4 -4
  229. package/server/migrations/1752190849680-seed-kpi-metrics.ts +124 -0
  230. package/server/migrations/1752190849681-seed-kpi.ts +356 -0
  231. package/server/migrations/1752192090123-add-grades-to-kpi.ts +67 -0
  232. package/server/migrations/1752192090124-add-kpi-statistics.ts +719 -0
  233. package/server/migrations/1752192090128-seed-kpi-org-scope.ts +132 -0
  234. package/server/migrations/1752192090129-seed-kpi-values.ts +207 -0
  235. package/server/migrations/grade-data/x11-performance-table.json +962 -0
  236. package/server/migrations/grade-data/x12-performance-table.json +611 -0
  237. package/server/migrations/grade-data/x14-performance-table.json +42 -0
  238. package/server/migrations/grade-data/x21-performance-table.json +889 -0
  239. package/server/migrations/grade-data/x22-performance-table.json +1064 -0
  240. package/server/migrations/grade-data/x23-performance-table.json +42 -0
  241. package/server/migrations/grade-data/x31-performance-table.json +644 -0
  242. package/server/migrations/grade-data/x32-performance-table.json +993 -0
  243. package/server/migrations/grade-data/x33-performance-table.json +195 -0
  244. package/server/migrations/grade-data/x34-performance-table.json +12 -0
  245. package/server/migrations/grade-data/x35-performance-table.json +42 -0
  246. package/server/migrations/grade-data/x41-performance-table.json +825 -0
  247. package/server/migrations/grade-data/x42-performance-table.json +786 -0
  248. package/server/migrations/grade-data/x43-performance-table.json +12 -0
  249. package/server/migrations/grade-data/x44-performance-table.json +42 -0
  250. package/server/migrations/grade-data/x51-performance-table.json +924 -0
  251. package/server/migrations/grade-data/x52-performance-table.json +42 -0
  252. package/server/migrations/grade-data/x61-performance-table.json +261 -0
  253. package/server/migrations/grade-data/x62-performance-table.json +42 -0
  254. package/server/migrations/seed-data/kpi-metrics-seed.json +454 -0
  255. package/server/migrations/seed-data/kpi-org-scope-seed.json +1676 -0
  256. package/server/migrations/seed-data/kpi-values-seed.json +402 -0
  257. package/server/migrations/seed-data/kpis-seed.json +488 -0
  258. package/server/service/index.ts +5 -12
  259. package/server/service/kpi/aggregate-kpi.ts +31 -13
  260. package/server/service/kpi/kpi-formula.service.ts +101 -0
  261. package/server/service/kpi/kpi-history.ts +0 -8
  262. package/server/service/kpi/kpi-mutation.ts +59 -19
  263. package/server/service/kpi/kpi-query.ts +118 -8
  264. package/server/service/kpi/kpi-type.ts +10 -4
  265. package/server/service/kpi/kpi.ts +17 -7
  266. package/server/service/kpi-metric/aggregate-kpi-metric.ts +55 -11
  267. package/server/service/kpi-metric-value/kpi-metric-value-mutation.ts +6 -6
  268. package/server/service/kpi-metric-value/kpi-metric-value-type.ts +4 -4
  269. package/server/service/kpi-metric-value/kpi-metric-value.ts +3 -3
  270. package/server/service/kpi-org-scope/index.ts +11 -0
  271. package/server/service/kpi-org-scope/kpi-org-scope-mutation.ts +173 -0
  272. package/server/service/kpi-org-scope/kpi-org-scope-query.ts +127 -0
  273. package/server/service/kpi-org-scope/kpi-org-scope-type.ts +68 -0
  274. package/server/service/kpi-org-scope/kpi-org-scope.ts +123 -0
  275. package/server/service/kpi-statistic/kpi-statistic.ts +10 -0
  276. package/server/service/kpi-value/kpi-value-mutation.ts +73 -7
  277. package/server/service/kpi-value/kpi-value-type.ts +10 -4
  278. package/server/service/kpi-value/kpi-value.ts +10 -5
  279. package/server/service/utils/value-date-util.ts +47 -0
  280. package/server/types/global.d.ts +8 -0
  281. package/things-factory.config.js +1 -0
  282. package/translations/en.json +15 -3
  283. package/translations/ja.json +13 -3
  284. package/translations/ko.json +15 -3
  285. package/translations/ms.json +13 -3
  286. package/translations/zh.json +13 -3
  287. package/client/google-map/script-loader.ts +0 -173
  288. package/client/pages/kpi-category/kpi-category-importer.ts +0 -90
  289. package/client/pages/kpi-category/kpi-category-list-page.ts +0 -537
  290. package/client/pages/kpi-category/kpi-category-value-calculator.ts +0 -233
  291. package/client/pages/kpi-category-value/kpi-category-value-list-page.ts +0 -404
  292. package/dist-client/google-map/script-loader.d.ts +0 -3
  293. package/dist-client/google-map/script-loader.js +0 -144
  294. package/dist-client/google-map/script-loader.js.map +0 -1
  295. package/dist-client/pages/kpi-category/kpi-category-importer.d.ts +0 -23
  296. package/dist-client/pages/kpi-category/kpi-category-importer.js +0 -92
  297. package/dist-client/pages/kpi-category/kpi-category-importer.js.map +0 -1
  298. package/dist-client/pages/kpi-category/kpi-category-list-page.d.ts +0 -74
  299. package/dist-client/pages/kpi-category/kpi-category-list-page.js +0 -517
  300. package/dist-client/pages/kpi-category/kpi-category-list-page.js.map +0 -1
  301. package/dist-client/pages/kpi-category/kpi-category-value-calculator.d.ts +0 -13
  302. package/dist-client/pages/kpi-category/kpi-category-value-calculator.js +0 -256
  303. package/dist-client/pages/kpi-category/kpi-category-value-calculator.js.map +0 -1
  304. package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.d.ts +0 -63
  305. package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.js +0 -393
  306. package/dist-client/pages/kpi-category-value/kpi-category-value-list-page.js.map +0 -1
  307. package/dist-server/service/kpi-category/index.d.ts +0 -6
  308. package/dist-server/service/kpi-category/index.js +0 -10
  309. package/dist-server/service/kpi-category/index.js.map +0 -1
  310. package/dist-server/service/kpi-category/kpi-category-mutation.d.ts +0 -9
  311. package/dist-server/service/kpi-category/kpi-category-mutation.js +0 -221
  312. package/dist-server/service/kpi-category/kpi-category-mutation.js.map +0 -1
  313. package/dist-server/service/kpi-category/kpi-category-query.d.ts +0 -18
  314. package/dist-server/service/kpi-category/kpi-category-query.js +0 -115
  315. package/dist-server/service/kpi-category/kpi-category-query.js.map +0 -1
  316. package/dist-server/service/kpi-category/kpi-category-type.d.ts +0 -24
  317. package/dist-server/service/kpi-category/kpi-category-type.js +0 -100
  318. package/dist-server/service/kpi-category/kpi-category-type.js.map +0 -1
  319. package/dist-server/service/kpi-category/kpi-category.d.ts +0 -22
  320. package/dist-server/service/kpi-category/kpi-category.js +0 -106
  321. package/dist-server/service/kpi-category/kpi-category.js.map +0 -1
  322. package/dist-server/service/kpi-category-value/index.d.ts +0 -6
  323. package/dist-server/service/kpi-category-value/index.js +0 -10
  324. package/dist-server/service/kpi-category-value/index.js.map +0 -1
  325. package/dist-server/service/kpi-category-value/kpi-category-value-mutation.d.ts +0 -8
  326. package/dist-server/service/kpi-category-value/kpi-category-value-mutation.js +0 -102
  327. package/dist-server/service/kpi-category-value/kpi-category-value-mutation.js.map +0 -1
  328. package/dist-server/service/kpi-category-value/kpi-category-value-query.d.ts +0 -13
  329. package/dist-server/service/kpi-category-value/kpi-category-value-query.js +0 -91
  330. package/dist-server/service/kpi-category-value/kpi-category-value-query.js.map +0 -1
  331. package/dist-server/service/kpi-category-value/kpi-category-value-type.d.ts +0 -19
  332. package/dist-server/service/kpi-category-value/kpi-category-value-type.js +0 -73
  333. package/dist-server/service/kpi-category-value/kpi-category-value-type.js.map +0 -1
  334. package/dist-server/service/kpi-category-value/kpi-category-value.d.ts +0 -19
  335. package/dist-server/service/kpi-category-value/kpi-category-value.js +0 -91
  336. package/dist-server/service/kpi-category-value/kpi-category-value.js.map +0 -1
  337. package/helps/kpi/kpi-category.md +0 -160
  338. package/server/service/kpi-category/index.ts +0 -7
  339. package/server/service/kpi-category/kpi-category-mutation.ts +0 -217
  340. package/server/service/kpi-category/kpi-category-query.ts +0 -87
  341. package/server/service/kpi-category/kpi-category-type.ts +0 -73
  342. package/server/service/kpi-category/kpi-category.ts +0 -95
  343. package/server/service/kpi-category-value/index.ts +0 -7
  344. package/server/service/kpi-category-value/kpi-category-value-mutation.ts +0 -88
  345. package/server/service/kpi-category-value/kpi-category-value-query.ts +0 -62
  346. package/server/service/kpi-category-value/kpi-category-value-type.ts +0 -48
  347. package/server/service/kpi-category-value/kpi-category-value.ts +0 -79
@@ -0,0 +1,710 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddKpiStatistics1752192090124 = void 0;
4
+ const kpi_1 = require("../service/kpi/kpi");
5
+ const kpi_statistic_1 = require("../service/kpi-statistic/kpi-statistic");
6
+ const shell_1 = require("@things-factory/shell");
7
+ const KPI_STATISTICS = [
8
+ // X11 데이터 (이미지 수치 그대로)
9
+ {
10
+ kpiName: 'X11. 연면적 대비 공사기간',
11
+ valueDate: '2025-08',
12
+ periodType: kpi_1.KpiPeriodType.MONTH,
13
+ count: 100,
14
+ sum: 153.5945,
15
+ range: 10.775829,
16
+ mean: 1.535945,
17
+ median: 0.596117,
18
+ minimum: 0.096101,
19
+ maximum: 10.87193,
20
+ standardDeviation: 2.123456,
21
+ variance: 4.509123,
22
+ percentile25: 0.16328,
23
+ percentile75: 1.987095,
24
+ iqr: 1.823815,
25
+ lowerFence: -2.57244,
26
+ upperFence: 4.722817,
27
+ additionalStatistics: {
28
+ coefficientOfVariation: 1.382,
29
+ skewness: 2.145,
30
+ kurtosis: 8.234
31
+ },
32
+ metadata: {
33
+ calculationMethod: 'automated',
34
+ lastCalculated: '2025-01-15T10:30:00Z',
35
+ dataCount: 100,
36
+ source: 'production_line_x11'
37
+ }
38
+ },
39
+ // X12 데이터 (이미지 수치 그대로)
40
+ {
41
+ kpiName: 'X12. 설계변경에 따른 공기 증감률',
42
+ valueDate: '2025-08',
43
+ periodType: kpi_1.KpiPeriodType.MONTH,
44
+ count: 95,
45
+ sum: 2.83898,
46
+ range: 0.73448,
47
+ mean: 0.029884,
48
+ median: -0.00059,
49
+ minimum: -0.03448,
50
+ maximum: 0.7,
51
+ standardDeviation: 0.123456,
52
+ variance: 0.015241,
53
+ percentile25: -0.02499,
54
+ percentile75: 0.053692,
55
+ iqr: 0.078682,
56
+ lowerFence: -0.14302,
57
+ upperFence: 0.17172,
58
+ additionalStatistics: {
59
+ coefficientOfVariation: 4.132,
60
+ skewness: 3.456,
61
+ kurtosis: 12.789
62
+ },
63
+ metadata: {
64
+ calculationMethod: 'automated',
65
+ lastCalculated: '2025-01-15T10:30:00Z',
66
+ dataCount: 95,
67
+ source: 'production_line_x12'
68
+ }
69
+ },
70
+ // X13 데이터 (이미지 수치 그대로)
71
+ {
72
+ kpiName: 'X13. 일정 이탈 수준',
73
+ valueDate: '2025-08',
74
+ periodType: kpi_1.KpiPeriodType.MONTH,
75
+ count: 88,
76
+ sum: 407.1584,
77
+ range: 1.0,
78
+ mean: 4.6268,
79
+ median: 5.0,
80
+ minimum: 4.0,
81
+ maximum: 5.0,
82
+ standardDeviation: 0.234567,
83
+ variance: 0.055021,
84
+ percentile25: 4.0,
85
+ percentile75: 5.0,
86
+ iqr: 1.0,
87
+ lowerFence: 2.5,
88
+ upperFence: 6.5,
89
+ additionalStatistics: {
90
+ coefficientOfVariation: 0.051,
91
+ skewness: -0.234,
92
+ kurtosis: 2.456
93
+ },
94
+ metadata: {
95
+ calculationMethod: 'automated',
96
+ lastCalculated: '2025-01-15T10:30:00Z',
97
+ dataCount: 88,
98
+ source: 'production_line_x13'
99
+ }
100
+ },
101
+ // X14 데이터 (이미지 수치 그대로)
102
+ {
103
+ kpiName: 'X14. 일정성과 수준 평가',
104
+ valueDate: '2025-08',
105
+ periodType: kpi_1.KpiPeriodType.MONTH,
106
+ count: 92,
107
+ sum: 368.253,
108
+ range: 2.0,
109
+ mean: 4.00275,
110
+ median: 4.0,
111
+ minimum: 3.0,
112
+ maximum: 5.0,
113
+ standardDeviation: 0.345678,
114
+ variance: 0.119493,
115
+ percentile25: 3.0,
116
+ percentile75: 5.0,
117
+ iqr: 2.0,
118
+ lowerFence: 0.0,
119
+ upperFence: 8.0,
120
+ additionalStatistics: {
121
+ coefficientOfVariation: 0.086,
122
+ skewness: 0.123,
123
+ kurtosis: 2.789
124
+ },
125
+ metadata: {
126
+ calculationMethod: 'automated',
127
+ lastCalculated: '2025-01-15T10:30:00Z',
128
+ dataCount: 92,
129
+ source: 'production_line_x14'
130
+ }
131
+ },
132
+ // X21 데이터 (이미지 수치 그대로)
133
+ {
134
+ kpiName: 'X21. 연면적 대비 공사비',
135
+ valueDate: '2025-08',
136
+ periodType: kpi_1.KpiPeriodType.MONTH,
137
+ count: 85,
138
+ sum: 2.99642,
139
+ range: 0.312186,
140
+ mean: 0.035252,
141
+ median: 0.014745,
142
+ minimum: 0.006322,
143
+ maximum: 0.318508,
144
+ standardDeviation: 0.045678,
145
+ variance: 0.002086,
146
+ percentile25: 0.007259,
147
+ percentile75: 0.042295,
148
+ iqr: 0.035036,
149
+ lowerFence: -0.04529,
150
+ upperFence: 0.094849,
151
+ additionalStatistics: {
152
+ coefficientOfVariation: 1.296,
153
+ skewness: 2.345,
154
+ kurtosis: 7.234
155
+ },
156
+ metadata: {
157
+ calculationMethod: 'automated',
158
+ lastCalculated: '2025-01-15T10:30:00Z',
159
+ dataCount: 85,
160
+ source: 'production_line_x21'
161
+ }
162
+ },
163
+ // X22 데이터 (이미지 수치 그대로)
164
+ {
165
+ kpiName: 'X22. 설계변경에 따른 공사비 증감률',
166
+ valueDate: '2025-08',
167
+ periodType: kpi_1.KpiPeriodType.MONTH,
168
+ count: 87,
169
+ sum: 3.803265,
170
+ range: 0.2023,
171
+ mean: 0.043715,
172
+ median: 0.021246,
173
+ minimum: -0.0053,
174
+ maximum: 0.197,
175
+ standardDeviation: 0.034567,
176
+ variance: 0.001195,
177
+ percentile25: -0.00062,
178
+ percentile75: 0.073369,
179
+ iqr: 0.073989,
180
+ lowerFence: -0.1116,
181
+ upperFence: 0.184352,
182
+ additionalStatistics: {
183
+ coefficientOfVariation: 0.791,
184
+ skewness: 1.567,
185
+ kurtosis: 5.123
186
+ },
187
+ metadata: {
188
+ calculationMethod: 'automated',
189
+ lastCalculated: '2025-01-15T10:30:00Z',
190
+ dataCount: 87,
191
+ source: 'production_line_x22'
192
+ }
193
+ },
194
+ // X23 데이터 (이미지 수치 그대로)
195
+ {
196
+ kpiName: 'X23. 비용성과 수준 평가',
197
+ valueDate: '2025-08',
198
+ periodType: kpi_1.KpiPeriodType.MONTH,
199
+ count: 90,
200
+ sum: 279.5535,
201
+ range: 4.0,
202
+ mean: 3.10615,
203
+ median: 3.0,
204
+ minimum: 1.0,
205
+ maximum: 5.0,
206
+ standardDeviation: 0.456789,
207
+ variance: 0.208656,
208
+ percentile25: 2.0,
209
+ percentile75: 4.0,
210
+ iqr: 2.0,
211
+ lowerFence: -1.0,
212
+ upperFence: 7.0,
213
+ additionalStatistics: {
214
+ coefficientOfVariation: 0.147,
215
+ skewness: 0.234,
216
+ kurtosis: 2.567
217
+ },
218
+ metadata: {
219
+ calculationMethod: 'automated',
220
+ lastCalculated: '2025-01-15T10:30:00Z',
221
+ dataCount: 90,
222
+ source: 'production_line_x23'
223
+ }
224
+ },
225
+ // X31 데이터 (이미지 수치 그대로)
226
+ {
227
+ kpiName: 'X31. 품질시험 불합격률',
228
+ valueDate: '2025-08',
229
+ periodType: kpi_1.KpiPeriodType.MONTH,
230
+ count: 93,
231
+ sum: 26.617623,
232
+ range: 1.8882,
233
+ mean: 0.286211,
234
+ median: 0.108761,
235
+ minimum: 0.0018,
236
+ maximum: 1.89,
237
+ standardDeviation: 0.345678,
238
+ variance: 0.119493,
239
+ percentile25: 0.017687,
240
+ percentile75: 0.393518,
241
+ iqr: 0.375831,
242
+ lowerFence: -0.54606,
243
+ upperFence: 0.957264,
244
+ additionalStatistics: {
245
+ coefficientOfVariation: 1.208,
246
+ skewness: 2.123,
247
+ kurtosis: 6.789
248
+ },
249
+ metadata: {
250
+ calculationMethod: 'automated',
251
+ lastCalculated: '2025-01-15T10:30:00Z',
252
+ dataCount: 93,
253
+ source: 'production_line_x31'
254
+ }
255
+ },
256
+ // X32 데이터 (이미지 수치 그대로)
257
+ {
258
+ kpiName: 'X32. 검수자재 불합격률',
259
+ valueDate: '2025-08',
260
+ periodType: kpi_1.KpiPeriodType.MONTH,
261
+ count: 89,
262
+ sum: 9.519796,
263
+ range: 1.191035,
264
+ mean: 0.106964,
265
+ median: 0.035077,
266
+ minimum: 0.008965,
267
+ maximum: 1.2,
268
+ standardDeviation: 0.234567,
269
+ variance: 0.055021,
270
+ percentile25: 0.011285,
271
+ percentile75: 0.124878,
272
+ iqr: 0.113593,
273
+ lowerFence: -0.15911,
274
+ upperFence: 0.295269,
275
+ additionalStatistics: {
276
+ coefficientOfVariation: 2.193,
277
+ skewness: 3.456,
278
+ kurtosis: 12.345
279
+ },
280
+ metadata: {
281
+ calculationMethod: 'automated',
282
+ lastCalculated: '2025-01-15T10:30:00Z',
283
+ dataCount: 89,
284
+ source: 'production_line_x32'
285
+ }
286
+ },
287
+ // X33 데이터 (이미지 수치 그대로)
288
+ {
289
+ kpiName: 'X33. 검측 불합격률',
290
+ valueDate: '2025-08',
291
+ periodType: kpi_1.KpiPeriodType.MONTH,
292
+ count: 91,
293
+ sum: 8.855573,
294
+ range: 1.0,
295
+ mean: 0.097303,
296
+ median: 0.03431,
297
+ minimum: 0.0,
298
+ maximum: 1.0,
299
+ standardDeviation: 0.123456,
300
+ variance: 0.015241,
301
+ percentile25: 0.0052,
302
+ percentile75: 0.128793,
303
+ iqr: 0.123593,
304
+ lowerFence: -0.18019,
305
+ upperFence: 0.314182,
306
+ additionalStatistics: {
307
+ coefficientOfVariation: 1.269,
308
+ skewness: 2.789,
309
+ kurtosis: 8.567
310
+ },
311
+ metadata: {
312
+ calculationMethod: 'automated',
313
+ lastCalculated: '2025-01-15T10:30:00Z',
314
+ dataCount: 91,
315
+ source: 'production_line_x33'
316
+ }
317
+ },
318
+ // X34 데이터 (이미지 수치 그대로)
319
+ {
320
+ kpiName: 'X34. 품질 SL-PA 결과값',
321
+ valueDate: '2025-08',
322
+ periodType: kpi_1.KpiPeriodType.MONTH,
323
+ count: 94,
324
+ sum: 456.229,
325
+ range: 0.0,
326
+ mean: 4.8535,
327
+ median: 5.0,
328
+ minimum: 5.0,
329
+ maximum: 5.0,
330
+ standardDeviation: 0.0,
331
+ variance: 0.0,
332
+ percentile25: 5.0,
333
+ percentile75: 5.0,
334
+ iqr: 0.0,
335
+ lowerFence: 2.5,
336
+ upperFence: 5.0,
337
+ additionalStatistics: {
338
+ coefficientOfVariation: 0.0,
339
+ skewness: 0.0,
340
+ kurtosis: 0.0
341
+ },
342
+ metadata: {
343
+ calculationMethod: 'automated',
344
+ lastCalculated: '2025-01-15T10:30:00Z',
345
+ dataCount: 94,
346
+ source: 'production_line_x34'
347
+ }
348
+ },
349
+ // X35 데이터 (이미지 수치 그대로)
350
+ {
351
+ kpiName: 'X35. 품질성과 수준 평가',
352
+ valueDate: '2025-08',
353
+ periodType: kpi_1.KpiPeriodType.MONTH,
354
+ count: 96,
355
+ sum: 437.352,
356
+ range: 0.0,
357
+ mean: 4.55575,
358
+ median: 5.0,
359
+ minimum: 5.0,
360
+ maximum: 5.0,
361
+ standardDeviation: 0.0,
362
+ variance: 0.0,
363
+ percentile25: 5.0,
364
+ percentile75: 5.0,
365
+ iqr: 0.0,
366
+ lowerFence: 2.5,
367
+ upperFence: 6.5,
368
+ additionalStatistics: {
369
+ coefficientOfVariation: 0.0,
370
+ skewness: 0.0,
371
+ kurtosis: 0.0
372
+ },
373
+ metadata: {
374
+ calculationMethod: 'automated',
375
+ lastCalculated: '2025-01-15T10:30:00Z',
376
+ dataCount: 96,
377
+ source: 'production_line_x35'
378
+ }
379
+ },
380
+ // X41 데이터 (이미지 수치 그대로)
381
+ {
382
+ kpiName: 'X41. 재해율',
383
+ valueDate: '2025-08',
384
+ periodType: kpi_1.KpiPeriodType.MONTH,
385
+ count: 88,
386
+ sum: 0.59576,
387
+ range: 0.08913,
388
+ mean: 0.00677,
389
+ median: 0.003161,
390
+ minimum: 0.0,
391
+ maximum: 0.08913,
392
+ standardDeviation: 0.012345,
393
+ variance: 0.000152,
394
+ percentile25: 0.000873,
395
+ percentile75: 0.008789,
396
+ iqr: 0.007916,
397
+ lowerFence: -0.011,
398
+ upperFence: 0.020662,
399
+ additionalStatistics: {
400
+ coefficientOfVariation: 1.824,
401
+ skewness: 3.234,
402
+ kurtosis: 11.567
403
+ },
404
+ metadata: {
405
+ calculationMethod: 'automated',
406
+ lastCalculated: '2025-01-15T10:30:00Z',
407
+ dataCount: 88,
408
+ source: 'production_line_x41'
409
+ }
410
+ },
411
+ // X42 데이터 (이미지 수치 그대로)
412
+ {
413
+ kpiName: 'X42. 재해강도율',
414
+ valueDate: '2025-08',
415
+ periodType: kpi_1.KpiPeriodType.MONTH,
416
+ count: 86,
417
+ sum: 0.33411,
418
+ range: 0.021877,
419
+ mean: 0.003885,
420
+ median: 0.000338,
421
+ minimum: 0.000337,
422
+ maximum: 0.022214,
423
+ standardDeviation: 0.004567,
424
+ variance: 0.000021,
425
+ percentile25: 0.000337,
426
+ percentile75: 0.002222,
427
+ iqr: 0.001885,
428
+ lowerFence: -0.00249,
429
+ upperFence: 0.00505,
430
+ additionalStatistics: {
431
+ coefficientOfVariation: 1.175,
432
+ skewness: 2.567,
433
+ kurtosis: 8.234
434
+ },
435
+ metadata: {
436
+ calculationMethod: 'automated',
437
+ lastCalculated: '2025-01-15T10:30:00Z',
438
+ dataCount: 86,
439
+ source: 'production_line_x42'
440
+ }
441
+ },
442
+ // X43 데이터 (이미지 수치 그대로)
443
+ {
444
+ kpiName: 'X43. 안전 SL-PA 결과값',
445
+ valueDate: '2025-08',
446
+ periodType: kpi_1.KpiPeriodType.MONTH,
447
+ count: 92,
448
+ sum: 451.2968,
449
+ range: 5.0,
450
+ mean: 4.9054,
451
+ median: 5.0,
452
+ minimum: 0.0,
453
+ maximum: 5.0,
454
+ standardDeviation: 0.234567,
455
+ variance: 0.055021,
456
+ percentile25: 5.0,
457
+ percentile75: 5.0,
458
+ iqr: 0.0,
459
+ lowerFence: 5.0,
460
+ upperFence: 5.0,
461
+ additionalStatistics: {
462
+ coefficientOfVariation: 0.048,
463
+ skewness: -2.345,
464
+ kurtosis: 5.678
465
+ },
466
+ metadata: {
467
+ calculationMethod: 'automated',
468
+ lastCalculated: '2025-01-15T10:30:00Z',
469
+ dataCount: 92,
470
+ source: 'production_line_x43'
471
+ }
472
+ },
473
+ // X44 데이터 (이미지 수치 그대로)
474
+ {
475
+ kpiName: 'X44. 안전성과 수준 평가',
476
+ valueDate: '2025-08',
477
+ periodType: kpi_1.KpiPeriodType.MONTH,
478
+ count: 90,
479
+ sum: 315.441,
480
+ range: 3.0,
481
+ mean: 3.5049,
482
+ median: 4.0,
483
+ minimum: 2.0,
484
+ maximum: 5.0,
485
+ standardDeviation: 0.456789,
486
+ variance: 0.208656,
487
+ percentile25: 3.0,
488
+ percentile75: 5.0,
489
+ iqr: 2.0,
490
+ lowerFence: 0.0,
491
+ upperFence: 8.0,
492
+ additionalStatistics: {
493
+ coefficientOfVariation: 0.13,
494
+ skewness: 0.123,
495
+ kurtosis: 2.456
496
+ },
497
+ metadata: {
498
+ calculationMethod: 'automated',
499
+ lastCalculated: '2025-01-15T10:30:00Z',
500
+ dataCount: 90,
501
+ source: 'production_line_x44'
502
+ }
503
+ },
504
+ // X51 데이터 (이미지 수치 그대로)
505
+ {
506
+ kpiName: 'X51. 건설폐기물 발생량',
507
+ valueDate: '2025-08',
508
+ periodType: kpi_1.KpiPeriodType.MONTH,
509
+ count: 87,
510
+ sum: 20.065593,
511
+ range: 0.704088,
512
+ mean: 0.230639,
513
+ median: 0.156999,
514
+ minimum: 0.0001,
515
+ maximum: 0.704188,
516
+ standardDeviation: 0.123456,
517
+ variance: 0.015241,
518
+ percentile25: 0.02844,
519
+ percentile75: 0.401985,
520
+ iqr: 0.373545,
521
+ lowerFence: -0.53188,
522
+ upperFence: 0.962303,
523
+ additionalStatistics: {
524
+ coefficientOfVariation: 0.535,
525
+ skewness: 1.234,
526
+ kurtosis: 4.567
527
+ },
528
+ metadata: {
529
+ calculationMethod: 'automated',
530
+ lastCalculated: '2025-01-15T10:30:00Z',
531
+ dataCount: 87,
532
+ source: 'production_line_x51'
533
+ }
534
+ },
535
+ // X52 데이터 (이미지 수치 그대로)
536
+ {
537
+ kpiName: 'X52. 환경성과 수준 평가',
538
+ valueDate: '2025-08',
539
+ periodType: kpi_1.KpiPeriodType.MONTH,
540
+ count: 89,
541
+ sum: 400.60965,
542
+ range: 2.0,
543
+ mean: 4.50685,
544
+ median: 5.0,
545
+ minimum: 3.0,
546
+ maximum: 5.0,
547
+ standardDeviation: 0.345678,
548
+ variance: 0.119493,
549
+ percentile25: 4.0,
550
+ percentile75: 5.0,
551
+ iqr: 1.0,
552
+ lowerFence: 2.5,
553
+ upperFence: 6.5,
554
+ additionalStatistics: {
555
+ coefficientOfVariation: 0.077,
556
+ skewness: -0.234,
557
+ kurtosis: 2.789
558
+ },
559
+ metadata: {
560
+ calculationMethod: 'automated',
561
+ lastCalculated: '2025-01-15T10:30:00Z',
562
+ dataCount: 89,
563
+ source: 'production_line_x52'
564
+ }
565
+ },
566
+ // X61 데이터 (이미지 수치 그대로 - 높은 값)
567
+ {
568
+ kpiName: 'X61. 투입인력 생산성',
569
+ valueDate: '2025-08',
570
+ periodType: kpi_1.KpiPeriodType.MONTH,
571
+ count: 120,
572
+ sum: 284733.0,
573
+ range: 5538.9515,
574
+ mean: 2372.775,
575
+ median: 1849.723,
576
+ minimum: 261.3085,
577
+ maximum: 5800.26,
578
+ standardDeviation: 1234.5678,
579
+ variance: 1524156.789,
580
+ percentile25: 572.8489,
581
+ percentile75: 4074.343,
582
+ iqr: 3501.4941,
583
+ lowerFence: -4679.39,
584
+ upperFence: 9326.583,
585
+ additionalStatistics: {
586
+ coefficientOfVariation: 0.52,
587
+ skewness: 1.234,
588
+ kurtosis: 4.567
589
+ },
590
+ metadata: {
591
+ calculationMethod: 'automated',
592
+ lastCalculated: '2025-01-15T10:30:00Z',
593
+ dataCount: 120,
594
+ source: 'high_value_production_x61'
595
+ }
596
+ },
597
+ // X62 데이터 (이미지 수치 그대로)
598
+ {
599
+ kpiName: 'X62. 생산성성과 수준 평가',
600
+ valueDate: '2025-08',
601
+ periodType: kpi_1.KpiPeriodType.MONTH,
602
+ count: 95,
603
+ sum: 393.87475,
604
+ range: 2.0,
605
+ mean: 4.14605,
606
+ median: 4.0,
607
+ minimum: 3.0,
608
+ maximum: 5.0,
609
+ standardDeviation: 0.456789,
610
+ variance: 0.208656,
611
+ percentile25: 4.0,
612
+ percentile75: 4.0,
613
+ iqr: 0.0,
614
+ lowerFence: 4.0,
615
+ upperFence: 4.0,
616
+ additionalStatistics: {
617
+ coefficientOfVariation: 0.11,
618
+ skewness: 0.123,
619
+ kurtosis: 2.456
620
+ },
621
+ metadata: {
622
+ calculationMethod: 'automated',
623
+ lastCalculated: '2025-01-15T10:30:00Z',
624
+ dataCount: 95,
625
+ source: 'production_line_x62'
626
+ }
627
+ }
628
+ ];
629
+ class AddKpiStatistics1752192090124 {
630
+ async up(queryRunner) {
631
+ const repository = (0, shell_1.getRepository)(kpi_statistic_1.KpiStatistic);
632
+ const kpiRepository = (0, shell_1.getRepository)(kpi_1.Kpi);
633
+ const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
634
+ const domain = await domainRepository.findOneBy({ subdomain: 'system' });
635
+ if (!domain) {
636
+ throw new Error('SYSTEM domain not found');
637
+ }
638
+ // 통계 데이터를 실제 KPI와 연결하여 저장
639
+ const statisticsToSave = [];
640
+ for (const statistic of KPI_STATISTICS) {
641
+ try {
642
+ // KPI 찾기
643
+ const kpi = await kpiRepository.findOneBy({
644
+ name: statistic.kpiName,
645
+ domain: { id: domain.id }
646
+ });
647
+ if (!kpi) {
648
+ console.log(`⚠️ KPI not found: ${statistic.kpiName}`);
649
+ continue;
650
+ }
651
+ // 통계 데이터에 KPI와 도메인 연결
652
+ const statisticWithRelations = {
653
+ ...statistic,
654
+ kpi,
655
+ domain
656
+ };
657
+ statisticsToSave.push(statisticWithRelations);
658
+ console.log(`✅ Prepared statistic for KPI: ${statistic.kpiName}`);
659
+ }
660
+ catch (error) {
661
+ console.error(`❌ Error preparing statistic for ${statistic.kpiName}:`, error);
662
+ }
663
+ }
664
+ // 배치로 저장
665
+ if (statisticsToSave.length > 0) {
666
+ const batchSize = 5;
667
+ for (let i = 0; i < statisticsToSave.length; i += batchSize) {
668
+ const batch = statisticsToSave.slice(i, i + batchSize);
669
+ await repository.save(batch);
670
+ console.log(`✅ Saved batch ${Math.floor(i / batchSize) + 1}/${Math.ceil(statisticsToSave.length / batchSize)}`);
671
+ }
672
+ }
673
+ console.log(`🎉 Successfully saved ${statisticsToSave.length} KPI statistics`);
674
+ }
675
+ async down(queryRunner) {
676
+ const repository = (0, shell_1.getRepository)(kpi_statistic_1.KpiStatistic);
677
+ const domainRepository = (0, shell_1.getRepository)(shell_1.Domain);
678
+ const domain = await domainRepository.findOneBy({ subdomain: 'system' });
679
+ if (!domain) {
680
+ console.log('⚠️ SYSTEM domain not found. Nothing to delete.');
681
+ return;
682
+ }
683
+ const results = [];
684
+ for (const statistic of KPI_STATISTICS.reverse()) {
685
+ try {
686
+ const record = await repository.findOneBy({
687
+ kpi: { name: statistic.kpiName },
688
+ valueDate: statistic.valueDate,
689
+ periodType: statistic.periodType,
690
+ domain: { id: domain.id }
691
+ });
692
+ if (record) {
693
+ await repository.remove(record);
694
+ console.log(`✅ Deleted statistic for KPI: ${statistic.kpiName}`);
695
+ results.push(statistic.kpiName);
696
+ }
697
+ else {
698
+ console.log(`⚠️ Statistic not found for KPI: ${statistic.kpiName}`);
699
+ }
700
+ }
701
+ catch (error) {
702
+ console.error(`❌ Error deleting statistic for ${statistic.kpiName}:`, error);
703
+ }
704
+ }
705
+ console.log(`🎉 Successfully deleted ${results.length} KPI statistics`);
706
+ return results;
707
+ }
708
+ }
709
+ exports.AddKpiStatistics1752192090124 = AddKpiStatistics1752192090124;
710
+ //# sourceMappingURL=1752192090124-add-kpi-statistics.js.map