@dssp/dkpi 1.0.0-alpha.65 → 1.0.0-alpha.67
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/_index.html +0 -5
- package/dist-client/components/kpi-2d-lookup-chart.d.ts +63 -0
- package/dist-client/components/kpi-2d-lookup-chart.js +470 -0
- package/dist-client/components/kpi-2d-lookup-chart.js.map +1 -0
- package/dist-client/google-map/common-google-map.js +10 -8
- package/dist-client/google-map/common-google-map.js.map +1 -1
- package/dist-client/pages/kpi-admin/dssp-kpi-list-page.d.ts +22 -0
- package/dist-client/pages/kpi-admin/dssp-kpi-list-page.js +57 -0
- package/dist-client/pages/kpi-admin/dssp-kpi-list-page.js.map +1 -0
- package/dist-client/pages/kpi-admin/kpi-grade-2d-editor.d.ts +20 -0
- package/dist-client/pages/kpi-admin/kpi-grade-2d-editor.js +445 -0
- package/dist-client/pages/kpi-admin/kpi-grade-2d-editor.js.map +1 -0
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.d.ts +6 -5
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js +47 -68
- package/dist-client/pages/kpi-dashboard/cards/kpi-level1-card.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.d.ts +3 -2
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js +79 -122
- package/dist-client/pages/kpi-dashboard/cards/kpi-level2-comparison.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.d.ts +3 -2
- package/dist-client/pages/kpi-dashboard/cards/kpi-level3-comparison.js +71 -107
- 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 +4 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-left-panel.js +246 -28
- 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 +4 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js +22 -207
- package/dist-client/pages/kpi-dashboard/components/kpi-map-panel.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.d.ts +2 -0
- package/dist-client/pages/kpi-dashboard/components/kpi-region-popup.js +84 -25
- 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 +16 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js +261 -31
- package/dist-client/pages/kpi-dashboard/kpi-dashboard-map.js.map +1 -1
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.d.ts +4 -0
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js +66 -4
- package/dist-client/pages/kpi-dashboard/kpi-dashboard.js.map +1 -1
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.d.ts +1 -2
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-editor-page.js +1 -2
- 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-list-page.d.ts +1 -2
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-list-page.js +1 -2
- 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-page.d.ts +1 -2
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js +1 -2
- package/dist-client/pages/kpi-metric-value/kpi-metric-value-manual-entry-page.js.map +1 -1
- package/dist-client/pages/kpi-value/kpi-value-list-page.d.ts +1 -2
- package/dist-client/pages/kpi-value/kpi-value-list-page.js +1 -2
- package/dist-client/pages/kpi-value/kpi-value-list-page.js.map +1 -1
- package/dist-client/pages/sv-project-detail.d.ts +1 -0
- package/dist-client/pages/sv-project-detail.js +26 -13
- package/dist-client/pages/sv-project-detail.js.map +1 -1
- package/dist-client/pages/sv-project-list.js +6 -6
- package/dist-client/pages/sv-project-list.js.map +1 -1
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +4 -0
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/viewparts/menu-tools.d.ts +1 -2
- package/dist-client/viewparts/menu-tools.js +1 -2
- package/dist-client/viewparts/menu-tools.js.map +1 -1
- package/dist-server/scripts/calculate-kpi-scores.js +65 -3
- package/dist-server/scripts/calculate-kpi-scores.js.map +1 -1
- package/dist-server/scripts/load-grade-data-migration.d.ts +4 -0
- package/dist-server/scripts/load-grade-data-migration.js +95 -10
- package/dist-server/scripts/load-grade-data-migration.js.map +1 -1
- package/dist-server/scripts/propagate-parent-kpi-values.js +58 -4
- package/dist-server/scripts/propagate-parent-kpi-values.js.map +1 -1
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.d.ts +6 -0
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js +57 -7
- package/dist-server/service/kpi-metric-value/kpi-metric-value-mutation.js.map +1 -1
- package/dist-server/service/kpi-stat/kpi-stat-query.d.ts +8 -5
- package/dist-server/service/kpi-stat/kpi-stat-query.js +228 -11
- package/dist-server/service/kpi-stat/kpi-stat-query.js.map +1 -1
- package/dist-server/service/kpi-stat/kpi-stat-types.d.ts +13 -0
- package/dist-server/service/kpi-stat/kpi-stat-types.js +51 -1
- package/dist-server/service/kpi-stat/kpi-stat-types.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +54 -54
- package/schema.graphql +95 -58
- package/things-factory.config.js +3 -1
- package/views/auth-page.html +0 -1
- package/views/public/home.html +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dssp/dkpi",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.67",
|
|
4
4
|
"main": "dist-server/index.js",
|
|
5
5
|
"browser": "dist-client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"serve": "things-factory dkpi",
|
|
20
|
-
"serve:dev": "npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev dkpi\"",
|
|
20
|
+
"serve:dev": "npm run build:server && concurrently -k -r \"npm run build:client:watch\" \"things-factory-dev dkpi --webpack ../../webpack.config.dev.js\"",
|
|
21
21
|
"copy:files": "copyfiles -e \"./client/**/*.{ts,js,json}\" -u 1 \"./client/**/*\" dist-client",
|
|
22
22
|
"build": "npm run build:server && npm run build:client",
|
|
23
23
|
"build:client": "npm run clean:client && npm run copy:files && tsc --p ./client/tsconfig.json",
|
|
@@ -48,60 +48,60 @@
|
|
|
48
48
|
"docker:push": "docker image push hatiolab/dkpi:latest && docker image push hatiolab/dkpi:$npm_package_version"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@dssp/project": "^1.0.0-alpha.
|
|
52
|
-
"@material/web": "^2.
|
|
53
|
-
"@operato/chart": "^
|
|
54
|
-
"@operato/gantt": "^
|
|
55
|
-
"@operato/scene-auth": "^
|
|
56
|
-
"@operato/scene-chartjs": "^
|
|
57
|
-
"@operato/scene-clock": "^
|
|
58
|
-
"@operato/scene-data-transform": "^
|
|
59
|
-
"@operato/scene-form": "^
|
|
60
|
-
"@operato/scene-gauge": "^
|
|
61
|
-
"@operato/scene-grist": "^
|
|
62
|
-
"@operato/scene-half-roundrect": "^
|
|
63
|
-
"@operato/scene-image-slider": "^
|
|
64
|
-
"@operato/scene-integration": "^
|
|
65
|
-
"@operato/scene-legend": "^
|
|
66
|
-
"@operato/scene-news-ticker": "^
|
|
67
|
-
"@operato/scene-progressbar": "^
|
|
68
|
-
"@operato/scene-random": "^
|
|
69
|
-
"@operato/scene-switch": "^
|
|
70
|
-
"@operato/scene-tab": "^
|
|
71
|
-
"@operato/scene-table": "^
|
|
72
|
-
"@operato/scene-timer": "^
|
|
73
|
-
"@things-factory/api": "^
|
|
74
|
-
"@things-factory/apptool-base": "^
|
|
75
|
-
"@things-factory/apptool-ui": "^
|
|
76
|
-
"@things-factory/auth-base": "^
|
|
77
|
-
"@things-factory/auth-ui": "^
|
|
78
|
-
"@things-factory/board-service": "^
|
|
79
|
-
"@things-factory/board-ui": "^
|
|
80
|
-
"@things-factory/code-ui": "^
|
|
81
|
-
"@things-factory/context-ui": "^
|
|
82
|
-
"@things-factory/dashboard": "^
|
|
83
|
-
"@things-factory/dataset": "^
|
|
84
|
-
"@things-factory/evaluation": "^
|
|
85
|
-
"@things-factory/export-ui": "^
|
|
86
|
-
"@things-factory/help": "^
|
|
87
|
-
"@things-factory/i18n-base": "^
|
|
88
|
-
"@things-factory/integration-base": "^
|
|
89
|
-
"@things-factory/integration-ui": "^
|
|
90
|
-
"@things-factory/kpi": "^
|
|
91
|
-
"@things-factory/lite-menu": "^
|
|
92
|
-
"@things-factory/more-base": "^
|
|
93
|
-
"@things-factory/more-ui": "^
|
|
94
|
-
"@things-factory/notification": "^
|
|
95
|
-
"@things-factory/resource-ui": "^
|
|
96
|
-
"@things-factory/setting-base": "^
|
|
97
|
-
"@things-factory/setting-ui": "^
|
|
98
|
-
"@things-factory/shell": "^
|
|
99
|
-
"@things-factory/system": "^
|
|
51
|
+
"@dssp/project": "^1.0.0-alpha.66",
|
|
52
|
+
"@material/web": "^2.4.0",
|
|
53
|
+
"@operato/chart": "^10.0.0-beta",
|
|
54
|
+
"@operato/gantt": "^10.0.0-beta",
|
|
55
|
+
"@operato/scene-auth": "^10.0.0-beta",
|
|
56
|
+
"@operato/scene-chartjs": "^10.0.0-beta",
|
|
57
|
+
"@operato/scene-clock": "^10.0.0-beta",
|
|
58
|
+
"@operato/scene-data-transform": "^10.0.0-beta",
|
|
59
|
+
"@operato/scene-form": "^10.0.0-beta",
|
|
60
|
+
"@operato/scene-gauge": "^10.0.0-beta",
|
|
61
|
+
"@operato/scene-grist": "^10.0.0-beta",
|
|
62
|
+
"@operato/scene-half-roundrect": "^10.0.0-beta",
|
|
63
|
+
"@operato/scene-image-slider": "^10.0.0-beta",
|
|
64
|
+
"@operato/scene-integration": "^10.0.0-beta",
|
|
65
|
+
"@operato/scene-legend": "^10.0.0-beta",
|
|
66
|
+
"@operato/scene-news-ticker": "^10.0.0-beta",
|
|
67
|
+
"@operato/scene-progressbar": "^10.0.0-beta",
|
|
68
|
+
"@operato/scene-random": "^10.0.0-beta",
|
|
69
|
+
"@operato/scene-switch": "^10.0.0-beta",
|
|
70
|
+
"@operato/scene-tab": "^10.0.0-beta",
|
|
71
|
+
"@operato/scene-table": "^10.0.0-beta",
|
|
72
|
+
"@operato/scene-timer": "^10.0.0-beta",
|
|
73
|
+
"@things-factory/api": "^10.0.0-beta",
|
|
74
|
+
"@things-factory/apptool-base": "^10.0.0-beta",
|
|
75
|
+
"@things-factory/apptool-ui": "^10.0.0-beta",
|
|
76
|
+
"@things-factory/auth-base": "^10.0.0-beta",
|
|
77
|
+
"@things-factory/auth-ui": "^10.0.0-beta",
|
|
78
|
+
"@things-factory/board-service": "^10.0.0-beta",
|
|
79
|
+
"@things-factory/board-ui": "^10.0.0-beta",
|
|
80
|
+
"@things-factory/code-ui": "^10.0.0-beta",
|
|
81
|
+
"@things-factory/context-ui": "^10.0.0-beta",
|
|
82
|
+
"@things-factory/dashboard": "^10.0.0-beta",
|
|
83
|
+
"@things-factory/dataset": "^10.0.0-beta",
|
|
84
|
+
"@things-factory/evaluation": "^10.0.0-beta",
|
|
85
|
+
"@things-factory/export-ui": "^10.0.0-beta",
|
|
86
|
+
"@things-factory/help": "^10.0.0-beta",
|
|
87
|
+
"@things-factory/i18n-base": "^10.0.0-beta",
|
|
88
|
+
"@things-factory/integration-base": "^10.0.0-beta",
|
|
89
|
+
"@things-factory/integration-ui": "^10.0.0-beta",
|
|
90
|
+
"@things-factory/kpi": "^10.0.0-beta",
|
|
91
|
+
"@things-factory/lite-menu": "^10.0.0-beta",
|
|
92
|
+
"@things-factory/more-base": "^10.0.0-beta",
|
|
93
|
+
"@things-factory/more-ui": "^10.0.0-beta",
|
|
94
|
+
"@things-factory/notification": "^10.0.0-beta",
|
|
95
|
+
"@things-factory/resource-ui": "^10.0.0-beta",
|
|
96
|
+
"@things-factory/setting-base": "^10.0.0-beta",
|
|
97
|
+
"@things-factory/setting-ui": "^10.0.0-beta",
|
|
98
|
+
"@things-factory/shell": "^10.0.0-beta",
|
|
99
|
+
"@things-factory/system": "^10.0.0-beta",
|
|
100
100
|
"moment": "2.30.1",
|
|
101
|
-
"puppeteer": "^24.
|
|
101
|
+
"puppeteer": "^24.39.0"
|
|
102
102
|
},
|
|
103
103
|
"devDependencies": {
|
|
104
|
-
"@things-factory/builder": "^
|
|
104
|
+
"@things-factory/builder": "^10.0.0-beta"
|
|
105
105
|
},
|
|
106
|
-
"gitHead": "
|
|
106
|
+
"gitHead": "e7e5fcce7dfa2c1f128b0ae878403b2b025608fa"
|
|
107
107
|
}
|
package/schema.graphql
CHANGED
|
@@ -3,15 +3,6 @@
|
|
|
3
3
|
# !!! DO NOT MODIFY THIS FILE BY YOURSELF !!!
|
|
4
4
|
# -----------------------------------------------
|
|
5
5
|
|
|
6
|
-
input APIDocCompletionInput {
|
|
7
|
-
code: String!
|
|
8
|
-
language: String
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
type APIDocCompletionOutput {
|
|
12
|
-
message: String
|
|
13
|
-
}
|
|
14
|
-
|
|
15
6
|
"""Represents a pair of access and refresh tokens."""
|
|
16
7
|
type AccessToken {
|
|
17
8
|
"""The access token for API authentication."""
|
|
@@ -1155,6 +1146,11 @@ type Board {
|
|
|
1155
1146
|
"""A list of play groups that this board is a part of."""
|
|
1156
1147
|
playGroups: [PlayGroup!]
|
|
1157
1148
|
|
|
1149
|
+
"""
|
|
1150
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
1151
|
+
"""
|
|
1152
|
+
sortOrder: Float
|
|
1153
|
+
|
|
1158
1154
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
1159
1155
|
state: String
|
|
1160
1156
|
|
|
@@ -1209,6 +1205,11 @@ type BoardFavorite {
|
|
|
1209
1205
|
"""A list of play groups that this board is a part of."""
|
|
1210
1206
|
playGroups: [PlayGroup!]
|
|
1211
1207
|
|
|
1208
|
+
"""
|
|
1209
|
+
Sort order for display. Lower values appear first. Supports fractional values for insertion.
|
|
1210
|
+
"""
|
|
1211
|
+
sortOrder: Float
|
|
1212
|
+
|
|
1212
1213
|
"""The state of the board, can be 'draft' or 'released'."""
|
|
1213
1214
|
state: String
|
|
1214
1215
|
|
|
@@ -1514,6 +1515,7 @@ type BuildingInspection {
|
|
|
1514
1515
|
creator: User
|
|
1515
1516
|
deletedAt: DateTimeISO
|
|
1516
1517
|
drawingMarker: String
|
|
1518
|
+
failCount: Float
|
|
1517
1519
|
id: ID!
|
|
1518
1520
|
manager: ProjectManagerOutput
|
|
1519
1521
|
memo: String
|
|
@@ -1582,6 +1584,7 @@ type BuildingInspectionHistory {
|
|
|
1582
1584
|
createdAt: DateTimeISO
|
|
1583
1585
|
creator: User
|
|
1584
1586
|
drawingMarker: String
|
|
1587
|
+
failCount: Float
|
|
1585
1588
|
id: ID!
|
|
1586
1589
|
loggedAt: DateTimeISO
|
|
1587
1590
|
manager: ProjectManagerOutput
|
|
@@ -1611,6 +1614,9 @@ type BuildingInspectionSummary {
|
|
|
1611
1614
|
"""검측 통과 수"""
|
|
1612
1615
|
pass: Int!
|
|
1613
1616
|
|
|
1617
|
+
"""재검측 대기 수 (failCount > 0 인 WAIT/OVERALL_WAIT)"""
|
|
1618
|
+
reWait: Int
|
|
1619
|
+
|
|
1614
1620
|
"""검측 요청 수"""
|
|
1615
1621
|
request: Int!
|
|
1616
1622
|
|
|
@@ -1645,6 +1651,9 @@ input BuildingInspectionsOfBuildingLevel {
|
|
|
1645
1651
|
input BuildingInspectionsOfProject {
|
|
1646
1652
|
limit: Float
|
|
1647
1653
|
projectId: String!
|
|
1654
|
+
|
|
1655
|
+
"""상태 필터 (WAIT, REQUEST, FAIL, RE_WAIT, PASS)"""
|
|
1656
|
+
statusFilter: String
|
|
1648
1657
|
}
|
|
1649
1658
|
|
|
1650
1659
|
"""층 정보"""
|
|
@@ -1692,14 +1701,6 @@ input BuildingPatch {
|
|
|
1692
1701
|
name: String
|
|
1693
1702
|
}
|
|
1694
1703
|
|
|
1695
|
-
input ChatCompletionInput {
|
|
1696
|
-
content: String!
|
|
1697
|
-
}
|
|
1698
|
-
|
|
1699
|
-
type ChatCompletionOutput {
|
|
1700
|
-
message: String
|
|
1701
|
-
}
|
|
1702
|
-
|
|
1703
1704
|
type Checklist {
|
|
1704
1705
|
buildingInspection: BuildingInspection!
|
|
1705
1706
|
checklistAttachments(description: String): [Attachment!]!
|
|
@@ -1989,16 +1990,6 @@ input ChecklistTypePatch {
|
|
|
1989
1990
|
mainType: String
|
|
1990
1991
|
}
|
|
1991
1992
|
|
|
1992
|
-
input CodeDecipherInput {
|
|
1993
|
-
code: String!
|
|
1994
|
-
language: String
|
|
1995
|
-
system: String
|
|
1996
|
-
}
|
|
1997
|
-
|
|
1998
|
-
type CodeDecipherOutput {
|
|
1999
|
-
message: String
|
|
2000
|
-
}
|
|
2001
|
-
|
|
2002
1993
|
"""Entity for CommonCode"""
|
|
2003
1994
|
type CommonCode {
|
|
2004
1995
|
createdAt: DateTimeISO
|
|
@@ -2502,15 +2493,18 @@ input DataItemPatch {
|
|
|
2502
2493
|
|
|
2503
2494
|
"""type enumeration of a data-item"""
|
|
2504
2495
|
enum DataItemType {
|
|
2496
|
+
audio
|
|
2505
2497
|
boolean
|
|
2506
2498
|
date
|
|
2507
2499
|
datetime
|
|
2508
2500
|
file
|
|
2501
|
+
image
|
|
2509
2502
|
number
|
|
2510
2503
|
radio
|
|
2511
2504
|
select
|
|
2512
2505
|
signature
|
|
2513
2506
|
text
|
|
2507
|
+
video
|
|
2514
2508
|
}
|
|
2515
2509
|
|
|
2516
2510
|
"""
|
|
@@ -4100,16 +4094,6 @@ input GroupPatch {
|
|
|
4100
4094
|
name: String
|
|
4101
4095
|
}
|
|
4102
4096
|
|
|
4103
|
-
input ImageCompletionInput {
|
|
4104
|
-
count: Float!
|
|
4105
|
-
description: String!
|
|
4106
|
-
size: String!
|
|
4107
|
-
}
|
|
4108
|
-
|
|
4109
|
-
type ImageCompletionOutput {
|
|
4110
|
-
images: String
|
|
4111
|
-
}
|
|
4112
|
-
|
|
4113
4097
|
"""
|
|
4114
4098
|
Enumeration for inherited value types: None, Only, or Include. Used to specify how values are inherited in queries or filters.
|
|
4115
4099
|
"""
|
|
@@ -4363,6 +4347,11 @@ type Kpi {
|
|
|
4363
4347
|
"""
|
|
4364
4348
|
scoreFormula: String
|
|
4365
4349
|
|
|
4350
|
+
"""
|
|
4351
|
+
Score calculation method type. NONE: parent KPI (aggregated from children), FORMULA: uses scoreFormula, LOOKUP: uses grades 1D table, CUSTOM: application-defined (e.g. 2D lookup, statistical distribution).
|
|
4352
|
+
"""
|
|
4353
|
+
scoreType: KpiScoreType
|
|
4354
|
+
|
|
4366
4355
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
4367
4356
|
state: String
|
|
4368
4357
|
targetValue: Float
|
|
@@ -4434,6 +4423,7 @@ type KpiComprehensiveStats {
|
|
|
4434
4423
|
}
|
|
4435
4424
|
|
|
4436
4425
|
type KpiComprehensiveStatsByGeoGroup {
|
|
4426
|
+
address: String
|
|
4437
4427
|
avgVal: Float!
|
|
4438
4428
|
geoGroup: String
|
|
4439
4429
|
kpiName: String
|
|
@@ -4829,6 +4819,9 @@ input KpiPatch {
|
|
|
4829
4819
|
"""
|
|
4830
4820
|
scoreFormula: String
|
|
4831
4821
|
|
|
4822
|
+
"""Score calculation method type for this KPI."""
|
|
4823
|
+
scoreType: KpiScoreType
|
|
4824
|
+
|
|
4832
4825
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
4833
4826
|
state: KpiStatus
|
|
4834
4827
|
|
|
@@ -4865,6 +4858,19 @@ enum KpiPeriodType {
|
|
|
4865
4858
|
YEAR
|
|
4866
4859
|
}
|
|
4867
4860
|
|
|
4861
|
+
type KpiProjectStat {
|
|
4862
|
+
avgVal: Float!
|
|
4863
|
+
categoryName: String
|
|
4864
|
+
kpiName: String!
|
|
4865
|
+
maxVal: Float!
|
|
4866
|
+
medVal: Float!
|
|
4867
|
+
minVal: Float!
|
|
4868
|
+
projectCount: Int!
|
|
4869
|
+
q1Val: Float!
|
|
4870
|
+
q3Val: Float!
|
|
4871
|
+
stddevVal: Float!
|
|
4872
|
+
}
|
|
4873
|
+
|
|
4868
4874
|
"""
|
|
4869
4875
|
Defines the meaning and metadata for each scope level (scope01~05) in KpiOrgScope
|
|
4870
4876
|
"""
|
|
@@ -4961,6 +4967,16 @@ input KpiScopePatch {
|
|
|
4961
4967
|
validationPattern: String
|
|
4962
4968
|
}
|
|
4963
4969
|
|
|
4970
|
+
"""
|
|
4971
|
+
Score calculation method for KPI. NONE: parent KPI aggregated from children, FORMULA: uses scoreFormula, LOOKUP: uses grades 1D table, CUSTOM: application-defined.
|
|
4972
|
+
"""
|
|
4973
|
+
enum KpiScoreType {
|
|
4974
|
+
CUSTOM
|
|
4975
|
+
FORMULA
|
|
4976
|
+
LOOKUP
|
|
4977
|
+
NONE
|
|
4978
|
+
}
|
|
4979
|
+
|
|
4964
4980
|
"""
|
|
4965
4981
|
KPI Statistics Entity - Stores comprehensive statistical information for KPIs and Categories including central tendency measures (mean, median), dispersion metrics (standard deviation, variance), range indicators (min, max), and percentile distributions (25th, 75th percentiles, IQR). Supports both KPI and Category targets with flexible period-based aggregation (daily, weekly, monthly, yearly). Includes extensible JSON fields for additional metrics and metadata for calculation tracking.
|
|
4966
4982
|
"""
|
|
@@ -6875,6 +6891,9 @@ type Mutation {
|
|
|
6875
6891
|
releaseKpi(id: String!): Kpi!
|
|
6876
6892
|
renewApplicationAccessToken(id: String!, scope: String!): AccessToken!
|
|
6877
6893
|
|
|
6894
|
+
"""Updates the sortOrder of a single board."""
|
|
6895
|
+
reorderBoard(id: String!, sortOrder: Float!): Boolean!
|
|
6896
|
+
|
|
6878
6897
|
"""Sets the custom playback order for boards in a play group."""
|
|
6879
6898
|
reorderPlayGroup(boardIds: [String!]!, id: String!): PlayGroup!
|
|
6880
6899
|
|
|
@@ -8084,6 +8103,9 @@ input NewKpi {
|
|
|
8084
8103
|
"""
|
|
8085
8104
|
scoreFormula: String
|
|
8086
8105
|
|
|
8106
|
+
"""Score calculation method type for this KPI."""
|
|
8107
|
+
scoreType: KpiScoreType
|
|
8108
|
+
|
|
8087
8109
|
"""Current state of the KPI (DRAFT, RELEASED, ARCHIVED)."""
|
|
8088
8110
|
state: KpiStatus
|
|
8089
8111
|
|
|
@@ -9531,6 +9553,7 @@ input ProfileInput {
|
|
|
9531
9553
|
"""프로젝트"""
|
|
9532
9554
|
type Project {
|
|
9533
9555
|
buildingComplex: BuildingComplex
|
|
9556
|
+
buildingUsage: String
|
|
9534
9557
|
completeReport: Attachment
|
|
9535
9558
|
createdAt: DateTimeISO
|
|
9536
9559
|
creator: User
|
|
@@ -9552,6 +9575,7 @@ type Project {
|
|
|
9552
9575
|
robotProgressRate: Float
|
|
9553
9576
|
rootTasks: [Task!]
|
|
9554
9577
|
scheduleTable: Attachment
|
|
9578
|
+
sectorType: String
|
|
9555
9579
|
startDate: String
|
|
9556
9580
|
state: String!
|
|
9557
9581
|
structuralSafetyRate: Float
|
|
@@ -9583,6 +9607,9 @@ input ProjectPatch {
|
|
|
9583
9607
|
"""연관된 건물 복합체 정보 (선택 사항)"""
|
|
9584
9608
|
buildingComplex: BuildingComplexPatch
|
|
9585
9609
|
|
|
9610
|
+
"""건물 용도 (RESIDENTIAL: 주거, NON_RESIDENTIAL: 비주거)"""
|
|
9611
|
+
buildingUsage: String
|
|
9612
|
+
|
|
9586
9613
|
"""프로젝트 문서 네이밍"""
|
|
9587
9614
|
documentNaming: String
|
|
9588
9615
|
|
|
@@ -9610,6 +9637,9 @@ input ProjectPatch {
|
|
|
9610
9637
|
"""로봇 작업 진행율 (%)"""
|
|
9611
9638
|
robotProgressRate: Float
|
|
9612
9639
|
|
|
9640
|
+
"""발주 유형 (PUBLIC: 공공, PRIVATE: 민간)"""
|
|
9641
|
+
sectorType: String
|
|
9642
|
+
|
|
9613
9643
|
"""프로젝트 착공일정"""
|
|
9614
9644
|
startDate: String
|
|
9615
9645
|
|
|
@@ -9697,8 +9727,6 @@ type PropertySpec {
|
|
|
9697
9727
|
}
|
|
9698
9728
|
|
|
9699
9729
|
type Query {
|
|
9700
|
-
APIDocCompletion(input: APIDocCompletionInput!): APIDocCompletionOutput!
|
|
9701
|
-
|
|
9702
9730
|
"""To fetch a ActionPlan"""
|
|
9703
9731
|
actionPlan(id: String!): ActionPlan
|
|
9704
9732
|
|
|
@@ -10047,8 +10075,14 @@ type Query {
|
|
|
10047
10075
|
sortings: [Sorting!]
|
|
10048
10076
|
): AuthProviderList!
|
|
10049
10077
|
|
|
10050
|
-
"""
|
|
10051
|
-
board
|
|
10078
|
+
"""
|
|
10079
|
+
Finds a single board by its ID. If cachedUpdatedAt matches, model is omitted.
|
|
10080
|
+
"""
|
|
10081
|
+
board(
|
|
10082
|
+
"""Client cache timestamp — if matches, model field is omitted"""
|
|
10083
|
+
cachedUpdatedAt: String
|
|
10084
|
+
id: String!
|
|
10085
|
+
): Board!
|
|
10052
10086
|
|
|
10053
10087
|
"""Finds a single board by its name."""
|
|
10054
10088
|
boardByName(name: String!): Board
|
|
@@ -10125,6 +10159,11 @@ type Query {
|
|
|
10125
10159
|
sortings: [Sorting!]
|
|
10126
10160
|
): BoardList!
|
|
10127
10161
|
|
|
10162
|
+
"""
|
|
10163
|
+
Retrieves boards that have been updated or soft-deleted since the given timestamp.
|
|
10164
|
+
"""
|
|
10165
|
+
boardsUpdatedSince(since: DateTimeISO!): [Board!]!
|
|
10166
|
+
|
|
10128
10167
|
"""To fetch a building"""
|
|
10129
10168
|
building(id: String!): Building
|
|
10130
10169
|
|
|
@@ -10185,7 +10224,6 @@ type Query {
|
|
|
10185
10224
|
|
|
10186
10225
|
"""To fetch a building level"""
|
|
10187
10226
|
buildingLevel(id: String!): BuildingLevel
|
|
10188
|
-
chatCompletion(input: ChatCompletionInput!): ChatCompletionOutput!
|
|
10189
10227
|
|
|
10190
10228
|
"""
|
|
10191
10229
|
Checks if the system is configured to provide a default password for new users.
|
|
@@ -10825,8 +10863,6 @@ type Query {
|
|
|
10825
10863
|
"""Sorting options for the list query."""
|
|
10826
10864
|
sortings: [Sorting!]
|
|
10827
10865
|
): [DynamicDataSummary!]!
|
|
10828
|
-
decipherCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
10829
|
-
decipherErrorCode(input: CodeDecipherInput!): CodeDecipherOutput!
|
|
10830
10866
|
|
|
10831
10867
|
"""To fetch a Department"""
|
|
10832
10868
|
department(id: String!): Department
|
|
@@ -11108,8 +11144,6 @@ type Query {
|
|
|
11108
11144
|
|
|
11109
11145
|
"""To query whether I have the given permission"""
|
|
11110
11146
|
hasPrivilege(category: String!, privilege: String!): Boolean!
|
|
11111
|
-
i18nCompletion(input: i18nCompletionInput!): i18nCompletionOutput!
|
|
11112
|
-
imageCompletion(input: ImageCompletionInput!): ImageCompletionOutput!
|
|
11113
11147
|
|
|
11114
11148
|
"""BuildingInspection By ChecklistItemId"""
|
|
11115
11149
|
inspectionByChecklistItemId: BuildingInspection!
|
|
@@ -11290,6 +11324,11 @@ type Query {
|
|
|
11290
11324
|
searchTerm: String
|
|
11291
11325
|
): [String!]!
|
|
11292
11326
|
|
|
11327
|
+
"""
|
|
11328
|
+
Get KPI stats aggregated from project data with optional sectorType/buildingUsage filters
|
|
11329
|
+
"""
|
|
11330
|
+
kpiProjectStats(buildingUsage: String, endYearMonth: String, kpiNamePattern: String, sectorType: String, startYearMonth: String): [KpiProjectStat!]!
|
|
11331
|
+
|
|
11293
11332
|
"""Fetch a scope dimension definition by ID"""
|
|
11294
11333
|
kpiScope(id: String!): KpiScope
|
|
11295
11334
|
|
|
@@ -11353,14 +11392,20 @@ type Query {
|
|
|
11353
11392
|
"""Get KPI box plot statistics for Y-category KPIs by geo group"""
|
|
11354
11393
|
kpiYValueComprehensiveStatsByGeoGroup(geoGroup: String): [KpiComprehensiveStatsByGeoGroup!]!
|
|
11355
11394
|
|
|
11395
|
+
"""Get Y-level KPI statistics by geo_group code (sigungu)"""
|
|
11396
|
+
kpiYValueStatsByGeoGroup(endYearMonth: String, geoGroup: String!, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
11397
|
+
|
|
11356
11398
|
"""Get KPI statistics for Y-category KPIs by specific metro area"""
|
|
11357
11399
|
kpiYValueStatsByMetroArea(endYearMonth: String, metroArea: String!, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
11358
11400
|
|
|
11359
11401
|
"""Get KPI box plot statistics for Z-category KPIs by metro area"""
|
|
11360
|
-
kpiZValueComprehensiveStatsByGeoGroup(endYearMonth: String, geoGroup: String, kpiName: String, startYearMonth: String): [KpiComprehensiveStatsByGeoGroup!]!
|
|
11402
|
+
kpiZValueComprehensiveStatsByGeoGroup(buildingUsage: String, endYearMonth: String, geoGroup: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStatsByGeoGroup!]!
|
|
11361
11403
|
|
|
11362
11404
|
"""Get monthly KPI trend for Z-category KPIs by metro area"""
|
|
11363
|
-
kpiZValueMonthlyTrendByGeoGroup(endYearMonth: String, kpiName: String, startYearMonth: String): [KpiMonthlyTrend!]!
|
|
11405
|
+
kpiZValueMonthlyTrendByGeoGroup(buildingUsage: String, endYearMonth: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiMonthlyTrend!]!
|
|
11406
|
+
|
|
11407
|
+
"""Get KPI statistics by sigungu (geo_group code) level"""
|
|
11408
|
+
kpiZValueStatsBySigungu(buildingUsage: String, endYearMonth: String, kpiName: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStatsByGeoGroup!]!
|
|
11364
11409
|
|
|
11365
11410
|
"""To fetch multiple Kpis"""
|
|
11366
11411
|
kpis(
|
|
@@ -12183,10 +12228,10 @@ type Query {
|
|
|
12183
12228
|
): ActivityThreadList!
|
|
12184
12229
|
|
|
12185
12230
|
"""Get KPI box plot statistics for Y-category KPIs for all projects"""
|
|
12186
|
-
totalKpiYValueComprehensiveStats(endYearMonth: String, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
12231
|
+
totalKpiYValueComprehensiveStats(buildingUsage: String, endYearMonth: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
12187
12232
|
|
|
12188
12233
|
"""Get KPI box plot statistics for Z-category KPIs for all projects"""
|
|
12189
|
-
totalKpiZValueComprehensiveStats(endYearMonth: String, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
12234
|
+
totalKpiZValueComprehensiveStats(buildingUsage: String, endYearMonth: String, sectorType: String, startYearMonth: String): [KpiComprehensiveStats!]!
|
|
12190
12235
|
|
|
12191
12236
|
"""Fetches a user by their email address within the current domain."""
|
|
12192
12237
|
user(
|
|
@@ -13562,12 +13607,4 @@ input WorkerTypePatch {
|
|
|
13562
13607
|
description: String
|
|
13563
13608
|
id: ID
|
|
13564
13609
|
name: String
|
|
13565
|
-
}
|
|
13566
|
-
|
|
13567
|
-
input i18nCompletionInput {
|
|
13568
|
-
json: String!
|
|
13569
|
-
}
|
|
13570
|
-
|
|
13571
|
-
type i18nCompletionOutput {
|
|
13572
|
-
message: String
|
|
13573
13610
|
}
|
package/things-factory.config.js
CHANGED
|
@@ -8,7 +8,9 @@ export default {
|
|
|
8
8
|
{ tagname: 'sv-project-list', page: 'project-list' },
|
|
9
9
|
{ tagname: 'sv-project-completed-list', page: 'project-completed-list' },
|
|
10
10
|
{ tagname: 'sv-project-detail', page: 'project-detail' },
|
|
11
|
-
{ tagname: 'sv-project-complete', page: 'project-complete' }
|
|
11
|
+
{ tagname: 'sv-project-complete', page: 'project-complete' },
|
|
12
|
+
{ tagname: 'dssp-kpi-list-page', page: 'kpi-list' },
|
|
13
|
+
{ tagname: 'dssp-kpi-list-page', page: 'kpi-admin' }
|
|
12
14
|
],
|
|
13
15
|
bootstrap
|
|
14
16
|
}
|
package/views/auth-page.html
CHANGED
|
@@ -69,7 +69,6 @@
|
|
|
69
69
|
</noscript>
|
|
70
70
|
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
|
71
71
|
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
|
|
72
|
-
<script src="/node_modules/web-animations-js/web-animations-next.min.js"></script>
|
|
73
72
|
<!-- Built with love using PWA Starter Kit -->
|
|
74
73
|
|
|
75
74
|
<script src="<%- elementScript %>"></script>
|
package/views/public/home.html
CHANGED
|
@@ -63,7 +63,6 @@
|
|
|
63
63
|
<noscript> Please enable JavaScript to view this website. </noscript>
|
|
64
64
|
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
|
65
65
|
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js"></script>
|
|
66
|
-
<script src="/node_modules/web-animations-js/web-animations-next.min.js"></script>
|
|
67
66
|
<!-- Built with love using PWA Starter Kit -->
|
|
68
67
|
|
|
69
68
|
<script src="/public/home.js"></script>
|