@things-factory/id-rule-base 7.0.1-beta.14 → 7.0.1-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@things-factory/id-rule-base",
3
- "version": "7.0.1-beta.14",
3
+ "version": "7.0.1-beta.22",
4
4
  "main": "dist-server/index.js",
5
5
  "browser": "dist-client/index.js",
6
6
  "things-factory": true,
@@ -29,9 +29,9 @@
29
29
  "dependencies": {
30
30
  "@operato/data-grist": "^2.0.0-beta.0",
31
31
  "@operato/input": "^2.0.0-beta.0",
32
- "@things-factory/i18n-base": "^7.0.1-beta.14",
33
- "@things-factory/setting-base": "^7.0.1-beta.14",
34
- "@things-factory/shell": "^7.0.1-beta.14"
32
+ "@things-factory/i18n-base": "^7.0.1-beta.22",
33
+ "@things-factory/setting-base": "^7.0.1-beta.22",
34
+ "@things-factory/shell": "^7.0.1-beta.22"
35
35
  },
36
- "gitHead": "f98cf5cb94295657c43465d39cf55162f5566c59"
36
+ "gitHead": "60c6bc4d55359465636a549687fc3e3f03d44a18"
37
37
  }
@@ -1,4 +1,3 @@
1
-
2
1
  import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx, Directive } from 'type-graphql'
3
2
  import { ListParam, convertListParams, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'
4
3
  import { DocNumber } from './doc-number'
@@ -7,7 +6,6 @@ import { DocNumberList } from './doc-number-type'
7
6
  import { User } from '@things-factory/auth-base'
8
7
  import { Domain } from '@things-factory/shell'
9
8
 
10
-
11
9
  @Resolver(DocNumber)
12
10
  export class DocNumberQuery {
13
11
  @Query(returns => DocNumber, { description: 'To fetch a DocNumber' })
@@ -19,7 +17,7 @@ export class DocNumberQuery {
19
17
  }
20
18
 
21
19
  @Query(returns => DocNumberList, { description: 'To fetch multiple DocNumbers' })
22
- async docNumbers(@Args() params: ListParam, @Ctx() context: any): Promise<DocNumberList> {
20
+ async docNumbers(@Args(type => ListParam) params: ListParam, @Ctx() context: any): Promise<DocNumberList> {
23
21
  const { domain } = context.state
24
22
 
25
23
  const queryBuilder = getQueryBuilderFromListParams({
@@ -43,21 +41,21 @@ export class DocNumberQuery {
43
41
  })
44
42
 
45
43
  // 2. find one by code - TODO by Lock
46
- if(docNumber == null) {
44
+ if (docNumber == null) {
47
45
  docNumber = await getRepository(DocNumber).findOne({
48
- where: { domain: { id: domain.id }, code : id }
46
+ where: { domain: { id: domain.id }, code: id }
49
47
  })
50
48
  }
51
49
 
52
50
  // 3. TODO throw exception
53
- if(docNumber == null) {
51
+ if (docNumber == null) {
54
52
  return null
55
- }
53
+ }
56
54
 
57
55
  // 4. 시퀀스 증가
58
56
  let newDocNum = docNumber.currentNo
59
57
 
60
- if(docNumber.useDbSeqFlag) {
58
+ if (docNumber.useDbSeqFlag) {
61
59
  // TODO DATABASE SEQUENCE 호출
62
60
  newDocNum += 1
63
61
  } else {
@@ -65,14 +63,14 @@ export class DocNumberQuery {
65
63
  }
66
64
 
67
65
  // 5. 문서 번호 expression 구성
68
- if(!docNumber.expression) {
66
+ if (!docNumber.expression) {
69
67
  docNumber.updateExpression()
70
68
  }
71
69
 
72
- let expression = docNumber.expression
70
+ let expression = docNumber.expression
73
71
 
74
72
  // 6. 시퀀스 번호 사이클 처리
75
- if(newDocNum > docNumber.endNo) {
73
+ if (newDocNum > docNumber.endNo) {
76
74
  newDocNum = docNumber.startNo
77
75
  }
78
76
 
@@ -82,37 +80,35 @@ export class DocNumberQuery {
82
80
  let docNoDigit = docNumber.seqDigitNum ? docNumber.seqDigitNum : 1
83
81
 
84
82
  // 8. 시퀀스 번호가 시퀀스 번호 사이즈보다 작은 경우 앞에 0을 붙임
85
- if(docNoDigit > docNumLength) {
83
+ if (docNoDigit > docNumLength) {
86
84
  let addZeroCnt = docNoDigit - docNumLength
87
- for(let i = 0 ; i < addZeroCnt ; i++) {
85
+ for (let i = 0; i < addZeroCnt; i++) {
88
86
  newDocNoStr = '0' + newDocNoStr
89
87
  }
90
- }
88
+ }
91
89
 
92
90
  // 9. 문서 번호 구성
93
91
  let newDocNumber = expression.replace('${SEQ}', newDocNoStr)
94
92
  let docUpdateInterval = docNumber.updateInterval
95
- if(docUpdateInterval && docUpdateInterval != 'NONE') {
96
- const today = new Date();
97
- let todayStr = today.getFullYear() + (today.getMonth() > 9 ? '' + today.getMonth() + 1 : '0' + today.getMonth() + 1) + today.getDate()
93
+ if (docUpdateInterval && docUpdateInterval != 'NONE') {
94
+ const today = new Date()
95
+ let todayStr =
96
+ today.getFullYear() +
97
+ (today.getMonth() > 9 ? '' + today.getMonth() + 1 : '0' + today.getMonth() + 1) +
98
+ today.getDate()
98
99
  let intervalVal = ''
99
100
 
100
- if(docUpdateInterval == 'yy') {
101
+ if (docUpdateInterval == 'yy') {
101
102
  intervalVal = todayStr.substring(2, 4)
102
-
103
- } else if(docUpdateInterval == 'yyyy') {
103
+ } else if (docUpdateInterval == 'yyyy') {
104
104
  intervalVal = todayStr.substring(0, 4)
105
-
106
- } else if(docUpdateInterval == 'yyMM') {
105
+ } else if (docUpdateInterval == 'yyMM') {
107
106
  intervalVal = todayStr.substring(2, 6)
108
-
109
- } else if(docUpdateInterval == 'yyyyMM') {
107
+ } else if (docUpdateInterval == 'yyyyMM') {
110
108
  intervalVal = todayStr.substring(0, 6)
111
-
112
- } else if(docUpdateInterval == 'yyMMdd') {
109
+ } else if (docUpdateInterval == 'yyMMdd') {
113
110
  intervalVal = todayStr.substring(2, 8)
114
-
115
- } else if(docUpdateInterval == 'yyyyMMdd') {
111
+ } else if (docUpdateInterval == 'yyyyMMdd') {
116
112
  intervalVal = todayStr
117
113
  }
118
114
 
@@ -125,22 +121,22 @@ export class DocNumberQuery {
125
121
  docNumber.lastDocNumber = newDocNumber
126
122
  await getRepository(DocNumber).save(docNumber)
127
123
 
128
- // 11. 최종
124
+ // 11. 최종
129
125
  return docNumber
130
126
  }
131
127
 
132
128
  @FieldResolver(type => Domain)
133
129
  async domain(@Root() docNumber: DocNumber): Promise<Domain> {
134
- return await getRepository(Domain).findOneBy({id:docNumber.domainId})
130
+ return await getRepository(Domain).findOneBy({ id: docNumber.domainId })
135
131
  }
136
132
 
137
133
  @FieldResolver(type => User)
138
- async creator(@Root() docNumber: DocNumber): Promise<User> {
139
- return await getRepository(User).findOneBy({id:docNumber.creatorId})
134
+ async creator(@Root() docNumber: DocNumber): Promise<User> {
135
+ return await getRepository(User).findOneBy({ id: docNumber.creatorId })
140
136
  }
141
137
 
142
138
  @FieldResolver(type => User)
143
- async updater(@Root() docNumber: DocNumber): Promise<User> {
144
- return await getRepository(User).findOneBy({id:docNumber.updaterId})
139
+ async updater(@Root() docNumber: DocNumber): Promise<User> {
140
+ return await getRepository(User).findOneBy({ id: docNumber.updaterId })
145
141
  }
146
142
  }
@@ -1,4 +1,14 @@
1
- import { CreateDateColumn, UpdateDateColumn, Entity, Index, Column, RelationId, ManyToOne, PrimaryGeneratedColumn, BeforeInsert } from 'typeorm'
1
+ import {
2
+ CreateDateColumn,
3
+ UpdateDateColumn,
4
+ Entity,
5
+ Index,
6
+ Column,
7
+ RelationId,
8
+ ManyToOne,
9
+ PrimaryGeneratedColumn,
10
+ BeforeInsert
11
+ } from 'typeorm'
2
12
  import { ObjectType, Field, Int, ID } from 'type-graphql'
3
13
 
4
14
  import { User } from '@things-factory/auth-base'
@@ -80,14 +90,14 @@ export class DocNumber {
80
90
  domainId: string
81
91
 
82
92
  @ManyToOne(type => User, { createForeignKeyConstraints: false, nullable: true })
83
- @Field({ nullable: true })
93
+ @Field(type => User, { nullable: true })
84
94
  creator?: User
85
95
 
86
96
  @RelationId((docNumber: DocNumber) => docNumber.creator)
87
97
  creatorId?: string
88
98
 
89
99
  @ManyToOne(type => User, { createForeignKeyConstraints: false, nullable: true })
90
- @Field({ nullable: true })
100
+ @Field(type => User, { nullable: true })
91
101
  updater?: User
92
102
 
93
103
  @RelationId((docNumber: DocNumber) => docNumber.updater)