@things-factory/dataset 5.0.0-zeta.9 → 5.0.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.
- package/README.md +25 -0
- package/assets/data-samples.jpg +0 -0
- package/client/{pages/data-entry → components}/data-entry-form.js +1 -1
- package/client/index.js +1 -0
- package/client/pages/data-entry/data-entry-list-page.js +2 -2
- package/client/pages/data-ooc/data-ooc-list-page.js +12 -17
- package/client/pages/data-report/data-report-list-page.js +1 -1
- package/client/pages/data-sample/data-sample-list-page.js +11 -12
- package/client/pages/data-sensor/data-sensor-list-page.js +1 -1
- package/client/pages/data-set/data-set-list-page.js +3 -2
- package/config/config.development.js +1 -1
- package/config/config.production.js +13 -1
- package/dist-server/controllers/create-data-sample.js +4 -37
- package/dist-server/controllers/create-data-sample.js.map +1 -1
- package/dist-server/controllers/data-use-case.js +11 -5
- package/dist-server/controllers/data-use-case.js.map +1 -1
- package/dist-server/controllers/jasper-report.js +14 -9
- package/dist-server/controllers/jasper-report.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc-query.js +4 -17
- package/dist-server/service/data-ooc/data-ooc-query.js.map +1 -1
- package/dist-server/service/data-ooc/data-ooc.js +7 -15
- package/dist-server/service/data-ooc/data-ooc.js.map +1 -1
- package/dist-server/service/data-sample/data-sample-query.js +4 -4
- package/dist-server/service/data-sample/data-sample-query.js.map +1 -1
- package/dist-server/service/data-sample/data-sample.js +7 -3
- package/dist-server/service/data-sample/data-sample.js.map +1 -1
- package/dist-server/service/data-set/data-set-mutation.js +13 -30
- package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
- package/dist-server/service/data-set/data-set-query.js +3 -2
- package/dist-server/service/data-set/data-set-query.js.map +1 -1
- package/dist-server/service/data-set/data-set-type.js +12 -9
- package/dist-server/service/data-set/data-set-type.js.map +1 -1
- package/dist-server/service/data-set/data-set.js +1 -4
- package/dist-server/service/data-set/data-set.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history-query.js +4 -2
- package/dist-server/service/data-set-history/data-set-history-query.js.map +1 -1
- package/dist-server/service/data-set-history/data-set-history.js +46 -55
- package/dist-server/service/data-set-history/data-set-history.js.map +1 -1
- package/dist-server/service/data-set-history/event-subscriber.js +26 -0
- package/dist-server/service/data-set-history/event-subscriber.js.map +1 -0
- package/dist-server/service/data-set-history/index.js +3 -1
- package/dist-server/service/data-set-history/index.js.map +1 -1
- package/dist-server/service/index.js +5 -1
- package/dist-server/service/index.js.map +1 -1
- package/package.json +18 -18
- package/server/controllers/create-data-sample.ts +5 -37
- package/server/controllers/data-use-case.ts +17 -6
- package/server/controllers/jasper-report.ts +58 -48
- package/server/service/data-ooc/data-ooc-query.ts +3 -11
- package/server/service/data-ooc/data-ooc.ts +6 -16
- package/server/service/data-sample/data-sample-query.ts +3 -3
- package/server/service/data-sample/data-sample.ts +6 -4
- package/server/service/data-set/data-set-mutation.ts +8 -39
- package/server/service/data-set/data-set-query.ts +3 -2
- package/server/service/data-set/data-set-type.ts +2 -1
- package/server/service/data-set/data-set.ts +3 -5
- package/server/service/data-set-history/data-set-history-query.ts +4 -2
- package/server/service/data-set-history/data-set-history.ts +61 -60
- package/server/service/data-set-history/event-subscriber.ts +17 -0
- package/server/service/data-set-history/index.ts +2 -0
- package/server/service/index.ts +10 -1
- package/translations/en.json +1 -1
- package/translations/ko.json +2 -2
- package/translations/ms.json +1 -1
- package/translations/zh.json +1 -1
package/README.md
CHANGED
@@ -7,3 +7,28 @@ At the early stage, partition keys are desinged for dynamic partitioning for Ath
|
|
7
7
|
Partition keys are related for S3 request limitations.
|
8
8
|
> __3,500 PUT/COPY/POST/DELETE or 5,500 GET/HEAD requests per second per prefix in a bucket__
|
9
9
|
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html
|
10
|
+
|
11
|
+
### :warning: This concept will be deprecated.
|
12
|
+
|
13
|
+
Now partition keys are fixed
|
14
|
+
- domain
|
15
|
+
- datasetid
|
16
|
+
- date: local time date
|
17
|
+
- workdate: working date
|
18
|
+
- workshift
|
19
|
+
|
20
|
+
## PostgreSQL query for dataset
|
21
|
+
```
|
22
|
+
select
|
23
|
+
data::json#>>'{product,0}' as product,
|
24
|
+
data::json#>>'{operation,0}' as operation
|
25
|
+
from data_samples ds
|
26
|
+
where 1=1
|
27
|
+
and data_set_id = 'f1e394cb-9ace-4686-af14-817c619ae512'
|
28
|
+
and data_set_version = 3
|
29
|
+
and data::json#>>'{operation,0}' = '세척'
|
30
|
+
order by created_at desc;
|
31
|
+
```
|
32
|
+
|
33
|
+
Reference.
|
34
|
+
- [1] https://www.postgresql.org/docs/11/functions-json.html
|
package/assets/data-samples.jpg
CHANGED
Binary file
|
@@ -7,7 +7,7 @@ import { client } from '@operato/graphql'
|
|
7
7
|
import { i18next, localize } from '@operato/i18n'
|
8
8
|
import { ScrollbarStyles } from '@operato/styles'
|
9
9
|
|
10
|
-
class DataEntryForm extends localize(i18next)(LitElement) {
|
10
|
+
export class DataEntryForm extends localize(i18next)(LitElement) {
|
11
11
|
static get properties() {
|
12
12
|
return {
|
13
13
|
dataSet: Object
|
package/client/index.js
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
export * from './components/data-entry-form.js'
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import '@operato/data-grist'
|
2
|
-
import './data-entry-form'
|
3
2
|
import '@operato/board/ox-board-viewer.js'
|
3
|
+
import '../../components/data-entry-form.js'
|
4
4
|
|
5
5
|
import gql from 'graphql-tag'
|
6
6
|
import { css, html } from 'lit'
|
@@ -121,7 +121,7 @@ export class DataEntryListPage extends connect(store)(localize(i18next)(PageView
|
|
121
121
|
>
|
122
122
|
<div slot="headroom">
|
123
123
|
<div id="filters">
|
124
|
-
<ox-filters-form></ox-filters-form>
|
124
|
+
<ox-filters-form autofocus></ox-filters-form>
|
125
125
|
</div>
|
126
126
|
|
127
127
|
<div id="sorters">
|
@@ -71,7 +71,7 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
|
|
71
71
|
>
|
72
72
|
<div slot="headroom">
|
73
73
|
<div id="filters">
|
74
|
-
<ox-filters-form></ox-filters-form>
|
74
|
+
<ox-filters-form autofocus></ox-filters-form>
|
75
75
|
</div>
|
76
76
|
|
77
77
|
<div id="sorters">
|
@@ -108,7 +108,7 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
|
|
108
108
|
async pageInitialized(lifecycle) {
|
109
109
|
this.gristConfig = {
|
110
110
|
list: {
|
111
|
-
fields: ['dataSet', 'data', '
|
111
|
+
fields: ['dataSet', 'data', 'correctiveAction', 'corrector', 'correctedAt', 'collectedAt', 'creator']
|
112
112
|
},
|
113
113
|
columns: [
|
114
114
|
{ type: 'gutter', gutterName: 'sequence' },
|
@@ -186,7 +186,7 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
|
|
186
186
|
type: 'select',
|
187
187
|
name: 'state',
|
188
188
|
label: true,
|
189
|
-
header: i18next.t('field.
|
189
|
+
header: i18next.t('field.status'),
|
190
190
|
record: {
|
191
191
|
editable: false,
|
192
192
|
options: ['', 'CREATED', 'REVIEWED', 'CORRECTED']
|
@@ -237,15 +237,6 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
|
|
237
237
|
width: 200,
|
238
238
|
imex: true
|
239
239
|
},
|
240
|
-
{
|
241
|
-
type: 'json5',
|
242
|
-
name: 'spec',
|
243
|
-
header: i18next.t('field.spec'),
|
244
|
-
record: {
|
245
|
-
editable: false
|
246
|
-
},
|
247
|
-
width: 200
|
248
|
-
},
|
249
240
|
{
|
250
241
|
type: 'text',
|
251
242
|
name: 'rawData',
|
@@ -325,21 +316,25 @@ export class DataOocListPage extends connect(store)(localize(i18next)(PageView))
|
|
325
316
|
id
|
326
317
|
name
|
327
318
|
description
|
319
|
+
useCase
|
328
320
|
dataSet {
|
329
321
|
id
|
330
322
|
name
|
331
323
|
}
|
332
|
-
|
333
|
-
|
324
|
+
partitionKeys
|
325
|
+
dataItems {
|
334
326
|
name
|
327
|
+
description
|
328
|
+
tag
|
329
|
+
unit
|
330
|
+
spec
|
335
331
|
}
|
336
|
-
partitionKeys
|
337
332
|
data
|
338
333
|
rawData
|
339
|
-
|
340
|
-
spec
|
334
|
+
judgment
|
341
335
|
ooc
|
342
336
|
oos
|
337
|
+
state
|
343
338
|
history
|
344
339
|
workDate
|
345
340
|
workShift
|
@@ -156,7 +156,7 @@ export class DataReportListPage extends connect(store)(localize(i18next)(PageVie
|
|
156
156
|
>
|
157
157
|
<div slot="headroom">
|
158
158
|
<div id="filters">
|
159
|
-
<ox-filters-form></ox-filters-form>
|
159
|
+
<ox-filters-form autofocus></ox-filters-form>
|
160
160
|
</div>
|
161
161
|
|
162
162
|
<div id="sorters">
|
@@ -65,7 +65,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
|
|
65
65
|
>
|
66
66
|
<div slot="headroom">
|
67
67
|
<div id="filters">
|
68
|
-
<ox-filters-form></ox-filters-form>
|
68
|
+
<ox-filters-form autofocus></ox-filters-form>
|
69
69
|
</div>
|
70
70
|
|
71
71
|
<div id="sorters">
|
@@ -101,7 +101,7 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
|
|
101
101
|
|
102
102
|
async pageInitialized(lifecycle) {
|
103
103
|
this.gristConfig = {
|
104
|
-
list: { fields: ['dataSet', 'data', '
|
104
|
+
list: { fields: ['dataSet', 'data', 'updater', 'updatedAt'] },
|
105
105
|
columns: [
|
106
106
|
{ type: 'gutter', gutterName: 'sequence' },
|
107
107
|
{ type: 'gutter', gutterName: 'row-selector', multiple: true },
|
@@ -196,15 +196,6 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
|
|
196
196
|
width: 200,
|
197
197
|
imex: true
|
198
198
|
},
|
199
|
-
{
|
200
|
-
type: 'json5',
|
201
|
-
name: 'spec',
|
202
|
-
header: i18next.t('field.spec'),
|
203
|
-
record: {
|
204
|
-
editable: false
|
205
|
-
},
|
206
|
-
width: 200
|
207
|
-
},
|
208
199
|
{
|
209
200
|
type: 'text',
|
210
201
|
name: 'rawData',
|
@@ -292,17 +283,25 @@ export class DataSampleListPage extends connect(store)(localize(i18next)(PageVie
|
|
292
283
|
id
|
293
284
|
name
|
294
285
|
description
|
286
|
+
useCase
|
295
287
|
dataSet {
|
296
288
|
id
|
297
289
|
name
|
298
290
|
description
|
299
291
|
}
|
300
292
|
partitionKeys
|
293
|
+
dataItems {
|
294
|
+
name
|
295
|
+
description
|
296
|
+
tag
|
297
|
+
unit
|
298
|
+
spec
|
299
|
+
}
|
301
300
|
data
|
302
301
|
rawData
|
303
|
-
spec
|
304
302
|
ooc
|
305
303
|
oos
|
304
|
+
judgment
|
306
305
|
workDate
|
307
306
|
workShift
|
308
307
|
updater {
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import '@operato/data-grist'
|
2
2
|
import './data-item-list.js'
|
3
3
|
import './data-set-importer.js'
|
4
|
-
import '
|
4
|
+
import '../../components/data-entry-form.js'
|
5
5
|
|
6
6
|
import gql from 'graphql-tag'
|
7
7
|
import { css, html } from 'lit'
|
@@ -165,7 +165,7 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
|
|
165
165
|
>
|
166
166
|
<div slot="headroom">
|
167
167
|
<div id="filters">
|
168
|
-
<ox-filters-form></ox-filters-form>
|
168
|
+
<ox-filters-form autofocus></ox-filters-form>
|
169
169
|
</div>
|
170
170
|
|
171
171
|
<div id="sorters">
|
@@ -578,6 +578,7 @@ export class DataSetListPage extends connect(store)(localize(i18next)(PageView))
|
|
578
578
|
name
|
579
579
|
description
|
580
580
|
active
|
581
|
+
hidden
|
581
582
|
tag
|
582
583
|
type
|
583
584
|
unit
|
@@ -41,24 +41,12 @@ async function createDataSample(dataSample, context) {
|
|
41
41
|
where: { id: dataSample.dataSet.id }
|
42
42
|
});
|
43
43
|
const dataItems = dataSet.dataItems;
|
44
|
-
// TODO spec should be removed
|
45
|
-
// const spec = dataItems.reduce((spec, dataItem) => {
|
46
|
-
// spec[dataItem.tag] = {
|
47
|
-
// spec: dataItem.spec,
|
48
|
-
// name: dataItem.name,
|
49
|
-
// description: dataItem.description,
|
50
|
-
// unit: dataItem.unit,
|
51
|
-
// hidden: dataItem.hidden
|
52
|
-
// }
|
53
|
-
// return spec
|
54
|
-
// }, {})
|
55
44
|
const collectedAt = dataSample.collectedAt || new Date();
|
56
45
|
const timezone = dataSet.timezone || domain.timezone || 'UTC';
|
57
46
|
const format = 'YYYY-MM-DD';
|
58
47
|
// workDate ex) 2022-04-04
|
59
48
|
const { workDate, workShift } = await (0, work_shift_1.getWorkDateAndShift)(domain, collectedAt, { timezone, format });
|
60
49
|
// local time dataSet timezone or domain timezone or default 'UTC'
|
61
|
-
// const collectedAt = dataSample.collectedAt || new Date()
|
62
50
|
const localDateTz = (0, moment_timezone_1.default)(collectedAt).tz(timezone);
|
63
51
|
const defaultPartitionKeys = {
|
64
52
|
domain: domain.subdomain,
|
@@ -70,31 +58,17 @@ async function createDataSample(dataSample, context) {
|
|
70
58
|
var partitionKeys = Object.assign(Object.assign({}, defaultPartitionKeys), dataSet.partitionKeys);
|
71
59
|
partitionKeys = formatDate(partitionKeys, localDateTz);
|
72
60
|
partitionKeys = replaceVariables(partitionKeys, Object.assign({}, dataSample.data));
|
73
|
-
const { ooc, oos } = data_use_case_1.DataUseCase.evaluate(dataSet, dataItems, dataSample.data) || {};
|
61
|
+
const { ooc, oos, judgment } = data_use_case_1.DataUseCase.evaluate(dataSet, dataItems, dataSample.data) || {};
|
74
62
|
const result = await tx.getRepository(data_sample_1.DataSample).save(Object.assign(Object.assign({ name: dataSet.name, description: dataSet.description, useCase: dataSet.useCase }, dataSample), { dataSetVersion: dataSet.version, domain,
|
75
63
|
partitionKeys,
|
76
|
-
// spec, // TODO spec should be removed
|
77
64
|
ooc,
|
78
65
|
oos,
|
66
|
+
judgment,
|
79
67
|
collectedAt,
|
80
68
|
workDate,
|
81
69
|
workShift, creator: user, updater: user }));
|
82
70
|
if (ooc || oos) {
|
83
|
-
const dataOoc = await tx.getRepository(data_ooc_1.DataOoc).save({
|
84
|
-
name: dataSet.name,
|
85
|
-
description: dataSet.description,
|
86
|
-
useCase: dataSet.useCase,
|
87
|
-
dataSet,
|
88
|
-
dataSetVersion: dataSet.version,
|
89
|
-
dataSample: result,
|
90
|
-
data: dataSample.data,
|
91
|
-
rawData: dataSample.rawData,
|
92
|
-
domain,
|
93
|
-
partitionKeys,
|
94
|
-
// spec, // TODO spec should be removed
|
95
|
-
ooc,
|
96
|
-
oos,
|
97
|
-
history: [
|
71
|
+
const dataOoc = await tx.getRepository(data_ooc_1.DataOoc).save(Object.assign(Object.assign({}, result), { history: [
|
98
72
|
{
|
99
73
|
user: {
|
100
74
|
id: user.id,
|
@@ -103,14 +77,7 @@ async function createDataSample(dataSample, context) {
|
|
103
77
|
state: data_ooc_1.DataOocStatus.CREATED,
|
104
78
|
timestamp: Date.now()
|
105
79
|
}
|
106
|
-
],
|
107
|
-
state: data_ooc_1.DataOocStatus.CREATED,
|
108
|
-
workDate,
|
109
|
-
workShift,
|
110
|
-
collectedAt,
|
111
|
-
creator: user,
|
112
|
-
updater: user
|
113
|
-
});
|
80
|
+
], state: data_ooc_1.DataOocStatus.CREATED }));
|
114
81
|
shell_1.pubsub.publish('data-ooc', {
|
115
82
|
dataOoc,
|
116
83
|
supervisoryRoleId: dataSet.supervisoryRoleId
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create-data-sample.js","sourceRoot":"","sources":["../../server/controllers/create-data-sample.ts"],"names":[],"mappings":";;;;;;AAAA,sEAAoC;AAIpC,iDAAgF;AAChF,2DAAgE;AAEhE,2DAAqE;AACrE,oEAA+D;AAE/D,2DAAsD;AACtD,mDAA6C;AAE7C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,oDAAoD,CAAC,CAAA;AAEpF,2CAA2C;AAC3C,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QAC3C,OAAO;YACL,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACnD,CAAC,CAAC,CAAA;KACL;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,gFAAgF;AAChF,sBAAsB;AACtB,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO;YACL,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClB,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3D,CAAC,CAAC,CAAA;KACL;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAEM,KAAK,UAAU,gBAAgB,CACpC,UAAyB,EACzB,OAMC;IAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;IAE1C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,kBAAO,CAAC,CAAC,OAAO,CAAC;QACtD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE;KACrC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"create-data-sample.js","sourceRoot":"","sources":["../../server/controllers/create-data-sample.ts"],"names":[],"mappings":"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"}
|
@@ -15,6 +15,7 @@ class DataUseCase {
|
|
15
15
|
var _a;
|
16
16
|
var ooc = false;
|
17
17
|
var oos = false;
|
18
|
+
var judgment = {};
|
18
19
|
if (!dataSet.useCase) {
|
19
20
|
return { ooc, oos };
|
20
21
|
}
|
@@ -27,12 +28,14 @@ class DataUseCase {
|
|
27
28
|
continue;
|
28
29
|
}
|
29
30
|
let values = data[tag];
|
30
|
-
if (
|
31
|
+
if (values == null) {
|
31
32
|
continue; // TODO what if in case no value ?
|
32
33
|
}
|
33
34
|
if (!(values instanceof Array)) {
|
34
35
|
values = [values];
|
35
36
|
}
|
37
|
+
let oocForTag = false;
|
38
|
+
let oosForTag = false;
|
36
39
|
for (let j = 0; j < useCases.length; j++) {
|
37
40
|
const useCase = useCases[j];
|
38
41
|
const specs = (_a = dataItem.spec) === null || _a === void 0 ? void 0 : _a[dataSet.useCase];
|
@@ -41,15 +44,18 @@ class DataUseCase {
|
|
41
44
|
}
|
42
45
|
const result = useCase.evaluate(specs, values);
|
43
46
|
if (result) {
|
47
|
+
oocForTag || (oocForTag = result.ooc);
|
48
|
+
oosForTag || (oosForTag = result.oos);
|
44
49
|
ooc || (ooc = result.ooc);
|
45
50
|
oos || (oos = result.oos);
|
46
51
|
}
|
47
|
-
// if (ooc && oos) {
|
48
|
-
// return { ooc, oos }
|
49
|
-
// }
|
50
52
|
}
|
53
|
+
judgment[tag] = {
|
54
|
+
ooc: oocForTag,
|
55
|
+
oos: oosForTag
|
56
|
+
};
|
51
57
|
}
|
52
|
-
return { ooc, oos };
|
58
|
+
return { ooc, oos, judgment };
|
53
59
|
}
|
54
60
|
}
|
55
61
|
exports.DataUseCase = DataUseCase;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-use-case.js","sourceRoot":"","sources":["../../server/controllers/data-use-case.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"data-use-case.js","sourceRoot":"","sources":["../../server/controllers/data-use-case.ts"],"names":[],"mappings":"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"}
|
@@ -10,8 +10,12 @@ const attachment_base_1 = require("@things-factory/attachment-base");
|
|
10
10
|
const aws_base_1 = require("@things-factory/aws-base");
|
11
11
|
const env_1 = require("@things-factory/env");
|
12
12
|
const dataReportConfig = env_1.config.get('dataReport');
|
13
|
-
const { jasper: { endpoint: { protocol: PROTOCOL, host: HOST, port: PORT }, datasource: { database: DATABASE } } } = dataReportConfig
|
14
|
-
|
13
|
+
const { jasper: { endpoint: { protocol: PROTOCOL, host: HOST, port: PORT }, datasource: { database: DATABASE } } } = dataReportConfig || {
|
14
|
+
jasper: {
|
15
|
+
endpoint: {},
|
16
|
+
datasource: {}
|
17
|
+
}
|
18
|
+
};
|
15
19
|
function transformValuesToRows(queryResult) {
|
16
20
|
var parseData = [];
|
17
21
|
let index = 1;
|
@@ -61,11 +65,12 @@ function pivotData(rows) {
|
|
61
65
|
for (let key in data) {
|
62
66
|
/** @todo rule to display or not, about unspecified spec */
|
63
67
|
const value = data[key];
|
64
|
-
!((_a = spec[key]) === null || _a === void 0 ? void 0 : _a.hidden) &&
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
68
|
+
!((_a = spec[key]) === null || _a === void 0 ? void 0 : _a.hidden) &&
|
69
|
+
parsedData.push({
|
70
|
+
item: ((_b = spec[key]) === null || _b === void 0 ? void 0 : _b.name) || key,
|
71
|
+
index,
|
72
|
+
value: Array.isArray(value) ? value.join(', ') : value
|
73
|
+
});
|
69
74
|
}
|
70
75
|
if (j !== 0) {
|
71
76
|
index = index + j;
|
@@ -105,7 +110,7 @@ async function queryAthena(params) {
|
|
105
110
|
AND datasetid = '${dataSetId}'
|
106
111
|
AND workdate >= '${fromWorkDate}'
|
107
112
|
AND workdate <= '${toWorkDate}'
|
108
|
-
${workShift ?
|
113
|
+
${workShift ? "AND workshift = '" + workShift + "'" : ''}
|
109
114
|
ORDER BY collected_at`,
|
110
115
|
db: DATABASE
|
111
116
|
};
|
@@ -122,7 +127,7 @@ async function renderJasperReport(context) {
|
|
122
127
|
* const variables = await gql(dataSet(id:${dataSetId}) {
|
123
128
|
* name, description, partition_keys, timezone
|
124
129
|
* })
|
125
|
-
|
130
|
+
*/
|
126
131
|
query['domain'] = domain === null || domain === void 0 ? void 0 : domain.subdomain;
|
127
132
|
query['timezone'] = domain === null || domain === void 0 ? void 0 : domain.timezone;
|
128
133
|
const queryResult = await queryAthena(query);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"jasper-report.js","sourceRoot":"","sources":["../../server/controllers/jasper-report.ts"],"names":[],"mappings":";;;;;;AAAA,0DAAgC;AAChC,4DAA8B;AAE9B,qEAAyD;AACzD,uDAA2D;AAC3D,6CAA4C;AAE5C,MAAM,gBAAgB,GAAG,YAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;AACjD,MAAM,
|
1
|
+
{"version":3,"file":"jasper-report.js","sourceRoot":"","sources":["../../server/controllers/jasper-report.ts"],"names":[],"mappings":"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"}
|
@@ -18,7 +18,6 @@ const type_graphql_1 = require("type-graphql");
|
|
18
18
|
const typeorm_1 = require("typeorm");
|
19
19
|
const auth_base_1 = require("@things-factory/auth-base");
|
20
20
|
const shell_1 = require("@things-factory/shell");
|
21
|
-
const data_sample_1 = require("../data-sample/data-sample");
|
22
21
|
const data_set_history_1 = require("../data-set-history/data-set-history");
|
23
22
|
const data_item_type_1 = require("../data-set/data-item-type");
|
24
23
|
const data_set_1 = require("../data-set/data-set");
|
@@ -42,25 +41,20 @@ let DataOocQuery = class DataOocQuery {
|
|
42
41
|
const [items, total] = await queryBuilder.getManyAndCount();
|
43
42
|
return { items, total };
|
44
43
|
}
|
45
|
-
async
|
44
|
+
async dataItems(dataOoc) {
|
46
45
|
const dataSetHistory = await (0, typeorm_1.getRepository)(data_set_history_1.DataSetHistory).findOne({
|
47
46
|
where: {
|
48
|
-
|
47
|
+
originalId: dataOoc.dataSetId,
|
49
48
|
version: dataOoc.dataSetVersion
|
50
49
|
}
|
51
50
|
});
|
52
|
-
return (dataSetHistory === null || dataSetHistory === void 0 ? void 0 : dataSetHistory.dataItems) ||
|
51
|
+
return (dataSetHistory === null || dataSetHistory === void 0 ? void 0 : dataSetHistory.dataItems) || [];
|
53
52
|
}
|
54
53
|
async dataSet(dataOoc) {
|
55
54
|
return await (0, typeorm_1.getRepository)(data_set_1.DataSet).findOne({
|
56
55
|
id: dataOoc.dataSetId
|
57
56
|
});
|
58
57
|
}
|
59
|
-
async dataSample(dataOoc) {
|
60
|
-
return await (0, typeorm_1.getRepository)(data_sample_1.DataSample).findOne({
|
61
|
-
id: dataOoc.dataSampleId
|
62
|
-
});
|
63
|
-
}
|
64
58
|
async domain(dataOoc) {
|
65
59
|
return await (0, typeorm_1.getRepository)(shell_1.Domain).findOne(dataOoc.domainId);
|
66
60
|
}
|
@@ -95,7 +89,7 @@ __decorate([
|
|
95
89
|
__metadata("design:type", Function),
|
96
90
|
__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
|
97
91
|
__metadata("design:returntype", Promise)
|
98
|
-
], DataOocQuery.prototype, "
|
92
|
+
], DataOocQuery.prototype, "dataItems", null);
|
99
93
|
__decorate([
|
100
94
|
(0, type_graphql_1.FieldResolver)(type => data_set_1.DataSet),
|
101
95
|
__param(0, (0, type_graphql_1.Root)()),
|
@@ -103,13 +97,6 @@ __decorate([
|
|
103
97
|
__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
|
104
98
|
__metadata("design:returntype", Promise)
|
105
99
|
], DataOocQuery.prototype, "dataSet", null);
|
106
|
-
__decorate([
|
107
|
-
(0, type_graphql_1.FieldResolver)(type => data_sample_1.DataSample),
|
108
|
-
__param(0, (0, type_graphql_1.Root)()),
|
109
|
-
__metadata("design:type", Function),
|
110
|
-
__metadata("design:paramtypes", [data_ooc_1.DataOoc]),
|
111
|
-
__metadata("design:returntype", Promise)
|
112
|
-
], DataOocQuery.prototype, "dataSample", null);
|
113
100
|
__decorate([
|
114
101
|
(0, type_graphql_1.FieldResolver)(type => shell_1.Domain),
|
115
102
|
__param(0, (0, type_graphql_1.Root)()),
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-ooc-query.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-query.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA8F;AAC9F,qCAAuC;AAEvC,yDAAgD;AAChD,iDAAwF;AAExF,
|
1
|
+
{"version":3,"file":"data-ooc-query.js","sourceRoot":"","sources":["../../../server/service/data-ooc/data-ooc-query.ts"],"names":[],"mappings":"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"}
|
@@ -16,7 +16,7 @@ const typeorm_1 = require("typeorm");
|
|
16
16
|
const auth_base_1 = require("@things-factory/auth-base");
|
17
17
|
const env_1 = require("@things-factory/env");
|
18
18
|
const shell_1 = require("@things-factory/shell");
|
19
|
-
const
|
19
|
+
const data_item_type_1 = require("../data-set/data-item-type");
|
20
20
|
const data_set_1 = require("../data-set/data-set");
|
21
21
|
const ORMCONFIG = env_1.config.get('ormconfig', {});
|
22
22
|
const DATABASE_TYPE = ORMCONFIG.type;
|
@@ -72,16 +72,6 @@ __decorate([
|
|
72
72
|
(0, type_graphql_1.Field)({ nullable: true }),
|
73
73
|
__metadata("design:type", Number)
|
74
74
|
], DataOoc.prototype, "dataSetVersion", void 0);
|
75
|
-
__decorate([
|
76
|
-
(0, typeorm_1.OneToOne)(type => data_sample_1.DataSample),
|
77
|
-
(0, typeorm_1.JoinColumn)(),
|
78
|
-
(0, type_graphql_1.Field)(type => data_sample_1.DataSample, { nullable: true }),
|
79
|
-
__metadata("design:type", data_sample_1.DataSample)
|
80
|
-
], DataOoc.prototype, "dataSample", void 0);
|
81
|
-
__decorate([
|
82
|
-
(0, typeorm_1.RelationId)((dataOoc) => dataOoc.dataSample),
|
83
|
-
__metadata("design:type", String)
|
84
|
-
], DataOoc.prototype, "dataSampleId", void 0);
|
85
75
|
__decorate([
|
86
76
|
(0, typeorm_1.Column)({
|
87
77
|
nullable: true
|
@@ -143,7 +133,11 @@ __decorate([
|
|
143
133
|
(0, typeorm_1.Column)('simple-json', { nullable: true }),
|
144
134
|
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
145
135
|
__metadata("design:type", typeof (_d = typeof shell_1.ScalarObject !== "undefined" && shell_1.ScalarObject) === "function" ? _d : Object)
|
146
|
-
], DataOoc.prototype, "
|
136
|
+
], DataOoc.prototype, "judgment", void 0);
|
137
|
+
__decorate([
|
138
|
+
(0, type_graphql_1.Field)(type => [data_item_type_1.DataItem], { nullable: true }),
|
139
|
+
__metadata("design:type", Array)
|
140
|
+
], DataOoc.prototype, "dataItems", void 0);
|
147
141
|
__decorate([
|
148
142
|
(0, typeorm_1.Column)('simple-json', { nullable: true }),
|
149
143
|
(0, type_graphql_1.Field)(type => shell_1.ScalarObject, { nullable: true }),
|
@@ -233,9 +227,7 @@ __decorate([
|
|
233
227
|
], DataOoc.prototype, "updaterId", void 0);
|
234
228
|
DataOoc = __decorate([
|
235
229
|
(0, typeorm_1.Entity)(),
|
236
|
-
(0, typeorm_1.Index)('ix_data_ooc_0', (dataOoc) => [dataOoc.domain, dataOoc.dataSet], { unique: false }),
|
237
|
-
(0, typeorm_1.Index)('ix_data_ooc_1', (dataOoc) => [dataOoc.domain, dataOoc.dataSample], { unique: true }),
|
238
|
-
(0, typeorm_1.Index)('ix_data_ooc_2', (dataOoc) => [dataOoc.domain, dataOoc.collectedAt], { unique: false }),
|
230
|
+
(0, typeorm_1.Index)('ix_data_ooc_0', (dataOoc) => [dataOoc.domain, dataOoc.dataSet, dataOoc.collectedAt], { unique: false }),
|
239
231
|
(0, type_graphql_1.ObjectType)({ description: 'Entity for Out of control data' })
|
240
232
|
], DataOoc);
|
241
233
|
exports.DataOoc = DataOoc;
|