@things-factory/kpi 9.1.19 → 10.0.0-beta.2

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 (140) hide show
  1. package/client/pages/kpi/kpi-list-page.ts +339 -525
  2. package/client/pages/kpi/kpi-tree-page.ts +135 -207
  3. package/client/pages/kpi-metric/kpi-metric-list-page.ts +146 -226
  4. package/client/pages/kpi-metric-value/kpi-metric-value-editor-page.ts +187 -295
  5. package/client/pages/kpi-metric-value/kpi-metric-value-list-page.ts +123 -194
  6. package/client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.ts +57 -91
  7. package/client/pages/kpi-statistic/kpi-statistic-editor-page.ts +180 -278
  8. package/client/pages/kpi-statistic/kpi-statistic-list-page.ts +186 -286
  9. package/client/pages/kpi-value/kpi-value-editor-page.ts +189 -292
  10. package/client/pages/kpi-value/kpi-value-list-page.ts +170 -264
  11. package/dist-client/pages/kpi/kpi-list-page.d.ts +0 -6
  12. package/dist-client/pages/kpi/kpi-list-page.js +150 -282
  13. package/dist-client/pages/kpi/kpi-list-page.js.map +1 -1
  14. package/dist-client/pages/kpi/kpi-tree-page.d.ts +1 -7
  15. package/dist-client/pages/kpi/kpi-tree-page.js +76 -127
  16. package/dist-client/pages/kpi/kpi-tree-page.js.map +1 -1
  17. package/dist-client/pages/kpi-metric/kpi-metric-list-page.d.ts +0 -6
  18. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js +62 -116
  19. package/dist-client/pages/kpi-metric/kpi-metric-list-page.js.map +1 -1
  20. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +1 -7
  21. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +82 -140
  22. package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js.map +1 -1
  23. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.d.ts +0 -6
  24. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +54 -98
  25. package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js.map +1 -1
  26. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.d.ts +1 -7
  27. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +30 -57
  28. package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +1 -1
  29. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.d.ts +1 -7
  30. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js +91 -153
  31. package/dist-client/pages/kpi-statistic/kpi-statistic-editor-page.js.map +1 -1
  32. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.d.ts +0 -6
  33. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js +81 -155
  34. package/dist-client/pages/kpi-statistic/kpi-statistic-list-page.js.map +1 -1
  35. package/dist-client/pages/kpi-value/kpi-value-editor-page.d.ts +1 -7
  36. package/dist-client/pages/kpi-value/kpi-value-editor-page.js +80 -136
  37. package/dist-client/pages/kpi-value/kpi-value-editor-page.js.map +1 -1
  38. package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +0 -6
  39. package/dist-client/pages/kpi-value/kpi-value-list-page.js +73 -134
  40. package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
  41. package/dist-client/tsconfig.tsbuildinfo +1 -1
  42. package/dist-server/service/index.d.ts +1 -1
  43. package/dist-server/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +18 -18
  45. package/client/tsconfig.json +0 -11
  46. package/dist-server/tsconfig.json +0 -10
  47. package/server/@types/index.d.ts +0 -11
  48. package/server/calculator/evaluator.ts +0 -45
  49. package/server/calculator/functions.ts +0 -67
  50. package/server/calculator/index.ts +0 -4
  51. package/server/calculator/parser.ts +0 -137
  52. package/server/calculator/provider.ts +0 -10
  53. package/server/controllers/index.ts +0 -2
  54. package/server/controllers/kpi-metric-value-provider.ts +0 -79
  55. package/server/controllers/kpi-value-provider.ts +0 -51
  56. package/server/index.ts +0 -6
  57. package/server/migrations/1752190849680-seed-kpi-metrics.ts +0 -124
  58. package/server/migrations/1752190849681-seed-kpi.ts +0 -356
  59. package/server/migrations/1752192090123-add-grades-to-kpi.ts +0 -67
  60. package/server/migrations/1752192090124-add-kpi-statistics.ts +0 -719
  61. package/server/migrations/1752192090128-seed-kpi-org-scope.ts +0 -132
  62. package/server/migrations/1752192090129-seed-kpi-values.ts +0 -207
  63. package/server/migrations/grade-data/x11-performance-table.json +0 -962
  64. package/server/migrations/grade-data/x12-performance-table.json +0 -611
  65. package/server/migrations/grade-data/x14-performance-table.json +0 -42
  66. package/server/migrations/grade-data/x21-performance-table.json +0 -889
  67. package/server/migrations/grade-data/x22-performance-table.json +0 -1064
  68. package/server/migrations/grade-data/x23-performance-table.json +0 -42
  69. package/server/migrations/grade-data/x31-performance-table.json +0 -644
  70. package/server/migrations/grade-data/x32-performance-table.json +0 -993
  71. package/server/migrations/grade-data/x33-performance-table.json +0 -195
  72. package/server/migrations/grade-data/x34-performance-table.json +0 -12
  73. package/server/migrations/grade-data/x35-performance-table.json +0 -42
  74. package/server/migrations/grade-data/x41-performance-table.json +0 -825
  75. package/server/migrations/grade-data/x42-performance-table.json +0 -786
  76. package/server/migrations/grade-data/x43-performance-table.json +0 -12
  77. package/server/migrations/grade-data/x44-performance-table.json +0 -42
  78. package/server/migrations/grade-data/x51-performance-table.json +0 -924
  79. package/server/migrations/grade-data/x52-performance-table.json +0 -42
  80. package/server/migrations/grade-data/x61-performance-table.json +0 -261
  81. package/server/migrations/grade-data/x62-performance-table.json +0 -42
  82. package/server/migrations/index.ts +0 -9
  83. package/server/migrations/seed-data/kpi-metrics-seed.json +0 -454
  84. package/server/migrations/seed-data/kpi-org-scope-seed.json +0 -1676
  85. package/server/migrations/seed-data/kpi-scopes-seed.json +0 -121
  86. package/server/migrations/seed-data/kpi-values-seed.json +0 -402
  87. package/server/migrations/seed-data/kpis-seed.json +0 -488
  88. package/server/migrations/seed-data/scope-definitions-seed.json +0 -90
  89. package/server/routes.ts +0 -81
  90. package/server/service/index.ts +0 -51
  91. package/server/service/kpi/aggregate-kpi.ts +0 -103
  92. package/server/service/kpi/event-subscriber.ts +0 -29
  93. package/server/service/kpi/index.ts +0 -9
  94. package/server/service/kpi/kpi-formula.service.ts +0 -164
  95. package/server/service/kpi/kpi-grade.types.ts +0 -28
  96. package/server/service/kpi/kpi-history.ts +0 -126
  97. package/server/service/kpi/kpi-mutation.ts +0 -553
  98. package/server/service/kpi/kpi-query.ts +0 -224
  99. package/server/service/kpi/kpi-type.ts +0 -151
  100. package/server/service/kpi/kpi.ts +0 -254
  101. package/server/service/kpi-alert/index.ts +0 -3
  102. package/server/service/kpi-alert/kpi-alert-query.ts +0 -59
  103. package/server/service/kpi-alert/kpi-alert-type.ts +0 -20
  104. package/server/service/kpi-metric/aggregate-kpi-metric.ts +0 -132
  105. package/server/service/kpi-metric/index.ts +0 -7
  106. package/server/service/kpi-metric/kpi-metric-mutation.ts +0 -309
  107. package/server/service/kpi-metric/kpi-metric-query.ts +0 -70
  108. package/server/service/kpi-metric/kpi-metric-type.ts +0 -111
  109. package/server/service/kpi-metric/kpi-metric.ts +0 -134
  110. package/server/service/kpi-metric-value/index.ts +0 -7
  111. package/server/service/kpi-metric-value/kpi-metric-value-mutation.ts +0 -270
  112. package/server/service/kpi-metric-value/kpi-metric-value-query.ts +0 -62
  113. package/server/service/kpi-metric-value/kpi-metric-value-type.ts +0 -82
  114. package/server/service/kpi-metric-value/kpi-metric-value.ts +0 -93
  115. package/server/service/kpi-org-scope/index.ts +0 -6
  116. package/server/service/kpi-org-scope/kpi-org-scope-mutation.ts +0 -173
  117. package/server/service/kpi-org-scope/kpi-org-scope-query.ts +0 -127
  118. package/server/service/kpi-org-scope/kpi-org-scope-type.ts +0 -68
  119. package/server/service/kpi-org-scope/kpi-org-scope.ts +0 -123
  120. package/server/service/kpi-scope/index.ts +0 -11
  121. package/server/service/kpi-scope/kpi-scope-mutation.ts +0 -129
  122. package/server/service/kpi-scope/kpi-scope-query.ts +0 -63
  123. package/server/service/kpi-scope/kpi-scope-type.ts +0 -96
  124. package/server/service/kpi-scope/kpi-scope.ts +0 -143
  125. package/server/service/kpi-statistic/index.ts +0 -7
  126. package/server/service/kpi-statistic/kpi-statistic-batch.service.ts +0 -231
  127. package/server/service/kpi-statistic/kpi-statistic-calculation.service.ts +0 -410
  128. package/server/service/kpi-statistic/kpi-statistic-mutation.ts +0 -291
  129. package/server/service/kpi-statistic/kpi-statistic-query.ts +0 -146
  130. package/server/service/kpi-statistic/kpi-statistic-type.ts +0 -152
  131. package/server/service/kpi-statistic/kpi-statistic.ts +0 -199
  132. package/server/service/kpi-value/index.ts +0 -7
  133. package/server/service/kpi-value/kpi-value-mutation.ts +0 -432
  134. package/server/service/kpi-value/kpi-value-query.ts +0 -61
  135. package/server/service/kpi-value/kpi-value-score.service.ts +0 -106
  136. package/server/service/kpi-value/kpi-value-type.ts +0 -122
  137. package/server/service/kpi-value/kpi-value.ts +0 -160
  138. package/server/service/utils/value-date-util.ts +0 -119
  139. package/server/tsconfig.json +0 -10
  140. package/server/types/global.d.ts +0 -8
@@ -1,488 +0,0 @@
1
- [
2
- {
3
- "name": "Z. 전체스코어",
4
- "description": "전체 스코어",
5
- "formula": null,
6
- "active": true,
7
- "state": "RELEASE",
8
- "viz_type": null,
9
- "viz_meta": null,
10
- "schedule": null,
11
- "schedule_id": null,
12
- "timezone": null,
13
- "grades": null,
14
- "period_type": "DAY",
15
- "weight": 1.0,
16
- "score_formula": null,
17
- "is_leaf": false,
18
- "parent_name": null
19
- },
20
- {
21
- "name": "Y1. 일정성과",
22
- "description": "프로젝트 일정 준수 및 일정 이탈 수준 평가",
23
- "formula": null,
24
- "active": true,
25
- "state": "RELEASE",
26
- "viz_type": null,
27
- "viz_meta": null,
28
- "schedule": null,
29
- "schedule_id": null,
30
- "timezone": null,
31
- "grades": null,
32
- "period_type": "DAY",
33
- "weight": 1.0,
34
- "score_formula": null,
35
- "is_leaf": false,
36
- "parent_name": "Z. 전체스코어"
37
- },
38
- {
39
- "name": "Y2. 비용성과",
40
- "description": "프로젝트 비용 집행 및 비용성과 수준 평가",
41
- "formula": null,
42
- "active": true,
43
- "state": "RELEASE",
44
- "viz_type": null,
45
- "viz_meta": null,
46
- "schedule": null,
47
- "schedule_id": null,
48
- "timezone": null,
49
- "grades": null,
50
- "period_type": "DAY",
51
- "weight": 1.0,
52
- "score_formula": null,
53
- "is_leaf": false,
54
- "parent_name": "Z. 전체스코어"
55
- },
56
- {
57
- "name": "Y3. 품질성과",
58
- "description": "품질 불합격률, 품질성과 수준 등 품질 관련 성과 측정",
59
- "formula": null,
60
- "active": true,
61
- "state": "RELEASE",
62
- "viz_type": null,
63
- "viz_meta": null,
64
- "schedule": null,
65
- "schedule_id": null,
66
- "timezone": null,
67
- "grades": null,
68
- "period_type": "DAY",
69
- "weight": 1.0,
70
- "score_formula": null,
71
- "is_leaf": false,
72
- "parent_name": "Z. 전체스코어"
73
- },
74
- {
75
- "name": "Y4. 안전성과",
76
- "description": "재해율, SL-PA 등 안전 관련 성과 평가",
77
- "formula": null,
78
- "active": true,
79
- "state": "RELEASE",
80
- "viz_type": null,
81
- "viz_meta": null,
82
- "schedule": null,
83
- "schedule_id": null,
84
- "timezone": null,
85
- "grades": null,
86
- "period_type": "DAY",
87
- "weight": 1.0,
88
- "score_formula": null,
89
- "is_leaf": false,
90
- "parent_name": "Z. 전체스코어"
91
- },
92
- {
93
- "name": "Y5. 환경성과",
94
- "description": "건설폐기물 등 환경 관련 성과 평가",
95
- "formula": null,
96
- "active": true,
97
- "state": "RELEASE",
98
- "viz_type": null,
99
- "viz_meta": null,
100
- "schedule": null,
101
- "schedule_id": null,
102
- "timezone": null,
103
- "grades": null,
104
- "period_type": "DAY",
105
- "weight": 1.0,
106
- "score_formula": null,
107
- "is_leaf": false,
108
- "parent_name": "Z. 전체스코어"
109
- },
110
- {
111
- "name": "Y6. 생산성성과",
112
- "description": "투입인력 생산성 등 생산성 관련 성과 평가",
113
- "formula": null,
114
- "active": true,
115
- "state": "RELEASE",
116
- "viz_type": null,
117
- "viz_meta": null,
118
- "schedule": null,
119
- "schedule_id": null,
120
- "timezone": null,
121
- "grades": null,
122
- "period_type": "DAY",
123
- "weight": 1.0,
124
- "score_formula": null,
125
- "is_leaf": false,
126
- "parent_name": "Z. 전체스코어"
127
- },
128
- {
129
- "name": "X11. 연면적 대비 공사기간",
130
- "description": "연면적 대비 공사기간 평가",
131
- "formula": "[실제공사기간] / [연면적]",
132
- "active": true,
133
- "state": "DRAFT",
134
- "viz_type": null,
135
- "viz_meta": null,
136
- "schedule": null,
137
- "schedule_id": null,
138
- "timezone": null,
139
- "grades": null,
140
- "period_type": "DAY",
141
- "weight": 1.0,
142
- "score_formula": null,
143
- "is_leaf": true,
144
- "parent_name": "Y1. 일정성과"
145
- },
146
- {
147
- "name": "X12. 설계변경에 따른 공기 증감률",
148
- "description": "설계변경에 따른 공기 증감률 평가",
149
- "formula": "([실제공사기간] - [계획공사기간]) / [계획공사기간]",
150
- "active": true,
151
- "state": "DRAFT",
152
- "viz_type": null,
153
- "viz_meta": null,
154
- "schedule": null,
155
- "schedule_id": null,
156
- "timezone": null,
157
- "grades": "[{\"name\":\"1\",\"minValue\":0,\"maxValue\":5,\"score\":1,\"description\":\"샘플값\"}]",
158
- "period_type": "DAY",
159
- "weight": 1.0,
160
- "score_formula": null,
161
- "is_leaf": true,
162
- "parent_name": "Y1. 일정성과"
163
- },
164
- {
165
- "name": "X13. 일정 이탈 수준",
166
- "description": "프로젝트 일정 이탈 수준 평가",
167
- "formula": "[일정 이탈 수준]",
168
- "active": true,
169
- "state": "DRAFT",
170
- "viz_type": null,
171
- "viz_meta": null,
172
- "schedule": null,
173
- "schedule_id": null,
174
- "timezone": null,
175
- "grades": null,
176
- "period_type": "DAY",
177
- "weight": 1.0,
178
- "score_formula": null,
179
- "is_leaf": true,
180
- "parent_name": "Y1. 일정성과"
181
- },
182
- {
183
- "name": "X14. 일정성과 수준 평가",
184
- "description": "일정성과 종합 평가",
185
- "formula": "[일정성과 수준 평가]",
186
- "active": true,
187
- "state": "DRAFT",
188
- "viz_type": null,
189
- "viz_meta": null,
190
- "schedule": null,
191
- "schedule_id": null,
192
- "timezone": null,
193
- "grades": null,
194
- "period_type": "DAY",
195
- "weight": 1.0,
196
- "score_formula": null,
197
- "is_leaf": true,
198
- "parent_name": "Y1. 일정성과"
199
- },
200
- {
201
- "name": "X21. 연면적 대비 공사비",
202
- "description": "연면적 대비 공사비 평가",
203
- "formula": "[실제공사비] / [연면적]",
204
- "active": true,
205
- "state": "DRAFT",
206
- "viz_type": null,
207
- "viz_meta": null,
208
- "schedule": null,
209
- "schedule_id": null,
210
- "timezone": null,
211
- "grades": null,
212
- "period_type": "DAY",
213
- "weight": 1.0,
214
- "score_formula": null,
215
- "is_leaf": true,
216
- "parent_name": "Y2. 비용성과"
217
- },
218
- {
219
- "name": "X22. 설계변경에 따른 공사비 증감률",
220
- "description": "설계변경에 따른 공사비 증감률 평가",
221
- "formula": "([실제공사비]-[계획공사비]) / [계획공사비]",
222
- "active": true,
223
- "state": "DRAFT",
224
- "viz_type": null,
225
- "viz_meta": null,
226
- "schedule": null,
227
- "schedule_id": null,
228
- "timezone": null,
229
- "grades": null,
230
- "period_type": "DAY",
231
- "weight": 1.0,
232
- "score_formula": null,
233
- "is_leaf": true,
234
- "parent_name": "Y2. 비용성과"
235
- },
236
- {
237
- "name": "X23. 비용성과 수준 평가",
238
- "description": "비용성과 종합 평가",
239
- "formula": "[비용성과 수준 평가]",
240
- "active": true,
241
- "state": "DRAFT",
242
- "viz_type": null,
243
- "viz_meta": null,
244
- "schedule": null,
245
- "schedule_id": null,
246
- "timezone": null,
247
- "grades": null,
248
- "period_type": "DAY",
249
- "weight": 1.0,
250
- "score_formula": null,
251
- "is_leaf": true,
252
- "parent_name": "Y2. 비용성과"
253
- },
254
- {
255
- "name": "X31. 품질시험 불합격률",
256
- "description": "품질시험 불합격률 평가",
257
- "formula": "[품질시험 불합격 건수] / [연면적]",
258
- "active": true,
259
- "state": "DRAFT",
260
- "viz_type": null,
261
- "viz_meta": null,
262
- "schedule": null,
263
- "schedule_id": null,
264
- "timezone": null,
265
- "grades": null,
266
- "period_type": "DAY",
267
- "weight": 1.0,
268
- "score_formula": null,
269
- "is_leaf": true,
270
- "parent_name": "Y3. 품질성과"
271
- },
272
- {
273
- "name": "X32. 검수자재 불합격률",
274
- "description": "검수자재 불합격률 평가",
275
- "formula": "[검수자재 불합격 건수] / [연면적]",
276
- "active": true,
277
- "state": "DRAFT",
278
- "viz_type": null,
279
- "viz_meta": null,
280
- "schedule": null,
281
- "schedule_id": null,
282
- "timezone": null,
283
- "grades": null,
284
- "period_type": "DAY",
285
- "weight": 1.0,
286
- "score_formula": "POW([value], 1)",
287
- "is_leaf": true,
288
- "parent_name": "Y3. 품질성과"
289
- },
290
- {
291
- "name": "X33. 검측 불합격률",
292
- "description": "검측 불합격률 평가",
293
- "formula": "[품질검측 불합격 건수] / [연면적]",
294
- "active": true,
295
- "state": "DRAFT",
296
- "viz_type": null,
297
- "viz_meta": null,
298
- "schedule": null,
299
- "schedule_id": null,
300
- "timezone": null,
301
- "grades": null,
302
- "period_type": "DAY",
303
- "weight": 1.0,
304
- "score_formula": null,
305
- "is_leaf": true,
306
- "parent_name": "Y3. 품질성과"
307
- },
308
- {
309
- "name": "X34. 품질 SL-PA 결과값",
310
- "description": "품질 SL-PA 결과",
311
- "formula": "[SL-PA 품질평가]",
312
- "active": true,
313
- "state": "DRAFT",
314
- "viz_type": null,
315
- "viz_meta": null,
316
- "schedule": null,
317
- "schedule_id": null,
318
- "timezone": null,
319
- "grades": null,
320
- "period_type": "DAY",
321
- "weight": 1.0,
322
- "score_formula": "[value]",
323
- "is_leaf": true,
324
- "parent_name": "Y3. 품질성과"
325
- },
326
- {
327
- "name": "X35. 품질성과 수준 평가",
328
- "description": "품질성과 종합 평가",
329
- "formula": "[품질성과 수준 평가]",
330
- "active": true,
331
- "state": "DRAFT",
332
- "viz_type": null,
333
- "viz_meta": null,
334
- "schedule": null,
335
- "schedule_id": null,
336
- "timezone": null,
337
- "grades": null,
338
- "period_type": "DAY",
339
- "weight": 1.0,
340
- "score_formula": "INTEGRATE([value], 1, 2, 3)",
341
- "is_leaf": true,
342
- "parent_name": "Y3. 품질성과"
343
- },
344
- {
345
- "name": "X41. 재해율",
346
- "description": "재해율 평가",
347
- "formula": "[재해 건수] / [연간 근로자 수] * 100",
348
- "active": true,
349
- "state": "DRAFT",
350
- "viz_type": null,
351
- "viz_meta": null,
352
- "schedule": null,
353
- "schedule_id": null,
354
- "timezone": null,
355
- "grades": null,
356
- "period_type": "DAY",
357
- "weight": 1.0,
358
- "score_formula": null,
359
- "is_leaf": true,
360
- "parent_name": "Y4. 안전성과"
361
- },
362
- {
363
- "name": "X42. 재해강도율",
364
- "description": "재해강도율 평가",
365
- "formula": "[노동손실일수] / ( [총 근로자수] * [1인당 연간 근로 시간] ) * 1000",
366
- "active": true,
367
- "state": "DRAFT",
368
- "viz_type": null,
369
- "viz_meta": null,
370
- "schedule": null,
371
- "schedule_id": null,
372
- "timezone": null,
373
- "grades": null,
374
- "period_type": "DAY",
375
- "weight": 1.0,
376
- "score_formula": null,
377
- "is_leaf": true,
378
- "parent_name": "Y4. 안전성과"
379
- },
380
- {
381
- "name": "X43. 안전 SL-PA 결과값",
382
- "description": "안전 SL-PA 결과",
383
- "formula": "[SL-PA 안전 평가]",
384
- "active": true,
385
- "state": "DRAFT",
386
- "viz_type": null,
387
- "viz_meta": null,
388
- "schedule": null,
389
- "schedule_id": null,
390
- "timezone": null,
391
- "grades": null,
392
- "period_type": "DAY",
393
- "weight": 1.0,
394
- "score_formula": null,
395
- "is_leaf": true,
396
- "parent_name": "Y4. 안전성과"
397
- },
398
- {
399
- "name": "X44. 안전성과 수준 평가",
400
- "description": "안전성과 종합 평가",
401
- "formula": "[안전성과 수준 평가]",
402
- "active": true,
403
- "state": "DRAFT",
404
- "viz_type": null,
405
- "viz_meta": null,
406
- "schedule": null,
407
- "schedule_id": null,
408
- "timezone": null,
409
- "grades": null,
410
- "period_type": "DAY",
411
- "weight": 1.0,
412
- "score_formula": null,
413
- "is_leaf": true,
414
- "parent_name": "Y4. 안전성과"
415
- },
416
- {
417
- "name": "X51. 건설폐기물 발생량",
418
- "description": "건설폐기물 발생량 평가",
419
- "formula": "[총 건설 폐기물 발생량] / [연면적]",
420
- "active": true,
421
- "state": "DRAFT",
422
- "viz_type": null,
423
- "viz_meta": null,
424
- "schedule": null,
425
- "schedule_id": null,
426
- "timezone": null,
427
- "grades": null,
428
- "period_type": "DAY",
429
- "weight": 1.0,
430
- "score_formula": null,
431
- "is_leaf": true,
432
- "parent_name": "Y5. 환경성과"
433
- },
434
- {
435
- "name": "X52. 환경성과 수준 평가",
436
- "description": "환경성과 종합 평가",
437
- "formula": "[환경성과 수준 평가]",
438
- "active": true,
439
- "state": "DRAFT",
440
- "viz_type": null,
441
- "viz_meta": null,
442
- "schedule": null,
443
- "schedule_id": null,
444
- "timezone": null,
445
- "grades": null,
446
- "period_type": "DAY",
447
- "weight": 1.0,
448
- "score_formula": null,
449
- "is_leaf": true,
450
- "parent_name": "Y5. 환경성과"
451
- },
452
- {
453
- "name": "X61. 투입인력 생산성",
454
- "description": "투입인력 생산성 평가",
455
- "formula": "[투입인력] / [연면적]",
456
- "active": true,
457
- "state": "DRAFT",
458
- "viz_type": null,
459
- "viz_meta": null,
460
- "schedule": null,
461
- "schedule_id": null,
462
- "timezone": null,
463
- "grades": null,
464
- "period_type": "DAY",
465
- "weight": 1.0,
466
- "score_formula": null,
467
- "is_leaf": true,
468
- "parent_name": "Y6. 생산성성과"
469
- },
470
- {
471
- "name": "X62. 생산성성과 수준 평가",
472
- "description": "생산성과 종합 평가",
473
- "formula": "[생산성성과 수준 평가]",
474
- "active": true,
475
- "state": "DRAFT",
476
- "viz_type": null,
477
- "viz_meta": null,
478
- "schedule": null,
479
- "schedule_id": null,
480
- "timezone": null,
481
- "grades": null,
482
- "period_type": "DAY",
483
- "weight": 1.0,
484
- "score_formula": null,
485
- "is_leaf": true,
486
- "parent_name": "Y6. 생산성성과"
487
- }
488
- ]
@@ -1,90 +0,0 @@
1
- [
2
- {
3
- "scopeLevel": 1,
4
- "name": "프로젝트명",
5
- "description": "개별 건설 프로젝트나 현장의 고유 식별명",
6
- "scopeType": "BUSINESS",
7
- "displayOrder": 1,
8
- "active": true,
9
- "includeInStatistics": false,
10
- "showInDashboard": false,
11
- "metadata": {
12
- "icon": "construction",
13
- "color": "#1976d2"
14
- }
15
- },
16
- {
17
- "scopeLevel": 2,
18
- "name": "지역",
19
- "description": "시도 단위 행정구역 (서울특별시, 부산광역시, 경기도 등)",
20
- "scopeType": "GEOGRAPHIC",
21
- "displayOrder": 2,
22
- "active": true,
23
- "includeInStatistics": true,
24
- "showInDashboard": true,
25
- "validValues": [
26
- "서울특별시", "부산광역시", "대구광역시", "인천광역시",
27
- "광주광역시", "대전광역시", "울산광역시", "세종특별자치시",
28
- "경기도", "강원도", "충청북도", "충청남도",
29
- "전라북도", "전라남도", "경상북도", "경상남도", "제주특별자치도"
30
- ],
31
- "metadata": {
32
- "icon": "location_on",
33
- "color": "#388e3c",
34
- "mapVisualization": true
35
- }
36
- },
37
- {
38
- "scopeLevel": 3,
39
- "name": "건설회사",
40
- "description": "주요 건설회사 또는 시공사",
41
- "scopeType": "ORGANIZATIONAL",
42
- "displayOrder": 3,
43
- "active": true,
44
- "includeInStatistics": true,
45
- "showInDashboard": true,
46
- "validValues": [
47
- "현대건설", "삼성물산", "GS건설", "대우건설", "롯데건설",
48
- "대림산업", "포스코건설", "HDC현대산업개발", "호반건설", "태영건설",
49
- "한화건설", "코오롱글로벌", "제일건설", "남광토건", "한국토지주택공사"
50
- ],
51
- "metadata": {
52
- "icon": "business",
53
- "color": "#f57c00"
54
- }
55
- },
56
- {
57
- "scopeLevel": 4,
58
- "name": "프로젝트규모",
59
- "description": "프로젝트의 규모나 등급 분류",
60
- "scopeType": "BUSINESS",
61
- "displayOrder": 4,
62
- "active": true,
63
- "includeInStatistics": true,
64
- "showInDashboard": false,
65
- "validValues": ["대규모", "중규모", "소규모", "특대형", "일반형"],
66
- "metadata": {
67
- "icon": "bar_chart",
68
- "color": "#7b1fa2"
69
- }
70
- },
71
- {
72
- "scopeLevel": 5,
73
- "name": "공종",
74
- "description": "건설 공사의 종류나 기술 분야",
75
- "scopeType": "TECHNICAL",
76
- "displayOrder": 5,
77
- "active": true,
78
- "includeInStatistics": true,
79
- "showInDashboard": false,
80
- "validValues": [
81
- "토목공사", "건축공사", "플랜트공사", "주택공사",
82
- "도로공사", "철도공사", "항만공사", "상하수도공사",
83
- "전기공사", "통신공사", "조경공사", "소방공사"
84
- ],
85
- "metadata": {
86
- "icon": "engineering",
87
- "color": "#d32f2f"
88
- }
89
- }
90
- ]
package/server/routes.ts DELETED
@@ -1,81 +0,0 @@
1
- import { aggregateKpiMetricValue } from './service/kpi-metric/aggregate-kpi-metric'
2
- import { aggregateKpiValue } from './service/kpi/aggregate-kpi'
3
-
4
- process.on('bootstrap-module-global-public-route' as any, (app, globalPublicRouter) => {
5
- /*
6
- * can add global public routes to application (auth not required, tenancy not required)
7
- *
8
- * ex) routes.get('/path', async(context, next) => {})
9
- * ex) routes.post('/path', async(context, next) => {})
10
- */
11
-
12
- // KPI-Metric 스케줄러 콜백 엔드포인트
13
- globalPublicRouter.post('/callback-schedule-for-kpi-metric', async (context, next) => {
14
- const { client } = context.request.body
15
-
16
- if (!client || typeof client !== 'object') {
17
- throw new Error('client property should be a part of callback body.')
18
- }
19
-
20
- const { group: domainId, key: metricId } = client
21
-
22
- if (!domainId || !metricId) {
23
- throw new Error(`group(${domainId}) and key(${metricId}) properties should not be empty`)
24
- }
25
-
26
- try {
27
- // KPI-Metric 집계/자동화 함수 호출
28
- const values = await aggregateKpiMetricValue(metricId, domainId, context)
29
- console.log(`[KPI-Metric Schedule Callback] domainId=${domainId}, metricId=${metricId}, values=`, values)
30
- context.status = 200
31
- } catch (err) {
32
- console.error('[KPI-Metric Schedule Callback][ERROR]', err)
33
- context.status = 500
34
- context.body = { error: err.message || String(err) }
35
- }
36
- })
37
-
38
- // KPI 스케줄러 콜백 엔드포인트
39
- globalPublicRouter.post('/callback-schedule-for-kpi', async (context, next) => {
40
- const { client } = context.request.body
41
-
42
- if (!client || typeof client !== 'object') {
43
- throw new Error('client property should be a part of callback body.')
44
- }
45
-
46
- const { group: domainId, key: kpiId } = client
47
-
48
- if (!domainId || !kpiId) {
49
- throw new Error(`group(${domainId}) and key(${kpiId}) properties should not be empty`)
50
- }
51
-
52
- try {
53
- // KPI 집계/자동화 함수 호출
54
- const values = await aggregateKpiValue(kpiId, domainId, context)
55
- console.log(`[KPI Schedule Callback] domainId=${domainId}, kpiId=${kpiId}, values=`, values)
56
- context.status = 200
57
- } catch (err) {
58
- console.error('[KPI Schedule Callback][ERROR]', err)
59
- context.status = 500
60
- context.body = { error: err.message || String(err) }
61
- }
62
- })
63
- })
64
-
65
- process.on('bootstrap-module-global-private-route' as any, (app, globalPrivateRouter) => {
66
- /*
67
- * can add global private routes to application (auth required, tenancy not required)
68
- */
69
- })
70
-
71
- process.on('bootstrap-module-domain-public-route' as any, (app, domainPublicRouter) => {
72
- /*
73
- * can add domain public routes to application (auth not required, tenancy required)
74
- */
75
- })
76
-
77
- process.on('bootstrap-module-domain-private-route' as any, (app, domainPrivateRouter) => {
78
- /*
79
- * can add domain private routes to application (auth required, tenancy required)
80
- */
81
- })