@dssp/supervision 0.0.9 → 0.0.10

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 +186 -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 +443 -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 +21 -0
  12. package/dist-client/pages/building-inspection/building-inspection-detail-checklist.js +187 -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 +434 -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 +8 -0
  49. package/dist-server/service/building-inspection/building-inspection-mutation.js +148 -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 +43 -0
  55. package/dist-server/service/building-inspection/building-inspection-type.js +153 -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 +25 -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 +147 -0
  163. package/server/service/building-inspection/building-inspection-query.ts +202 -0
  164. package/server/service/building-inspection/building-inspection-type.ts +101 -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 +59 -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,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,78 @@
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 } 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
31
62
  ]
32
63
 
33
64
  export const schema = {
34
65
  resolverClasses: [
35
66
  /* RESOLVER CLASSES */
36
- ...ActionPlanResolvers,
37
- ...IssueResolvers,
38
- ...CheckItemResolvers,
39
- ...ProjectReportResolvers,
40
- ...SupervisorResolvers,
41
- ]
67
+ ...ActionPlanResolvers,
68
+ ...IssueResolvers,
69
+ ...ProjectReportResolvers,
70
+ ...SupervisorResolvers,
71
+ ...ChecklistResolvers,
72
+ ...ChecklistItemResolvers,
73
+ ...ChecklistTypeResolvers,
74
+ ...ChecklistTemplateItemResolvers,
75
+ ...ChecklistTemplateResolvers,
76
+ ...BuildingInspectionResolvers
77
+ ]
42
78
  }
@@ -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
  }
@@ -1,94 +0,0 @@
1
- import '@material/web/button/elevated-button.js'
2
- import '@operato/data-grist'
3
-
4
- import gql from 'graphql-tag'
5
- import { css, html, LitElement } from 'lit'
6
- import { property, state } from 'lit/decorators.js'
7
-
8
- import { client } from '@operato/graphql'
9
- import { i18next } from '@operato/i18n'
10
- import { isMobileDevice } from '@operato/utils'
11
-
12
- export class CheckItemImporter extends LitElement {
13
- static styles = [
14
- css`
15
- :host {
16
- display: flex;
17
- flex-direction: column;
18
-
19
- background-color: #fff;
20
- }
21
-
22
- ox-grist {
23
- flex: 1;
24
- }
25
-
26
- .button-container {
27
- display: flex;
28
- margin-left: auto;
29
- padding: var(--padding-default);
30
- }
31
-
32
- md-elevated-button {
33
- margin-left: var(--margin-default);
34
- }
35
- `
36
- ]
37
-
38
- @state() private checkItems: any[] = []
39
- @state() private columns = {
40
- list: { fields: ['name', 'description'] },
41
- pagination: { infinite: true },
42
- columns: [
43
- {
44
- type: 'string',
45
- name: 'name',
46
- header: i18next.t('field.name'),
47
- width: 150
48
- },
49
- {
50
- type: 'string',
51
- name: 'description',
52
- header: i18next.t('field.description'),
53
- width: 200
54
- },
55
- {
56
- type: 'checkbox',
57
- name: 'active',
58
- header: i18next.t('field.active'),
59
- width: 60
60
- }
61
- ]
62
- }
63
-
64
- render() {
65
- return html`
66
- <ox-grist
67
- .mode=${isMobileDevice() ? 'LIST' : 'GRID'}
68
- .config=${this.columns}
69
- .data=${{
70
- records: this.checkItems
71
- }}
72
- ></ox-grist>
73
-
74
- <div class="button-container">
75
- <md-elevated-button raised @click="${this.save.bind(this)}">${i18next.t('button.save')}</md-elevated-button>
76
- </div>
77
- `
78
- }
79
-
80
- private async save() {
81
- const response = await client.mutate({
82
- mutation: gql`
83
- mutation importCheckItems($checkItems: [CheckItemPatch!]!) {
84
- importCheckItems(checkItems: $checkItems)
85
- }
86
- `,
87
- variables: { checkItems: this.checkItems }
88
- })
89
-
90
- if (response.errors?.length) return
91
-
92
- this.dispatchEvent(new CustomEvent('imported'))
93
- }
94
- }