@dssp/supervision 0.0.9 → 0.0.11

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 (224) hide show
  1. package/client/pages/building-inspection/building-inspection-detail-checklist.ts +227 -0
  2. package/client/pages/building-inspection/building-inspection-detail-drawing.ts +160 -0
  3. package/client/pages/building-inspection/building-inspection-list.ts +430 -0
  4. package/client/pages/building-inspection/component/building-inspection-detail-header.ts +94 -0
  5. package/client/pages/building-inspection/inspection-create-popup.ts +696 -0
  6. package/client/pages/checklist/checklist-view.ts +463 -0
  7. package/client/pages/checklist-template/checklist-template-item.ts +240 -0
  8. package/client/pages/checklist-template/checklist-template-list.ts +271 -0
  9. package/client/pages/checklist-template/checklist-type-management.ts +242 -0
  10. package/client/route.ts +14 -18
  11. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.d.ts +22 -0
  12. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +228 -0
  13. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js.map +1 -0
  14. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.d.ts +21 -0
  15. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js +169 -0
  16. package/dist-client/pages/building-inspection/building-inspection-detail-drawing.js.map +1 -0
  17. package/dist-client/pages/building-inspection/building-inspection-list.d.ts +67 -0
  18. package/dist-client/pages/building-inspection/building-inspection-list.js +434 -0
  19. package/dist-client/pages/building-inspection/building-inspection-list.js.map +1 -0
  20. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.d.ts +1 -0
  21. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js +118 -0
  22. package/dist-client/pages/building-inspection/component/building-inspection-detail-header.js.map +1 -0
  23. package/dist-client/pages/building-inspection/inspection-create-popup.d.ts +3 -0
  24. package/dist-client/pages/building-inspection/inspection-create-popup.js +735 -0
  25. package/dist-client/pages/building-inspection/inspection-create-popup.js.map +1 -0
  26. package/dist-client/pages/checklist/checklist-view.d.ts +6 -0
  27. package/dist-client/pages/checklist/checklist-view.js +468 -0
  28. package/dist-client/pages/checklist/checklist-view.js.map +1 -0
  29. package/dist-client/pages/checklist-template/checklist-template-item.d.ts +2 -0
  30. package/dist-client/pages/checklist-template/checklist-template-item.js +237 -0
  31. package/dist-client/pages/checklist-template/checklist-template-item.js.map +1 -0
  32. package/dist-client/pages/{check-item/check-item-list-page.d.ts → checklist-template/checklist-template-list.d.ts} +8 -27
  33. package/dist-client/pages/checklist-template/checklist-template-list.js +259 -0
  34. package/dist-client/pages/checklist-template/checklist-template-list.js.map +1 -0
  35. package/dist-client/pages/checklist-template/checklist-type-management.d.ts +48 -0
  36. package/dist-client/pages/checklist-template/checklist-type-management.js +229 -0
  37. package/dist-client/pages/checklist-template/checklist-type-management.js.map +1 -0
  38. package/dist-client/route.d.ts +1 -1
  39. package/dist-client/route.js +10 -13
  40. package/dist-client/route.js.map +1 -1
  41. package/dist-client/tsconfig.tsbuildinfo +1 -1
  42. package/dist-server/index.d.ts +1 -1
  43. package/dist-server/index.js +1 -1
  44. package/dist-server/index.js.map +1 -1
  45. package/dist-server/service/building-inspection/building-inspection-history.d.ts +17 -0
  46. package/dist-server/service/building-inspection/building-inspection-history.js +85 -0
  47. package/dist-server/service/building-inspection/building-inspection-history.js.map +1 -0
  48. package/dist-server/service/building-inspection/building-inspection-mutation.d.ts +9 -0
  49. package/dist-server/service/building-inspection/building-inspection-mutation.js +227 -0
  50. package/dist-server/service/building-inspection/building-inspection-mutation.js.map +1 -0
  51. package/dist-server/service/building-inspection/building-inspection-query.d.ts +20 -0
  52. package/dist-server/service/building-inspection/building-inspection-query.js +235 -0
  53. package/dist-server/service/building-inspection/building-inspection-query.js.map +1 -0
  54. package/dist-server/service/building-inspection/building-inspection-type.d.ts +60 -0
  55. package/dist-server/service/building-inspection/building-inspection-type.js +213 -0
  56. package/dist-server/service/building-inspection/building-inspection-type.js.map +1 -0
  57. package/dist-server/service/building-inspection/building-inspection.d.ts +26 -0
  58. package/dist-server/service/building-inspection/building-inspection.js +113 -0
  59. package/dist-server/service/building-inspection/building-inspection.js.map +1 -0
  60. package/dist-server/service/building-inspection/event-subscriber.d.ts +7 -0
  61. package/dist-server/service/building-inspection/event-subscriber.js +21 -0
  62. package/dist-server/service/building-inspection/event-subscriber.js.map +1 -0
  63. package/dist-server/service/building-inspection/index.d.ts +10 -0
  64. package/dist-server/service/building-inspection/index.js +14 -0
  65. package/dist-server/service/building-inspection/index.js.map +1 -0
  66. package/dist-server/service/checklist/checklist-history.d.ts +24 -0
  67. package/dist-server/service/checklist/checklist-history.js +120 -0
  68. package/dist-server/service/checklist/checklist-history.js.map +1 -0
  69. package/dist-server/service/checklist/checklist-mutation.d.ts +8 -0
  70. package/dist-server/service/checklist/checklist-mutation.js +96 -0
  71. package/dist-server/service/checklist/checklist-mutation.js.map +1 -0
  72. package/dist-server/service/checklist/checklist-query.d.ts +12 -0
  73. package/dist-server/service/checklist/checklist-query.js +83 -0
  74. package/dist-server/service/checklist/checklist-query.js.map +1 -0
  75. package/dist-server/service/checklist/checklist-type.d.ts +18 -0
  76. package/dist-server/service/checklist/checklist-type.js +69 -0
  77. package/dist-server/service/checklist/checklist-type.js.map +1 -0
  78. package/dist-server/service/checklist/checklist.d.ts +31 -0
  79. package/dist-server/service/checklist/checklist.js +143 -0
  80. package/dist-server/service/checklist/checklist.js.map +1 -0
  81. package/dist-server/service/checklist/event-subscriber.d.ts +7 -0
  82. package/dist-server/service/checklist/event-subscriber.js +21 -0
  83. package/dist-server/service/checklist/event-subscriber.js.map +1 -0
  84. package/dist-server/service/checklist/index.d.ts +8 -0
  85. package/dist-server/service/checklist/index.js +12 -0
  86. package/dist-server/service/checklist/index.js.map +1 -0
  87. package/dist-server/service/checklist-item/checklist-item-mutation.d.ts +2 -0
  88. package/dist-server/service/checklist-item/checklist-item-mutation.js +13 -0
  89. package/dist-server/service/checklist-item/checklist-item-mutation.js.map +1 -0
  90. package/dist-server/service/checklist-item/checklist-item-query.d.ts +10 -0
  91. package/dist-server/service/checklist-item/checklist-item-query.js +68 -0
  92. package/dist-server/service/checklist-item/checklist-item-query.js.map +1 -0
  93. package/dist-server/service/checklist-item/checklist-item-type.d.ts +5 -0
  94. package/dist-server/service/checklist-item/checklist-item-type.js +21 -0
  95. package/dist-server/service/checklist-item/checklist-item-type.js.map +1 -0
  96. package/dist-server/service/checklist-item/checklist-item.d.ts +26 -0
  97. package/dist-server/service/checklist-item/checklist-item.js +113 -0
  98. package/dist-server/service/checklist-item/checklist-item.js.map +1 -0
  99. package/dist-server/service/checklist-item/index.d.ts +5 -0
  100. package/dist-server/service/checklist-item/index.js +10 -0
  101. package/dist-server/service/checklist-item/index.js.map +1 -0
  102. package/dist-server/service/checklist-template/checklist-template-mutation.d.ts +6 -0
  103. package/dist-server/service/checklist-template/checklist-template-mutation.js +64 -0
  104. package/dist-server/service/checklist-template/checklist-template-mutation.js.map +1 -0
  105. package/dist-server/service/checklist-template/checklist-template-query.d.ts +10 -0
  106. package/dist-server/service/checklist-template/checklist-template-query.js +65 -0
  107. package/dist-server/service/checklist-template/checklist-template-query.js.map +1 -0
  108. package/dist-server/service/checklist-template/checklist-template-type.d.ts +10 -0
  109. package/dist-server/service/checklist-template/checklist-template-type.js +39 -0
  110. package/dist-server/service/checklist-template/checklist-template-type.js.map +1 -0
  111. package/dist-server/service/checklist-template/checklist-template.d.ts +17 -0
  112. package/dist-server/service/checklist-template/checklist-template.js +78 -0
  113. package/dist-server/service/checklist-template/checklist-template.js.map +1 -0
  114. package/dist-server/service/checklist-template/index.d.ts +5 -0
  115. package/dist-server/service/checklist-template/index.js +9 -0
  116. package/dist-server/service/checklist-template/index.js.map +1 -0
  117. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.d.ts +7 -0
  118. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js +68 -0
  119. package/dist-server/service/checklist-template-item/checklist-template-item-mutation.js.map +1 -0
  120. package/dist-server/service/checklist-template-item/checklist-template-item-query.d.ts +10 -0
  121. package/dist-server/service/checklist-template-item/checklist-template-item-query.js +66 -0
  122. package/dist-server/service/checklist-template-item/checklist-template-item-query.js.map +1 -0
  123. package/dist-server/service/checklist-template-item/checklist-template-item-type.d.ts +16 -0
  124. package/dist-server/service/checklist-template-item/checklist-template-item-type.js +60 -0
  125. package/dist-server/service/checklist-template-item/checklist-template-item-type.js.map +1 -0
  126. package/dist-server/service/checklist-template-item/checklist-template-item.d.ts +19 -0
  127. package/dist-server/service/checklist-template-item/checklist-template-item.js +87 -0
  128. package/dist-server/service/checklist-template-item/checklist-template-item.js.map +1 -0
  129. package/dist-server/service/checklist-template-item/index.d.ts +5 -0
  130. package/dist-server/service/checklist-template-item/index.js +9 -0
  131. package/dist-server/service/checklist-template-item/index.js.map +1 -0
  132. package/dist-server/service/checklist-type/checklist-type-mutation.d.ts +6 -0
  133. package/dist-server/service/checklist-type/checklist-type-mutation.js +64 -0
  134. package/dist-server/service/checklist-type/checklist-type-mutation.js.map +1 -0
  135. package/dist-server/service/checklist-type/checklist-type-query.d.ts +10 -0
  136. package/dist-server/service/checklist-type/checklist-type-query.js +65 -0
  137. package/dist-server/service/checklist-type/checklist-type-query.js.map +1 -0
  138. package/dist-server/service/checklist-type/checklist-type-type.d.ts +11 -0
  139. package/dist-server/service/checklist-type/checklist-type-type.js +43 -0
  140. package/dist-server/service/checklist-type/checklist-type-type.js.map +1 -0
  141. package/dist-server/service/checklist-type/checklist-type.d.ts +19 -0
  142. package/dist-server/service/checklist-type/checklist-type.js +78 -0
  143. package/dist-server/service/checklist-type/checklist-type.js.map +1 -0
  144. package/dist-server/service/checklist-type/index.d.ts +5 -0
  145. package/dist-server/service/checklist-type/index.js +9 -0
  146. package/dist-server/service/checklist-type/index.js.map +1 -0
  147. package/dist-server/service/index.d.ts +8 -3
  148. package/dist-server/service/index.js +26 -5
  149. package/dist-server/service/index.js.map +1 -1
  150. package/dist-server/service/issue/issue.d.ts +1 -3
  151. package/dist-server/service/issue/issue.js +1 -7
  152. package/dist-server/service/issue/issue.js.map +1 -1
  153. package/dist-server/service/supervisor/supervisor.d.ts +1 -3
  154. package/dist-server/service/supervisor/supervisor.js +1 -7
  155. package/dist-server/service/supervisor/supervisor.js.map +1 -1
  156. package/dist-server/tsconfig.tsbuildinfo +1 -1
  157. package/helps/supervision/checklist-item.md +160 -0
  158. package/helps/supervision/checklist.md +160 -0
  159. package/package.json +11 -7
  160. package/server/index.ts +1 -1
  161. package/server/service/building-inspection/building-inspection-history.ts +70 -0
  162. package/server/service/building-inspection/building-inspection-mutation.ts +239 -0
  163. package/server/service/building-inspection/building-inspection-query.ts +202 -0
  164. package/server/service/building-inspection/building-inspection-type.ts +142 -0
  165. package/server/service/building-inspection/building-inspection.ts +106 -0
  166. package/server/service/building-inspection/event-subscriber.ts +20 -0
  167. package/server/service/building-inspection/index.ts +11 -0
  168. package/server/service/checklist/checklist-history.ts +96 -0
  169. package/server/service/checklist/checklist-mutation.ts +103 -0
  170. package/server/service/checklist/checklist-query.ts +52 -0
  171. package/server/service/{check-item/check-item-type.ts → checklist/checklist-type.ts} +6 -18
  172. package/server/service/checklist/checklist.ts +127 -0
  173. package/server/service/checklist/event-subscriber.ts +17 -0
  174. package/server/service/checklist/index.ts +9 -0
  175. package/server/service/checklist-item/checklist-item-mutation.ts +5 -0
  176. package/server/service/checklist-item/checklist-item-query.ts +43 -0
  177. package/server/service/checklist-item/checklist-item-type.ts +12 -0
  178. package/server/service/checklist-item/checklist-item.ts +100 -0
  179. package/server/service/checklist-item/index.ts +7 -0
  180. package/server/service/checklist-template/checklist-template-mutation.ts +66 -0
  181. package/server/service/checklist-template/checklist-template-query.ts +39 -0
  182. package/server/service/checklist-template/checklist-template-type.ts +23 -0
  183. package/server/service/checklist-template/checklist-template.ts +71 -0
  184. package/server/service/checklist-template/index.ts +6 -0
  185. package/server/service/checklist-template-item/checklist-template-item-mutation.ts +64 -0
  186. package/server/service/checklist-template-item/checklist-template-item-query.ts +39 -0
  187. package/server/service/checklist-template-item/checklist-template-item-type.ts +39 -0
  188. package/server/service/checklist-template-item/checklist-template-item.ts +67 -0
  189. package/server/service/checklist-template-item/index.ts +6 -0
  190. package/server/service/checklist-type/checklist-type-mutation.ts +66 -0
  191. package/server/service/checklist-type/checklist-type-query.ts +39 -0
  192. package/server/service/checklist-type/checklist-type-type.ts +26 -0
  193. package/server/service/checklist-type/checklist-type.ts +64 -0
  194. package/server/service/checklist-type/index.ts +6 -0
  195. package/server/service/index.ts +60 -23
  196. package/server/service/issue/issue.ts +1 -6
  197. package/server/service/supervisor/supervisor.ts +1 -6
  198. package/things-factory.config.js +11 -7
  199. package/client/pages/check-item/check-item-importer.ts +0 -94
  200. package/client/pages/check-item/check-item-list-page.ts +0 -340
  201. package/dist-client/pages/check-item/check-item-importer.d.ts +0 -10
  202. package/dist-client/pages/check-item/check-item-importer.js +0 -101
  203. package/dist-client/pages/check-item/check-item-importer.js.map +0 -1
  204. package/dist-client/pages/check-item/check-item-list-page.js +0 -323
  205. package/dist-client/pages/check-item/check-item-list-page.js.map +0 -1
  206. package/dist-server/service/check-item/check-item-mutation.d.ts +0 -10
  207. package/dist-server/service/check-item/check-item-mutation.js +0 -168
  208. package/dist-server/service/check-item/check-item-mutation.js.map +0 -1
  209. package/dist-server/service/check-item/check-item-query.d.ts +0 -12
  210. package/dist-server/service/check-item/check-item-query.js +0 -97
  211. package/dist-server/service/check-item/check-item-query.js.map +0 -1
  212. package/dist-server/service/check-item/check-item-type.d.ts +0 -23
  213. package/dist-server/service/check-item/check-item-type.js +0 -86
  214. package/dist-server/service/check-item/check-item-type.js.map +0 -1
  215. package/dist-server/service/check-item/check-item.d.ts +0 -28
  216. package/dist-server/service/check-item/check-item.js +0 -117
  217. package/dist-server/service/check-item/check-item.js.map +0 -1
  218. package/dist-server/service/check-item/index.d.ts +0 -6
  219. package/dist-server/service/check-item/index.js +0 -10
  220. package/dist-server/service/check-item/index.js.map +0 -1
  221. package/server/service/check-item/check-item-mutation.ts +0 -198
  222. package/server/service/check-item/check-item-query.ts +0 -62
  223. package/server/service/check-item/check-item.ts +0 -111
  224. package/server/service/check-item/index.ts +0 -7
@@ -0,0 +1,64 @@
1
+ import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { In } from 'typeorm'
3
+ import { ChecklistTemplateItem } from './checklist-template-item'
4
+ import { ChecklistTemplateItemPatch } from './checklist-template-item-type'
5
+ import { ChecklistTemplate } from '../checklist-template/checklist-template'
6
+
7
+ @Resolver(ChecklistTemplateItem)
8
+ export class ChecklistTemplateItemMutation {
9
+ @Directive('@transaction')
10
+ @Mutation(returns => [ChecklistTemplateItem], { description: "To modify multiple ChecklistTemplateItems' information" })
11
+ async updateMultipleChecklistTemplateItems(
12
+ @Arg('patches', type => [ChecklistTemplateItemPatch]) patches: ChecklistTemplateItemPatch[],
13
+ @Arg('checklistTemplateId') checklistTemplateId: string,
14
+ @Ctx() context: ResolverContext
15
+ ): Promise<ChecklistTemplateItem[]> {
16
+ const { domain, user, tx } = context.state
17
+
18
+ let results = []
19
+
20
+ const checklistTemplateItemRepo = tx.getRepository(ChecklistTemplateItem)
21
+ const checklistTemplate = await tx.getRepository(ChecklistTemplate).findOneBy({ id: checklistTemplateId })
22
+
23
+ await checklistTemplateItemRepo.delete({ checklistTemplate: { id: checklistTemplateId } })
24
+
25
+ for (let i = 0; i < patches.length; i++) {
26
+ const result = await checklistTemplateItemRepo.save({
27
+ ...patches[i],
28
+ sequence: i,
29
+ checklistTemplate,
30
+ creator: user,
31
+ updater: user
32
+ })
33
+
34
+ results.push({ ...result, cuFlag: '+' })
35
+ }
36
+
37
+ return results
38
+ }
39
+
40
+ @Directive('@transaction')
41
+ @Mutation(returns => Boolean, { description: 'To delete ChecklistTemplateItem' })
42
+ async deleteChecklistTemplateItem(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
43
+ const { domain, tx } = context.state
44
+
45
+ await tx.getRepository(ChecklistTemplateItem).delete({ id })
46
+
47
+ return true
48
+ }
49
+
50
+ @Directive('@transaction')
51
+ @Mutation(returns => Boolean, { description: 'To delete multiple ChecklistTemplateItems' })
52
+ async deleteChecklistTemplateItems(
53
+ @Arg('ids', type => [String]) ids: string[],
54
+ @Ctx() context: ResolverContext
55
+ ): Promise<boolean> {
56
+ const { domain, tx } = context.state
57
+
58
+ await tx.getRepository(ChecklistTemplateItem).delete({
59
+ id: In(ids)
60
+ })
61
+
62
+ return true
63
+ }
64
+ }
@@ -0,0 +1,39 @@
1
+ import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { Attachment } from '@things-factory/attachment-base'
3
+ import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
4
+ import { User } from '@things-factory/auth-base'
5
+ import { ChecklistTemplateItem } from './checklist-template-item'
6
+ import { ChecklistTemplateItemList } from './checklist-template-item-type'
7
+
8
+ @Resolver(ChecklistTemplateItem)
9
+ export class ChecklistTemplateItemQuery {
10
+ @Query(returns => ChecklistTemplateItem!, { nullable: true, description: 'To fetch a ChecklistTemplateItem' })
11
+ async checklistTemplateItem(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<ChecklistTemplateItem> {
12
+ return await getRepository(ChecklistTemplateItem).findOne({
13
+ where: { id }
14
+ })
15
+ }
16
+
17
+ @Query(returns => ChecklistTemplateItemList, { description: 'To fetch multiple ChecklistTemplateItems' })
18
+ async checklistTemplateItems(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ChecklistTemplateItemList> {
19
+ const queryBuilder = getQueryBuilderFromListParams({
20
+ params,
21
+ repository: await getRepository(ChecklistTemplateItem),
22
+ searchables: ['name', 'description']
23
+ })
24
+
25
+ const [items, total] = await queryBuilder.getManyAndCount()
26
+
27
+ return { items, total }
28
+ }
29
+
30
+ @FieldResolver(type => User)
31
+ async updater(@Root() checklistTemplateItem: ChecklistTemplateItem): Promise<User> {
32
+ return await getRepository(User).findOneBy({ id: checklistTemplateItem.updaterId })
33
+ }
34
+
35
+ @FieldResolver(type => User)
36
+ async creator(@Root() checklistTemplateItem: ChecklistTemplateItem): Promise<User> {
37
+ return await getRepository(User).findOneBy({ id: checklistTemplateItem.creatorId })
38
+ }
39
+ }
@@ -0,0 +1,39 @@
1
+ import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'
2
+ import { ChecklistTemplateItem } from './checklist-template-item'
3
+ import { ChecklistTypeMainType } from '../checklist-type/checklist-type'
4
+
5
+ @InputType()
6
+ export class ChecklistTemplateItemPatch {
7
+ @Field(type => ID, { nullable: true })
8
+ id?: string
9
+
10
+ @Field({ nullable: true })
11
+ name?: string
12
+
13
+ @Field({ nullable: true })
14
+ inspctionCriteria?: string
15
+
16
+ @Field(type => Int, { nullable: true })
17
+ sequence?: number
18
+
19
+ @Field({ nullable: true })
20
+ mainType?: ChecklistTypeMainType
21
+
22
+ @Field({ nullable: true })
23
+ detailType?: string
24
+
25
+ @Field({ nullable: true })
26
+ checklistTemplateId?: string
27
+
28
+ @Field({ nullable: true })
29
+ cuFlag?: string
30
+ }
31
+
32
+ @ObjectType()
33
+ export class ChecklistTemplateItemList {
34
+ @Field(type => [ChecklistTemplateItem])
35
+ items: ChecklistTemplateItem[]
36
+
37
+ @Field(type => Int)
38
+ total: number
39
+ }
@@ -0,0 +1,67 @@
1
+ import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'
2
+ import { ObjectType, Field, ID, Int } from 'type-graphql'
3
+
4
+ import { User } from '@things-factory/auth-base'
5
+ import { ChecklistTemplate } from '../checklist-template/checklist-template'
6
+ import { ChecklistTypeMainType } from '../checklist-type/checklist-type'
7
+
8
+ @Entity({ comment: '체크리스트 템플릿 아이템' })
9
+ @Index('ix_checklist_template_item_0', (checklistTemplateItem: ChecklistTemplateItem) => [checklistTemplateItem.name], {
10
+ unique: true
11
+ })
12
+ @ObjectType()
13
+ export class ChecklistTemplateItem {
14
+ @PrimaryGeneratedColumn('uuid')
15
+ @Field(type => ID)
16
+ readonly id: string
17
+
18
+ @Column({ nullable: false, comment: '검사 항목' })
19
+ @Field({ nullable: false })
20
+ name: string
21
+
22
+ @Column({ nullable: true, comment: '검사 기준' })
23
+ @Field({ nullable: true })
24
+ inspctionCriteria?: string
25
+
26
+ @Column({ nullable: true, comment: '시퀀스' })
27
+ @Field(type => Int, { nullable: true })
28
+ sequence?: number
29
+
30
+ @Column({ nullable: false, comment: '메인 구분 (10: 기본 업무, 20: 기본 외 업무)' })
31
+ @Field({ nullable: false })
32
+ mainType: ChecklistTypeMainType
33
+
34
+ @Column({ nullable: false, comment: '상세 구분' })
35
+ @Field({ nullable: false })
36
+ detailType: string
37
+
38
+ // 체크리스트 템플릿 정보 (상위 테이블 참조)
39
+ @ManyToOne(type => ChecklistTemplate)
40
+ @Field(type => ChecklistTemplate, { nullable: true })
41
+ checklistTemplate?: ChecklistTemplate
42
+
43
+ @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.checklistTemplate)
44
+ checklistTemplateId?: string
45
+
46
+ @CreateDateColumn()
47
+ @Field({ nullable: true })
48
+ createdAt?: Date
49
+
50
+ @UpdateDateColumn()
51
+ @Field({ nullable: true })
52
+ updatedAt?: Date
53
+
54
+ @ManyToOne(type => User, { nullable: true })
55
+ @Field(type => User, { nullable: true })
56
+ creator?: User
57
+
58
+ @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.creator)
59
+ creatorId?: string
60
+
61
+ @ManyToOne(type => User, { nullable: true })
62
+ @Field(type => User, { nullable: true })
63
+ updater?: User
64
+
65
+ @RelationId((checklistTemplateItem: ChecklistTemplateItem) => checklistTemplateItem.updater)
66
+ updaterId?: string
67
+ }
@@ -0,0 +1,6 @@
1
+ import { ChecklistTemplateItem } from './checklist-template-item'
2
+ import { ChecklistTemplateItemQuery } from './checklist-template-item-query'
3
+ import { ChecklistTemplateItemMutation } from './checklist-template-item-mutation'
4
+
5
+ export const entities = [ChecklistTemplateItem]
6
+ export const resolvers = [ChecklistTemplateItemQuery, ChecklistTemplateItemMutation]
@@ -0,0 +1,66 @@
1
+ import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
2
+ import { In } from 'typeorm'
3
+ import { ChecklistType } from './checklist-type'
4
+ import { ChecklistTypePatch } from './checklist-type-type'
5
+
6
+ @Resolver(ChecklistType)
7
+ export class ChecklistTypeMutation {
8
+ @Directive('@transaction')
9
+ @Mutation(returns => [ChecklistType], { description: "To modify multiple ChecklistTypes' information" })
10
+ async updateMultipleChecklistType(
11
+ @Arg('patches', type => [ChecklistTypePatch]) patches: ChecklistTypePatch[],
12
+ @Ctx() context: ResolverContext
13
+ ): Promise<ChecklistType[]> {
14
+ const { domain, user, tx } = context.state
15
+
16
+ let results = []
17
+ const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
18
+ const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
19
+ const checklistTypeRepo = tx.getRepository(ChecklistType)
20
+
21
+ if (_createRecords.length > 0) {
22
+ for (let i = 0; i < _createRecords.length; i++) {
23
+ const newRecord = _createRecords[i]
24
+
25
+ const result = await checklistTypeRepo.save({
26
+ ...newRecord,
27
+ domain,
28
+ creator: user,
29
+ updater: user
30
+ })
31
+
32
+ results.push({ ...result, cuFlag: '+' })
33
+ }
34
+ }
35
+
36
+ if (_updateRecords.length > 0) {
37
+ for (let i = 0; i < _updateRecords.length; i++) {
38
+ const updateRecord = _updateRecords[i]
39
+ const checklistType = await checklistTypeRepo.findOneBy({ id: updateRecord.id })
40
+
41
+ const result = await checklistTypeRepo.save({
42
+ ...checklistType,
43
+ ...updateRecord,
44
+ updater: user
45
+ })
46
+
47
+ results.push({ ...result, cuFlag: 'M' })
48
+ }
49
+ }
50
+
51
+ return results
52
+ }
53
+
54
+ @Directive('@transaction')
55
+ @Mutation(returns => Boolean, { description: 'To delete multiple ChecklistTypes' })
56
+ async deleteChecklistTypes(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {
57
+ const { domain, tx } = context.state
58
+
59
+ await tx.getRepository(ChecklistType).delete({
60
+ domain: { id: domain.id },
61
+ id: In(ids)
62
+ })
63
+
64
+ return true
65
+ }
66
+ }
@@ -0,0 +1,39 @@
1
+ import { Resolver, Query, FieldResolver, Root, Args, Ctx } from 'type-graphql'
2
+ import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
3
+ import { User } from '@things-factory/auth-base'
4
+ import { ChecklistType } from './checklist-type'
5
+ import { ChecklistTypeList } from './checklist-type-type'
6
+
7
+ @Resolver(ChecklistType)
8
+ export class ChecklistTypeQuery {
9
+ @Query(returns => ChecklistTypeList, { description: 'To fetch multiple ChecklistTypes' })
10
+ async checklistTypes(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<ChecklistTypeList> {
11
+ const { domain } = context.state
12
+
13
+ const queryBuilder = getQueryBuilderFromListParams({
14
+ domain,
15
+ params,
16
+ repository: await getRepository(ChecklistType),
17
+ searchables: ['name']
18
+ })
19
+
20
+ const [items, total] = await queryBuilder.getManyAndCount()
21
+
22
+ return { items, total }
23
+ }
24
+
25
+ @FieldResolver(type => Domain)
26
+ async domain(@Root() checklistType: ChecklistType): Promise<Domain> {
27
+ return await getRepository(Domain).findOneBy({ id: checklistType.domainId })
28
+ }
29
+
30
+ @FieldResolver(type => User)
31
+ async updater(@Root() checklistType: ChecklistType): Promise<User> {
32
+ return await getRepository(User).findOneBy({ id: checklistType.updaterId })
33
+ }
34
+
35
+ @FieldResolver(type => User)
36
+ async creator(@Root() checklistType: ChecklistType): Promise<User> {
37
+ return await getRepository(User).findOneBy({ id: checklistType.creatorId })
38
+ }
39
+ }
@@ -0,0 +1,26 @@
1
+ import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'
2
+ import { ChecklistType, ChecklistTypeMainType } from './checklist-type'
3
+
4
+ @InputType()
5
+ export class ChecklistTypePatch {
6
+ @Field(type => ID, { nullable: true })
7
+ id?: string
8
+
9
+ @Field({ nullable: true })
10
+ mainType: ChecklistTypeMainType
11
+
12
+ @Field({ nullable: true })
13
+ detailType: string
14
+
15
+ @Field({ nullable: true })
16
+ cuFlag?: string
17
+ }
18
+
19
+ @ObjectType()
20
+ export class ChecklistTypeList {
21
+ @Field(type => [ChecklistType])
22
+ items: ChecklistType[]
23
+
24
+ @Field(type => Int)
25
+ total: number
26
+ }
@@ -0,0 +1,64 @@
1
+ import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn } from 'typeorm'
2
+ import { ObjectType, Field, ID, registerEnumType } from 'type-graphql'
3
+ import { Domain } from '@things-factory/shell'
4
+ import { User } from '@things-factory/auth-base'
5
+
6
+ export enum ChecklistTypeMainType {
7
+ BASIC = '10',
8
+ NON_BASIC = '20'
9
+ }
10
+
11
+ registerEnumType(ChecklistTypeMainType, {
12
+ name: 'ChecklistTypeMainType',
13
+ description: '체크리스트 구분 메인 구분'
14
+ })
15
+
16
+ @Entity({ comment: '체크리스트 구분' })
17
+ @Index(
18
+ 'ix_checklist_type_0',
19
+ (checklistType: ChecklistType) => [checklistType.domain, checklistType.mainType, checklistType.detailType],
20
+ { unique: true }
21
+ )
22
+ @ObjectType()
23
+ export class ChecklistType {
24
+ @PrimaryGeneratedColumn('uuid')
25
+ @Field(type => ID)
26
+ readonly id: string
27
+
28
+ @ManyToOne(type => Domain)
29
+ @Field({ nullable: true })
30
+ domain?: Domain
31
+
32
+ @RelationId((checklistType: ChecklistType) => checklistType.domain)
33
+ domainId?: string
34
+
35
+ @Column({ nullable: false, comment: '메인 구분 (10: 기본 업무, 20: 기본 외 업무)' })
36
+ @Field({ nullable: false })
37
+ mainType: ChecklistTypeMainType
38
+
39
+ @Column({ nullable: false, comment: '상세 구분' })
40
+ @Field({ nullable: false })
41
+ detailType: string
42
+
43
+ @CreateDateColumn()
44
+ @Field({ nullable: true })
45
+ createdAt?: Date
46
+
47
+ @UpdateDateColumn()
48
+ @Field({ nullable: true })
49
+ updatedAt?: Date
50
+
51
+ @ManyToOne(type => User, { nullable: true })
52
+ @Field(type => User, { nullable: true })
53
+ creator?: User
54
+
55
+ @RelationId((checklistType: ChecklistType) => checklistType.creator)
56
+ creatorId?: string
57
+
58
+ @ManyToOne(type => User, { nullable: true })
59
+ @Field(type => User, { nullable: true })
60
+ updater?: User
61
+
62
+ @RelationId((checklistType: ChecklistType) => checklistType.updater)
63
+ updaterId?: string
64
+ }
@@ -0,0 +1,6 @@
1
+ import { ChecklistType } from './checklist-type'
2
+ import { ChecklistTypeQuery } from './checklist-type-query'
3
+ import { ChecklistTypeMutation } from './checklist-type-mutation'
4
+
5
+ export const entities = [ChecklistType]
6
+ export const resolvers = [ChecklistTypeQuery, ChecklistTypeMutation]
@@ -1,42 +1,79 @@
1
1
  /* EXPORT ENTITY TYPES */
2
2
  export * from './action-plan/action-plan'
3
3
  export * from './issue/issue'
4
- export * from './check-item/check-item'
5
4
  export * from './project-report/project-report'
6
5
  export * from './supervisor/supervisor'
6
+ export * from './checklist-type/checklist-type'
7
+ export * from './checklist/checklist'
8
+ export * from './checklist-item/checklist-item'
9
+ export * from './checklist-template/checklist-template'
10
+ export * from './checklist-template-item/checklist-template-item'
11
+ export * from './building-inspection/building-inspection'
7
12
 
8
13
  /* IMPORT ENTITIES AND RESOLVERS */
9
- import { entities as ActionPlanEntities, resolvers as ActionPlanResolvers, subscribers as ActionPlanSubscribers } from './action-plan'
14
+ import {
15
+ entities as ActionPlanEntities,
16
+ resolvers as ActionPlanResolvers,
17
+ subscribers as ActionPlanSubscribers
18
+ } from './action-plan'
10
19
  import { entities as IssueEntities, resolvers as IssueResolvers, subscribers as IssueSubscribers } from './issue'
11
- import { entities as CheckItemEntities, resolvers as CheckItemResolvers, subscribers as CheckItemSubscribers } from './check-item'
12
- import { entities as ProjectReportEntities, resolvers as ProjectReportResolvers, subscribers as ProjectReportSubscribers } from './project-report'
13
- import { entities as SupervisorEntities, resolvers as SupervisorResolvers, subscribers as SupervisorSubscribers } from './supervisor'
20
+ import {
21
+ entities as ProjectReportEntities,
22
+ resolvers as ProjectReportResolvers,
23
+ subscribers as ProjectReportSubscribers
24
+ } from './project-report'
25
+ import {
26
+ entities as SupervisorEntities,
27
+ resolvers as SupervisorResolvers,
28
+ subscribers as SupervisorSubscribers
29
+ } from './supervisor'
30
+ import { entities as ChecklistEntities, resolvers as ChecklistResolvers, subscribers as ChecklistSubscribers } from './checklist'
31
+ import { entities as ChecklistItemEntities, resolvers as ChecklistItemResolvers } from './checklist-item'
32
+ import { entities as ChecklistTypeEntities, resolvers as ChecklistTypeResolvers } from './checklist-type'
33
+ import { entities as ChecklistTemplateEntities, resolvers as ChecklistTemplateResolvers } from './checklist-template'
34
+ import { entities as ChecklistTemplateItemEntities, resolvers as ChecklistTemplateItemResolvers } from './checklist-template-item'
35
+ import {
36
+ entities as BuildingInspectionEntities,
37
+ resolvers as BuildingInspectionResolvers,
38
+ subscribers as BuildingInspectionSubscribers
39
+ } from './building-inspection'
14
40
 
15
- export const entities = [
41
+ export const entities = [
16
42
  /* ENTITIES */
17
- ...ActionPlanEntities,
18
- ...IssueEntities,
19
- ...CheckItemEntities,
20
- ...ProjectReportEntities,
21
- ...SupervisorEntities,
22
- ]
43
+ ...ActionPlanEntities,
44
+ ...IssueEntities,
45
+ ...ProjectReportEntities,
46
+ ...SupervisorEntities,
47
+ ...ChecklistEntities,
48
+ ...ChecklistItemEntities,
49
+ ...ChecklistTypeEntities,
50
+ ...ChecklistTemplateItemEntities,
51
+ ...ChecklistTemplateEntities,
52
+ ...BuildingInspectionEntities
53
+ ]
23
54
 
24
55
  export const subscribers = [
25
56
  /* SUBSCRIBERS */
26
- ...ActionPlanSubscribers,
27
- ...IssueSubscribers,
28
- ...CheckItemSubscribers,
29
- ...ProjectReportSubscribers,
30
- ...SupervisorSubscribers,
57
+ ...ActionPlanSubscribers,
58
+ ...IssueSubscribers,
59
+ ...ProjectReportSubscribers,
60
+ ...SupervisorSubscribers,
61
+ ...BuildingInspectionSubscribers,
62
+ ...ChecklistSubscribers
31
63
  ]
32
64
 
33
65
  export const schema = {
34
66
  resolverClasses: [
35
67
  /* RESOLVER CLASSES */
36
- ...ActionPlanResolvers,
37
- ...IssueResolvers,
38
- ...CheckItemResolvers,
39
- ...ProjectReportResolvers,
40
- ...SupervisorResolvers,
41
- ]
68
+ ...ActionPlanResolvers,
69
+ ...IssueResolvers,
70
+ ...ProjectReportResolvers,
71
+ ...SupervisorResolvers,
72
+ ...ChecklistResolvers,
73
+ ...ChecklistItemResolvers,
74
+ ...ChecklistTypeResolvers,
75
+ ...ChecklistTemplateItemResolvers,
76
+ ...ChecklistTemplateResolvers,
77
+ ...BuildingInspectionResolvers
78
+ ]
42
79
  }
@@ -15,8 +15,7 @@ import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
15
15
 
16
16
  import { Domain } from '@things-factory/shell'
17
17
  import { User } from '@things-factory/auth-base'
18
- import { CheckItem } from 'service/check-item/check-item'
19
- import { ActionPlan } from 'service/action-plan/action-plan'
18
+ import { ActionPlan } from '../action-plan/action-plan'
20
19
 
21
20
  export enum IssueStatus {
22
21
  STATUS_A = 'STATUS_A',
@@ -66,10 +65,6 @@ export class Issue {
66
65
  @Field({ nullable: true })
67
66
  params?: string
68
67
 
69
- @Field(() => CheckItem)
70
- @ManyToOne(() => CheckItem, checkItem => checkItem.issues)
71
- checkItem: CheckItem
72
-
73
68
  @Field(() => [ActionPlan])
74
69
  @OneToMany(() => ActionPlan, actionPlan => actionPlan.issue)
75
70
  actionPlans: ActionPlan[]
@@ -15,8 +15,7 @@ import { ObjectType, Field, Int, ID, registerEnumType } from 'type-graphql'
15
15
 
16
16
  import { Domain } from '@things-factory/shell'
17
17
  import { User } from '@things-factory/auth-base'
18
- import { ProjectReport } from 'service/project-report/project-report'
19
- import { CheckItem } from 'service/check-item/check-item'
18
+ import { ProjectReport } from '../project-report/project-report'
20
19
 
21
20
  export enum SupervisorStatus {
22
21
  STATUS_A = 'STATUS_A',
@@ -78,10 +77,6 @@ export class Supervisor {
78
77
  @OneToMany(() => ProjectReport, report => report.supervisor)
79
78
  reports: ProjectReport[]
80
79
 
81
- @Field(() => [CheckItem])
82
- @OneToMany(() => CheckItem, checkItem => checkItem.supervisor)
83
- checkItems: CheckItem[]
84
-
85
80
  @CreateDateColumn()
86
81
  @Field({ nullable: true })
87
82
  createdAt?: Date
@@ -4,12 +4,16 @@ import bootstrap from './dist-client/bootstrap'
4
4
  export default {
5
5
  route,
6
6
  routes: [
7
- { tagname: 'supervision-main', page: 'supervision-main' },
8
- { tagname: 'supervisor-list-page', page: 'supervisor-list' },
9
- { tagname: 'project-report-list-page', page: 'project-report-list' },
10
- { tagname: 'check-item-list-page', page: 'check-item-list' },
11
- { tagname: 'issue-list-page', page: 'issue-list' },
12
- { tagname: 'action-plan-list-page', page: 'action-plan-list' }
13
- ],
7
+ 'checklist-template-list', // 체크리스트 템플릿
8
+ 'checklist-type-management', // 체크리스트 구분 관리
9
+ 'building-inspection-list', // 검측 현황
10
+ 'building-inspection-detail-drawing', // 층 검측 상세 - 검측 도면
11
+ 'building-inspection-detail-checklist', // 층 검측 상세 - 검측 체크리스트
12
+ ].map(page => {
13
+ return {
14
+ page,
15
+ tagname: page
16
+ }
17
+ }),
14
18
  bootstrap
15
19
  }