@things-factory/dataset 8.0.0-alpha.31 → 8.0.0-alpha.33
Sign up to get free protection for your applications and to get access to all the features.
- package/client/pages/data-entry/data-entry-list-page.ts +3 -2
- package/client/pages/data-set/data-set-list-page.ts +10 -0
- package/dist-client/pages/data-entry/data-entry-list-page.js +2 -2
- package/dist-client/pages/data-entry/data-entry-list-page.js.map +1 -1
- package/dist-client/pages/data-set/data-set-list-page.js +10 -0
- package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/activities/activity-data-collect.d.ts +1 -0
- package/dist-server/activities/activity-data-collect.js +1 -0
- package/dist-server/activities/activity-data-collect.js.map +1 -1
- package/dist-server/activities/activity-data-review.d.ts +1 -0
- package/dist-server/activities/activity-data-review.js +1 -0
- package/dist-server/activities/activity-data-review.js.map +1 -1
- package/dist-server/activities/activity-ooc-resolve.d.ts +1 -0
- package/dist-server/activities/activity-ooc-resolve.js +2 -1
- package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
- package/dist-server/activities/activity-ooc-review.d.ts +1 -0
- package/dist-server/activities/activity-ooc-review.js +2 -1
- package/dist-server/activities/activity-ooc-review.js.map +1 -1
- package/dist-server/controllers/create-data-sample.js +2 -2
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/issue-data-collection-task.js +2 -3
- package/dist-server/controllers/issue-data-collection-task.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +3 -2
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.d.ts +2 -0
- package/dist-server/service/data-set/data-set-type.js +14 -0
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.d.ts +1 -0
- package/dist-server/service/data-set/data-set.js +8 -0
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/server/activities/activity-data-collect.ts +1 -0
- package/server/activities/activity-data-review.ts +6 -1
- package/server/activities/activity-ooc-resolve.ts +2 -1
- package/server/activities/activity-ooc-review.ts +2 -1
- package/server/controllers/create-data-sample.ts +2 -2
- package/server/controllers/issue-data-collection-task.ts +2 -5
- package/server/service/data-set/data-set-mutation.ts +3 -2
- package/server/service/data-set/data-set-type.ts +12 -1
- package/server/service/data-set/data-set.ts +7 -0
- package/translations/en.json +1 -0
- package/translations/ja.json +1 -0
- package/translations/ko.json +1 -0
- package/translations/ms.json +1 -0
- package/translations/zh.json +1 -0
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@things-factory/dataset",
|
3
|
-
"version": "8.0.0-alpha.
|
3
|
+
"version": "8.0.0-alpha.33",
|
4
4
|
"main": "dist-server/index.js",
|
5
5
|
"browser": "dist-client/index.js",
|
6
6
|
"things-factory": true,
|
@@ -56,5 +56,5 @@
|
|
56
56
|
"simple-statistics": "^7.8.3",
|
57
57
|
"statistics": "^3.3.0"
|
58
58
|
},
|
59
|
-
"gitHead": "
|
59
|
+
"gitHead": "63554d4eb949ba731c493684e643bd9eac40f3e9"
|
60
60
|
}
|
@@ -95,5 +95,6 @@ export const ActivityDataCollect = {
|
|
95
95
|
reportType: 'custom-element',
|
96
96
|
reportSource: 'activity-data-collect-view',
|
97
97
|
thumbnail: '/assets/images/data-collect.png',
|
98
|
+
standardTime: 24 * 60 * 60, // seconds
|
98
99
|
callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
|
99
100
|
}
|
@@ -3,7 +3,11 @@ import { ActivityInstance, ActivityInstanceStatus, UpdateActivityInstanceStateAd
|
|
3
3
|
import { DataOocStatus } from '../service/data-ooc/data-ooc'
|
4
4
|
import { DataSample } from '../service/data-sample/data-sample'
|
5
5
|
|
6
|
-
async function callback(
|
6
|
+
async function callback(
|
7
|
+
activityInstance: ActivityInstance,
|
8
|
+
addendum: UpdateActivityInstanceStateAddendum,
|
9
|
+
context: ResolverContext
|
10
|
+
) {
|
7
11
|
const { domain, tx, user } = context.state
|
8
12
|
const { input, output, state } = activityInstance
|
9
13
|
|
@@ -73,5 +77,6 @@ export const ActivityDataReview = {
|
|
73
77
|
reportType: 'custom-element',
|
74
78
|
reportSource: 'activity-data-review-view',
|
75
79
|
thumbnail: '/assets/images/data-collect.png',
|
80
|
+
standardTime: 24 * 60 * 60, // seconds
|
76
81
|
callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
|
77
82
|
}
|
@@ -30,7 +30,7 @@ async function callback(
|
|
30
30
|
const corrector = activityThreads[0]?.assignee
|
31
31
|
|
32
32
|
const { dataOocId } = input
|
33
|
-
const correctiveAction = output
|
33
|
+
const correctiveAction = output?.action
|
34
34
|
|
35
35
|
var dataOoc = await tx.getRepository(DataOoc).findOne({
|
36
36
|
where: {
|
@@ -118,5 +118,6 @@ export const ActivityOocResolve = {
|
|
118
118
|
reportType: 'custom-element',
|
119
119
|
reportSource: 'data-ooc-report-page',
|
120
120
|
thumbnail: '/assets/images/ooc.png',
|
121
|
+
standardTime: 24 * 60 * 60, // seconds
|
121
122
|
callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
|
122
123
|
}
|
@@ -62,7 +62,7 @@ async function callback(
|
|
62
62
|
name: `[OOC 조치] ${dataSet.name}`,
|
63
63
|
description: dataSet.description,
|
64
64
|
activityId: activity.id,
|
65
|
-
dueAt: new Date(terminatedAt.getTime() + 24 * 60 * 60 * 1000),
|
65
|
+
dueAt: new Date(terminatedAt.getTime() + (activity.standardTime || 24 * 60 * 60) * 1000),
|
66
66
|
input: {
|
67
67
|
dataOocId,
|
68
68
|
instruction: correctiveInstruction
|
@@ -139,5 +139,6 @@ export const ActivityOocReview = {
|
|
139
139
|
reportType: 'custom-element',
|
140
140
|
reportSource: 'data-ooc-report-page',
|
141
141
|
thumbnail: '/assets/images/ooc.png',
|
142
|
+
standardTime: 24 * 60 * 60, // seconds
|
142
143
|
callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
|
143
144
|
}
|
@@ -277,7 +277,7 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
|
|
277
277
|
name: `[OOC 검토] ${dataSet.name}`,
|
278
278
|
description: dataSet.description,
|
279
279
|
activityId: activity.id,
|
280
|
-
dueAt: new Date(collectedAt.getTime() + 24 * 60 * 60 * 1000),
|
280
|
+
dueAt: new Date(collectedAt.getTime() + (activity.standardTime || 24 * 60 * 60) * 1000),
|
281
281
|
input: {
|
282
282
|
dataOocId: dataOoc.id
|
283
283
|
},
|
@@ -384,7 +384,7 @@ export async function createDataSample(newDataSample: NewDataSample, context: Re
|
|
384
384
|
name: `[Data 검토] ${dataSet.name}`,
|
385
385
|
description: dataSet.description,
|
386
386
|
activityId: activity.id,
|
387
|
-
dueAt: new Date(collectedAt.getTime() + 24 * 60 * 60 * 1000),
|
387
|
+
dueAt: new Date(collectedAt.getTime() + (activity.standardTime || 24 * 60 * 60) * 1000),
|
388
388
|
input: {
|
389
389
|
dataSampleId: dataSample.id
|
390
390
|
},
|
@@ -4,7 +4,6 @@ import { Domain, getDataSource } from '@things-factory/shell'
|
|
4
4
|
import { Activity, ActivityInstance, issue } from '@things-factory/worklist'
|
5
5
|
|
6
6
|
import { DataSet } from '../service/data-set/data-set'
|
7
|
-
import { OrgMemberTargetType } from '@things-factory/organization'
|
8
7
|
|
9
8
|
export async function issueDataCollectionTask(
|
10
9
|
domainId: string,
|
@@ -34,9 +33,7 @@ export async function issueDataCollectionTask(
|
|
34
33
|
})) as Activity
|
35
34
|
|
36
35
|
if (activity) {
|
37
|
-
const { entryRole } = dataSet
|
38
|
-
|
39
|
-
// const assignees = entryRole ? [{ type: OrgMemberTargetType.Role, value: entryRole.id, assignee: entryRole }] : []
|
36
|
+
const { entryRole, timeLimit } = dataSet
|
40
37
|
|
41
38
|
/* 해당 dataset에 대한 데이타 수집 태스크를 dataset entryRole에게 할당한다. */
|
42
39
|
if (entryRole) {
|
@@ -44,7 +41,7 @@ export async function issueDataCollectionTask(
|
|
44
41
|
name: `[Data 수집] ${dataSet.name}`,
|
45
42
|
description: dataSet.description,
|
46
43
|
activityId: activity.id,
|
47
|
-
dueAt: new Date(Date.now() + 24 * 60 * 60 * 1000),
|
44
|
+
dueAt: new Date(Date.now() + (timeLimit || activity.standardTime || 24 * 60 * 60) * 1000),
|
48
45
|
input: {
|
49
46
|
dataSetId: dataSet.id,
|
50
47
|
dataSetName: dataSet.name
|
@@ -243,14 +243,15 @@ export class DataSetMutation {
|
|
243
243
|
}
|
244
244
|
})
|
245
245
|
|
246
|
-
const { supervisoryRoleId } = dataSet
|
246
|
+
const { supervisoryRoleId, entryRoleId } = dataSet
|
247
|
+
const allowedRoles = [supervisoryRoleId, entryRoleId].filter(Boolean)
|
247
248
|
|
248
249
|
const me = await getRepository(User, tx).findOne({
|
249
250
|
where: { id: user.id },
|
250
251
|
relations: ['roles']
|
251
252
|
})
|
252
253
|
|
253
|
-
if (!me.roles.find(role => role.id
|
254
|
+
if (!me.roles.find(role => allowedRoles.includes(role.id))) {
|
254
255
|
throw new Error(`You don't have permission to issue data collection task for this dataset.`)
|
255
256
|
}
|
256
257
|
|
@@ -4,7 +4,6 @@ import { Field, ID, InputType, Int, ObjectType } from 'type-graphql'
|
|
4
4
|
|
5
5
|
import { ApprovalLineItem } from '@things-factory/organization'
|
6
6
|
import { ObjectRef, ScalarObject } from '@things-factory/shell'
|
7
|
-
import { AssigneeItem } from '@things-factory/worklist'
|
8
7
|
|
9
8
|
import { DataItemPatch } from './data-item-type'
|
10
9
|
import { DataSet, DataSetEntryType, DataSetMonitorType, DataSetReportType, DataSetSummaryPeriodType } from './data-set'
|
@@ -91,6 +90,12 @@ export class NewDataSet {
|
|
91
90
|
|
92
91
|
@Field({ nullable: true })
|
93
92
|
summaryPeriod?: DataSetSummaryPeriodType
|
93
|
+
|
94
|
+
@Field({
|
95
|
+
nullable: true,
|
96
|
+
description: 'The maximum allowed time limit (in seconds) for completing the data entry operation'
|
97
|
+
})
|
98
|
+
timeLimit?: number
|
94
99
|
}
|
95
100
|
|
96
101
|
@InputType()
|
@@ -179,6 +184,12 @@ export class DataSetPatch {
|
|
179
184
|
@Field({ nullable: true })
|
180
185
|
summaryPeriod?: DataSetSummaryPeriodType
|
181
186
|
|
187
|
+
@Field({
|
188
|
+
nullable: true,
|
189
|
+
description: 'The maximum allowed time limit (in seconds) for completing the data entry operation'
|
190
|
+
})
|
191
|
+
timeLimit?: number
|
192
|
+
|
182
193
|
@Field()
|
183
194
|
cuFlag: string
|
184
195
|
}
|
@@ -295,6 +295,13 @@ export class DataSet {
|
|
295
295
|
@Field({ nullable: true, description: 'The summary schedule ID of the dataset' })
|
296
296
|
summaryScheduleId?: string
|
297
297
|
|
298
|
+
@Column({ nullable: true })
|
299
|
+
@Field({
|
300
|
+
nullable: true,
|
301
|
+
description: 'The maximum allowed time limit (in seconds) for completing the data entry operation'
|
302
|
+
})
|
303
|
+
timeLimit?: number
|
304
|
+
|
298
305
|
@CreateDateColumn()
|
299
306
|
@Field({ nullable: true, description: 'The date and time the dataset was created' })
|
300
307
|
createdAt?: Date
|
package/translations/en.json
CHANGED
package/translations/ja.json
CHANGED
package/translations/ko.json
CHANGED
package/translations/ms.json
CHANGED