@dssp/supervision 1.0.0-alpha.31 → 1.0.0-alpha.35

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 (19) hide show
  1. package/dist-client/pages/building-inspection/building-inspection-list.js +34 -6
  2. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -1
  3. package/dist-client/pages/building-inspection/component/daily-worklog-popup.d.ts +5 -0
  4. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js +149 -38
  5. package/dist-client/pages/building-inspection/component/daily-worklog-popup.js.map +1 -1
  6. package/dist-client/tsconfig.tsbuildinfo +1 -1
  7. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js +1 -1
  8. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.js.map +1 -1
  9. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.d.ts +2 -0
  10. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js +39 -3
  11. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.js.map +1 -1
  12. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.d.ts +4 -0
  13. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js +16 -0
  14. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.js.map +1 -1
  15. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.d.ts +6 -0
  16. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js +28 -0
  17. package/dist-server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.js.map +1 -1
  18. package/dist-server/tsconfig.tsbuildinfo +1 -1
  19. package/package.json +4 -4
@@ -16,7 +16,7 @@ let BuildingInspectionDailyWorklogMutation = class BuildingInspectionDailyWorklo
16
16
  throw new Error('projectId 가 없습니다.');
17
17
  if (!patch.date)
18
18
  throw new Error('date 가 없습니다.');
19
- const result = await worklogRepo.save(Object.assign(Object.assign({}, patch), { documentNo: await (0, building_inspection_daily_worklog_query_1.generateDailyWorklogDocumentNo)(patch.projectId), domain: domain, creator: user, updater: user }));
19
+ const result = await worklogRepo.save(Object.assign(Object.assign({}, patch), { overallSupervisory: patch.overallSupervisoryId ? { id: patch.overallSupervisoryId } : undefined, taskSupervisory: patch.taskSupervisoryId ? { id: patch.taskSupervisoryId } : undefined, documentNo: await (0, building_inspection_daily_worklog_query_1.generateDailyWorklogDocumentNo)(patch.projectId), domain: domain, creator: user, updater: user }));
20
20
  for (const buildingInspectionId of patch.buildingInspectionIds) {
21
21
  const buildingInspection = await buildingInspectionRepo.findOne({ where: { id: buildingInspectionId } });
22
22
  await buildingInspectionRepo.save(Object.assign(Object.assign({}, buildingInspection), { worklog: result }));
@@ -1 +1 @@
1
- {"version":3,"file":"building-inspection-daily-worklog-mutation.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.ts"],"names":[],"mappings":";;;;AAAA,+CAAsE;AACtE,2FAAoF;AACpF,qGAAiI;AACjI,oFAA+E;AAC/E,uGAA0F;AAGnF,IAAM,sCAAsC,GAA5C,MAAM,sCAAsC;IAG3C,AAAN,KAAK,CAAC,oCAAoC,CAC1B,KAAwC,EAC/C,OAAwB;QAE/B,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAC1C,MAAM,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC,kEAA8B,CAAC,CAAA;QACpE,MAAM,sBAAsB,GAAG,EAAE,CAAC,aAAa,CAAC,wCAAkB,CAAC,CAAA;QAEnE,IAAI,CAAC,KAAK,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;QAEhD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,iCAChC,KAAK,KACR,UAAU,EAAE,MAAM,IAAA,wEAA8B,EAAC,KAAK,CAAC,SAAS,CAAC,EACjE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,KAAK,MAAM,oBAAoB,IAAI,KAAK,CAAC,qBAAqB,EAAE,CAAC;YAC/D,MAAM,kBAAkB,GAAG,MAAM,sBAAsB,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAA;YACxG,MAAM,sBAAsB,CAAC,IAAI,iCAAM,kBAAkB,KAAE,OAAO,EAAE,MAAM,IAAG,CAAA;QAC/E,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAIK,AAAN,KAAK,CAAC,oCAAoC,CAC1B,KAA0C,EACjD,OAAwB;QAE/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAClC,MAAM,WAAW,GAAG,EAAE,CAAC,aAAa,CAAC,kEAA8B,CAAC,CAAA;QAEpE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QACrE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,+CAChC,MAAM,GACN,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CAAA;AAhDY,wFAAsC;AAG3C;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,kEAA8B,EAAE,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;IAE5G,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADe,0EAAiC;;kGAwBvD;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,kEAA8B,EAAE,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IAE1F,mBAAA,IAAA,kBAAG,EAAC,OAAO,CAAC,CAAA;IACZ,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CADe,4EAAmC;;kGAczD;iDA/CU,sCAAsC;IADlD,IAAA,uBAAQ,EAAC,kEAA8B,CAAC;GAC5B,sCAAsC,CAgDlD","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\nimport { BuildingInspectionDailyWorklogPatch, BuildingInspectionDailyWorklogNew } from './building-inspection-daily-worklog-type'\nimport { BuildingInspection } from '../building-inspection/building-inspection'\nimport { generateDailyWorklogDocumentNo } from './building-inspection-daily-worklog-query'\n\n@Resolver(BuildingInspectionDailyWorklog)\nexport class BuildingInspectionDailyWorklogMutation {\n @Directive('@transaction')\n @Mutation(returns => BuildingInspectionDailyWorklog, { description: 'Create Daily Worklog by projectId+date' })\n async createBuildingInspectionDailyWorklog(\n @Arg('patch') patch: BuildingInspectionDailyWorklogNew,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const { user, domain, tx } = context.state\n const worklogRepo = tx.getRepository(BuildingInspectionDailyWorklog)\n const buildingInspectionRepo = tx.getRepository(BuildingInspection)\n\n if (!patch.projectId) throw new Error('projectId 가 없습니다.')\n if (!patch.date) throw new Error('date 가 없습니다.')\n\n const result = await worklogRepo.save({\n ...patch,\n documentNo: await generateDailyWorklogDocumentNo(patch.projectId),\n domain: domain,\n creator: user,\n updater: user\n })\n\n for (const buildingInspectionId of patch.buildingInspectionIds) {\n const buildingInspection = await buildingInspectionRepo.findOne({ where: { id: buildingInspectionId } })\n await buildingInspectionRepo.save({ ...buildingInspection, worklog: result })\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => BuildingInspectionDailyWorklog, { description: 'Update Daily Worklog' })\n async updateBuildingInspectionDailyWorklog(\n @Arg('patch') patch: BuildingInspectionDailyWorklogPatch,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const { user, tx } = context.state\n const worklogRepo = tx.getRepository(BuildingInspectionDailyWorklog)\n\n const origin = await worklogRepo.findOne({ where: { id: patch.id } })\n const result = await worklogRepo.save({\n ...origin,\n ...patch,\n updater: user\n })\n\n return result\n }\n}\n"]}
1
+ {"version":3,"file":"building-inspection-daily-worklog-mutation.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\nimport { BuildingInspectionDailyWorklogPatch, BuildingInspectionDailyWorklogNew } from './building-inspection-daily-worklog-type'\nimport { BuildingInspection } from '../building-inspection/building-inspection'\nimport { generateDailyWorklogDocumentNo } from './building-inspection-daily-worklog-query'\n\n@Resolver(BuildingInspectionDailyWorklog)\nexport class BuildingInspectionDailyWorklogMutation {\n @Directive('@transaction')\n @Mutation(returns => BuildingInspectionDailyWorklog, { description: 'Create Daily Worklog by projectId+date' })\n async createBuildingInspectionDailyWorklog(\n @Arg('patch') patch: BuildingInspectionDailyWorklogNew,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const { user, domain, tx } = context.state\n const worklogRepo = tx.getRepository(BuildingInspectionDailyWorklog)\n const buildingInspectionRepo = tx.getRepository(BuildingInspection)\n\n if (!patch.projectId) throw new Error('projectId 가 없습니다.')\n if (!patch.date) throw new Error('date 가 없습니다.')\n\n const result = await worklogRepo.save({\n ...patch,\n overallSupervisory: patch.overallSupervisoryId ? ({ id: patch.overallSupervisoryId } as any) : undefined,\n taskSupervisory: patch.taskSupervisoryId ? ({ id: patch.taskSupervisoryId } as any) : undefined,\n documentNo: await generateDailyWorklogDocumentNo(patch.projectId),\n domain: domain,\n creator: user,\n updater: user\n })\n\n for (const buildingInspectionId of patch.buildingInspectionIds) {\n const buildingInspection = await buildingInspectionRepo.findOne({ where: { id: buildingInspectionId } })\n await buildingInspectionRepo.save({ ...buildingInspection, worklog: result })\n }\n\n return result\n }\n\n @Directive('@transaction')\n @Mutation(returns => BuildingInspectionDailyWorklog, { description: 'Update Daily Worklog' })\n async updateBuildingInspectionDailyWorklog(\n @Arg('patch') patch: BuildingInspectionDailyWorklogPatch,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const { user, tx } = context.state\n const worklogRepo = tx.getRepository(BuildingInspectionDailyWorklog)\n\n const origin = await worklogRepo.findOne({ where: { id: patch.id } })\n const result = await worklogRepo.save({\n ...origin,\n ...patch,\n updater: user\n })\n\n return result\n }\n}\n"]}
@@ -10,5 +10,7 @@ export declare class BuildingInspectionDailyWorklogQuery {
10
10
  domain(worklog: BuildingInspectionDailyWorklog): Promise<Domain>;
11
11
  updater(worklog: BuildingInspectionDailyWorklog): Promise<User>;
12
12
  creator(worklog: BuildingInspectionDailyWorklog): Promise<User>;
13
+ overallSupervisory(worklog: BuildingInspectionDailyWorklog): Promise<User>;
14
+ taskSupervisory(worklog: BuildingInspectionDailyWorklog): Promise<User>;
13
15
  }
14
16
  export declare function generateDailyWorklogDocumentNo(projectId: string): Promise<string>;
@@ -31,11 +31,20 @@ let BuildingInspectionDailyWorklogQuery = class BuildingInspectionDailyWorklogQu
31
31
  .select('bi.id', 'buildingInspectionId')
32
32
  .addSelect('c.location', 'location')
33
33
  .addSelect('c.construction_type', 'constructionType')
34
+ .addSelect('c.id', 'checklistId')
35
+ .addSelect('c.task_supervisory_signature', 'taskSupervisorySignature')
36
+ .addSelect('c.overall_supervisory_signature', 'overallSupervisorySignature')
37
+ .addSelect('c.task_supervisory_id', 'taskSupervisoryId')
38
+ .addSelect('c.overall_supervisory_id', 'overallSupervisoryId')
39
+ .addSelect('u.name', 'taskSupervisoryName')
40
+ .addSelect('u2.name', 'overallSupervisoryName')
34
41
  .leftJoin('building_complexes', 'bc', 'p.building_complex_id = bc.id')
35
42
  .leftJoin('buildings', 'b', 'b.building_complex_id = bc.id')
36
43
  .leftJoin('building_levels', 'bl', 'bl.building_id = b.id')
37
44
  .leftJoin('building_inspections', 'bi', 'bi.building_level_id = bl.id')
38
45
  .leftJoin('checklists', 'c', 'bi.checklist_id = c.id')
46
+ .leftJoin('users', 'u', 'u.id = c.task_supervisory_id')
47
+ .leftJoin('users', 'u2', 'u2.id = c.overall_supervisory_id')
39
48
  .where('p.id = :projectId', { projectId })
40
49
  .andWhere('bi.project_type = :projectType', { projectType })
41
50
  .andWhere('bi.worklog_id IS NULL')
@@ -48,10 +57,15 @@ let BuildingInspectionDailyWorklogQuery = class BuildingInspectionDailyWorklogQu
48
57
  supervisoryTitle: inspection.constructionType,
49
58
  supervisorContent: `${inspection.location} - ${inspection.constructionType} 검측 완료`
50
59
  }));
51
- const buildingInspectionsIds = buildingInspections.map(inspection => ({
52
- id: inspection.buildingInspectionId
60
+ const buildingInspectionsData = buildingInspections.map(inspection => ({
61
+ id: inspection.buildingInspectionId,
62
+ checklistId: inspection.checklistId
53
63
  }));
54
- return { documentNo, worklogs: worklogsData, buildingInspections: buildingInspectionsIds };
64
+ return {
65
+ documentNo,
66
+ worklogs: worklogsData,
67
+ buildingInspections: buildingInspectionsData
68
+ };
55
69
  }
56
70
  async dailyWorklogDatesOfProject(projectId, startDate, endDate, context) {
57
71
  const result = await (0, shell_1.getRepository)(building_inspection_daily_worklog_1.BuildingInspectionDailyWorklog).find({
@@ -69,6 +83,14 @@ let BuildingInspectionDailyWorklogQuery = class BuildingInspectionDailyWorklogQu
69
83
  async creator(worklog) {
70
84
  return await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: worklog.creatorId });
71
85
  }
86
+ async overallSupervisory(worklog) {
87
+ return worklog.overallSupervisoryId
88
+ ? await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: worklog.overallSupervisoryId })
89
+ : undefined;
90
+ }
91
+ async taskSupervisory(worklog) {
92
+ return worklog.taskSupervisoryId ? await (0, shell_1.getRepository)(auth_base_1.User).findOneBy({ id: worklog.taskSupervisoryId }) : undefined;
93
+ }
72
94
  };
73
95
  exports.BuildingInspectionDailyWorklogQuery = BuildingInspectionDailyWorklogQuery;
74
96
  tslib_1.__decorate([
@@ -111,6 +133,20 @@ tslib_1.__decorate([
111
133
  tslib_1.__metadata("design:paramtypes", [building_inspection_daily_worklog_1.BuildingInspectionDailyWorklog]),
112
134
  tslib_1.__metadata("design:returntype", Promise)
113
135
  ], BuildingInspectionDailyWorklogQuery.prototype, "creator", null);
136
+ tslib_1.__decorate([
137
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
138
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
139
+ tslib_1.__metadata("design:type", Function),
140
+ tslib_1.__metadata("design:paramtypes", [building_inspection_daily_worklog_1.BuildingInspectionDailyWorklog]),
141
+ tslib_1.__metadata("design:returntype", Promise)
142
+ ], BuildingInspectionDailyWorklogQuery.prototype, "overallSupervisory", null);
143
+ tslib_1.__decorate([
144
+ (0, type_graphql_1.FieldResolver)(type => auth_base_1.User),
145
+ tslib_1.__param(0, (0, type_graphql_1.Root)()),
146
+ tslib_1.__metadata("design:type", Function),
147
+ tslib_1.__metadata("design:paramtypes", [building_inspection_daily_worklog_1.BuildingInspectionDailyWorklog]),
148
+ tslib_1.__metadata("design:returntype", Promise)
149
+ ], BuildingInspectionDailyWorklogQuery.prototype, "taskSupervisory", null);
114
150
  exports.BuildingInspectionDailyWorklogQuery = BuildingInspectionDailyWorklogQuery = tslib_1.__decorate([
115
151
  (0, type_graphql_1.Resolver)(building_inspection_daily_worklog_1.BuildingInspectionDailyWorklog)
116
152
  ], BuildingInspectionDailyWorklogQuery);
@@ -1 +1 @@
1
- {"version":3,"file":"building-inspection-daily-worklog-query.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\nimport { DocumentNoType } from '../checklist/checklist'\nimport { ProjectType } from '../building-inspection/building-inspection'\nimport { config } from '@things-factory/env'\nimport moment from 'moment-timezone'\nimport { Between } from 'typeorm'\n\nconst projectType = config.get('projectType', ProjectType.DSSP)\n\n@Resolver(BuildingInspectionDailyWorklog)\nexport class BuildingInspectionDailyWorklogQuery {\n /**\n * 프로젝트와 날짜로 일일업무일지 조회. 없으면 새 문서번호를 생성해 빈 데이터를 반환\n */\n @Query(returns => BuildingInspectionDailyWorklog, { nullable: true })\n async buildingInspectionDailyWorklogByProjectIdAndDate(\n @Arg('projectId') projectId: string,\n @Arg('date') date: string,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const repository = getRepository(BuildingInspectionDailyWorklog)\n const worklogs = await repository.findOne({ where: { projectId, date } })\n\n // 워크로그가 존재하면 해당 데이터를 반환\n if (worklogs) return worklogs\n\n // 존재하지 않으면 새 문서번호와 검측되지 않은 검측 데이터를 반환\n const requestDate = moment(date).format('YYYY-MM-DD')\n const documentNo = await generateDailyWorklogDocumentNo(projectId)\n const buildingInspections = await getRepository('projects')\n .createQueryBuilder('p')\n .select('bi.id', 'buildingInspectionId')\n .addSelect('c.location', 'location')\n .addSelect('c.construction_type', 'constructionType')\n .leftJoin('building_complexes', 'bc', 'p.building_complex_id = bc.id')\n .leftJoin('buildings', 'b', 'b.building_complex_id = bc.id')\n .leftJoin('building_levels', 'bl', 'bl.building_id = b.id')\n .leftJoin('building_inspections', 'bi', 'bi.building_level_id = bl.id')\n .leftJoin('checklists', 'c', 'bi.checklist_id = c.id')\n .where('p.id = :projectId', { projectId })\n .andWhere('bi.project_type = :projectType', { projectType })\n .andWhere('bi.worklog_id IS NULL')\n .andWhere('c.inspection_result_updated_at IS NOT NULL') // 검측 결과 요청서가 생성된 경우\n .andWhere('bi.request_date <= :requestDate', { requestDate })\n .getRawMany()\n\n // 선택된 검측 정보들의 정보 셋팅하여 신규 일일 업무일지에 기본 셋팅\n const worklogsData = buildingInspections.map(inspection => ({\n constructionType: inspection.constructionType,\n supervisoryTitle: inspection.constructionType,\n supervisorContent: `${inspection.location} - ${inspection.constructionType} 검측 완료`\n }))\n const buildingInspectionsIds = buildingInspections.map(inspection => ({\n id: inspection.buildingInspectionId\n }))\n\n return { documentNo, worklogs: worklogsData, buildingInspections: buildingInspectionsIds } as BuildingInspectionDailyWorklog\n }\n\n @Query(returns => [BuildingInspectionDailyWorklog])\n async dailyWorklogDatesOfProject(\n @Arg('projectId') projectId: string,\n @Arg('startDate') startDate: string,\n @Arg('endDate') endDate: string,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog[]> {\n const result = await getRepository(BuildingInspectionDailyWorklog).find({\n where: { projectId, date: Between(startDate, endDate) },\n order: { date: 'ASC' }\n })\n\n return result\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() worklog: BuildingInspectionDailyWorklog): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: worklog.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return await getRepository(User).findOneBy({ id: worklog.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return await getRepository(User).findOneBy({ id: worklog.creatorId })\n }\n}\n\nexport async function generateDailyWorklogDocumentNo(projectId: string): Promise<string> {\n // 프로젝트의 documentNaming을 가져오고, 일일업무일지(04) 최신 번호를 찾아 +1\n const project = await getRepository<any>('projects').findOne({ where: { id: projectId } })\n const naming: string = project?.documentNaming || ''\n\n const latest = await getRepository(BuildingInspectionDailyWorklog)\n .createQueryBuilder('d')\n .where('d.project_id = :projectId', { projectId })\n .andWhere('d.document_no LIKE :pattern', { pattern: `${naming} 검측 제${DocumentNoType.DAILY_WORKLOG}-%` })\n .orderBy('d.created_at', 'DESC')\n .getOne()\n\n let sequence = '00001'\n if (latest?.documentNo) {\n const match = latest.documentNo.match(/\\-(\\d{5})호$/)\n if (match) sequence = (Number(match[1]) + 1).toString().padStart(5, '0')\n }\n\n return `${naming} 검측 제04-${sequence}호`\n}\n"]}
1
+ {"version":3,"file":"building-inspection-daily-worklog-query.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Arg, Ctx } from 'type-graphql'\nimport { Domain, getRepository } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\nimport { DocumentNoType } from '../checklist/checklist'\nimport { BuildingInspection, ProjectType } from '../building-inspection/building-inspection'\nimport { config } from '@things-factory/env'\nimport moment from 'moment-timezone'\nimport { Between } from 'typeorm'\n\nconst projectType = config.get('projectType', ProjectType.DSSP)\n\n@Resolver(BuildingInspectionDailyWorklog)\nexport class BuildingInspectionDailyWorklogQuery {\n /**\n * 프로젝트와 날짜로 일일업무일지 조회. 없으면 새 문서번호를 생성해 빈 데이터를 반환\n */\n @Query(returns => BuildingInspectionDailyWorklog, { nullable: true })\n async buildingInspectionDailyWorklogByProjectIdAndDate(\n @Arg('projectId') projectId: string,\n @Arg('date') date: string,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog> {\n const repository = getRepository(BuildingInspectionDailyWorklog)\n const worklogs = await repository.findOne({ where: { projectId, date } })\n\n // 워크로그가 존재하면 해당 데이터를 반환\n if (worklogs) return worklogs\n\n // 존재하지 않으면 새 문서번호와 검측되지 않은 검측 데이터를 반환\n const requestDate = moment(date).format('YYYY-MM-DD')\n const documentNo = await generateDailyWorklogDocumentNo(projectId)\n const buildingInspections = await getRepository('projects')\n .createQueryBuilder('p')\n .select('bi.id', 'buildingInspectionId')\n .addSelect('c.location', 'location')\n .addSelect('c.construction_type', 'constructionType')\n .addSelect('c.id', 'checklistId')\n .addSelect('c.task_supervisory_signature', 'taskSupervisorySignature')\n .addSelect('c.overall_supervisory_signature', 'overallSupervisorySignature')\n .addSelect('c.task_supervisory_id', 'taskSupervisoryId')\n .addSelect('c.overall_supervisory_id', 'overallSupervisoryId')\n .addSelect('u.name', 'taskSupervisoryName')\n .addSelect('u2.name', 'overallSupervisoryName')\n .leftJoin('building_complexes', 'bc', 'p.building_complex_id = bc.id')\n .leftJoin('buildings', 'b', 'b.building_complex_id = bc.id')\n .leftJoin('building_levels', 'bl', 'bl.building_id = b.id')\n .leftJoin('building_inspections', 'bi', 'bi.building_level_id = bl.id')\n .leftJoin('checklists', 'c', 'bi.checklist_id = c.id')\n .leftJoin('users', 'u', 'u.id = c.task_supervisory_id')\n .leftJoin('users', 'u2', 'u2.id = c.overall_supervisory_id')\n .where('p.id = :projectId', { projectId })\n .andWhere('bi.project_type = :projectType', { projectType })\n .andWhere('bi.worklog_id IS NULL')\n .andWhere('c.inspection_result_updated_at IS NOT NULL') // 검측 결과 요청서가 생성된 경우\n .andWhere('bi.request_date <= :requestDate', { requestDate })\n .getRawMany()\n\n // 선택된 검측 정보들의 정보 셋팅하여 신규 일일 업무일지에 기본 셋팅\n const worklogsData = buildingInspections.map(inspection => ({\n constructionType: inspection.constructionType,\n supervisoryTitle: inspection.constructionType,\n supervisorContent: `${inspection.location} - ${inspection.constructionType} 검측 완료`\n }))\n const buildingInspectionsData = buildingInspections.map(inspection => ({\n id: inspection.buildingInspectionId,\n checklistId: inspection.checklistId\n }))\n\n return {\n documentNo,\n worklogs: worklogsData,\n buildingInspections: buildingInspectionsData as BuildingInspection[]\n } as BuildingInspectionDailyWorklog\n }\n\n @Query(returns => [BuildingInspectionDailyWorklog])\n async dailyWorklogDatesOfProject(\n @Arg('projectId') projectId: string,\n @Arg('startDate') startDate: string,\n @Arg('endDate') endDate: string,\n @Ctx() context: ResolverContext\n ): Promise<BuildingInspectionDailyWorklog[]> {\n const result = await getRepository(BuildingInspectionDailyWorklog).find({\n where: { projectId, date: Between(startDate, endDate) },\n order: { date: 'ASC' }\n })\n\n return result\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() worklog: BuildingInspectionDailyWorklog): Promise<Domain> {\n return await getRepository(Domain).findOneBy({ id: worklog.domainId })\n }\n\n @FieldResolver(type => User)\n async updater(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return await getRepository(User).findOneBy({ id: worklog.updaterId })\n }\n\n @FieldResolver(type => User)\n async creator(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return await getRepository(User).findOneBy({ id: worklog.creatorId })\n }\n\n @FieldResolver(type => User)\n async overallSupervisory(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return worklog.overallSupervisoryId\n ? await getRepository(User).findOneBy({ id: worklog.overallSupervisoryId })\n : (undefined as any)\n }\n\n @FieldResolver(type => User)\n async taskSupervisory(@Root() worklog: BuildingInspectionDailyWorklog): Promise<User> {\n return worklog.taskSupervisoryId ? await getRepository(User).findOneBy({ id: worklog.taskSupervisoryId }) : (undefined as any)\n }\n}\n\nexport async function generateDailyWorklogDocumentNo(projectId: string): Promise<string> {\n // 프로젝트의 documentNaming을 가져오고, 일일업무일지(04) 최신 번호를 찾아 +1\n const project = await getRepository<any>('projects').findOne({ where: { id: projectId } })\n const naming: string = project?.documentNaming || ''\n\n const latest = await getRepository(BuildingInspectionDailyWorklog)\n .createQueryBuilder('d')\n .where('d.project_id = :projectId', { projectId })\n .andWhere('d.document_no LIKE :pattern', { pattern: `${naming} 검측 제${DocumentNoType.DAILY_WORKLOG}-%` })\n .orderBy('d.created_at', 'DESC')\n .getOne()\n\n let sequence = '00001'\n if (latest?.documentNo) {\n const match = latest.documentNo.match(/\\-(\\d{5})호$/)\n if (match) sequence = (Number(match[1]) + 1).toString().padStart(5, '0')\n }\n\n return `${naming} 검측 제04-${sequence}호`\n}\n"]}
@@ -5,6 +5,10 @@ export declare class BuildingInspectionDailyWorklogNew {
5
5
  worklogs?: any;
6
6
  memo?: string;
7
7
  directiveMemo?: string;
8
+ overallSupervisoryId?: string;
9
+ taskSupervisoryId?: string;
10
+ overallSupervisorySignature?: string;
11
+ taskSupervisorySignature?: string;
8
12
  buildingInspectionIds?: string[];
9
13
  }
10
14
  export declare class BuildingInspectionDailyWorklogPatch {
@@ -28,6 +28,22 @@ tslib_1.__decorate([
28
28
  (0, type_graphql_1.Field)({ nullable: true }),
29
29
  tslib_1.__metadata("design:type", String)
30
30
  ], BuildingInspectionDailyWorklogNew.prototype, "directiveMemo", void 0);
31
+ tslib_1.__decorate([
32
+ (0, type_graphql_1.Field)({ nullable: true }),
33
+ tslib_1.__metadata("design:type", String)
34
+ ], BuildingInspectionDailyWorklogNew.prototype, "overallSupervisoryId", void 0);
35
+ tslib_1.__decorate([
36
+ (0, type_graphql_1.Field)({ nullable: true }),
37
+ tslib_1.__metadata("design:type", String)
38
+ ], BuildingInspectionDailyWorklogNew.prototype, "taskSupervisoryId", void 0);
39
+ tslib_1.__decorate([
40
+ (0, type_graphql_1.Field)({ nullable: true }),
41
+ tslib_1.__metadata("design:type", String)
42
+ ], BuildingInspectionDailyWorklogNew.prototype, "overallSupervisorySignature", void 0);
43
+ tslib_1.__decorate([
44
+ (0, type_graphql_1.Field)({ nullable: true }),
45
+ tslib_1.__metadata("design:type", String)
46
+ ], BuildingInspectionDailyWorklogNew.prototype, "taskSupervisorySignature", void 0);
31
47
  tslib_1.__decorate([
32
48
  (0, type_graphql_1.Field)(type => [String], { nullable: true }),
33
49
  tslib_1.__metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"building-inspection-daily-worklog-type.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,iDAAoD;AACpD,2FAAoF;AAG7E,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;CAkB7C,CAAA;AAlBY,8EAAiC;AAE5C;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oEACT;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DACd;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEAClC;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACJ;AAGtB;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gFACZ;4CAjBrB,iCAAiC;IAD7C,IAAA,wBAAS,GAAE;GACC,iCAAiC,CAkB7C;AAGM,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;CAY/C,CAAA;AAZY,kFAAmC;AAE9C;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC5B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEAClC;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0EACJ;8CAXX,mCAAmC;IAD/C,IAAA,wBAAS,GAAE;GACC,mCAAmC,CAY/C;AAGM,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;CAM9C,CAAA;AANY,gFAAkC;AAE7C;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kEAA8B,CAAC,CAAC;;iEACT;AAGvC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;iEACN;6CALF,kCAAkC;IAD9C,IAAA,yBAAU,GAAE;GACA,kCAAkC,CAM9C","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ScalarObject } from '@things-factory/shell'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\n\n@InputType()\nexport class BuildingInspectionDailyWorklogNew {\n @Field({ nullable: false })\n projectId!: string\n\n @Field({ nullable: false })\n date?: string\n\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: any\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n directiveMemo?: string\n\n @Field(type => [String], { nullable: true })\n buildingInspectionIds?: string[]\n}\n\n@InputType()\nexport class BuildingInspectionDailyWorklogPatch {\n @Field(type => ID, { nullable: false })\n id?: string\n\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: any\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n directiveMemo?: string\n}\n\n@ObjectType()\nexport class BuildingInspectionDailyWorklogList {\n @Field(type => [BuildingInspectionDailyWorklog])\n items: BuildingInspectionDailyWorklog[]\n\n @Field(type => Int)\n total: number\n}\n"]}
1
+ {"version":3,"file":"building-inspection-daily-worklog-type.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog-type.ts"],"names":[],"mappings":";;;;AAAA,+CAAoE;AACpE,iDAAoD;AACpD,2FAAoF;AAG7E,IAAM,iCAAiC,GAAvC,MAAM,iCAAiC;CA8B7C,CAAA;AA9BY,8EAAiC;AAE5C;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oEACT;AAGlB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DACd;AAGb;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mEAClC;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+DACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wEACJ;AAGtB;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;+EACG;AAG7B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;4EACA;AAG1B;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sFACU;AAGpC;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;mFACO;AAGjC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gFACZ;4CA7BrB,iCAAiC;IAD7C,IAAA,wBAAS,GAAE;GACC,iCAAiC,CA8B7C;AAGM,IAAM,mCAAmC,GAAzC,MAAM,mCAAmC;CAY/C,CAAA;AAZY,kFAAmC;AAE9C;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,iBAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC5B;AAGX;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,oBAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEAClC;AAGd;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iEACb;AAGb;IADC,IAAA,oBAAK,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;0EACJ;8CAXX,mCAAmC;IAD/C,IAAA,wBAAS,GAAE;GACC,mCAAmC,CAY/C;AAGM,IAAM,kCAAkC,GAAxC,MAAM,kCAAkC;CAM9C,CAAA;AANY,gFAAkC;AAE7C;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,CAAC,kEAA8B,CAAC,CAAC;;iEACT;AAGvC;IADC,IAAA,oBAAK,EAAC,IAAI,CAAC,EAAE,CAAC,kBAAG,CAAC;;iEACN;6CALF,kCAAkC;IAD9C,IAAA,yBAAU,GAAE;GACA,kCAAkC,CAM9C","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { ScalarObject } from '@things-factory/shell'\nimport { BuildingInspectionDailyWorklog } from './building-inspection-daily-worklog'\n\n@InputType()\nexport class BuildingInspectionDailyWorklogNew {\n @Field({ nullable: false })\n projectId!: string\n\n @Field({ nullable: false })\n date?: string\n\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: any\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n directiveMemo?: string\n\n @Field({ nullable: true })\n overallSupervisoryId?: string\n\n @Field({ nullable: true })\n taskSupervisoryId?: string\n\n @Field({ nullable: true })\n overallSupervisorySignature?: string\n\n @Field({ nullable: true })\n taskSupervisorySignature?: string\n\n @Field(type => [String], { nullable: true })\n buildingInspectionIds?: string[]\n}\n\n@InputType()\nexport class BuildingInspectionDailyWorklogPatch {\n @Field(type => ID, { nullable: false })\n id?: string\n\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: any\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n directiveMemo?: string\n}\n\n@ObjectType()\nexport class BuildingInspectionDailyWorklogList {\n @Field(type => [BuildingInspectionDailyWorklog])\n items: BuildingInspectionDailyWorklog[]\n\n @Field(type => Int)\n total: number\n}\n"]}
@@ -16,6 +16,12 @@ export declare class BuildingInspectionDailyWorklog {
16
16
  worklogs?: Worklog[];
17
17
  memo?: string;
18
18
  directiveMemo?: string;
19
+ overallSupervisory?: User;
20
+ overallSupervisoryId?: string;
21
+ taskSupervisory?: User;
22
+ taskSupervisoryId?: string;
23
+ overallSupervisorySignature?: string;
24
+ taskSupervisorySignature?: string;
19
25
  buildingInspections?: BuildingInspection[];
20
26
  createdAt?: Date;
21
27
  updatedAt?: Date;
@@ -55,6 +55,34 @@ tslib_1.__decorate([
55
55
  (0, type_graphql_1.Field)({ nullable: true }),
56
56
  tslib_1.__metadata("design:type", String)
57
57
  ], BuildingInspectionDailyWorklog.prototype, "directiveMemo", void 0);
58
+ tslib_1.__decorate([
59
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
60
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true, description: '총괄 감리 책임자' }),
61
+ tslib_1.__metadata("design:type", auth_base_1.User)
62
+ ], BuildingInspectionDailyWorklog.prototype, "overallSupervisory", void 0);
63
+ tslib_1.__decorate([
64
+ (0, typeorm_1.RelationId)((worklog) => worklog.overallSupervisory),
65
+ tslib_1.__metadata("design:type", String)
66
+ ], BuildingInspectionDailyWorklog.prototype, "overallSupervisoryId", void 0);
67
+ tslib_1.__decorate([
68
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
69
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true, description: '건축사보 (공종별 감리 관리자)' }),
70
+ tslib_1.__metadata("design:type", auth_base_1.User)
71
+ ], BuildingInspectionDailyWorklog.prototype, "taskSupervisory", void 0);
72
+ tslib_1.__decorate([
73
+ (0, typeorm_1.RelationId)((worklog) => worklog.taskSupervisory),
74
+ tslib_1.__metadata("design:type", String)
75
+ ], BuildingInspectionDailyWorklog.prototype, "taskSupervisoryId", void 0);
76
+ tslib_1.__decorate([
77
+ (0, typeorm_1.Column)({ nullable: true, comment: '총괄 감리 책임자 사인' }),
78
+ (0, type_graphql_1.Field)({ nullable: true }),
79
+ tslib_1.__metadata("design:type", String)
80
+ ], BuildingInspectionDailyWorklog.prototype, "overallSupervisorySignature", void 0);
81
+ tslib_1.__decorate([
82
+ (0, typeorm_1.Column)({ nullable: true, comment: '건축사보 (공종별 감리 관리자) 사인' }),
83
+ (0, type_graphql_1.Field)({ nullable: true }),
84
+ tslib_1.__metadata("design:type", String)
85
+ ], BuildingInspectionDailyWorklog.prototype, "taskSupervisorySignature", void 0);
58
86
  tslib_1.__decorate([
59
87
  (0, typeorm_1.OneToMany)(type => building_inspection_1.BuildingInspection, buildingInspection => buildingInspection.worklog),
60
88
  (0, type_graphql_1.Field)(type => [building_inspection_1.BuildingInspection], { nullable: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"building-inspection-daily-worklog.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n OneToMany\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BuildingInspection } from '../building-inspection/building-inspection'\n\nexport interface Worklog {\n constructionType: string\n supervisoryTitle: string\n supervisorContent: string\n}\n\n@Entity({ comment: '일일 업무일지' })\n@Index('ix_building_inspection_daily_worklog_0', (worklog: BuildingInspectionDailyWorklog) => [worklog.projectId, worklog.date], {\n unique: true,\n where: '\"deleted_at\" IS NULL'\n})\n@ObjectType({ description: 'Entity for BuildingInspectionDailyWorklog' })\nexport class BuildingInspectionDailyWorklog {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.domain)\n domainId?: string\n\n @Column({ nullable: false, comment: '프로젝트 ID' })\n @Field({ nullable: false })\n projectId!: string\n\n @Column({ nullable: true, comment: '문서번호 - {네이밍} 검측 제04-00001호)' }) // DocumentNoType 참조\n @Field({ nullable: true })\n documentNo?: string\n\n @Column({ type: 'date', nullable: true, comment: '작성 날짜' })\n @Field(type => String, { nullable: true })\n date?: string\n\n @Column({ type: 'simple-json', nullable: true, comment: '작업사항' })\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: Worklog[]\n\n @Column({ nullable: true, comment: '특기사항' })\n @Field({ nullable: true })\n memo?: string\n\n @Column({ nullable: true, comment: '지적 사항 및 처리결과' })\n @Field({ nullable: true })\n directiveMemo?: string\n\n @OneToMany(type => BuildingInspection, buildingInspection => buildingInspection.worklog)\n @Field(type => [BuildingInspection], { nullable: true })\n buildingInspections?: BuildingInspection[]\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.updater)\n updaterId?: string\n}\n"]}
1
+ {"version":3,"file":"building-inspection-daily-worklog.js","sourceRoot":"","sources":["../../../server/service/building-inspection-daily-worklog/building-inspection-daily-worklog.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CreateDateColumn,\n UpdateDateColumn,\n DeleteDateColumn,\n Entity,\n Index,\n Column,\n RelationId,\n ManyToOne,\n PrimaryGeneratedColumn,\n OneToMany\n} from 'typeorm'\nimport { ObjectType, Field, ID } from 'type-graphql'\n\nimport { Domain, ScalarObject } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { BuildingInspection } from '../building-inspection/building-inspection'\n\nexport interface Worklog {\n constructionType: string\n supervisoryTitle: string\n supervisorContent: string\n}\n\n@Entity({ comment: '일일 업무일지' })\n@Index('ix_building_inspection_daily_worklog_0', (worklog: BuildingInspectionDailyWorklog) => [worklog.projectId, worklog.date], {\n unique: true,\n where: '\"deleted_at\" IS NULL'\n})\n@ObjectType({ description: 'Entity for BuildingInspectionDailyWorklog' })\nexport class BuildingInspectionDailyWorklog {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID, { nullable: true })\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.domain)\n domainId?: string\n\n @Column({ nullable: false, comment: '프로젝트 ID' })\n @Field({ nullable: false })\n projectId!: string\n\n @Column({ nullable: true, comment: '문서번호 - {네이밍} 검측 제04-00001호)' }) // DocumentNoType 참조\n @Field({ nullable: true })\n documentNo?: string\n\n @Column({ type: 'date', nullable: true, comment: '작성 날짜' })\n @Field(type => String, { nullable: true })\n date?: string\n\n @Column({ type: 'simple-json', nullable: true, comment: '작업사항' })\n @Field(type => ScalarObject, { nullable: true })\n worklogs?: Worklog[]\n\n @Column({ nullable: true, comment: '특기사항' })\n @Field({ nullable: true })\n memo?: string\n\n @Column({ nullable: true, comment: '지적 사항 및 처리결과' })\n @Field({ nullable: true })\n directiveMemo?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: '총괄 감리 책임자' })\n overallSupervisory?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.overallSupervisory)\n overallSupervisoryId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true, description: '건축사보 (공종별 감리 관리자)' })\n taskSupervisory?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.taskSupervisory)\n taskSupervisoryId?: string\n\n @Column({ nullable: true, comment: '총괄 감리 책임자 사인' })\n @Field({ nullable: true })\n overallSupervisorySignature?: string\n\n @Column({ nullable: true, comment: '건축사보 (공종별 감리 관리자) 사인' })\n @Field({ nullable: true })\n taskSupervisorySignature?: string\n\n @OneToMany(type => BuildingInspection, buildingInspection => buildingInspection.worklog)\n @Field(type => [BuildingInspection], { nullable: true })\n buildingInspections?: BuildingInspection[]\n\n @CreateDateColumn()\n @Field({ nullable: true })\n createdAt?: Date\n\n @UpdateDateColumn()\n @Field({ nullable: true })\n updatedAt?: Date\n\n @DeleteDateColumn()\n @Field({ nullable: true })\n deletedAt?: Date\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n creator?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((worklog: BuildingInspectionDailyWorklog) => worklog.updater)\n updaterId?: string\n}\n"]}