@things-factory/dataset 7.0.0-alpha.0 → 7.0.0-alpha.18
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/client/activities/activity-data-collect-edit.ts +1 -7
- package/client/activities/activity-data-collect-view.ts +7 -0
- package/client/activities/activity-data-review-edit.ts +66 -32
- package/client/activities/activity-data-review-view.ts +75 -29
- package/client/activities/activity-ooc-resolve-edit.ts +44 -48
- package/client/activities/activity-ooc-resolve-view.ts +25 -35
- package/client/activities/activity-ooc-review-edit.ts +36 -29
- package/client/activities/activity-ooc-review-view.ts +9 -19
- package/client/bootstrap.ts +5 -9
- package/client/pages/data-entry/data-entry-list-page.ts +8 -23
- package/client/pages/data-ooc/data-ooc-list-page.ts +71 -27
- package/client/pages/data-ooc/{data-ooc-view-page.ts → data-ooc-page.ts} +45 -1
- package/client/pages/data-ooc/data-ooc-view.ts +198 -41
- package/client/pages/data-ooc/data-oocs-page.ts +200 -0
- package/client/pages/data-sample/data-sample-list-page.ts +53 -31
- package/client/pages/data-sample/{data-sample-view-page.ts → data-sample-page.ts} +8 -1
- package/client/pages/data-sample/data-sample-search-page.ts +30 -25
- package/client/pages/data-sample/data-sample-view.ts +192 -21
- package/client/pages/data-sample/data-samples-page.ts +249 -0
- package/client/pages/data-sensor/data-sensor-list-page.ts +28 -6
- package/client/pages/data-set/data-item-list.ts +14 -8
- package/client/pages/data-set/data-set-list-page.ts +11 -21
- package/client/pages/data-summary/data-summary-list-page.ts +12 -24
- package/client/route.ts +10 -2
- package/dist-client/activities/activity-data-collect-edit.js +1 -7
- package/dist-client/activities/activity-data-collect-edit.js.map +1 -1
- package/dist-client/activities/activity-data-collect-view.js +7 -0
- package/dist-client/activities/activity-data-collect-view.js.map +1 -1
- package/dist-client/activities/activity-data-review-edit.d.ts +1 -1
- package/dist-client/activities/activity-data-review-edit.js +63 -33
- package/dist-client/activities/activity-data-review-edit.js.map +1 -1
- package/dist-client/activities/activity-data-review-view.d.ts +1 -1
- package/dist-client/activities/activity-data-review-view.js +72 -30
- package/dist-client/activities/activity-data-review-view.js.map +1 -1
- package/dist-client/activities/activity-ooc-resolve-edit.d.ts +1 -1
- package/dist-client/activities/activity-ooc-resolve-edit.js +44 -48
- package/dist-client/activities/activity-ooc-resolve-edit.js.map +1 -1
- package/dist-client/activities/activity-ooc-resolve-view.d.ts +13 -0
- package/dist-client/activities/activity-ooc-resolve-view.js +24 -34
- package/dist-client/activities/activity-ooc-resolve-view.js.map +1 -1
- package/dist-client/activities/activity-ooc-review-edit.js +39 -29
- package/dist-client/activities/activity-ooc-review-edit.js.map +1 -1
- package/dist-client/activities/activity-ooc-review-view.js +9 -19
- package/dist-client/activities/activity-ooc-review-view.js.map +1 -1
- package/dist-client/bootstrap.d.ts +4 -4
- package/dist-client/bootstrap.js +4 -4
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/pages/data-entry/data-entry-list-page.js +3 -15
- package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/data-ooc-list-page.d.ts +6 -0
- package/dist-client/pages/data-ooc/data-ooc-list-page.js +67 -24
- package/dist-client/pages/data-ooc/data-ooc-list-page.js.map +1 -1
- package/dist-client/pages/data-ooc/{data-ooc-view-page.js → data-ooc-page.js} +46 -2
- package/dist-client/pages/data-ooc/data-ooc-page.js.map +1 -0
- package/dist-client/pages/data-ooc/data-ooc-view.d.ts +11 -4
- package/dist-client/pages/data-ooc/data-ooc-view.js +193 -48
- package/dist-client/pages/data-ooc/data-ooc-view.js.map +1 -1
- package/dist-client/pages/data-ooc/data-oocs-page.d.ts +18 -0
- package/dist-client/pages/data-ooc/data-oocs-page.js +200 -0
- package/dist-client/pages/data-ooc/data-oocs-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-list-page.d.ts +6 -1
- package/dist-client/pages/data-sample/data-sample-list-page.js +51 -28
- package/dist-client/pages/data-sample/data-sample-list-page.js.map +1 -1
- package/dist-client/pages/data-sample/{data-sample-view-page.js → data-sample-page.js} +9 -2
- package/dist-client/pages/data-sample/data-sample-page.js.map +1 -0
- package/dist-client/pages/data-sample/data-sample-search-page.d.ts +6 -1
- package/dist-client/pages/data-sample/data-sample-search-page.js +28 -22
- package/dist-client/pages/data-sample/data-sample-search-page.js.map +1 -1
- package/dist-client/pages/data-sample/data-sample-view.d.ts +18 -0
- package/dist-client/pages/data-sample/data-sample-view.js +186 -19
- package/dist-client/pages/data-sample/data-sample-view.js.map +1 -1
- package/dist-client/pages/data-sample/data-samples-page.d.ts +21 -0
- package/dist-client/pages/data-sample/data-samples-page.js +249 -0
- package/dist-client/pages/data-sample/data-samples-page.js.map +1 -0
- package/dist-client/pages/data-sensor/data-sensor-list-page.js +28 -6
- package/dist-client/pages/data-sensor/data-sensor-list-page.js.map +1 -1
- package/dist-client/pages/data-set/data-item-list.js +14 -8
- package/dist-client/pages/data-set/data-item-list.js.map +1 -1
- package/dist-client/pages/data-set/data-set-list-page.js +3 -10
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
- package/dist-client/pages/data-summary/data-summary-list-page.js +12 -21
- package/dist-client/pages/data-summary/data-summary-list-page.js.map +1 -1
- package/dist-client/route.js +8 -2
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/activities/activity-data-collect.js.map +1 -1
- package/dist-server/activities/activity-data-review.js.map +1 -1
- package/dist-server/activities/activity-ooc-review.js +3 -2
- package/dist-server/activities/activity-ooc-review.js.map +1 -1
- package/dist-server/controllers/create-data-sample.js +27 -29
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/{generate-data-summary.js → finalize-data-collection.js} +10 -30
- package/dist-server/controllers/finalize-data-collection.js.map +1 -0
- package/dist-server/controllers/issue-collect-data.js +55 -0
- package/dist-server/controllers/issue-collect-data.js.map +1 -0
- package/dist-server/controllers/query-data-summary-by-period.js +4 -9
- package/dist-server/controllers/query-data-summary-by-period.js.map +1 -1
- package/dist-server/engine/index.js +4 -0
- package/dist-server/engine/index.js.map +1 -0
- package/dist-server/engine/task/create-data-sample.js +80 -0
- package/dist-server/engine/task/create-data-sample.js.map +1 -0
- package/dist-server/engine/task/index.js +5 -0
- package/dist-server/engine/task/index.js.map +1 -0
- package/dist-server/engine/task/issue-collect-data.js +40 -0
- package/dist-server/engine/task/issue-collect-data.js.map +1 -0
- package/dist-server/index.js +1 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/routes.js +36 -65
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +32 -0
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-subscription.js +4 -4
- package/dist-server/service/data-ooc/data-ooc-subscription.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +44 -37
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +24 -0
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +30 -31
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-query.js +16 -1
- package/dist-server/service/data-sensor/data-sensor-query.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor-type.js +8 -0
- package/dist-server/service/data-sensor/data-sensor-type.js.map +1 -1
- package/dist-server/service/data-sensor/data-sensor.js +15 -1
- package/dist-server/service/data-sensor/data-sensor.js.map +1 -1
- package/dist-server/service/data-set/data-item-type.js +17 -2
- package/dist-server/service/data-set/data-item-type.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +2 -2
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +2 -2
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-summary/data-summary-mutation.js +34 -5
- package/dist-server/service/data-summary/data-summary-mutation.js.map +1 -1
- package/dist-server/service/data-summary/data-summary.js +8 -8
- package/dist-server/service/data-summary/data-summary.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/config/dataArchive.md +21 -0
- package/helps/config/dataReport.md +34 -0
- package/helps/dataset/task/create-data-sample.ja.md +28 -0
- package/helps/dataset/task/create-data-sample.ko.md +28 -0
- package/helps/dataset/task/create-data-sample.md +28 -0
- package/helps/dataset/task/create-data-sample.ms.md +30 -0
- package/helps/dataset/task/create-data-sample.zh.md +28 -0
- package/helps/dataset/task/issue-collect-data.ja.md +35 -0
- package/helps/dataset/task/issue-collect-data.ko.md +32 -0
- package/helps/dataset/task/issue-collect-data.md +32 -0
- package/helps/dataset/task/issue-collect-data.ms.md +34 -0
- package/helps/dataset/task/issue-collect-data.zh.md +32 -0
- package/helps/dataset/ui/data-item-list.ko.md +17 -2
- package/package.json +14 -11
- package/server/activities/activity-data-collect.ts +3 -11
- package/server/activities/activity-data-review.ts +1 -5
- package/server/activities/activity-ooc-review.ts +6 -16
- package/server/controllers/create-data-sample.ts +31 -38
- package/server/controllers/{generate-data-summary.ts → finalize-data-collection.ts} +7 -39
- package/server/controllers/issue-collect-data.ts +61 -0
- package/server/controllers/query-data-summary-by-period.ts +5 -18
- package/server/engine/index.ts +1 -0
- package/server/engine/task/create-data-sample.ts +92 -0
- package/server/engine/task/index.ts +2 -0
- package/server/engine/task/issue-collect-data.ts +45 -0
- package/server/index.ts +1 -0
- package/server/routes.ts +47 -76
- package/server/service/data-ooc/data-ooc-query.ts +17 -0
- package/server/service/data-ooc/data-ooc-subscription.ts +7 -7
- package/server/service/data-ooc/data-ooc.ts +39 -51
- package/server/service/data-sample/data-sample-query.ts +17 -17
- package/server/service/data-sample/data-sample.ts +29 -52
- package/server/service/data-sensor/data-sensor-query.ts +13 -1
- package/server/service/data-sensor/data-sensor-type.ts +6 -0
- package/server/service/data-sensor/data-sensor.ts +13 -11
- package/server/service/data-set/data-item-type.ts +19 -10
- package/server/service/data-set/data-set-mutation.ts +9 -31
- package/server/service/data-set/data-set-query.ts +7 -7
- package/server/service/data-summary/data-summary-mutation.ts +24 -7
- package/server/service/data-summary/data-summary.ts +10 -23
- package/things-factory.config.js +10 -2
- package/translations/en.json +17 -3
- package/translations/ja.json +14 -2
- package/translations/ko.json +16 -2
- package/translations/ms.json +13 -1
- package/translations/zh.json +14 -2
- package/dist-client/pages/data-ooc/data-ooc-view-page.js.map +0 -1
- package/dist-client/pages/data-sample/data-sample-view-page.js.map +0 -1
- package/dist-server/controllers/generate-data-summary.js.map +0 -1
- /package/dist-client/pages/data-ooc/{data-ooc-view-page.d.ts → data-ooc-page.d.ts} +0 -0
- /package/dist-client/pages/data-sample/{data-sample-view-page.d.ts → data-sample-page.d.ts} +0 -0
@@ -1,17 +1,9 @@
|
|
1
1
|
import { Field, ID, ObjectType } from 'type-graphql'
|
2
|
-
import {
|
3
|
-
Column,
|
4
|
-
CreateDateColumn,
|
5
|
-
Entity,
|
6
|
-
Index,
|
7
|
-
ManyToOne,
|
8
|
-
PrimaryGeneratedColumn,
|
9
|
-
RelationId,
|
10
|
-
UpdateDateColumn
|
11
|
-
} from 'typeorm'
|
2
|
+
import { Column, CreateDateColumn, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId, UpdateDateColumn } from 'typeorm'
|
12
3
|
|
13
|
-
import { Appliance, User } from '@things-factory/auth-base'
|
14
4
|
import { Domain } from '@things-factory/shell'
|
5
|
+
import { Appliance, User } from '@things-factory/auth-base'
|
6
|
+
import { Scenario } from '@things-factory/integration-base'
|
15
7
|
|
16
8
|
import { DataSet } from '../data-set/data-set'
|
17
9
|
|
@@ -91,6 +83,16 @@ export class DataSensor {
|
|
91
83
|
@RelationId((dataSensor: DataSensor) => dataSensor.dataSet)
|
92
84
|
dataSetId?: string
|
93
85
|
|
86
|
+
@ManyToOne(type => Scenario, { nullable: true })
|
87
|
+
@Field(type => Scenario, {
|
88
|
+
nullable: true,
|
89
|
+
description: 'The decoder scenario that automatically executes based on the trigger of raw data collection'
|
90
|
+
})
|
91
|
+
decoder?: Scenario
|
92
|
+
|
93
|
+
@RelationId((dataSensor: DataSensor) => dataSensor.decoder)
|
94
|
+
decoderId?: string
|
95
|
+
|
94
96
|
@CreateDateColumn()
|
95
97
|
@Field({ nullable: true })
|
96
98
|
createdAt?: Date
|
@@ -7,6 +7,7 @@ export enum DataItemType {
|
|
7
7
|
text = 'text',
|
8
8
|
boolean = 'boolean',
|
9
9
|
select = 'select',
|
10
|
+
radio = 'radio',
|
10
11
|
date = 'date',
|
11
12
|
datetime = 'datetime',
|
12
13
|
file = 'file'
|
@@ -31,7 +32,7 @@ export enum DataItemStatType {
|
|
31
32
|
|
32
33
|
registerEnumType(DataItemStatType, {
|
33
34
|
name: 'DataItemStatType',
|
34
|
-
description: 'stat type enumeration of a data-item'
|
35
|
+
description: 'stat/agg type enumeration of a data-item'
|
35
36
|
})
|
36
37
|
|
37
38
|
@ObjectType({ description: 'Entity for DataItem' })
|
@@ -44,15 +45,13 @@ export class DataItem {
|
|
44
45
|
|
45
46
|
@Field({
|
46
47
|
nullable: true,
|
47
|
-
description:
|
48
|
-
'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'
|
48
|
+
description: 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'
|
49
49
|
})
|
50
50
|
tag?: string
|
51
51
|
|
52
52
|
@Field({
|
53
53
|
nullable: true,
|
54
|
-
description:
|
55
|
-
'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
|
54
|
+
description: 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
|
56
55
|
})
|
57
56
|
group?: string
|
58
57
|
|
@@ -70,10 +69,16 @@ export class DataItem {
|
|
70
69
|
|
71
70
|
@Field({
|
72
71
|
nullable: true,
|
73
|
-
description: 'The grouping logic for data
|
72
|
+
description: 'The grouping logic for data finalize in the given field during periodic task deadlines.'
|
74
73
|
})
|
75
74
|
stat?: DataItemStatType
|
76
75
|
|
76
|
+
@Field({
|
77
|
+
nullable: true,
|
78
|
+
description: 'Aggregation functions to be used in data summarizing logic for a given period.'
|
79
|
+
})
|
80
|
+
agg?: DataItemStatType
|
81
|
+
|
77
82
|
@Field({ nullable: true, description: 'The unit of measurement for the data item' })
|
78
83
|
unit?: string
|
79
84
|
|
@@ -97,15 +102,13 @@ export class DataItemPatch {
|
|
97
102
|
|
98
103
|
@Field({
|
99
104
|
nullable: true,
|
100
|
-
description:
|
101
|
-
'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'
|
105
|
+
description: 'Specifies a key name to be used as a property in a JSON-like object, representing a subfield of a dataset record.'
|
102
106
|
})
|
103
107
|
tag?: string
|
104
108
|
|
105
109
|
@Field({
|
106
110
|
nullable: true,
|
107
|
-
description:
|
108
|
-
'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
|
111
|
+
description: 'Specifies a grouping identifier for data items with related content, allowing them to be displayed as subgroups within the overall dataset.'
|
109
112
|
})
|
110
113
|
group?: string
|
111
114
|
|
@@ -121,6 +124,12 @@ export class DataItemPatch {
|
|
121
124
|
})
|
122
125
|
stat?: DataItemStatType
|
123
126
|
|
127
|
+
@Field({
|
128
|
+
nullable: true,
|
129
|
+
description: 'Aggregation functions to be used in data summarizing logic for a given period.'
|
130
|
+
})
|
131
|
+
agg?: DataItemStatType
|
132
|
+
|
124
133
|
@Field({ nullable: true, description: 'The unit of measurement for the data item' })
|
125
134
|
unit?: string
|
126
135
|
|
@@ -6,7 +6,7 @@ import { ApprovalLineItem, OrgMemberTargetType } from '@things-factory/organizat
|
|
6
6
|
import { Application, CallbackBase, registerSchedule, unregisterSchedule } from '@things-factory/scheduler-client'
|
7
7
|
import { AssigneeItem } from '@things-factory/worklist'
|
8
8
|
|
9
|
-
import {
|
9
|
+
import { getDataFinalizeCrontabSchedule } from '../../controllers/finalize-data-collection'
|
10
10
|
import { DataSet } from './data-set'
|
11
11
|
import { DataSetPatch, NewDataSet } from './data-set-type'
|
12
12
|
|
@@ -139,11 +139,7 @@ export class DataSetMutation {
|
|
139
139
|
@Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
|
140
140
|
@Directive('@transaction')
|
141
141
|
@Mutation(returns => DataSet, { description: 'To modify DataSet information' })
|
142
|
-
async updateDataSet(
|
143
|
-
@Arg('id') id: string,
|
144
|
-
@Arg('patch') patch: DataSetPatch,
|
145
|
-
@Ctx() context: ResolverContext
|
146
|
-
): Promise<DataSet> {
|
142
|
+
async updateDataSet(@Arg('id') id: string, @Arg('patch') patch: DataSetPatch, @Ctx() context: ResolverContext): Promise<DataSet> {
|
147
143
|
const { domain, user, tx } = context.state
|
148
144
|
const dataSetRepo = tx.getRepository(DataSet)
|
149
145
|
|
@@ -170,10 +166,7 @@ export class DataSetMutation {
|
|
170
166
|
@Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
|
171
167
|
@Directive('@transaction')
|
172
168
|
@Mutation(returns => [DataSet], { description: "To modify multiple DataSets' information" })
|
173
|
-
async updateMultipleDataSet(
|
174
|
-
@Arg('patches', type => [DataSetPatch]) patches: DataSetPatch[],
|
175
|
-
@Ctx() context: ResolverContext
|
176
|
-
): Promise<DataSet[]> {
|
169
|
+
async updateMultipleDataSet(@Arg('patches', type => [DataSetPatch]) patches: DataSetPatch[], @Ctx() context: ResolverContext): Promise<DataSet[]> {
|
177
170
|
const { domain, user, tx } = context.state
|
178
171
|
const dataSetRepo = tx.getRepository(DataSet)
|
179
172
|
|
@@ -266,10 +259,7 @@ export class DataSetMutation {
|
|
266
259
|
|
267
260
|
@Directive('@transaction')
|
268
261
|
@Mutation(returns => DataSet, { description: 'To start data collection schedule for the given dataset' })
|
269
|
-
async startDataCollectionSchedule(
|
270
|
-
@Arg('dataSetId') dataSetId: string,
|
271
|
-
@Ctx() context: ResolverContext
|
272
|
-
): Promise<DataSet> {
|
262
|
+
async startDataCollectionSchedule(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<DataSet> {
|
273
263
|
const { domain, tx } = context.state
|
274
264
|
|
275
265
|
var repository = tx.getRepository(DataSet)
|
@@ -332,10 +322,7 @@ export class DataSetMutation {
|
|
332
322
|
nullable: true,
|
333
323
|
description: 'To stop data collection schedule for the given dataset'
|
334
324
|
})
|
335
|
-
async stopDataCollectionSchedule(
|
336
|
-
@Arg('dataSetId') dataSetId: string,
|
337
|
-
@Ctx() context: ResolverContext
|
338
|
-
): Promise<DataSet | undefined> {
|
325
|
+
async stopDataCollectionSchedule(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<DataSet | undefined> {
|
339
326
|
const { domain, tx } = context.state
|
340
327
|
|
341
328
|
var repository = tx.getRepository(DataSet)
|
@@ -365,10 +352,7 @@ export class DataSetMutation {
|
|
365
352
|
|
366
353
|
@Directive('@transaction')
|
367
354
|
@Mutation(returns => DataSet, { description: 'To start data summary schedule for the given dataset' })
|
368
|
-
async startDataSummarySchedule(
|
369
|
-
@Arg('dataSetId') dataSetId: string,
|
370
|
-
@Ctx() context: ResolverContext
|
371
|
-
): Promise<DataSet> {
|
355
|
+
async startDataSummarySchedule(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<DataSet> {
|
372
356
|
const { domain, tx } = context.state
|
373
357
|
|
374
358
|
var repository = tx.getRepository(DataSet)
|
@@ -392,7 +376,7 @@ export class DataSetMutation {
|
|
392
376
|
)
|
393
377
|
}
|
394
378
|
|
395
|
-
const schedule = await
|
379
|
+
const schedule = await getDataFinalizeCrontabSchedule(dataSet, context)
|
396
380
|
|
397
381
|
try {
|
398
382
|
var handle = await registerSchedule({
|
@@ -442,10 +426,7 @@ export class DataSetMutation {
|
|
442
426
|
nullable: true,
|
443
427
|
description: 'To stop data summary schedule for the given dataset'
|
444
428
|
})
|
445
|
-
async stopDataSummarySchedule(
|
446
|
-
@Arg('dataSetId') dataSetId: string,
|
447
|
-
@Ctx() context: ResolverContext
|
448
|
-
): Promise<DataSet | undefined> {
|
429
|
+
async stopDataSummarySchedule(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<DataSet | undefined> {
|
449
430
|
const { domain, tx } = context.state
|
450
431
|
|
451
432
|
var repository = tx.getRepository(DataSet)
|
@@ -477,10 +458,7 @@ export class DataSetMutation {
|
|
477
458
|
@Directive('@privilege(category: "data-set", privilege: "mutation", domainOwnerGranted: true)')
|
478
459
|
@Directive('@transaction')
|
479
460
|
@Mutation(returns => Boolean, { description: 'To import multiple data-sets' })
|
480
|
-
async importDataSets(
|
481
|
-
@Arg('dataSets', type => [DataSetPatch]) dataSets: DataSet[],
|
482
|
-
@Ctx() context: ResolverContext
|
483
|
-
): Promise<boolean> {
|
461
|
+
async importDataSets(@Arg('dataSets', type => [DataSetPatch]) dataSets: DataSet[], @Ctx() context: ResolverContext): Promise<boolean> {
|
484
462
|
const { domain, tx } = context.state
|
485
463
|
const dataSetRepo = tx.getRepository(DataSet)
|
486
464
|
|
@@ -243,21 +243,21 @@ export class DataSetQuery {
|
|
243
243
|
}
|
244
244
|
|
245
245
|
@FieldResolver(type => Board, { nullable: true })
|
246
|
-
async entryBoard(@Root() dataSet: DataSet) {
|
246
|
+
async entryBoard(@Root() dataSet: DataSet): Promise<Board> {
|
247
247
|
if (dataSet.entryType == 'board' && dataSet.entryView) {
|
248
248
|
return await getRepository(Board).findOneBy({ id: dataSet.entryView })
|
249
249
|
}
|
250
250
|
}
|
251
251
|
|
252
252
|
@FieldResolver(type => Board, { nullable: true })
|
253
|
-
async monitorBoard(@Root() dataSet: DataSet) {
|
253
|
+
async monitorBoard(@Root() dataSet: DataSet): Promise<Board> {
|
254
254
|
if (dataSet.monitorType == 'board' && dataSet.monitorView) {
|
255
255
|
return await getRepository(Board).findOneBy({ id: dataSet.monitorView })
|
256
256
|
}
|
257
257
|
}
|
258
258
|
|
259
259
|
@FieldResolver(type => DataKeySet, { nullable: true })
|
260
|
-
async dataKeySet(@Root() dataSet: DataSet) {
|
260
|
+
async dataKeySet(@Root() dataSet: DataSet): Promise<DataKeySet> {
|
261
261
|
return (
|
262
262
|
dataSet.dataKeySet ||
|
263
263
|
(dataSet.dataKeySetId &&
|
@@ -267,8 +267,8 @@ export class DataSetQuery {
|
|
267
267
|
)
|
268
268
|
}
|
269
269
|
|
270
|
-
@FieldResolver(type =>
|
271
|
-
async normalScenario(@Root() dataSet: DataSet): Promise<
|
270
|
+
@FieldResolver(type => Scenario)
|
271
|
+
async normalScenario(@Root() dataSet: DataSet): Promise<Scenario> {
|
272
272
|
return (
|
273
273
|
dataSet.normalScenario ||
|
274
274
|
(dataSet.normalScenarioId &&
|
@@ -278,8 +278,8 @@ export class DataSetQuery {
|
|
278
278
|
)
|
279
279
|
}
|
280
280
|
|
281
|
-
@FieldResolver(type =>
|
282
|
-
async outlierScenario(@Root() dataSet: DataSet): Promise<
|
281
|
+
@FieldResolver(type => Scenario)
|
282
|
+
async outlierScenario(@Root() dataSet: DataSet): Promise<Scenario> {
|
283
283
|
return (
|
284
284
|
dataSet.outlierScenario ||
|
285
285
|
(dataSet.outlierScenarioId &&
|
@@ -2,27 +2,44 @@ import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
2
|
|
3
3
|
import { DataSummary } from './data-summary'
|
4
4
|
|
5
|
-
import {
|
5
|
+
import { finalizeDataCollection, finalizeLatestDataCollection } from '../../controllers/finalize-data-collection'
|
6
6
|
|
7
7
|
@Resolver(DataSummary)
|
8
8
|
export class DataSummaryMutation {
|
9
9
|
@Directive('@transaction')
|
10
|
-
@Mutation(returns => Boolean, {
|
11
|
-
|
10
|
+
@Mutation(returns => Boolean, {
|
11
|
+
description: 'Deprecated. Use finalizeLatestDataCollection',
|
12
|
+
deprecationReason: 'This resolver has been replaced by finalizeLatestDataCollection'
|
13
|
+
})
|
14
|
+
async generateLatestDataSummaries(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
15
|
+
return await finalizeLatestDataCollection(dataSetId, context)
|
16
|
+
}
|
17
|
+
|
18
|
+
@Directive('@transaction')
|
19
|
+
@Mutation(returns => Boolean, { description: 'To finalize new Data Summaries' })
|
20
|
+
async finalizeLatestDataCollection(@Arg('dataSetId') dataSetId: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
21
|
+
return await finalizeLatestDataCollection(dataSetId, context)
|
22
|
+
}
|
23
|
+
|
24
|
+
@Directive('@transaction')
|
25
|
+
@Mutation(returns => Boolean, { description: 'Deprecated. Use finalizeDataCollection', deprecationReason: 'This resolver has been replaced by finalizeDataCollection' })
|
26
|
+
async generateDataSummaries(
|
12
27
|
@Arg('dataSetId') dataSetId: string,
|
28
|
+
@Arg('date') date: string,
|
29
|
+
@Arg('period') period: string,
|
13
30
|
@Ctx() context: ResolverContext
|
14
31
|
): Promise<boolean> {
|
15
|
-
return await
|
32
|
+
return await finalizeDataCollection(dataSetId, date, period, context)
|
16
33
|
}
|
17
34
|
|
18
35
|
@Directive('@transaction')
|
19
|
-
@Mutation(returns => Boolean, { description: 'To
|
20
|
-
async
|
36
|
+
@Mutation(returns => Boolean, { description: 'To finalize data collection for the given period' })
|
37
|
+
async finalizeDataCollection(
|
21
38
|
@Arg('dataSetId') dataSetId: string,
|
22
39
|
@Arg('date') date: string,
|
23
40
|
@Arg('period') period: string,
|
24
41
|
@Ctx() context: ResolverContext
|
25
42
|
): Promise<boolean> {
|
26
|
-
return await
|
43
|
+
return await finalizeDataCollection(dataSetId, date, period, context)
|
27
44
|
}
|
28
45
|
}
|
@@ -1,13 +1,4 @@
|
|
1
|
-
import {
|
2
|
-
CreateDateColumn,
|
3
|
-
UpdateDateColumn,
|
4
|
-
Entity,
|
5
|
-
Index,
|
6
|
-
Column,
|
7
|
-
RelationId,
|
8
|
-
ManyToOne,
|
9
|
-
PrimaryGeneratedColumn
|
10
|
-
} from 'typeorm'
|
1
|
+
import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'
|
11
2
|
import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
|
12
3
|
|
13
4
|
import { Domain, ScalarObject } from '@things-factory/shell'
|
@@ -25,18 +16,14 @@ import { DataSet, DataSetSummaryPeriodType } from '../data-set/data-set'
|
|
25
16
|
dataSummary.key01,
|
26
17
|
dataSummary.key02,
|
27
18
|
dataSummary.key03,
|
28
|
-
dataSummary.key05,
|
29
19
|
dataSummary.key04,
|
20
|
+
dataSummary.key05,
|
30
21
|
dataSummary.date,
|
31
22
|
dataSummary.period
|
32
23
|
],
|
33
24
|
{ unique: true }
|
34
25
|
)
|
35
|
-
@Index(
|
36
|
-
'ix_data_summary_1',
|
37
|
-
(dataSummary: DataSummary) => [dataSummary.domain, dataSummary.dataSet, dataSummary.date, dataSummary.period],
|
38
|
-
{ unique: false }
|
39
|
-
)
|
26
|
+
@Index('ix_data_summary_1', (dataSummary: DataSummary) => [dataSummary.domain, dataSummary.dataSet, dataSummary.date, dataSummary.period], { unique: false })
|
40
27
|
@ObjectType({ description: 'Entity for DataSummary' })
|
41
28
|
export class DataSummary {
|
42
29
|
@PrimaryGeneratedColumn('uuid')
|
@@ -62,11 +49,11 @@ export class DataSummary {
|
|
62
49
|
@Field({ nullable: true })
|
63
50
|
type?: DataSetSummaryPeriodType
|
64
51
|
|
65
|
-
@Column({ nullable: true, default: '' })
|
52
|
+
@Column({ nullable: true, default: '', length: 20 })
|
66
53
|
@Field({ nullable: true })
|
67
54
|
date?: string = ''
|
68
55
|
|
69
|
-
@Column({ nullable: true, default: '' })
|
56
|
+
@Column({ nullable: true, default: '', length: 20 })
|
70
57
|
@Field({ nullable: true })
|
71
58
|
period?: string = ''
|
72
59
|
|
@@ -106,23 +93,23 @@ export class DataSummary {
|
|
106
93
|
@Field({ nullable: true })
|
107
94
|
countOos?: number
|
108
95
|
|
109
|
-
@Column({ nullable: true, default: '' })
|
96
|
+
@Column({ nullable: true, default: '', length: 100 })
|
110
97
|
@Field({ nullable: true })
|
111
98
|
key01?: string = ''
|
112
99
|
|
113
|
-
@Column({ nullable: true, default: '' })
|
100
|
+
@Column({ nullable: true, default: '', length: 100 })
|
114
101
|
@Field({ nullable: true })
|
115
102
|
key02?: string = ''
|
116
103
|
|
117
|
-
@Column({ nullable: true, default: '' })
|
104
|
+
@Column({ nullable: true, default: '', length: 100 })
|
118
105
|
@Field({ nullable: true })
|
119
106
|
key03?: string = ''
|
120
107
|
|
121
|
-
@Column({ nullable: true, default: '' })
|
108
|
+
@Column({ nullable: true, default: '', length: 100 })
|
122
109
|
@Field({ nullable: true })
|
123
110
|
key04?: string = ''
|
124
111
|
|
125
|
-
@Column({ nullable: true, default: '' })
|
112
|
+
@Column({ nullable: true, default: '', length: 100 })
|
126
113
|
@Field({ nullable: true })
|
127
114
|
key05?: string = ''
|
128
115
|
|
package/things-factory.config.js
CHANGED
@@ -13,9 +13,13 @@ export default {
|
|
13
13
|
page: 'data-sensor-list'
|
14
14
|
},
|
15
15
|
{
|
16
|
-
tagname: 'data-sample-
|
16
|
+
tagname: 'data-sample-page',
|
17
17
|
page: 'data-sample'
|
18
18
|
},
|
19
|
+
{
|
20
|
+
tagname: 'data-samples-page',
|
21
|
+
page: 'data-samples'
|
22
|
+
},
|
19
23
|
{
|
20
24
|
tagname: 'data-sample-list-page',
|
21
25
|
page: 'data-sample-list'
|
@@ -37,9 +41,13 @@ export default {
|
|
37
41
|
page: 'data-summary-period'
|
38
42
|
},
|
39
43
|
{
|
40
|
-
tagname: 'data-ooc-
|
44
|
+
tagname: 'data-ooc-page',
|
41
45
|
page: 'data-ooc'
|
42
46
|
},
|
47
|
+
{
|
48
|
+
tagname: 'data-oocs-page',
|
49
|
+
page: 'data-oocs'
|
50
|
+
},
|
43
51
|
{
|
44
52
|
tagname: 'data-ooc-list-page',
|
45
53
|
page: 'data-ooc-list'
|
package/translations/en.json
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"button.corrected": "corrected",
|
3
|
+
"button.print": "print",
|
3
4
|
"button.request-archive": "request archive",
|
4
5
|
"button.reviewed": "reviewed",
|
5
6
|
"error.dataset not found": "Cannot find dataSet with the given name({dataSetName})",
|
6
7
|
"error.summary not supported": "The given dataSet({dataSetName}) does not support reports for {period}",
|
8
|
+
"field.agg-function": "aggregation func.",
|
7
9
|
"field.appliance": "appliance",
|
8
10
|
"field.assignees": "assignees",
|
9
11
|
"field.collected-at": "collected at",
|
10
12
|
"field.corrected-at": "corrected at",
|
11
|
-
"field.corrective-action": "
|
13
|
+
"field.corrective-action": "action",
|
14
|
+
"field.corrective-instruction": "instruction",
|
12
15
|
"field.corrector": "corrector",
|
13
16
|
"field.count": "count",
|
14
17
|
"field.count-ooc": "oos count",
|
@@ -24,6 +27,8 @@
|
|
24
27
|
"field.data-sample": "data sample",
|
25
28
|
"field.data-set": "data set",
|
26
29
|
"field.date": "date",
|
30
|
+
"field.decoder": "decoder",
|
31
|
+
"field.decoder-scenario": "decoder scenario",
|
27
32
|
"field.device-id": "device id",
|
28
33
|
"field.download-url": "download url",
|
29
34
|
"field.entry-role": "entry role",
|
@@ -64,7 +69,7 @@
|
|
64
69
|
"field.role": "role",
|
65
70
|
"field.serial-no": "serial #",
|
66
71
|
"field.spec": "spec",
|
67
|
-
"field.
|
72
|
+
"field.finalizing-function": "finalizing func.",
|
68
73
|
"field.status": "status",
|
69
74
|
"field.subgroup": "subgroup",
|
70
75
|
"field.summary": "summary",
|
@@ -82,22 +87,28 @@
|
|
82
87
|
"label.corrective action": "corrective action",
|
83
88
|
"label.corrective instruction": "corrective instruction",
|
84
89
|
"label.critical-limits": "critical limits",
|
90
|
+
"label.data-set": "data set",
|
85
91
|
"label.data-set-type": "type",
|
92
|
+
"label.datasample review timeline": "data sample review timeline",
|
86
93
|
"label.end-date": "end date",
|
87
94
|
"label.group-by data-keys": "group by each data-keys",
|
88
95
|
"label.maximum value": "maximum value",
|
89
96
|
"label.minimum value": "minimum value",
|
97
|
+
"label.ooc resolve timeline": "OOC resolve timeline",
|
98
|
+
"label.ooc review timeline": "OOC review timeline",
|
90
99
|
"label.pass-limits": "pass limits",
|
91
100
|
"label.period-12-months": "12 months",
|
92
101
|
"label.period-30-days": "30 days",
|
93
102
|
"label.period-this-month": "this month",
|
94
103
|
"label.period-this-year": "this year",
|
95
104
|
"label.period-today": "today",
|
105
|
+
"label.raw-data": "raw data",
|
96
106
|
"label.start-date": "start date",
|
97
107
|
"label.state-corrected": "corrected",
|
98
108
|
"label.state-issued": "issued",
|
99
109
|
"label.state-reviewed": "reviewed",
|
100
110
|
"label.target-limits": "target limits",
|
111
|
+
"label.timestamp": "timestamp",
|
101
112
|
"text.automatically collected": "automatically collected",
|
102
113
|
"text.corrective action placeholder": "Please enter details for implementing corrective and preventive actions",
|
103
114
|
"text.corrective instruction placeholder": "Please enter instructions for corrective and preventive actions",
|
@@ -139,10 +150,13 @@
|
|
139
150
|
"title.edit duration": "edit duration",
|
140
151
|
"title.edit hashtag": "edit hashtag",
|
141
152
|
"title.edit json": "edit json",
|
153
|
+
"title.lookup scenario": "lookup scenario",
|
142
154
|
"title.open data sample report page": "open data sample report page",
|
143
155
|
"title.open data sample search page": "open data sample search page",
|
144
156
|
"title.open data sample view": "open data sample view",
|
145
157
|
"title.open data summary view": "open data summary view",
|
146
158
|
"title.ready": "ready",
|
147
|
-
"title.view detail ooc data": "view detail ooc data"
|
159
|
+
"title.view detail ooc data": "view detail ooc data",
|
160
|
+
"title.Data Key Set Master": "data key set master",
|
161
|
+
"menu.Data Key Set Master": "Data Key Set Master"
|
148
162
|
}
|
package/translations/ja.json
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"button.corrected": "措置完了",
|
3
|
+
"button.print": "プリント",
|
3
4
|
"button.request-archive": "資料保管の新規リクエスト",
|
4
5
|
"button.reviewed": "検討完了",
|
5
6
|
"error.dataset not found": "指定された名前の({dataSetName})データセットが見つかりません",
|
6
7
|
"error.summary not supported": "指定されたデータセット({dataSetName})は{period}のレポートに対応していません",
|
8
|
+
"field.agg-function": "集計関数",
|
7
9
|
"field.appliance": "アプライアンス",
|
8
10
|
"field.assignees": "譲渡人リスト",
|
9
11
|
"field.collected-at": "取集日時",
|
10
12
|
"field.corrected-at": "措置時間",
|
11
|
-
"field.corrective-action": "
|
13
|
+
"field.corrective-action": "是正措置",
|
14
|
+
"field.corrective-instruction": "是正指示",
|
12
15
|
"field.corrector": "措置者",
|
13
16
|
"field.count": "件数",
|
14
17
|
"field.count-ooc": "管理限界離脱件数",
|
@@ -24,11 +27,14 @@
|
|
24
27
|
"field.data-sample": "データ サンプル",
|
25
28
|
"field.data-set": "データ セット",
|
26
29
|
"field.date": "日時",
|
30
|
+
"field.decoder": "デコーダー",
|
31
|
+
"field.decoder-scenario": "デコーダーシナリオ",
|
27
32
|
"field.device-id": "デバイスID",
|
28
33
|
"field.download-url": "ダウンロード アドレス",
|
29
34
|
"field.entry-role": "入力担当ロール",
|
30
35
|
"field.entry-type": "入力用画面タイプ",
|
31
36
|
"field.entry-view": "入力用画面",
|
37
|
+
"field.finalizing-function": "最終処理関数",
|
32
38
|
"field.hidden": "隠し",
|
33
39
|
"field.item": "項目",
|
34
40
|
"field.key": "キ",
|
@@ -64,7 +70,6 @@
|
|
64
70
|
"field.role": "ロール",
|
65
71
|
"field.serial-no": "シリアル番号",
|
66
72
|
"field.spec": "明細",
|
67
|
-
"field.stat-function": "統計関数",
|
68
73
|
"field.status": "状態",
|
69
74
|
"field.subgroup": "サブグループ名",
|
70
75
|
"field.summary": "サマリー",
|
@@ -82,22 +87,28 @@
|
|
82
87
|
"label.corrective action": "是正措置",
|
83
88
|
"label.corrective instruction": "是正指示",
|
84
89
|
"label.critical-limits": "許容限界範囲",
|
90
|
+
"label.data-set": "データ セット",
|
85
91
|
"label.data-set-type": "タイプ",
|
92
|
+
"label.datasample review timeline": "データサンプルレビュータイムライン",
|
86
93
|
"label.end-date": "終了日",
|
87
94
|
"label.group-by data-keys": "各データキーごとにグループ化",
|
88
95
|
"label.maximum value": "最大値",
|
89
96
|
"label.minimum value": "最小値",
|
97
|
+
"label.ooc resolve timeline": "OOC 解決タイムライン",
|
98
|
+
"label.ooc review timeline": "OOC レビュータイムライン",
|
90
99
|
"label.pass-limits": "通過許容範囲",
|
91
100
|
"label.period-12-months": "12ヶ月",
|
92
101
|
"label.period-30-days": "30日",
|
93
102
|
"label.period-this-month": "今月",
|
94
103
|
"label.period-this-year": "今年",
|
95
104
|
"label.period-today": "今日",
|
105
|
+
"label.raw-data": "生データ",
|
96
106
|
"label.start-date": "開始日",
|
97
107
|
"label.state-corrected": "修正済",
|
98
108
|
"label.state-issued": "発行済",
|
99
109
|
"label.state-reviewed": "審査済",
|
100
110
|
"label.target-limits": "管理目標範囲",
|
111
|
+
"label.timestamp": "タイムスタンプ",
|
101
112
|
"text.automatically collected": "自動収集",
|
102
113
|
"text.corrective action placeholder": "是正及び予防措置の実施事項を入力してください",
|
103
114
|
"text.corrective instruction placeholder": "是正及び予防措置の指示事項を入力してください",
|
@@ -138,6 +149,7 @@
|
|
138
149
|
"title.edit duration": "周期編集",
|
139
150
|
"title.edit hashtag": "ハッシュタグ編集",
|
140
151
|
"title.edit json": "JSON編集",
|
152
|
+
"title.lookup scenario": "ルックアップシナリオ",
|
141
153
|
"title.open data sample report page": "データ サンプル レポート ページを開く",
|
142
154
|
"title.open data sample search page": "データ サンプル検索ページを開く",
|
143
155
|
"title.open data sample view": "データ サンプル ビューページを開く",
|