@dssp/supervision 1.0.0-alpha.51 → 1.0.0-alpha.52
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/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js +1 -1
- package/dist-client/pages/building-inspection-grid/component/grid-inspection-create-popup.js.map +1 -1
- package/dist-client/pages/checklist/inspection-tab-popup.js +0 -1
- package/dist-client/pages/checklist/inspection-tab-popup.js.map +1 -1
- package/dist-client/pages/checklist-template/checklist-template-item.js +25 -0
- package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +11 -2
- package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +1 -0
- package/dist-server/service/checklist-template-item/checklist-template-item-type.js +4 -0
- package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -1
- package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +1 -0
- package/dist-server/service/checklist-template-item/checklist-template-item.js +6 -1
- package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -1
- package/dist-server/service/checklist-template-item/spec-matching-service.js +1 -0
- package/dist-server/service/checklist-template-item/spec-matching-service.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -8,6 +8,9 @@ const checklist_template_item_1 = require("./checklist-template-item");
|
|
|
8
8
|
const checklist_template_item_type_1 = require("./checklist-template-item-type");
|
|
9
9
|
const checklist_template_1 = require("../checklist-template/checklist-template");
|
|
10
10
|
const spec_matching_service_1 = require("./spec-matching-service");
|
|
11
|
+
const env_1 = require("@things-factory/env");
|
|
12
|
+
const building_inspection_1 = require("../building-inspection/building-inspection");
|
|
13
|
+
const projectType = env_1.config.get('projectType', building_inspection_1.ProjectType.DSSP);
|
|
11
14
|
let ChecklistTemplateItemMutation = class ChecklistTemplateItemMutation {
|
|
12
15
|
async updateMultipleChecklistTemplateItems(patches, checklistTemplateId, context) {
|
|
13
16
|
const { domain, user, tx } = context.state;
|
|
@@ -19,8 +22,14 @@ let ChecklistTemplateItemMutation = class ChecklistTemplateItemMutation {
|
|
|
19
22
|
const result = await checklistTemplateItemRepo.save(Object.assign(Object.assign({}, patches[i]), { sequence: i, checklistTemplate, inspctionCriteria: '', criteriaRequestStatus: checklist_template_item_1.CriteriaRequestStatus.REQUEST, creator: user, updater: user }));
|
|
20
23
|
results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
|
|
21
24
|
}
|
|
22
|
-
//
|
|
23
|
-
|
|
25
|
+
// DSSP가 아닌 경우에는 검측 정보 AI 요청
|
|
26
|
+
if (projectType !== building_inspection_1.ProjectType.DSSP) {
|
|
27
|
+
// 1. inspctionCriteria 데이터 초기화
|
|
28
|
+
const checklistTemplateItemIds = results.map(v => v.id);
|
|
29
|
+
checklistTemplateItemRepo.update({ id: (0, typeorm_1.In)(checklistTemplateItemIds) }, { inspctionCriteria: '', criteriaRequestStatus: checklist_template_item_1.CriteriaRequestStatus.REQUEST });
|
|
30
|
+
// 2. inspctionCriteria 비동기 업데이트 트리거 (ChecklistTemplateItem.name -> 외부 API 호출)
|
|
31
|
+
(0, spec_matching_service_1.queueUpdateInspctionCriteria)(results.map(v => v.id));
|
|
32
|
+
}
|
|
24
33
|
return results;
|
|
25
34
|
}
|
|
26
35
|
async deleteChecklistTemplateItem(id, context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-template-item-mutation.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,qCAA4B;AAC5B,uEAAwF;AACxF,iFAA2E;AAC3E,iFAA4E;AAC5E,mEAAsE;
|
|
1
|
+
{"version":3,"file":"checklist-template-item-mutation.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\nimport { ChecklistTemplateItem, CriteriaRequestStatus } from './checklist-template-item'\nimport { ChecklistTemplateItemPatch } from './checklist-template-item-type'\nimport { ChecklistTemplate } from '../checklist-template/checklist-template'\nimport { queueUpdateInspctionCriteria } from './spec-matching-service'\nimport { config } from '@things-factory/env'\nimport { ProjectType } from '../building-inspection/building-inspection'\n\nconst projectType = config.get('projectType', ProjectType.DSSP)\n@Resolver(ChecklistTemplateItem)\nexport class ChecklistTemplateItemMutation {\n @Directive('@transaction')\n @Mutation(returns => [ChecklistTemplateItem], { description: \"To modify multiple ChecklistTemplateItems' information\" })\n async updateMultipleChecklistTemplateItems(\n @Arg('patches', type => [ChecklistTemplateItemPatch]) patches: ChecklistTemplateItemPatch[],\n @Arg('checklistTemplateId') checklistTemplateId: string,\n @Ctx() context: ResolverContext\n ): Promise<ChecklistTemplateItem[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n\n const checklistTemplateItemRepo = tx.getRepository(ChecklistTemplateItem)\n const checklistTemplate = await tx.getRepository(ChecklistTemplate).findOneBy({ id: checklistTemplateId })\n\n await checklistTemplateItemRepo.delete({ checklistTemplate: { id: checklistTemplateId } })\n\n for (let i = 0; i < patches.length; i++) {\n const result = await checklistTemplateItemRepo.save({\n ...patches[i],\n sequence: i,\n checklistTemplate,\n inspctionCriteria: '',\n criteriaRequestStatus: CriteriaRequestStatus.REQUEST,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n\n // DSSP가 아닌 경우에는 검측 정보 AI 요청\n if (projectType !== ProjectType.DSSP) {\n // 1. inspctionCriteria 데이터 초기화\n const checklistTemplateItemIds = results.map(v => v.id)\n checklistTemplateItemRepo.update(\n { id: In(checklistTemplateItemIds) },\n { inspctionCriteria: '', criteriaRequestStatus: CriteriaRequestStatus.REQUEST }\n )\n\n // 2. inspctionCriteria 비동기 업데이트 트리거 (ChecklistTemplateItem.name -> 외부 API 호출)\n queueUpdateInspctionCriteria(results.map(v => v.id))\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete ChecklistTemplateItem' })\n async deleteChecklistTemplateItem(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ChecklistTemplateItem).delete({ id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple ChecklistTemplateItems' })\n async deleteChecklistTemplateItems(\n @Arg('ids', type => [String]) ids: string[],\n @Ctx() context: ResolverContext\n ): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(ChecklistTemplateItem).delete({\n id: In(ids)\n })\n\n return true\n }\n}\n"]}
|
|
@@ -25,6 +25,10 @@ tslib_1.__decorate([
|
|
|
25
25
|
(0, type_graphql_1.Field)(type => checklist_template_item_2.CriteriaRequestStatus, { nullable: true }),
|
|
26
26
|
tslib_1.__metadata("design:type", String)
|
|
27
27
|
], ChecklistTemplateItemPatch.prototype, "criteriaRequestStatus", void 0);
|
|
28
|
+
tslib_1.__decorate([
|
|
29
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
30
|
+
tslib_1.__metadata("design:type", String)
|
|
31
|
+
], ChecklistTemplateItemPatch.prototype, "inspctionCriteriaText", void 0);
|
|
28
32
|
tslib_1.__decorate([
|
|
29
33
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
|
|
30
34
|
tslib_1.__metadata("design:type", Number)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-template-item-type.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,uEAAiE;AACjE,qEAAwE;AACxE,uEAAiE;AAG1D,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;
|
|
1
|
+
{"version":3,"file":"checklist-template-item-type.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,uEAAiE;AACjE,qEAAwE;AACxE,uEAAiE;AAG1D,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;CA8BtC,CAAA;AA9BY,gEAA0B;AAErC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sDAC3B;AAGX;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wDACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACA;AAG1B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,+CAAqB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yEACZ;AAG7C;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yEACI;AAG9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACtB;AAGjB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4DACM;AAGhC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DACP;AAGnB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uEACE;AAG5B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0DACX;qCA7BJ,0BAA0B;IADtC,IAAA,wBAAS,GAAE;GACC,0BAA0B,CA8BtC;AAGM,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;CAMrC,CAAA;AANY,8DAAyB;AAEpC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,+CAAqB,CAAC,CAAC;;wDACT;AAG9B;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;wDACN;oCALF,yBAAyB;IADrC,IAAA,yBAAU,GAAE;GACA,yBAAyB,CAMrC","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ChecklistTemplateItem } from './checklist-template-item'\nimport { ChecklistTypeMainType } from '../checklist-type/checklist-type'\nimport { CriteriaRequestStatus } from './checklist-template-item'\n\n@InputType()\nexport class ChecklistTemplateItemPatch {\n @Field(type => ID, { nullable: true })\n id?: string\n\n @Field({ nullable: true })\n name?: string\n\n @Field({ nullable: true })\n inspctionCriteria?: string\n\n @Field(type => CriteriaRequestStatus, { nullable: true })\n criteriaRequestStatus?: CriteriaRequestStatus\n\n @Field({ nullable: true })\n inspctionCriteriaText?: string\n\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n @Field({ nullable: true })\n mainType?: ChecklistTypeMainType\n\n @Field({ nullable: true })\n detailType?: string\n\n @Field({ nullable: true })\n checklistTemplateId?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class ChecklistTemplateItemList {\n @Field(type => [ChecklistTemplateItem])\n items: ChecklistTemplateItem[]\n\n @Field(type => Int)\n total: number\n}\n"]}
|
|
@@ -31,7 +31,7 @@ tslib_1.__decorate([
|
|
|
31
31
|
tslib_1.__metadata("design:type", String)
|
|
32
32
|
], ChecklistTemplateItem.prototype, "name", void 0);
|
|
33
33
|
tslib_1.__decorate([
|
|
34
|
-
(0, typeorm_1.Column)({ nullable: true, comment: '검사 기준' }),
|
|
34
|
+
(0, typeorm_1.Column)({ nullable: true, comment: '검사 기준 (AI)' }),
|
|
35
35
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
36
36
|
tslib_1.__metadata("design:type", String)
|
|
37
37
|
], ChecklistTemplateItem.prototype, "inspctionCriteria", void 0);
|
|
@@ -40,6 +40,11 @@ tslib_1.__decorate([
|
|
|
40
40
|
(0, type_graphql_1.Field)(type => CriteriaRequestStatus, { nullable: true }),
|
|
41
41
|
tslib_1.__metadata("design:type", String)
|
|
42
42
|
], ChecklistTemplateItem.prototype, "criteriaRequestStatus", void 0);
|
|
43
|
+
tslib_1.__decorate([
|
|
44
|
+
(0, typeorm_1.Column)({ nullable: true, comment: '검사 기준 (텍스트) - DSSP는 텍스트로 사용' }),
|
|
45
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
46
|
+
tslib_1.__metadata("design:type", String)
|
|
47
|
+
], ChecklistTemplateItem.prototype, "inspctionCriteriaText", void 0);
|
|
43
48
|
tslib_1.__decorate([
|
|
44
49
|
(0, typeorm_1.Column)({ nullable: true, comment: '시퀀스' }),
|
|
45
50
|
(0, type_graphql_1.Field)(type => type_graphql_1.Int, { nullable: true }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checklist-template-item.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item.ts"],"names":[],"mappings":";;;;AAAA,qCAAkI;AAClI,+CAA2E;AAE3E,yDAAgD;AAChD,iFAA4E;AAC5E,qEAAwE;AAExE,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC/B,uCAAc,CAAA;IACd,uCAAc,CAAA;IACd,oCAAW,CAAA;AACb,CAAC,EAJW,qBAAqB,qCAArB,qBAAqB,QAIhC;AAED,IAAA,+BAAgB,EAAC,qBAAqB,EAAE;IACtC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EAAE,iBAAiB;CAC/B,CAAC,CAAA;AAUK,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;
|
|
1
|
+
{"version":3,"file":"checklist-template-item.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/checklist-template-item.ts"],"names":[],"mappings":"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","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'\nimport { ObjectType, Field, ID, Int, registerEnumType } from 'type-graphql'\n\nimport { User } from '@things-factory/auth-base'\nimport { ChecklistTemplate } from '../checklist-template/checklist-template'\nimport { ChecklistTypeMainType } from '../checklist-type/checklist-type'\n\nexport enum CriteriaRequestStatus {\n REQUEST = '10',\n SUCCESS = '20',\n FAIL = '30'\n}\n\nregisterEnumType(CriteriaRequestStatus, {\n name: 'CriteriaRequestStatus',\n description: '검사 기준 API 요청 상태'\n})\n\n@Entity({ comment: '체크리스트 템플릿 아이템' })\n@Index(\n 'ix_checklist_template_item_0',\n (cti: ChecklistTemplateItem) => [cti.checklistTemplate, cti.mainType, cti.detailType, cti.name],\n { unique: true }\n)\n@Index('ix_checklist_template_item_1', (cti: ChecklistTemplateItem) => [cti.detailType])\n@ObjectType()\nexport class ChecklistTemplateItem {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id: string\n\n @Column({ nullable: false, comment: '검사 항목' })\n @Field({ nullable: false })\n name: string\n\n @Column({ nullable: true, comment: '검사 기준 (AI)' })\n @Field({ nullable: true })\n inspctionCriteria?: string\n\n @Column({ nullable: true, comment: '검사 기준 API 요청 상태 (10: API 요청, 20: 성공, 30: 실패)' })\n @Field(type => CriteriaRequestStatus, { nullable: true })\n criteriaRequestStatus?: CriteriaRequestStatus\n\n @Column({ nullable: true, comment: '검사 기준 (텍스트) - DSSP는 텍스트로 사용' })\n @Field({ nullable: true })\n inspctionCriteriaText?: string\n\n @Column({ nullable: true, comment: '시퀀스' })\n @Field(type => Int, { nullable: true })\n sequence?: number\n\n @Column({ nullable: false, comment: '메인 구분 (10: 기본 업무, 20: 기본 외 업무)' })\n @Field({ nullable: false })\n mainType: ChecklistTypeMainType\n\n @Column({ nullable: false, comment: '상세 구분 ID (F.K)' })\n @Field({ nullable: false })\n detailType: string\n\n // 체크리스트 템플릿 정보 (상위 테이블 참조)\n @ManyToOne(type => ChecklistTemplate)\n @Field(type => ChecklistTemplate, { nullable: true })\n checklistTemplate?: ChecklistTemplate\n\n @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.checklistTemplate)\n checklistTemplateId?: string\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.updater)\n updaterId?: string\n}\n"]}
|
|
@@ -24,6 +24,7 @@ async function updateInspctionCriteriaForChecklistTemplateItems(ids) {
|
|
|
24
24
|
body: form
|
|
25
25
|
});
|
|
26
26
|
const data = ((_a = (await (response === null || response === void 0 ? void 0 : response.json()))) === null || _a === void 0 ? void 0 : _a.result) || {};
|
|
27
|
+
console.log('검사기준 :', item.name);
|
|
27
28
|
console.log('data :', data);
|
|
28
29
|
if ((data === null || data === void 0 ? void 0 : data.status) === 'success') {
|
|
29
30
|
const criteria = ((_b = data.result) === null || _b === void 0 ? void 0 : _b['검사기준']) || '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-matching-service.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/spec-matching-service.ts"],"names":[],"mappings":";;AAOA,
|
|
1
|
+
{"version":3,"file":"spec-matching-service.js","sourceRoot":"","sources":["../../../server/service/checklist-template-item/spec-matching-service.ts"],"names":[],"mappings":";;AAOA,4GAiCC;AAED,oEAQC;AAlDD,iDAAqD;AACrD,uEAAwF;AAExF,MAAM,0BAA0B,GAAW,yCAAyC,CAAA;AACpF,MAAM,YAAY,GAAW,OAAO,CAAA;AACpC,MAAM,YAAY,GAAW,WAAW,CAAA;AAEjC,KAAK,UAAU,gDAAgD,CAAC,GAAa;;IAClF,MAAM,UAAU,GAAG,IAAA,qBAAa,EAAC,+CAAqB,CAAC,CAAA;IAEvD,MAAM,GAAG,GAAG,GAAG,0BAA0B,wBAAwB,CAAA;IACjE,MAAM,OAAO,GAAQ,EAAE,CAAA;IACvB,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAA;IAEvG,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;YAC/C,MAAM,IAAI,GAAG,IAAI,QAAQ,EAAE,CAAA;YAC3B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAChC,MAAM,EAAE,MAAM;gBACd,OAAO;gBACP,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,CAAA,MAAA,CAAC,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,CAAC,0CAAE,MAAM,KAAI,EAAE,CAAA;YAEnD,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;YAChC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;YAE3B,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAG,MAAM,CAAC,KAAI,EAAE,CAAA;gBAC5C,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,iBAAiB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,+CAAqB,CAAC,OAAO,EAAE,CAAC,CAAA;YACxH,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,+CAAqB,CAAC,IAAI,EAAE,CAAC,CAAA;YACxF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,qBAAqB,EAAE,+CAAqB,CAAC,IAAI,EAAE,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,4BAA4B,CAAC,GAAa;IACxD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;QAAE,OAAM;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,gDAAgD,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;YAChE,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAA;QAC/D,CAAC,CAAC,CAAA;IACJ,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC","sourcesContent":["import { getRepository } from '@things-factory/shell'\nimport { ChecklistTemplateItem, CriteriaRequestStatus } from './checklist-template-item'\n\nconst SPEC_MATCHING_API_BASE_URL: string = 'https://hatiolab-korea-uni.ettisoft.com'\nconst API_USERNAME: string = 'admin'\nconst API_PASSWORD: string = 'admin1234'\n\nexport async function updateInspctionCriteriaForChecklistTemplateItems(ids: string[]): Promise<void> {\n const repository = getRepository(ChecklistTemplateItem)\n\n const url = `${SPEC_MATCHING_API_BASE_URL}/api/run/spec-matching`\n const headers: any = {}\n headers['Authorization'] = `Basic ${Buffer.from(`${API_USERNAME}:${API_PASSWORD}`).toString('base64')}`\n\n for (const id of ids) {\n try {\n const item = await repository.findOneBy({ id })\n const form = new FormData()\n form.append('input', JSON.stringify({ item: item.name }))\n const response = await fetch(url, {\n method: 'POST',\n headers,\n body: form\n })\n\n const data = (await response?.json())?.result || {}\n\n console.log('검사기준 :', item.name)\n console.log('data :', data)\n\n if (data?.status === 'success') {\n const criteria = data.result?.['검사기준'] || ''\n await repository.update({ id }, { inspctionCriteria: criteria, criteriaRequestStatus: CriteriaRequestStatus.SUCCESS })\n } else {\n await repository.update({ id }, { criteriaRequestStatus: CriteriaRequestStatus.FAIL })\n }\n } catch (error) {\n await repository.update({ id }, { criteriaRequestStatus: CriteriaRequestStatus.FAIL })\n }\n }\n}\n\nexport function queueUpdateInspctionCriteria(ids: string[]): void {\n if (!ids || ids.length === 0) return\n\n setTimeout(() => {\n updateInspctionCriteriaForChecklistTemplateItems(ids).catch(err => {\n console.error('Background spec-matching update failed:', err)\n })\n }, 0)\n}\n"]}
|
|
@@ -11,7 +11,7 @@ export * from './checklist-template-item/checklist-template-item';
|
|
|
11
11
|
export * from './building-inspection/building-inspection';
|
|
12
12
|
export * from './building-inspection/building-inspection-type';
|
|
13
13
|
export * from './building-inspection-daily-worklog/building-inspection-daily-worklog';
|
|
14
|
-
export declare const entities: (typeof import("./
|
|
14
|
+
export declare const entities: (typeof import("./checklist-template-item/checklist-template-item").ChecklistTemplateItem | typeof import("./action-plan/action-plan").ActionPlan | typeof import("./issue/issue").Issue | typeof import("./project-report/project-report").ProjectReport | typeof import("./supervisor/supervisor").Supervisor | typeof import("./checklist/checklist").Checklist | typeof import("./checklist-history/checklist-history").ChecklistHistory | typeof import("./checklist-item/checklist-item").ChecklistItem | typeof import("./checklist-item-history/checklist-item-history").ChecklistItemHistory | typeof import("./checklist-item-comment/checklist-item-comment").ChecklistItemComment | typeof import("./checklist-type/checklist-type").ChecklistType | typeof import("./checklist-template/checklist-template").ChecklistTemplate | typeof import("./building-inspection/building-inspection").BuildingInspection | typeof import("./building-inspection-history/building-inspection-history").BuildingInspectionHistory | typeof import("./building-inspection-daily-worklog/building-inspection-daily-worklog").BuildingInspectionDailyWorklog)[];
|
|
15
15
|
export declare const schema: {
|
|
16
16
|
resolverClasses: typeof import("./checklist-item/checklist-item-mutation").ChecklistItemMutation[];
|
|
17
17
|
};
|