@things-factory/dataset 6.0.30 → 6.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/client/pages/data-set/data-set-list-page.ts +0 -1
  2. package/dist-client/pages/data-set/data-set-list-page.js.map +1 -1
  3. package/dist-client/tsconfig.tsbuildinfo +1 -1
  4. package/dist-server/activities/activity-data-collect.js +3 -1
  5. package/dist-server/activities/activity-data-collect.js.map +1 -1
  6. package/dist-server/activities/activity-ooc-resolve.js +3 -1
  7. package/dist-server/activities/activity-ooc-resolve.js.map +1 -1
  8. package/dist-server/activities/activity-ooc-review.js +3 -1
  9. package/dist-server/activities/activity-ooc-review.js.map +1 -1
  10. package/dist-server/service/data-set/data-set-mutation.js +4 -1
  11. package/dist-server/service/data-set/data-set-mutation.js.map +1 -1
  12. package/dist-server/tsconfig.tsbuildinfo +1 -1
  13. package/package.json +11 -11
  14. package/server/activities/activity-data-collect.ts +3 -1
  15. package/server/activities/activity-ooc-resolve.ts +3 -1
  16. package/server/activities/activity-ooc-review.ts +3 -1
  17. package/server/service/data-set/data-set-mutation.ts +6 -2
  18. package/dist-client/components/data-collect-activity-view.d.ts +0 -19
  19. package/dist-client/components/data-collect-activity-view.js +0 -101
  20. package/dist-client/components/data-collect-activity-view.js.map +0 -1
  21. package/dist-client/components/ooc-resolve-activity-view.d.ts +0 -1
  22. package/dist-client/components/ooc-resolve-activity-view.js +0 -175
  23. package/dist-client/components/ooc-resolve-activity-view.js.map +0 -1
  24. package/dist-client/components/ooc-review-activity-view.d.ts +0 -1
  25. package/dist-client/components/ooc-review-activity-view.js +0 -155
  26. package/dist-client/components/ooc-review-activity-view.js.map +0 -1
  27. package/dist-server/controllers/activity-template/activity-data-collect.js +0 -82
  28. package/dist-server/controllers/activity-template/activity-data-collect.js.map +0 -1
  29. package/dist-server/controllers/activity-template/activity-ooc-resolve.js +0 -100
  30. package/dist-server/controllers/activity-template/activity-ooc-resolve.js.map +0 -1
  31. package/dist-server/controllers/activity-template/activity-ooc-review.js +0 -107
  32. package/dist-server/controllers/activity-template/activity-ooc-review.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/dataset",
3
- "version": "6.0.30",
3
+ "version": "6.0.32",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -35,17 +35,17 @@
35
35
  "@operato/shell": "^1.0.1",
36
36
  "@operato/styles": "^1.0.0",
37
37
  "@operato/utils": "^1.0.1",
38
- "@things-factory/auth-base": "^6.0.28",
39
- "@things-factory/aws-base": "^6.0.28",
40
- "@things-factory/board-service": "^6.0.28",
41
- "@things-factory/env": "^6.0.7",
42
- "@things-factory/organization": "^6.0.28",
43
- "@things-factory/scheduler-client": "^6.0.30",
44
- "@things-factory/shell": "^6.0.28",
45
- "@things-factory/work-shift": "^6.0.28",
46
- "@things-factory/worklist": "^6.0.28",
38
+ "@things-factory/auth-base": "^6.0.32",
39
+ "@things-factory/aws-base": "^6.0.32",
40
+ "@things-factory/board-service": "^6.0.32",
41
+ "@things-factory/env": "^6.0.32",
42
+ "@things-factory/organization": "^6.0.32",
43
+ "@things-factory/scheduler-client": "^6.0.32",
44
+ "@things-factory/shell": "^6.0.32",
45
+ "@things-factory/work-shift": "^6.0.32",
46
+ "@things-factory/worklist": "^6.0.32",
47
47
  "cron-parser": "^4.3.0",
48
48
  "moment-timezone": "^0.5.40"
49
49
  },
50
- "gitHead": "5c7c95e8edd7b72bcb6240d07b4ffe0b1fccce88"
50
+ "gitHead": "1b7b1eb2d2e1c0823ec69ee8160790c5da62072c"
51
51
  }
@@ -77,7 +77,9 @@ export const ActivityDataCollect = {
77
77
  ],
78
78
  uiType: 'custom-element',
79
79
  uiSource: 'activity-data-collect-view',
80
- reportType: 'page',
80
+ viewType: 'custom-element',
81
+ viewSource: 'activity-data-collect-view',
82
+ reportType: 'custom-element',
81
83
  reportSource: 'activity-data-collect-view',
82
84
  thumbnail: '/assets/images/data-collect.png',
83
85
  callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
@@ -107,7 +107,9 @@ export const ActivityOocResolve = {
107
107
  ],
108
108
  uiType: 'custom-element',
109
109
  uiSource: 'activity-ooc-resolve-view',
110
- reportType: 'page',
110
+ viewType: 'custom-element',
111
+ viewSource: 'activity-data-collect-view',
112
+ reportType: 'custom-element',
111
113
  reportSource: 'data-ooc-report-page',
112
114
  thumbnail: '/assets/images/ooc.png',
113
115
  callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
@@ -111,7 +111,9 @@ export const ActivityOocReview = {
111
111
  ],
112
112
  uiType: 'custom-element',
113
113
  uiSource: 'activity-ooc-review-view',
114
- reportType: 'page',
114
+ viewType: 'custom-element',
115
+ viewSource: 'activity-data-collect-view',
116
+ reportType: 'custom-element',
115
117
  reportSource: 'data-ooc-report-page',
116
118
  thumbnail: '/assets/images/ooc.png',
117
119
  callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
@@ -177,10 +177,13 @@ export class DataSetMutation {
177
177
  client: {
178
178
  application: 'operato-dataset',
179
179
  group: `${domain.id}`,
180
- key: dataSet.id
180
+ type: 'data-set',
181
+ key: dataSet.id,
182
+ operation: 'schedule'
181
183
  },
182
184
  type: 'cron',
183
185
  schedule: dataSet.schedule,
186
+ timezone: dataSet.timezone,
184
187
  task: {
185
188
  type: 'rest',
186
189
  connection: {
@@ -196,7 +199,8 @@ export class DataSetMutation {
196
199
  },
197
200
  history_check: true,
198
201
  failed_policy: 'retry_dlq',
199
- max_retry_count: 3
202
+ max_retry_count: 3,
203
+ retry_period: 60
200
204
  }
201
205
  })
202
206
 
@@ -1,19 +0,0 @@
1
- import '@operato/dataset/ox-data-entry-form.js';
2
- import { LitElement } from 'lit';
3
- import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
4
- import { DataSet } from '@operato/dataset';
5
- declare const DataCollectActivityView_base: (new (...args: any[]) => LitElement) & typeof LitElement;
6
- export declare class DataCollectActivityView extends DataCollectActivityView_base {
7
- static styles: import("lit").CSSResult[];
8
- input?: any;
9
- output?: any;
10
- dataSet?: DataSet & {
11
- id: string;
12
- };
13
- entryForm: OxDataEntryForm;
14
- render(): import("lit-html").TemplateResult<1>;
15
- _updateDataItems(): Promise<void>;
16
- updated(changes: any): void;
17
- fetchDataSet(): Promise<void>;
18
- }
19
- export {};
@@ -1,101 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/dataset/ox-data-entry-form.js';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property, query, state } from 'lit/decorators.js';
6
- import { client } from '@operato/graphql';
7
- import { i18next, localize } from '@operato/i18n';
8
- import { ScrollbarStyles } from '@operato/styles';
9
- import { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js';
10
- let DataCollectActivityView = class DataCollectActivityView extends localize(i18next)(LitElement) {
11
- render() {
12
- return html `
13
- <ox-data-entry-form
14
- .dataSet=${this.dataSet}
15
- .value=${this.output}
16
- @change=${this._updateDataItems}
17
- ></ox-data-entry-form>
18
- `;
19
- }
20
- async _updateDataItems() {
21
- this.output = this.entryForm.value;
22
- this.dispatchEvent(new CustomEvent('change', {
23
- detail: this.output
24
- }));
25
- }
26
- updated(changes) {
27
- if (changes.has('input')) {
28
- this.fetchDataSet();
29
- }
30
- }
31
- async fetchDataSet() {
32
- const id = this.input.dataSetId;
33
- if (id) {
34
- const response = await client.query({
35
- query: gql `
36
- query ($id: String!) {
37
- dataSet(id: $id) {
38
- id
39
- name
40
- description
41
- useCase
42
- dataItems {
43
- name
44
- description
45
- active
46
- tag
47
- type
48
- unit
49
- options
50
- quota
51
- spec
52
- }
53
- }
54
- }
55
- `,
56
- variables: {
57
- id
58
- }
59
- });
60
- this.dataSet = response.data.dataSet;
61
- }
62
- }
63
- };
64
- DataCollectActivityView.styles = [
65
- ScrollbarStyles,
66
- css `
67
- :host {
68
- display: flex;
69
- flex-direction: column;
70
-
71
- background-color: #fff;
72
- }
73
-
74
- ox-data-entry-form {
75
- flex: 1;
76
- padding: 10px;
77
- overflow: auto;
78
- }
79
- `
80
- ];
81
- __decorate([
82
- property({ type: Object }),
83
- __metadata("design:type", Object)
84
- ], DataCollectActivityView.prototype, "input", void 0);
85
- __decorate([
86
- property({ type: Object }),
87
- __metadata("design:type", Object)
88
- ], DataCollectActivityView.prototype, "output", void 0);
89
- __decorate([
90
- state(),
91
- __metadata("design:type", Object)
92
- ], DataCollectActivityView.prototype, "dataSet", void 0);
93
- __decorate([
94
- query('ox-data-entry-form'),
95
- __metadata("design:type", OxDataEntryForm)
96
- ], DataCollectActivityView.prototype, "entryForm", void 0);
97
- DataCollectActivityView = __decorate([
98
- customElement('data-collect-activity-view')
99
- ], DataCollectActivityView);
100
- export { DataCollectActivityView };
101
- //# sourceMappingURL=data-collect-activity-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-collect-activity-view.js","sourceRoot":"","sources":["../../client/components/data-collect-activity-view.ts"],"names":[],"mappings":";AAAA,OAAO,wCAAwC,CAAA;AAE/C,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AAIjE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA0BxE,MAAM;QACJ,OAAO,IAAI,CAAA;;mBAEI,IAAI,CAAC,OAAO;iBACd,IAAI,CAAC,MAAM;kBACV,IAAI,CAAC,gBAAgB;;KAElC,CAAA;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAA;QAElC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;SAoBT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AApFM,8BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;KAaF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDAAa;AAExC;IAAC,KAAK,EAAE;;wDAAmC;AAE3C;IAAC,KAAK,CAAC,oBAAoB,CAAC;8BAAa,eAAe;0DAAA;AAxB7C,uBAAuB;IADnC,aAAa,CAAC,4BAA4B,CAAC;GAC/B,uBAAuB,CAsFnC;SAtFY,uBAAuB","sourcesContent":["import '@operato/dataset/ox-data-entry-form.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\nimport { OxDataEntryForm } from '@operato/dataset/ox-data-entry-form.js'\nimport { DataSet } from '@operato/dataset'\n\n@customElement('data-collect-activity-view')\nexport class DataCollectActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n ox-data-entry-form {\n flex: 1;\n padding: 10px;\n overflow: auto;\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataSet?: DataSet & { id: string }\n\n @query('ox-data-entry-form') entryForm!: OxDataEntryForm\n\n render() {\n return html`\n <ox-data-entry-form\n .dataSet=${this.dataSet}\n .value=${this.output}\n @change=${this._updateDataItems}\n ></ox-data-entry-form>\n `\n }\n\n async _updateDataItems() {\n this.output = this.entryForm.value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataSet()\n }\n }\n\n async fetchDataSet() {\n const id = this.input.dataSetId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataSet(id: $id) {\n id\n name\n description\n useCase\n dataItems {\n name\n description\n active\n tag\n type\n unit\n options\n quota\n spec\n }\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataSet = response.data.dataSet\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- import '@operato/dataset/ox-data-sample-view.js';
@@ -1,175 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/dataset/ox-data-sample-view.js';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property, query, state } from 'lit/decorators.js';
6
- import { client } from '@operato/graphql';
7
- import { i18next, localize } from '@operato/i18n';
8
- import { ScrollbarStyles } from '@operato/styles';
9
- let OocResolveActivityView = class OocResolveActivityView extends localize(i18next)(LitElement) {
10
- render() {
11
- var _a, _b;
12
- const action = (_a = this.output) === null || _a === void 0 ? void 0 : _a.action;
13
- return html `
14
- <div content>
15
- <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
16
- </div>
17
-
18
- <div instruction>
19
- <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
20
- <div content>${(_b = this.input) === null || _b === void 0 ? void 0 : _b.instruction}</div>
21
- </div>
22
-
23
- <label action>
24
- <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>
25
- <textarea
26
- placeholder="시정 및 예방을 위한 조치 이행 사항을 입력해주세요."
27
- .value=${action || ''}
28
- @change=${this.onChangeAction}
29
- ></textarea>
30
- </label>
31
- `;
32
- }
33
- onChangeAction(e) {
34
- this.output || (this.output = {});
35
- this.output.action = e.target.value;
36
- this.dispatchEvent(new CustomEvent('change', {
37
- detail: this.output
38
- }));
39
- }
40
- updated(changes) {
41
- if (changes.has('input')) {
42
- this.fetchDataOoc();
43
- }
44
- }
45
- async fetchDataOoc() {
46
- const id = this.input.dataOocId;
47
- if (id) {
48
- const response = await client.query({
49
- query: gql `
50
- query ($id: String!) {
51
- dataOoc(id: $id) {
52
- id
53
- name
54
- description
55
- ooc
56
- oos
57
- state
58
- type
59
- useCase
60
- data
61
- judgment
62
- dataItems {
63
- name
64
- description
65
- active
66
- tag
67
- type
68
- unit
69
- options
70
- quota
71
- spec
72
- }
73
- workDate
74
- workShift
75
- collectedAt
76
- }
77
- }
78
- `,
79
- variables: {
80
- id
81
- }
82
- });
83
- this.dataOoc = response.data.dataOoc;
84
- }
85
- }
86
- };
87
- OocResolveActivityView.styles = [
88
- ScrollbarStyles,
89
- css `
90
- :host {
91
- display: flex;
92
- flex-direction: column;
93
-
94
- background-color: #fff;
95
- }
96
-
97
- div[content] {
98
- flex: 1;
99
- flex-direction: column;
100
-
101
- display: flex;
102
- overflow: auto;
103
- }
104
-
105
- ox-data-sample-view {
106
- flex: 1;
107
- padding: var(--padding-wide);
108
- overflow: auto;
109
- }
110
-
111
- div[instruction] {
112
- display: flex;
113
- flex-direction: column;
114
-
115
- padding: var(--padding-wide);
116
- }
117
-
118
- div[instruction] div {
119
- display: flex;
120
- }
121
-
122
- div[instruction] div[content] {
123
- display: flex;
124
- min-height: 50px;
125
- }
126
-
127
- label[action] {
128
- display: flex;
129
- flex-direction: column;
130
-
131
- padding: var(--padding-wide);
132
- }
133
-
134
- label[action] div {
135
- display: flex;
136
- }
137
-
138
- mwc-icon {
139
- color: var(--status-danger-color);
140
- }
141
-
142
- textarea {
143
- border: var(--input-field-border);
144
- border-radius: var(--input-border-radius);
145
- padding: var(--input-field-padding);
146
- font: var(--input-field-font);
147
- }
148
-
149
- .button-container {
150
- display: flex;
151
- margin-left: auto;
152
- padding: var(--padding-default);
153
- }
154
- `
155
- ];
156
- __decorate([
157
- property({ type: Object }),
158
- __metadata("design:type", Object)
159
- ], OocResolveActivityView.prototype, "input", void 0);
160
- __decorate([
161
- property({ type: Object }),
162
- __metadata("design:type", Object)
163
- ], OocResolveActivityView.prototype, "output", void 0);
164
- __decorate([
165
- state(),
166
- __metadata("design:type", Object)
167
- ], OocResolveActivityView.prototype, "dataOoc", void 0);
168
- __decorate([
169
- query('textarea'),
170
- __metadata("design:type", HTMLTextAreaElement)
171
- ], OocResolveActivityView.prototype, "actionTextArea", void 0);
172
- OocResolveActivityView = __decorate([
173
- customElement('ooc-resolve-activity-view')
174
- ], OocResolveActivityView);
175
- //# sourceMappingURL=ooc-resolve-activity-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ooc-resolve-activity-view.js","sourceRoot":"","sources":["../../client/components/ooc-resolve-activity-view.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA8EhE,MAAM;;QACJ,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA;QAElC,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;;;;uBAKhC,MAAA,IAAI,CAAC,KAAK,0CAAE,WAAW;;;;;;;mBAO3B,MAAM,IAAI,EAAE;oBACX,IAAI,CAAC,cAAc;;;KAGlC,CAAA;IACH,CAAC;IAED,cAAc,CAAC,CAAQ;QACrB,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,EAAE,EAAA;QAClB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAA;QAE5D,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAA;QAE/B,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6BT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AAhKM,6BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiEF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;sDAAa;AAExC;IAAC,KAAK,EAAE;;uDAAc;AAEtB;IAAC,KAAK,CAAC,UAAU,CAAC;8BAAkB,mBAAmB;8DAAA;AA5EnD,sBAAsB;IAD3B,aAAa,CAAC,2BAA2B,CAAC;GACrC,sBAAsB,CAkK3B","sourcesContent":["import '@operato/dataset/ox-data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('ooc-resolve-activity-view')\nclass OocResolveActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-sample-view {\n flex: 1;\n padding: var(--padding-wide);\n overflow: auto;\n }\n\n div[instruction] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n div[instruction] div {\n display: flex;\n }\n\n div[instruction] div[content] {\n display: flex;\n min-height: 50px;\n }\n\n label[action] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n label[action] div {\n display: flex;\n }\n\n mwc-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n border: var(--input-field-border);\n border-radius: var(--input-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataOoc?: any\n\n @query('textarea') actionTextArea!: HTMLTextAreaElement\n\n render() {\n const action = this.output?.action\n\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n </div>\n\n <div instruction>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>\n <div content>${this.input?.instruction}</div>\n </div>\n\n <label action>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective action</span></div>\n <textarea\n placeholder=\"시정 및 예방을 위한 조치 이행 사항을 입력해주세요.\"\n .value=${action || ''}\n @change=${this.onChangeAction}\n ></textarea>\n </label>\n `\n }\n\n onChangeAction(e: Event) {\n this.output ||= {}\n this.output.action = (e.target as HTMLTextAreaElement).value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n dataItems {\n name\n description\n active\n tag\n type\n unit\n options\n quota\n spec\n }\n workDate\n workShift\n collectedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- import '@operato/dataset/ox-data-sample-view.js';
@@ -1,155 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import '@operato/dataset/ox-data-sample-view.js';
3
- import gql from 'graphql-tag';
4
- import { css, html, LitElement } from 'lit';
5
- import { customElement, property, query, state } from 'lit/decorators.js';
6
- import { client } from '@operato/graphql';
7
- import { i18next, localize } from '@operato/i18n';
8
- import { ScrollbarStyles } from '@operato/styles';
9
- let OocReviewActivityView = class OocReviewActivityView extends localize(i18next)(LitElement) {
10
- render() {
11
- var _a;
12
- const instruction = (_a = this.output) === null || _a === void 0 ? void 0 : _a.instruction;
13
- return html `
14
- <div content>
15
- <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>
16
- </div>
17
-
18
- <label instruction>
19
- <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>
20
- <textarea
21
- placeholder="시정 및 예방을 위한 조치 지시 사항을 입력해주세요."
22
- .value=${instruction || ''}
23
- @change=${this.onChangeInstruction}
24
- ></textarea>
25
- </label>
26
- `;
27
- }
28
- onChangeInstruction(e) {
29
- this.output || (this.output = {});
30
- this.output.instruction = e.target.value;
31
- this.dispatchEvent(new CustomEvent('change', {
32
- detail: this.output
33
- }));
34
- }
35
- updated(changes) {
36
- if (changes.has('input')) {
37
- this.fetchDataOoc();
38
- }
39
- }
40
- async fetchDataOoc() {
41
- var _a;
42
- const id = (_a = this.input) === null || _a === void 0 ? void 0 : _a.dataOocId;
43
- if (id) {
44
- const response = await client.query({
45
- query: gql `
46
- query ($id: String!) {
47
- dataOoc(id: $id) {
48
- id
49
- name
50
- description
51
- ooc
52
- oos
53
- state
54
- type
55
- useCase
56
- data
57
- judgment
58
- dataItems {
59
- name
60
- description
61
- active
62
- tag
63
- type
64
- unit
65
- options
66
- quota
67
- spec
68
- }
69
- workDate
70
- workShift
71
- collectedAt
72
- }
73
- }
74
- `,
75
- variables: {
76
- id
77
- }
78
- });
79
- this.dataOoc = response.data.dataOoc;
80
- }
81
- }
82
- };
83
- OocReviewActivityView.styles = [
84
- ScrollbarStyles,
85
- css `
86
- :host {
87
- display: flex;
88
- flex-direction: column;
89
-
90
- background-color: #fff;
91
- }
92
-
93
- div[content] {
94
- flex: 1;
95
- flex-direction: column;
96
-
97
- display: flex;
98
- overflow: auto;
99
- }
100
-
101
- ox-data-sample-view {
102
- flex: 1;
103
- padding: var(--padding-wide);
104
- overflow: auto;
105
- }
106
-
107
- label[instruction] {
108
- display: flex;
109
- flex-direction: column;
110
-
111
- padding: var(--padding-wide);
112
- }
113
-
114
- label[instruction] div {
115
- display: flex;
116
- }
117
-
118
- mwc-icon {
119
- color: var(--status-danger-color);
120
- }
121
-
122
- textarea {
123
- border: var(--input-field-border);
124
- border-radius: var(--input-border-radius);
125
- padding: var(--input-field-padding);
126
- font: var(--input-field-font);
127
- }
128
-
129
- .button-container {
130
- display: flex;
131
- margin-left: auto;
132
- padding: var(--padding-default);
133
- }
134
- `
135
- ];
136
- __decorate([
137
- property({ type: Object }),
138
- __metadata("design:type", Object)
139
- ], OocReviewActivityView.prototype, "input", void 0);
140
- __decorate([
141
- property({ type: Object }),
142
- __metadata("design:type", Object)
143
- ], OocReviewActivityView.prototype, "output", void 0);
144
- __decorate([
145
- state(),
146
- __metadata("design:type", Object)
147
- ], OocReviewActivityView.prototype, "dataOoc", void 0);
148
- __decorate([
149
- query('textarea'),
150
- __metadata("design:type", HTMLTextAreaElement)
151
- ], OocReviewActivityView.prototype, "instructionTextArea", void 0);
152
- OocReviewActivityView = __decorate([
153
- customElement('ooc-review-activity-view')
154
- ], OocReviewActivityView);
155
- //# sourceMappingURL=ooc-review-activity-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ooc-review-activity-view.js","sourceRoot":"","sources":["../../client/components/ooc-review-activity-view.ts"],"names":[],"mappings":";AAAA,OAAO,yCAAyC,CAAA;AAEhD,OAAO,GAAG,MAAM,aAAa,CAAA;AAC7B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAGjD,IAAM,qBAAqB,GAA3B,MAAM,qBAAsB,SAAQ,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC;IA8D/D,MAAM;;QACJ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,CAAA;QAE5C,OAAO,IAAI,CAAA;;2CAE4B,IAAI,CAAC,OAAO;;;;;;;mBAOpC,WAAW,IAAI,EAAE;oBAChB,IAAI,CAAC,mBAAmB;;;KAGvC,CAAA;IACH,CAAC;IAED,mBAAmB,CAAC,CAAQ;QAC1B,IAAI,CAAC,MAAM,KAAX,IAAI,CAAC,MAAM,GAAK,EAAE,EAAA;QAClB,IAAI,CAAC,MAAM,CAAC,WAAW,GAAI,CAAC,CAAC,MAA8B,CAAC,KAAK,CAAA;QAEjE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CACH,CAAA;IACH,CAAC;IAED,OAAO,CAAC,OAAO;QACb,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACxB,IAAI,CAAC,YAAY,EAAE,CAAA;SACpB;IACH,CAAC;IAED,KAAK,CAAC,YAAY;;QAChB,MAAM,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,CAAA;QAEhC,IAAI,EAAE,EAAE;YACN,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC;gBAClC,KAAK,EAAE,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA6BT;gBACD,SAAS,EAAE;oBACT,EAAE;iBACH;aACF,CAAC,CAAA;YAEF,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAA;SACrC;IACH,CAAC;;AA3IM,4BAAM,GAAG;IACd,eAAe;IACf,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiDF;CACF,CAAA;AAED;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDAAY;AACvC;IAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDAAa;AAExC;IAAC,KAAK,EAAE;;sDAAc;AAEtB;IAAC,KAAK,CAAC,UAAU,CAAC;8BAAuB,mBAAmB;kEAAA;AA5DxD,qBAAqB;IAD1B,aAAa,CAAC,0BAA0B,CAAC;GACpC,qBAAqB,CA6I1B","sourcesContent":["import '@operato/dataset/ox-data-sample-view.js'\n\nimport gql from 'graphql-tag'\nimport { css, html, LitElement } from 'lit'\nimport { customElement, property, query, state } from 'lit/decorators.js'\n\nimport { client } from '@operato/graphql'\nimport { i18next, localize } from '@operato/i18n'\nimport { ScrollbarStyles } from '@operato/styles'\n\n@customElement('ooc-review-activity-view')\nclass OocReviewActivityView extends localize(i18next)(LitElement) {\n static styles = [\n ScrollbarStyles,\n css`\n :host {\n display: flex;\n flex-direction: column;\n\n background-color: #fff;\n }\n\n div[content] {\n flex: 1;\n flex-direction: column;\n\n display: flex;\n overflow: auto;\n }\n\n ox-data-sample-view {\n flex: 1;\n padding: var(--padding-wide);\n overflow: auto;\n }\n\n label[instruction] {\n display: flex;\n flex-direction: column;\n\n padding: var(--padding-wide);\n }\n\n label[instruction] div {\n display: flex;\n }\n\n mwc-icon {\n color: var(--status-danger-color);\n }\n\n textarea {\n border: var(--input-field-border);\n border-radius: var(--input-border-radius);\n padding: var(--input-field-padding);\n font: var(--input-field-font);\n }\n\n .button-container {\n display: flex;\n margin-left: auto;\n padding: var(--padding-default);\n }\n `\n ]\n\n @property({ type: Object }) input?: any\n @property({ type: Object }) output?: any\n\n @state() dataOoc?: any\n\n @query('textarea') instructionTextArea!: HTMLTextAreaElement\n\n render() {\n const instruction = this.output?.instruction\n\n return html`\n <div content>\n <ox-data-sample-view .dataSample=${this.dataOoc}></ox-data-sample-view>\n </div>\n\n <label instruction>\n <div><mwc-icon>build_circle</mwc-icon> <span>corrective instruction</span></div>\n <textarea\n placeholder=\"시정 및 예방을 위한 조치 지시 사항을 입력해주세요.\"\n .value=${instruction || ''}\n @change=${this.onChangeInstruction}\n ></textarea>\n </label>\n `\n }\n\n onChangeInstruction(e: Event) {\n this.output ||= {}\n this.output.instruction = (e.target as HTMLTextAreaElement).value\n\n this.dispatchEvent(\n new CustomEvent('change', {\n detail: this.output\n })\n )\n }\n\n updated(changes) {\n if (changes.has('input')) {\n this.fetchDataOoc()\n }\n }\n\n async fetchDataOoc() {\n const id = this.input?.dataOocId\n\n if (id) {\n const response = await client.query({\n query: gql`\n query ($id: String!) {\n dataOoc(id: $id) {\n id\n name\n description\n ooc\n oos\n state\n type\n useCase\n data\n judgment\n dataItems {\n name\n description\n active\n tag\n type\n unit\n options\n quota\n spec\n }\n workDate\n workShift\n collectedAt\n }\n }\n `,\n variables: {\n id\n }\n })\n\n this.dataOoc = response.data.dataOoc\n }\n }\n}\n"]}
@@ -1,82 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActivityDataCollect = void 0;
4
- const worklist_1 = require("@things-factory/worklist");
5
- const create_data_sample_1 = require("../../controllers/create-data-sample");
6
- async function callback(activityInstance, context) {
7
- const { domain, tx } = context.state;
8
- const { input, output, state } = activityInstance;
9
- if (state == worklist_1.ActivityInstanceStatus.Ended) {
10
- const activity = (await tx.getRepository(worklist_1.Activity).findOneBy({
11
- domain: { id: domain.id },
12
- name: 'Collect Data'
13
- }));
14
- /* collect-data 액티비티는 한명의 assignee(thread)만 수행하도록 한다. 따라서, output 중에서 샘플 한개만을 data로 취한다. */
15
- const assignees = Object.keys(output);
16
- const data = assignees.length > 0 && output[assignees[0]];
17
- if (activity) {
18
- const dataSample = {
19
- dataSet: {
20
- id: input.dataSetId
21
- },
22
- data
23
- };
24
- await (0, create_data_sample_1.createDataSample)(dataSample, context);
25
- }
26
- else {
27
- console.error('Collect Data Activity not installed.');
28
- }
29
- }
30
- }
31
- exports.ActivityDataCollect = {
32
- name: 'Collect Data',
33
- description: 'Tasks assigned for data collection',
34
- release: '1.0.0',
35
- provider: 'hatiolab.com',
36
- category: 'quality',
37
- activityType: 'user',
38
- searchKeys: [
39
- {
40
- name: 'dataSetName',
41
- description: 'DataSet name',
42
- inputKey: 'dataSetName',
43
- tKey: 'data-set-name'
44
- }
45
- ],
46
- startable: true,
47
- model: [
48
- {
49
- name: 'dataSetId',
50
- description: 'DataSet Id.',
51
- tag: 'dataSetId',
52
- hidden: true,
53
- mandatory: true,
54
- inout: 'in',
55
- type: 'string',
56
- options: {},
57
- unit: null,
58
- quantifier: [1],
59
- spec: {}
60
- },
61
- {
62
- name: 'dataSetName',
63
- description: 'DataSet name',
64
- tag: 'dataSetName',
65
- hidden: true,
66
- mandatory: true,
67
- inout: 'in',
68
- type: 'string',
69
- options: {},
70
- unit: null,
71
- quantifier: [1],
72
- spec: {}
73
- }
74
- ],
75
- uiType: 'custom-element',
76
- uiSource: 'data-collect-activity-view',
77
- reportType: 'page',
78
- reportSource: 'data-collect-activity-view',
79
- thumbnail: '/assets/images/data-collect.png',
80
- callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
81
- };
82
- //# sourceMappingURL=activity-data-collect.js.map