@things-factory/tax-invoice 6.2.84

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 (151) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/assets/images/hatiolab-logo.png +0 -0
  3. package/client/bootstrap.ts +0 -0
  4. package/client/index.ts +0 -0
  5. package/client/pages/main.ts +25 -0
  6. package/client/pages/tax-audit-result/tax-audit-result-importer.ts +97 -0
  7. package/client/pages/tax-audit-result/tax-audit-result-list-page.ts +355 -0
  8. package/client/pages/tax-invoice/tax-invoice-detail-popup.ts +424 -0
  9. package/client/pages/tax-invoice/tax-invoice-list-page.ts +517 -0
  10. package/client/pages/tax-invoice-api/tax-invoice-api-page.ts +428 -0
  11. package/client/pages/tax-invoice-company/tax-invoice-company-importer.ts +175 -0
  12. package/client/pages/tax-invoice-company/tax-invoice-company-list-page.ts +496 -0
  13. package/client/route.ts +23 -0
  14. package/client/tsconfig.json +11 -0
  15. package/dist-client/bootstrap.d.ts +0 -0
  16. package/dist-client/bootstrap.js +2 -0
  17. package/dist-client/bootstrap.js.map +1 -0
  18. package/dist-client/index.d.ts +0 -0
  19. package/dist-client/index.js +2 -0
  20. package/dist-client/index.js.map +1 -0
  21. package/dist-client/pages/main.d.ts +1 -0
  22. package/dist-client/pages/main.js +27 -0
  23. package/dist-client/pages/main.js.map +1 -0
  24. package/dist-client/pages/tax-audit-result/tax-audit-result-importer.d.ts +22 -0
  25. package/dist-client/pages/tax-audit-result/tax-audit-result-importer.js +100 -0
  26. package/dist-client/pages/tax-audit-result/tax-audit-result-importer.js.map +1 -0
  27. package/dist-client/pages/tax-audit-result/tax-audit-result-list-page.d.ts +62 -0
  28. package/dist-client/pages/tax-audit-result/tax-audit-result-list-page.js +331 -0
  29. package/dist-client/pages/tax-audit-result/tax-audit-result-list-page.js.map +1 -0
  30. package/dist-client/pages/tax-invoice/tax-invoice-detail-popup.d.ts +14 -0
  31. package/dist-client/pages/tax-invoice/tax-invoice-detail-popup.js +430 -0
  32. package/dist-client/pages/tax-invoice/tax-invoice-detail-popup.js.map +1 -0
  33. package/dist-client/pages/tax-invoice/tax-invoice-list-page.d.ts +70 -0
  34. package/dist-client/pages/tax-invoice/tax-invoice-list-page.js +500 -0
  35. package/dist-client/pages/tax-invoice/tax-invoice-list-page.js.map +1 -0
  36. package/dist-client/pages/tax-invoice-api/tax-invoice-api-page.d.ts +36 -0
  37. package/dist-client/pages/tax-invoice-api/tax-invoice-api-page.js +419 -0
  38. package/dist-client/pages/tax-invoice-api/tax-invoice-api-page.js.map +1 -0
  39. package/dist-client/pages/tax-invoice-company/tax-invoice-company-importer.d.ts +31 -0
  40. package/dist-client/pages/tax-invoice-company/tax-invoice-company-importer.js +182 -0
  41. package/dist-client/pages/tax-invoice-company/tax-invoice-company-importer.js.map +1 -0
  42. package/dist-client/pages/tax-invoice-company/tax-invoice-company-list-page.d.ts +57 -0
  43. package/dist-client/pages/tax-invoice-company/tax-invoice-company-list-page.js +477 -0
  44. package/dist-client/pages/tax-invoice-company/tax-invoice-company-list-page.js.map +1 -0
  45. package/dist-client/route.d.ts +1 -0
  46. package/dist-client/route.js +20 -0
  47. package/dist-client/route.js.map +1 -0
  48. package/dist-client/tsconfig.tsbuildinfo +1 -0
  49. package/dist-server/index.js +6 -0
  50. package/dist-server/index.js.map +1 -0
  51. package/dist-server/routes.js +25 -0
  52. package/dist-server/routes.js.map +1 -0
  53. package/dist-server/service/index.js +37 -0
  54. package/dist-server/service/index.js.map +1 -0
  55. package/dist-server/service/tax-audit-result/event-subscriber.js +21 -0
  56. package/dist-server/service/tax-audit-result/event-subscriber.js.map +1 -0
  57. package/dist-server/service/tax-audit-result/index.js +12 -0
  58. package/dist-server/service/tax-audit-result/index.js.map +1 -0
  59. package/dist-server/service/tax-audit-result/tax-audit-result-history.js +123 -0
  60. package/dist-server/service/tax-audit-result/tax-audit-result-history.js.map +1 -0
  61. package/dist-server/service/tax-audit-result/tax-audit-result-mutation.js +168 -0
  62. package/dist-server/service/tax-audit-result/tax-audit-result-mutation.js.map +1 -0
  63. package/dist-server/service/tax-audit-result/tax-audit-result-query.js +97 -0
  64. package/dist-server/service/tax-audit-result/tax-audit-result-query.js.map +1 -0
  65. package/dist-server/service/tax-audit-result/tax-audit-result-type.js +86 -0
  66. package/dist-server/service/tax-audit-result/tax-audit-result-type.js.map +1 -0
  67. package/dist-server/service/tax-audit-result/tax-audit-result.js +110 -0
  68. package/dist-server/service/tax-audit-result/tax-audit-result.js.map +1 -0
  69. package/dist-server/service/tax-invoice/index.js +9 -0
  70. package/dist-server/service/tax-invoice/index.js.map +1 -0
  71. package/dist-server/service/tax-invoice/tax-invoice-mutation.js +127 -0
  72. package/dist-server/service/tax-invoice/tax-invoice-mutation.js.map +1 -0
  73. package/dist-server/service/tax-invoice/tax-invoice-query.js +90 -0
  74. package/dist-server/service/tax-invoice/tax-invoice-query.js.map +1 -0
  75. package/dist-server/service/tax-invoice/tax-invoice-type.js +553 -0
  76. package/dist-server/service/tax-invoice/tax-invoice-type.js.map +1 -0
  77. package/dist-server/service/tax-invoice/tax-invoice.js +465 -0
  78. package/dist-server/service/tax-invoice/tax-invoice.js.map +1 -0
  79. package/dist-server/service/tax-invoice-api/index.js +9 -0
  80. package/dist-server/service/tax-invoice-api/index.js.map +1 -0
  81. package/dist-server/service/tax-invoice-api/tax-invoice-api-mutation.js +64 -0
  82. package/dist-server/service/tax-invoice-api/tax-invoice-api-mutation.js.map +1 -0
  83. package/dist-server/service/tax-invoice-api/tax-invoice-api-query.js +79 -0
  84. package/dist-server/service/tax-invoice-api/tax-invoice-api-query.js.map +1 -0
  85. package/dist-server/service/tax-invoice-api/tax-invoice-api-type.js +103 -0
  86. package/dist-server/service/tax-invoice-api/tax-invoice-api-type.js.map +1 -0
  87. package/dist-server/service/tax-invoice-api/tax-invoice-api.js +163 -0
  88. package/dist-server/service/tax-invoice-api/tax-invoice-api.js.map +1 -0
  89. package/dist-server/service/tax-invoice-company/index.js +9 -0
  90. package/dist-server/service/tax-invoice-company/index.js.map +1 -0
  91. package/dist-server/service/tax-invoice-company/tax-invoice-company-mutation.js +80 -0
  92. package/dist-server/service/tax-invoice-company/tax-invoice-company-mutation.js.map +1 -0
  93. package/dist-server/service/tax-invoice-company/tax-invoice-company-query.js +89 -0
  94. package/dist-server/service/tax-invoice-company/tax-invoice-company-query.js.map +1 -0
  95. package/dist-server/service/tax-invoice-company/tax-invoice-company-type.js +100 -0
  96. package/dist-server/service/tax-invoice-company/tax-invoice-company-type.js.map +1 -0
  97. package/dist-server/service/tax-invoice-company/tax-invoice-company.js +166 -0
  98. package/dist-server/service/tax-invoice-company/tax-invoice-company.js.map +1 -0
  99. package/dist-server/service/tax-invoice-item/index.js +9 -0
  100. package/dist-server/service/tax-invoice-item/index.js.map +1 -0
  101. package/dist-server/service/tax-invoice-item/tax-invoice-item-mutation.js +127 -0
  102. package/dist-server/service/tax-invoice-item/tax-invoice-item-mutation.js.map +1 -0
  103. package/dist-server/service/tax-invoice-item/tax-invoice-item-query.js +87 -0
  104. package/dist-server/service/tax-invoice-item/tax-invoice-item-query.js.map +1 -0
  105. package/dist-server/service/tax-invoice-item/tax-invoice-item-type.js +121 -0
  106. package/dist-server/service/tax-invoice-item/tax-invoice-item-type.js.map +1 -0
  107. package/dist-server/service/tax-invoice-item/tax-invoice-item.js +115 -0
  108. package/dist-server/service/tax-invoice-item/tax-invoice-item.js.map +1 -0
  109. package/dist-server/tsconfig.tsbuildinfo +1 -0
  110. package/helps/tax-invoice/tax-audit-result.md +160 -0
  111. package/helps/tax-invoice/tax-invoice-api.md +160 -0
  112. package/helps/tax-invoice/tax-invoice-send.md +160 -0
  113. package/helps/tax-invoice/tax-invoice.md +160 -0
  114. package/package.json +37 -0
  115. package/server/index.ts +2 -0
  116. package/server/routes.ts +28 -0
  117. package/server/service/index.ts +36 -0
  118. package/server/service/tax-audit-result/event-subscriber.ts +17 -0
  119. package/server/service/tax-audit-result/index.ts +9 -0
  120. package/server/service/tax-audit-result/tax-audit-result-history.ts +110 -0
  121. package/server/service/tax-audit-result/tax-audit-result-mutation.ts +198 -0
  122. package/server/service/tax-audit-result/tax-audit-result-query.ts +62 -0
  123. package/server/service/tax-audit-result/tax-audit-result-type.ts +61 -0
  124. package/server/service/tax-audit-result/tax-audit-result.ts +95 -0
  125. package/server/service/tax-invoice/index.ts +6 -0
  126. package/server/service/tax-invoice/tax-invoice-mutation.ts +122 -0
  127. package/server/service/tax-invoice/tax-invoice-query.ts +54 -0
  128. package/server/service/tax-invoice/tax-invoice-type.ts +411 -0
  129. package/server/service/tax-invoice/tax-invoice.ts +389 -0
  130. package/server/service/tax-invoice-api/index.ts +6 -0
  131. package/server/service/tax-invoice-api/tax-invoice-api-mutation.ts +67 -0
  132. package/server/service/tax-invoice-api/tax-invoice-api-query.ts +48 -0
  133. package/server/service/tax-invoice-api/tax-invoice-api-type.ts +71 -0
  134. package/server/service/tax-invoice-api/tax-invoice-api.ts +137 -0
  135. package/server/service/tax-invoice-company/index.ts +6 -0
  136. package/server/service/tax-invoice-company/tax-invoice-company-mutation.ts +84 -0
  137. package/server/service/tax-invoice-company/tax-invoice-company-query.ts +53 -0
  138. package/server/service/tax-invoice-company/tax-invoice-company-type.ts +69 -0
  139. package/server/service/tax-invoice-company/tax-invoice-company.ts +142 -0
  140. package/server/service/tax-invoice-item/index.ts +6 -0
  141. package/server/service/tax-invoice-item/tax-invoice-item-mutation.ts +128 -0
  142. package/server/service/tax-invoice-item/tax-invoice-item-query.ts +57 -0
  143. package/server/service/tax-invoice-item/tax-invoice-item-type.ts +86 -0
  144. package/server/service/tax-invoice-item/tax-invoice-item.ts +85 -0
  145. package/server/tsconfig.json +10 -0
  146. package/things-factory.config.js +23 -0
  147. package/translations/en.json +1 -0
  148. package/translations/ja.json +1 -0
  149. package/translations/ko.json +71 -0
  150. package/translations/ms.json +1 -0
  151. package/translations/zh.json +1 -0
@@ -0,0 +1,465 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaxInvoice = exports.BusinessRegistrationCategory = exports.RevisedReason = exports.Purpose = exports.InvoiceType = exports.Category = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const typeorm_1 = require("typeorm");
6
+ const type_graphql_1 = require("type-graphql");
7
+ const shell_1 = require("@things-factory/shell");
8
+ const shell_2 = require("@things-factory/shell");
9
+ const auth_base_1 = require("@things-factory/auth-base");
10
+ const tax_invoice_item_1 = require("../tax-invoice-item/tax-invoice-item");
11
+ var Category;
12
+ (function (Category) {
13
+ Category["EXPORT"] = "10";
14
+ Category["IMPORT"] = "20";
15
+ Category["NTS"] = "30"; // NTS
16
+ })(Category = exports.Category || (exports.Category = {}));
17
+ // 세금계산서 종류
18
+ var InvoiceType;
19
+ (function (InvoiceType) {
20
+ InvoiceType["GENERAL_TAX_INVOICE"] = "0101";
21
+ InvoiceType["ZERO_RATED_TAX_INVOICE"] = "0102";
22
+ InvoiceType["CONSIGNMENT_TAX_INVOICE"] = "0103";
23
+ InvoiceType["IMPORT__RATED_CONSIGNMENT_TAX_INVOICE"] = "0105";
24
+ InvoiceType["REVISED_GENERAL_TAX_INVOICE"] = "0201";
25
+ InvoiceType["REVISED_ZERORATED_TAX_INVOICE"] = "0202";
26
+ InvoiceType["REVISED_CONSIGNMENT_TAX_INVOICE"] = "0203";
27
+ InvoiceType["REVISED_IMPORT_TAX_INVOICE"] = "0204";
28
+ InvoiceType["REVISED_ZERORATED_CONSIGNMENT_TAX_INVOICE"] = "0205";
29
+ InvoiceType["GENERAL_INVOICE"] = "0301";
30
+ InvoiceType["CONSIGNMENT_INVOICE"] = "0303";
31
+ InvoiceType["IMPORT_INVOICE"] = "0304";
32
+ InvoiceType["REVISED_GENERAL_INVOICE"] = "0401";
33
+ InvoiceType["REVISED_CONSIGNMENT_INVOICE"] = "0403";
34
+ InvoiceType["REVISED_IMPORT_INVOICE"] = "0404"; // 수정 수입 계산서
35
+ })(InvoiceType = exports.InvoiceType || (exports.InvoiceType = {}));
36
+ // 세금계산서 영수/청구 구분 지시자
37
+ var Purpose;
38
+ (function (Purpose) {
39
+ Purpose["RECEIPT"] = "01";
40
+ Purpose["BILLING"] = "02"; // 청구
41
+ })(Purpose = exports.Purpose || (exports.Purpose = {}));
42
+ // 세금계산서 수정사유 코드
43
+ var RevisedReason;
44
+ (function (RevisedReason) {
45
+ RevisedReason["ENTRY_ERROR_CORRECTION"] = "01";
46
+ RevisedReason["SUPPLY_VALUE_CHANGE"] = "02";
47
+ RevisedReason["REVERSAL_ENTRY"] = "03";
48
+ RevisedReason["CONTRACT_CANCELLATION"] = "04";
49
+ RevisedReason["POST_FACTO_DOMESTIC_LC_ISSUANCE"] = "05";
50
+ RevisedReason["ERROR_BASED_DUPLICATE_ISSUANCE"] = "06"; // 착오에 의한 이중발급
51
+ })(RevisedReason = exports.RevisedReason || (exports.RevisedReason = {}));
52
+ // 세금계산서 공급받는자 사업자등록번호 구분코드
53
+ var BusinessRegistrationCategory;
54
+ (function (BusinessRegistrationCategory) {
55
+ BusinessRegistrationCategory["BUSINESS_REGISTRATION_NUMBER"] = "01";
56
+ BusinessRegistrationCategory["RESIDENT_REGISTRATION_NUMBER"] = "02";
57
+ BusinessRegistrationCategory["FOREIGNER_REGISTRATION_NUMBER"] = "03"; // 외국인등록번호
58
+ })(BusinessRegistrationCategory = exports.BusinessRegistrationCategory || (exports.BusinessRegistrationCategory = {}));
59
+ (0, type_graphql_1.registerEnumType)(Category, {
60
+ name: 'Category',
61
+ description: 'category'
62
+ });
63
+ (0, type_graphql_1.registerEnumType)(InvoiceType, {
64
+ name: 'InvoiceType',
65
+ description: 'invoice type'
66
+ });
67
+ (0, type_graphql_1.registerEnumType)(Purpose, {
68
+ name: 'Purpose',
69
+ description: 'purpose'
70
+ });
71
+ (0, type_graphql_1.registerEnumType)(RevisedReason, {
72
+ name: 'RevisedReason',
73
+ description: 'revised reason'
74
+ });
75
+ (0, type_graphql_1.registerEnumType)(BusinessRegistrationCategory, {
76
+ name: 'BusinessRegistrationCategory',
77
+ description: 'business registration category'
78
+ });
79
+ let TaxInvoice = class TaxInvoice {
80
+ constructor() {
81
+ this.version = 1;
82
+ }
83
+ };
84
+ tslib_1.__decorate([
85
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
86
+ (0, type_graphql_1.Field)(type => type_graphql_1.ID),
87
+ tslib_1.__metadata("design:type", String)
88
+ ], TaxInvoice.prototype, "id", void 0);
89
+ tslib_1.__decorate([
90
+ (0, typeorm_1.VersionColumn)(),
91
+ (0, type_graphql_1.Field)({ nullable: true }),
92
+ tslib_1.__metadata("design:type", Number)
93
+ ], TaxInvoice.prototype, "version", void 0);
94
+ tslib_1.__decorate([
95
+ (0, typeorm_1.ManyToOne)(type => shell_2.Domain),
96
+ (0, type_graphql_1.Field)({ nullable: true }),
97
+ tslib_1.__metadata("design:type", shell_2.Domain)
98
+ ], TaxInvoice.prototype, "domain", void 0);
99
+ tslib_1.__decorate([
100
+ (0, typeorm_1.RelationId)((taxInvoice) => taxInvoice.domain),
101
+ tslib_1.__metadata("design:type", String)
102
+ ], TaxInvoice.prototype, "domainId", void 0);
103
+ tslib_1.__decorate([
104
+ (0, typeorm_1.OneToMany)(type => tax_invoice_item_1.TaxInvoiceItem, taxInvoiceItem => taxInvoiceItem.taxInvoice),
105
+ (0, type_graphql_1.Field)(type => [tax_invoice_item_1.TaxInvoiceItem], { nullable: true }),
106
+ tslib_1.__metadata("design:type", Array)
107
+ ], TaxInvoice.prototype, "taxInvoiceItems", void 0);
108
+ tslib_1.__decorate([
109
+ (0, typeorm_1.Column)({ nullable: true, comment: '이름' }),
110
+ (0, type_graphql_1.Field)({ nullable: true, description: '이름' }),
111
+ tslib_1.__metadata("design:type", String)
112
+ ], TaxInvoice.prototype, "name", void 0);
113
+ tslib_1.__decorate([
114
+ (0, typeorm_1.Column)({ nullable: false, comment: '세금계산서 구분 (매출: 10, 매입: 20, NTS: 30)' }),
115
+ (0, type_graphql_1.Field)({ nullable: false, description: '세금계산서 구분 (매출: 10, 매입: 20, NTS: 30)' }),
116
+ tslib_1.__metadata("design:type", String)
117
+ ], TaxInvoice.prototype, "category", void 0);
118
+ tslib_1.__decorate([
119
+ (0, typeorm_1.Column)({ nullable: true, comment: '승인 번호' }),
120
+ (0, type_graphql_1.Field)({ nullable: true, description: '승인 번호' }),
121
+ tslib_1.__metadata("design:type", String)
122
+ ], TaxInvoice.prototype, "approvalNo", void 0);
123
+ tslib_1.__decorate([
124
+ (0, typeorm_1.Column)({ nullable: true, comment: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' }),
125
+ (0, type_graphql_1.Field)({ nullable: true, description: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' }),
126
+ tslib_1.__metadata("design:type", String)
127
+ ], TaxInvoice.prototype, "originalApprovalNo", void 0);
128
+ tslib_1.__decorate([
129
+ (0, typeorm_1.Column)({ nullable: false, comment: '세금계산서 작성 일자 (YYYYMMDD)' }),
130
+ (0, type_graphql_1.Field)({ nullable: false, description: '세금계산서 작성 일자 (YYYYMMDD)' }),
131
+ tslib_1.__metadata("design:type", String)
132
+ ], TaxInvoice.prototype, "issueDate", void 0);
133
+ tslib_1.__decorate([
134
+ (0, typeorm_1.Column)({ nullable: true, comment: '세금계산서 전자 서명 일자 (YYYYMMDD)' }),
135
+ (0, type_graphql_1.Field)({ nullable: true, description: '세금계산서 전자 서명 일자 (YYYYMMDD)' }),
136
+ tslib_1.__metadata("design:type", String)
137
+ ], TaxInvoice.prototype, "signatureDate", void 0);
138
+ tslib_1.__decorate([
139
+ (0, typeorm_1.Column)({ nullable: false, comment: '세금계산서 종류 코드 (일반, 영세율, 위수탁)' }),
140
+ (0, type_graphql_1.Field)({ nullable: false, description: '세금계산서 종류 코드 (일반, 영세율, 위수탁)' }),
141
+ tslib_1.__metadata("design:type", String)
142
+ ], TaxInvoice.prototype, "invoiceType", void 0);
143
+ tslib_1.__decorate([
144
+ (0, typeorm_1.Column)({ nullable: false, comment: '세금계산서의 영수/청구 구분 지시자 코드' }),
145
+ (0, type_graphql_1.Field)({ nullable: false, description: '세금계산서의 영수/청구 구분 지시자 코드' }),
146
+ tslib_1.__metadata("design:type", String)
147
+ ], TaxInvoice.prototype, "purpose", void 0);
148
+ tslib_1.__decorate([
149
+ (0, typeorm_1.Column)({ nullable: true, comment: '수정 사유 코드' }),
150
+ (0, type_graphql_1.Field)({ nullable: true, description: '수정 사유 코드' }),
151
+ tslib_1.__metadata("design:type", String)
152
+ ], TaxInvoice.prototype, "revisedReason", void 0);
153
+ tslib_1.__decorate([
154
+ (0, typeorm_1.Column)({ nullable: true, comment: '비고0' }),
155
+ (0, type_graphql_1.Field)({ nullable: true, description: '비고0' }),
156
+ tslib_1.__metadata("design:type", String)
157
+ ], TaxInvoice.prototype, "remark0", void 0);
158
+ tslib_1.__decorate([
159
+ (0, typeorm_1.Column)({ nullable: true, comment: '비고1' }),
160
+ (0, type_graphql_1.Field)({ nullable: true, description: '비고1' }),
161
+ tslib_1.__metadata("design:type", String)
162
+ ], TaxInvoice.prototype, "remark1", void 0);
163
+ tslib_1.__decorate([
164
+ (0, typeorm_1.Column)({ nullable: true, comment: '비고2' }),
165
+ (0, type_graphql_1.Field)({ nullable: true, description: '비고2' }),
166
+ tslib_1.__metadata("design:type", String)
167
+ ], TaxInvoice.prototype, "remark2", void 0);
168
+ tslib_1.__decorate([
169
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급자 사업자등록번호 구분 코드' }),
170
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급자 사업자등록번호 구분 코드' }),
171
+ tslib_1.__metadata("design:type", String)
172
+ ], TaxInvoice.prototype, "supplierBusinessRegistrationCategory", void 0);
173
+ tslib_1.__decorate([
174
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급자 사업자등록번호', transformer: shell_1.encryptTransformer }),
175
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급자 사업자등록번호' }),
176
+ tslib_1.__metadata("design:type", String)
177
+ ], TaxInvoice.prototype, "supplierBusinessRegistrationNumber", void 0);
178
+ tslib_1.__decorate([
179
+ (0, typeorm_1.Column)({ nullable: true, comment: '종사업장 식별 코드' }),
180
+ (0, type_graphql_1.Field)({ nullable: true, description: '종사업장 식별 코드' }),
181
+ tslib_1.__metadata("design:type", String)
182
+ ], TaxInvoice.prototype, "supplierBranchIdentification", void 0);
183
+ tslib_1.__decorate([
184
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급자 사업자명' }),
185
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급자 사업자명' }),
186
+ tslib_1.__metadata("design:type", String)
187
+ ], TaxInvoice.prototype, "supplierBusinessName", void 0);
188
+ tslib_1.__decorate([
189
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급자 대표자명' }),
190
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급자 대표자명' }),
191
+ tslib_1.__metadata("design:type", String)
192
+ ], TaxInvoice.prototype, "supplierRepresentativeName", void 0);
193
+ tslib_1.__decorate([
194
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 주소', transformer: shell_1.encryptTransformer }),
195
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 주소' }),
196
+ tslib_1.__metadata("design:type", String)
197
+ ], TaxInvoice.prototype, "supplierAddress", void 0);
198
+ tslib_1.__decorate([
199
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 업태' }),
200
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 업태' }),
201
+ tslib_1.__metadata("design:type", String)
202
+ ], TaxInvoice.prototype, "supplierBusinessType", void 0);
203
+ tslib_1.__decorate([
204
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 업종' }),
205
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 업종' }),
206
+ tslib_1.__metadata("design:type", String)
207
+ ], TaxInvoice.prototype, "supplierIndustryType", void 0);
208
+ tslib_1.__decorate([
209
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 담당 부서' }),
210
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 담당 부서' }),
211
+ tslib_1.__metadata("design:type", String)
212
+ ], TaxInvoice.prototype, "supplierDepartment", void 0);
213
+ tslib_1.__decorate([
214
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 담당자명', transformer: shell_1.encryptTransformer }),
215
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 담당자명' }),
216
+ tslib_1.__metadata("design:type", String)
217
+ ], TaxInvoice.prototype, "supplierContactName", void 0);
218
+ tslib_1.__decorate([
219
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 담당자 전화번호', transformer: shell_1.encryptTransformer }),
220
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 담당자 전화번호' }),
221
+ tslib_1.__metadata("design:type", String)
222
+ ], TaxInvoice.prototype, "supplierContactPhone", void 0);
223
+ tslib_1.__decorate([
224
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 담당자 이메일', transformer: shell_1.encryptTransformer }),
225
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 담당자 이메일' }),
226
+ tslib_1.__metadata("design:type", String)
227
+ ], TaxInvoice.prototype, "supplierContactEmail", void 0);
228
+ tslib_1.__decorate([
229
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급자 담당자 핸드폰 번호', transformer: shell_1.encryptTransformer }),
230
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급자 담당자 핸드폰 번호' }),
231
+ tslib_1.__metadata("design:type", String)
232
+ ], TaxInvoice.prototype, "supplierContactCellPhone", void 0);
233
+ tslib_1.__decorate([
234
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급받는자 사업자등록번호 구분 코드' }),
235
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급받는자 사업자등록번호 구분 코드' }),
236
+ tslib_1.__metadata("design:type", String)
237
+ ], TaxInvoice.prototype, "buyerBusinessRegistrationCategory", void 0);
238
+ tslib_1.__decorate([
239
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급받는자 사업자등록번호', transformer: shell_1.encryptTransformer }),
240
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급받는자 사업자등록번호' }),
241
+ tslib_1.__metadata("design:type", String)
242
+ ], TaxInvoice.prototype, "buyerBusinessRegistrationNumber", void 0);
243
+ tslib_1.__decorate([
244
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 종사업장 식별 코드' }),
245
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 종사업장 식별 코드' }),
246
+ tslib_1.__metadata("design:type", String)
247
+ ], TaxInvoice.prototype, "buyerBranchIdentification", void 0);
248
+ tslib_1.__decorate([
249
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급받는자 사업자명' }),
250
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급받는자 사업자명' }),
251
+ tslib_1.__metadata("design:type", String)
252
+ ], TaxInvoice.prototype, "buyerBusinessName", void 0);
253
+ tslib_1.__decorate([
254
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급받는자 대표자명' }),
255
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급받는자 대표자명' }),
256
+ tslib_1.__metadata("design:type", String)
257
+ ], TaxInvoice.prototype, "buyerRepresentativeName", void 0);
258
+ tslib_1.__decorate([
259
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 주소', transformer: shell_1.encryptTransformer }),
260
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 주소' }),
261
+ tslib_1.__metadata("design:type", String)
262
+ ], TaxInvoice.prototype, "buyerAddress", void 0);
263
+ tslib_1.__decorate([
264
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 업태' }),
265
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 업태' }),
266
+ tslib_1.__metadata("design:type", String)
267
+ ], TaxInvoice.prototype, "buyerBusinessType", void 0);
268
+ tslib_1.__decorate([
269
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 업종' }),
270
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 업종' }),
271
+ tslib_1.__metadata("design:type", String)
272
+ ], TaxInvoice.prototype, "buyerIndustryType", void 0);
273
+ tslib_1.__decorate([
274
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 1st 담당부서' }),
275
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 1st 담당부서' }),
276
+ tslib_1.__metadata("design:type", String)
277
+ ], TaxInvoice.prototype, "buyer1stDepartment", void 0);
278
+ tslib_1.__decorate([
279
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 1st 담당자명', transformer: shell_1.encryptTransformer }),
280
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 1st 담당자명' }),
281
+ tslib_1.__metadata("design:type", String)
282
+ ], TaxInvoice.prototype, "buyer1stContactName", void 0);
283
+ tslib_1.__decorate([
284
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 1st 담당자 전화번호', transformer: shell_1.encryptTransformer }),
285
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 1st 담당자 전화번호' }),
286
+ tslib_1.__metadata("design:type", String)
287
+ ], TaxInvoice.prototype, "buyer1stContactPhone", void 0);
288
+ tslib_1.__decorate([
289
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 1st 담당자 이메일', transformer: shell_1.encryptTransformer }),
290
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 1st 담당자 이메일' }),
291
+ tslib_1.__metadata("design:type", String)
292
+ ], TaxInvoice.prototype, "buyer1stContactEmail", void 0);
293
+ tslib_1.__decorate([
294
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 1st 담당자 핸드폰번호', transformer: shell_1.encryptTransformer }),
295
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 1st 담당자 핸드폰번호' }),
296
+ tslib_1.__metadata("design:type", String)
297
+ ], TaxInvoice.prototype, "buyer1stContactCellPhone", void 0);
298
+ tslib_1.__decorate([
299
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 2nd 담당부서' }),
300
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 2nd 담당부서' }),
301
+ tslib_1.__metadata("design:type", String)
302
+ ], TaxInvoice.prototype, "buyer2ndDepartment", void 0);
303
+ tslib_1.__decorate([
304
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 2nd 담당자명', transformer: shell_1.encryptTransformer }),
305
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 2nd 담당자명' }),
306
+ tslib_1.__metadata("design:type", String)
307
+ ], TaxInvoice.prototype, "buyer2ndContactName", void 0);
308
+ tslib_1.__decorate([
309
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 2nd 담당자 전화번호', transformer: shell_1.encryptTransformer }),
310
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 2nd 담당자 전화번호' }),
311
+ tslib_1.__metadata("design:type", String)
312
+ ], TaxInvoice.prototype, "buyer2ndContactPhone", void 0);
313
+ tslib_1.__decorate([
314
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 2nd 담당자 이메일', transformer: shell_1.encryptTransformer }),
315
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 2nd 담당자 이메일' }),
316
+ tslib_1.__metadata("design:type", String)
317
+ ], TaxInvoice.prototype, "buyer2ndContactEmail", void 0);
318
+ tslib_1.__decorate([
319
+ (0, typeorm_1.Column)({ nullable: true, comment: '공급받는자 2nd 담당자 핸드폰번호', transformer: shell_1.encryptTransformer }),
320
+ (0, type_graphql_1.Field)({ nullable: true, description: '공급받는자 2nd 담당자 핸드폰번호' }),
321
+ tslib_1.__metadata("design:type", String)
322
+ ], TaxInvoice.prototype, "buyer2ndContactCellPhone", void 0);
323
+ tslib_1.__decorate([
324
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 사업자등록번호 구분 코드' }),
325
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 사업자등록번호 구분 코드' }),
326
+ tslib_1.__metadata("design:type", String)
327
+ ], TaxInvoice.prototype, "agentBusinessRegistrationCategory", void 0);
328
+ tslib_1.__decorate([
329
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 사업자등록번호 (nnnnnnnnnn)', transformer: shell_1.encryptTransformer }),
330
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 사업자등록번호 (nnnnnnnnnn)' }),
331
+ tslib_1.__metadata("design:type", String)
332
+ ], TaxInvoice.prototype, "agentBusinessRegistrationNumber", void 0);
333
+ tslib_1.__decorate([
334
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 종사업장 식별코드' }),
335
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 종사업장 식별코드' }),
336
+ tslib_1.__metadata("design:type", String)
337
+ ], TaxInvoice.prototype, "agentBranchIdentification", void 0);
338
+ tslib_1.__decorate([
339
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 사업자명' }),
340
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 사업자명' }),
341
+ tslib_1.__metadata("design:type", String)
342
+ ], TaxInvoice.prototype, "agentBusinessName", void 0);
343
+ tslib_1.__decorate([
344
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 대표자명' }),
345
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 대표자명' }),
346
+ tslib_1.__metadata("design:type", String)
347
+ ], TaxInvoice.prototype, "agentRepresentativeName", void 0);
348
+ tslib_1.__decorate([
349
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 주소', transformer: shell_1.encryptTransformer }),
350
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 주소' }),
351
+ tslib_1.__metadata("design:type", String)
352
+ ], TaxInvoice.prototype, "agentAddress", void 0);
353
+ tslib_1.__decorate([
354
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 업태' }),
355
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 업태' }),
356
+ tslib_1.__metadata("design:type", String)
357
+ ], TaxInvoice.prototype, "agentBusinessType", void 0);
358
+ tslib_1.__decorate([
359
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 업종' }),
360
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 업종' }),
361
+ tslib_1.__metadata("design:type", String)
362
+ ], TaxInvoice.prototype, "agentIndustryType", void 0);
363
+ tslib_1.__decorate([
364
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 담당부서' }),
365
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 담당부서' }),
366
+ tslib_1.__metadata("design:type", String)
367
+ ], TaxInvoice.prototype, "agentDepartment", void 0);
368
+ tslib_1.__decorate([
369
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 담당자명', transformer: shell_1.encryptTransformer }),
370
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 담당자명' }),
371
+ tslib_1.__metadata("design:type", String)
372
+ ], TaxInvoice.prototype, "agentContactName", void 0);
373
+ tslib_1.__decorate([
374
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 담당자 전화번호', transformer: shell_1.encryptTransformer }),
375
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 담당자 전화번호' }),
376
+ tslib_1.__metadata("design:type", String)
377
+ ], TaxInvoice.prototype, "agentContactPhone", void 0);
378
+ tslib_1.__decorate([
379
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 담당자 이메일', transformer: shell_1.encryptTransformer }),
380
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 담당자 이메일' }),
381
+ tslib_1.__metadata("design:type", String)
382
+ ], TaxInvoice.prototype, "agentContactEmail", void 0);
383
+ tslib_1.__decorate([
384
+ (0, typeorm_1.Column)({ nullable: true, comment: '수탁사업자 담당자 핸드폰번호', transformer: shell_1.encryptTransformer }),
385
+ (0, type_graphql_1.Field)({ nullable: true, description: '수탁사업자 담당자 핸드폰번호' }),
386
+ tslib_1.__metadata("design:type", String)
387
+ ], TaxInvoice.prototype, "agentContactCellPhone", void 0);
388
+ tslib_1.__decorate([
389
+ (0, typeorm_1.Column)({ nullable: true, comment: '결제 금액 - 현금' }),
390
+ (0, type_graphql_1.Field)({ nullable: true, description: '결제 금액 - 현금' }),
391
+ tslib_1.__metadata("design:type", Number)
392
+ ], TaxInvoice.prototype, "paymentAmountCash", void 0);
393
+ tslib_1.__decorate([
394
+ (0, typeorm_1.Column)({ nullable: true, comment: '결제 금액 - 수표' }),
395
+ (0, type_graphql_1.Field)({ nullable: true, description: '결제 금액 - 수표' }),
396
+ tslib_1.__metadata("design:type", Number)
397
+ ], TaxInvoice.prototype, "paymentAmountCheck", void 0);
398
+ tslib_1.__decorate([
399
+ (0, typeorm_1.Column)({ nullable: true, comment: '결제 금액 - 어음' }),
400
+ (0, type_graphql_1.Field)({ nullable: true, description: '결제 금액 - 어음' }),
401
+ tslib_1.__metadata("design:type", Number)
402
+ ], TaxInvoice.prototype, "paymentAmountPromissoryNote", void 0);
403
+ tslib_1.__decorate([
404
+ (0, typeorm_1.Column)({ nullable: true, comment: '결제 금액 - 외상 미수금' }),
405
+ (0, type_graphql_1.Field)({ nullable: true, description: '결제 금액 - 외상 미수금' }),
406
+ tslib_1.__metadata("design:type", Number)
407
+ ], TaxInvoice.prototype, "paymentAmountAccountsReceivable", void 0);
408
+ tslib_1.__decorate([
409
+ (0, typeorm_1.Column)({ nullable: false, comment: '공급 가액' }),
410
+ (0, type_graphql_1.Field)({ nullable: false, description: '공급 가액' }),
411
+ tslib_1.__metadata("design:type", Number)
412
+ ], TaxInvoice.prototype, "supplyAmount", void 0);
413
+ tslib_1.__decorate([
414
+ (0, typeorm_1.Column)({ nullable: true, comment: '세액' }),
415
+ (0, type_graphql_1.Field)({ nullable: true, description: '세액' }),
416
+ tslib_1.__metadata("design:type", Number)
417
+ ], TaxInvoice.prototype, "taxAmount", void 0);
418
+ tslib_1.__decorate([
419
+ (0, typeorm_1.Column)({ nullable: false, comment: '총액 = 공급 가액 + 세액' }),
420
+ (0, type_graphql_1.Field)({ nullable: false, description: '총액 = 공급 가액 + 세액' }),
421
+ tslib_1.__metadata("design:type", Number)
422
+ ], TaxInvoice.prototype, "totalAmount", void 0);
423
+ tslib_1.__decorate([
424
+ (0, typeorm_1.CreateDateColumn)(),
425
+ (0, type_graphql_1.Field)({ nullable: true }),
426
+ tslib_1.__metadata("design:type", Date)
427
+ ], TaxInvoice.prototype, "createdAt", void 0);
428
+ tslib_1.__decorate([
429
+ (0, typeorm_1.UpdateDateColumn)(),
430
+ (0, type_graphql_1.Field)({ nullable: true }),
431
+ tslib_1.__metadata("design:type", Date)
432
+ ], TaxInvoice.prototype, "updatedAt", void 0);
433
+ tslib_1.__decorate([
434
+ (0, typeorm_1.DeleteDateColumn)(),
435
+ (0, type_graphql_1.Field)({ nullable: true }),
436
+ tslib_1.__metadata("design:type", Date)
437
+ ], TaxInvoice.prototype, "deletedAt", void 0);
438
+ tslib_1.__decorate([
439
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
440
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
441
+ tslib_1.__metadata("design:type", auth_base_1.User)
442
+ ], TaxInvoice.prototype, "creator", void 0);
443
+ tslib_1.__decorate([
444
+ (0, typeorm_1.RelationId)((taxInvoice) => taxInvoice.creator),
445
+ tslib_1.__metadata("design:type", String)
446
+ ], TaxInvoice.prototype, "creatorId", void 0);
447
+ tslib_1.__decorate([
448
+ (0, typeorm_1.ManyToOne)(type => auth_base_1.User, { nullable: true }),
449
+ (0, type_graphql_1.Field)(type => auth_base_1.User, { nullable: true }),
450
+ tslib_1.__metadata("design:type", auth_base_1.User)
451
+ ], TaxInvoice.prototype, "updater", void 0);
452
+ tslib_1.__decorate([
453
+ (0, typeorm_1.RelationId)((taxInvoice) => taxInvoice.updater),
454
+ tslib_1.__metadata("design:type", String)
455
+ ], TaxInvoice.prototype, "updaterId", void 0);
456
+ TaxInvoice = tslib_1.__decorate([
457
+ (0, typeorm_1.Entity)(),
458
+ (0, typeorm_1.Index)('ix_tax_invoice_0', (taxInvoice) => [taxInvoice.domain, taxInvoice.id, taxInvoice.deletedAt], {
459
+ unique: true
460
+ }),
461
+ (0, typeorm_1.Index)('ix_tax_invoice_1', (taxInvoice) => [taxInvoice.domain, taxInvoice.issueDate]),
462
+ (0, type_graphql_1.ObjectType)({ description: 'Entity for TaxInvoice' })
463
+ ], TaxInvoice);
464
+ exports.TaxInvoice = TaxInvoice;
465
+ //# sourceMappingURL=tax-invoice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-invoice.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice.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 OneToMany,\n PrimaryGeneratedColumn,\n VersionColumn\n} from 'typeorm'\nimport { ObjectType, Field, ID, registerEnumType } from 'type-graphql'\nimport { encryptTransformer } from '@things-factory/shell'\n\nimport { Domain } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\n\nexport enum Category {\n EXPORT = '10', // 매출\n IMPORT = '20', // 매입\n NTS = '30' // NTS\n}\n// 세금계산서 종류\nexport enum InvoiceType {\n GENERAL_TAX_INVOICE = '0101', // 일반 세금계산서\n ZERO_RATED_TAX_INVOICE = '0102', // 영세율 세금계산서\n CONSIGNMENT_TAX_INVOICE = '0103', // 위수탁 세금계산서\n IMPORT__RATED_CONSIGNMENT_TAX_INVOICE = '0105', // 영세율 위수탁 세금계산서\n REVISED_GENERAL_TAX_INVOICE = '0201', // 수정 일반 세금계산서\n REVISED_ZERORATED_TAX_INVOICE = '0202', // 수정 영세율 세금계산서\n REVISED_CONSIGNMENT_TAX_INVOICE = '0203', // 수정 위수탁 세금계산서\n REVISED_IMPORT_TAX_INVOICE = '0204', // 수정 수입 세금계산서\n REVISED_ZERORATED_CONSIGNMENT_TAX_INVOICE = '0205', // 수정 영세율 위수탁 세금계산서\n GENERAL_INVOICE = '0301', // 일반 계산서\n CONSIGNMENT_INVOICE = '0303', // 위수탁 계산서\n IMPORT_INVOICE = '0304', // 수입 계산서\n REVISED_GENERAL_INVOICE = '0401', // 수정 일반 계산서\n REVISED_CONSIGNMENT_INVOICE = '0403', // 수정 위수탁 계산서\n REVISED_IMPORT_INVOICE = '0404' // 수정 수입 계산서\n}\n// 세금계산서 영수/청구 구분 지시자\nexport enum Purpose {\n RECEIPT = '01', // 영수\n BILLING = '02' // 청구\n}\n// 세금계산서 수정사유 코드\nexport enum RevisedReason {\n ENTRY_ERROR_CORRECTION = '01', // 기재사항 착오·정정\n SUPPLY_VALUE_CHANGE = '02', // 공급가액 변동\n REVERSAL_ENTRY = '03', // 환입\n CONTRACT_CANCELLATION = '04', // 계약의 해제\n POST_FACTO_DOMESTIC_LC_ISSUANCE = '05', // 내국신용장 사후 개설\n ERROR_BASED_DUPLICATE_ISSUANCE = '06' // 착오에 의한 이중발급\n}\n// 세금계산서 공급받는자 사업자등록번호 구분코드\nexport enum BusinessRegistrationCategory {\n BUSINESS_REGISTRATION_NUMBER = '01', // 사업자등록번호\n RESIDENT_REGISTRATION_NUMBER = '02', // 주민등록번호\n FOREIGNER_REGISTRATION_NUMBER = '03' // 외국인등록번호\n}\n\nregisterEnumType(Category, {\n name: 'Category',\n description: 'category'\n})\nregisterEnumType(InvoiceType, {\n name: 'InvoiceType',\n description: 'invoice type'\n})\nregisterEnumType(Purpose, {\n name: 'Purpose',\n description: 'purpose'\n})\nregisterEnumType(RevisedReason, {\n name: 'RevisedReason',\n description: 'revised reason'\n})\nregisterEnumType(BusinessRegistrationCategory, {\n name: 'BusinessRegistrationCategory',\n description: 'business registration category'\n})\n\n@Entity()\n@Index('ix_tax_invoice_0', (taxInvoice: TaxInvoice) => [taxInvoice.domain, taxInvoice.id, taxInvoice.deletedAt], {\n unique: true\n})\n@Index('ix_tax_invoice_1', (taxInvoice: TaxInvoice) => [taxInvoice.domain, taxInvoice.issueDate])\n@ObjectType({ description: 'Entity for TaxInvoice' })\nexport class TaxInvoice {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id!: string\n\n @VersionColumn()\n @Field({ nullable: true })\n version?: number = 1\n\n @ManyToOne(type => Domain)\n @Field({ nullable: true })\n domain?: Domain\n\n @RelationId((taxInvoice: TaxInvoice) => taxInvoice.domain)\n domainId?: string\n\n @OneToMany(type => TaxInvoiceItem, taxInvoiceItem => taxInvoiceItem.taxInvoice)\n @Field(type => [TaxInvoiceItem], { nullable: true })\n taxInvoiceItems?: TaxInvoiceItem[]\n\n @Column({ nullable: true, comment: '이름' })\n @Field({ nullable: true, description: '이름' })\n name?: string\n\n @Column({ nullable: false, comment: '세금계산서 구분 (매출: 10, 매입: 20, NTS: 30)' })\n @Field({ nullable: false, description: '세금계산서 구분 (매출: 10, 매입: 20, NTS: 30)' })\n category!: Category\n\n @Column({ nullable: true, comment: '승인 번호' })\n @Field({ nullable: true, description: '승인 번호' })\n approvalNo?: string\n\n @Column({ nullable: true, comment: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n @Field({ nullable: true, description: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n originalApprovalNo?: string\n\n @Column({ nullable: false, comment: '세금계산서 작성 일자 (YYYYMMDD)' })\n @Field({ nullable: false, description: '세금계산서 작성 일자 (YYYYMMDD)' })\n issueDate!: string\n\n @Column({ nullable: true, comment: '세금계산서 전자 서명 일자 (YYYYMMDD)' })\n @Field({ nullable: true, description: '세금계산서 전자 서명 일자 (YYYYMMDD)' })\n signatureDate?: string\n\n @Column({ nullable: false, comment: '세금계산서 종류 코드 (일반, 영세율, 위수탁)' })\n @Field({ nullable: false, description: '세금계산서 종류 코드 (일반, 영세율, 위수탁)' })\n invoiceType!: InvoiceType\n\n @Column({ nullable: false, comment: '세금계산서의 영수/청구 구분 지시자 코드' })\n @Field({ nullable: false, description: '세금계산서의 영수/청구 구분 지시자 코드' })\n purpose!: Purpose\n\n @Column({ nullable: true, comment: '수정 사유 코드' })\n @Field({ nullable: true, description: '수정 사유 코드' })\n revisedReason?: RevisedReason\n\n @Column({ nullable: true, comment: '비고0' })\n @Field({ nullable: true, description: '비고0' })\n remark0?: string\n\n @Column({ nullable: true, comment: '비고1' })\n @Field({ nullable: true, description: '비고1' })\n remark1?: string\n\n @Column({ nullable: true, comment: '비고2' })\n @Field({ nullable: true, description: '비고2' })\n remark2?: string\n\n @Column({ nullable: false, comment: '공급자 사업자등록번호 구분 코드' })\n @Field({ nullable: false, description: '공급자 사업자등록번호 구분 코드' })\n supplierBusinessRegistrationCategory!: BusinessRegistrationCategory\n\n @Column({ nullable: false, comment: '공급자 사업자등록번호', transformer: encryptTransformer })\n @Field({ nullable: false, description: '공급자 사업자등록번호' })\n supplierBusinessRegistrationNumber!: string\n\n @Column({ nullable: true, comment: '종사업장 식별 코드' })\n @Field({ nullable: true, description: '종사업장 식별 코드' })\n supplierBranchIdentification?: string\n\n @Column({ nullable: false, comment: '공급자 사업자명' })\n @Field({ nullable: false, description: '공급자 사업자명' })\n supplierBusinessName!: string\n\n @Column({ nullable: false, comment: '공급자 대표자명' })\n @Field({ nullable: false, description: '공급자 대표자명' })\n supplierRepresentativeName!: string\n\n @Column({ nullable: true, comment: '공급자 주소', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급자 주소' })\n supplierAddress?: string\n\n @Column({ nullable: true, comment: '공급자 업태' })\n @Field({ nullable: true, description: '공급자 업태' })\n supplierBusinessType?: string\n\n @Column({ nullable: true, comment: '공급자 업종' })\n @Field({ nullable: true, description: '공급자 업종' })\n supplierIndustryType?: string\n\n @Column({ nullable: true, comment: '공급자 담당 부서' })\n @Field({ nullable: true, description: '공급자 담당 부서' })\n supplierDepartment?: string\n\n @Column({ nullable: true, comment: '공급자 담당자명', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급자 담당자명' })\n supplierContactName?: string\n\n @Column({ nullable: true, comment: '공급자 담당자 전화번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급자 담당자 전화번호' })\n supplierContactPhone?: string\n\n @Column({ nullable: true, comment: '공급자 담당자 이메일', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급자 담당자 이메일' })\n supplierContactEmail?: string\n\n @Column({ nullable: true, comment: '공급자 담당자 핸드폰 번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급자 담당자 핸드폰 번호' })\n supplierContactCellPhone?: string\n\n @Column({ nullable: false, comment: '공급받는자 사업자등록번호 구분 코드' })\n @Field({ nullable: false, description: '공급받는자 사업자등록번호 구분 코드' })\n buyerBusinessRegistrationCategory!: BusinessRegistrationCategory\n\n @Column({ nullable: false, comment: '공급받는자 사업자등록번호', transformer: encryptTransformer })\n @Field({ nullable: false, description: '공급받는자 사업자등록번호' })\n buyerBusinessRegistrationNumber!: string\n\n @Column({ nullable: true, comment: '공급받는자 종사업장 식별 코드' })\n @Field({ nullable: true, description: '공급받는자 종사업장 식별 코드' })\n buyerBranchIdentification?: string\n\n @Column({ nullable: false, comment: '공급받는자 사업자명' })\n @Field({ nullable: false, description: '공급받는자 사업자명' })\n buyerBusinessName!: string\n\n @Column({ nullable: false, comment: '공급받는자 대표자명' })\n @Field({ nullable: false, description: '공급받는자 대표자명' })\n buyerRepresentativeName!: string\n\n @Column({ nullable: true, comment: '공급받는자 주소', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 주소' })\n buyerAddress?: string\n\n @Column({ nullable: true, comment: '공급받는자 업태' })\n @Field({ nullable: true, description: '공급받는자 업태' })\n buyerBusinessType?: string\n\n @Column({ nullable: true, comment: '공급받는자 업종' })\n @Field({ nullable: true, description: '공급받는자 업종' })\n buyerIndustryType?: string\n\n @Column({ nullable: true, comment: '공급받는자 1st 담당부서' })\n @Field({ nullable: true, description: '공급받는자 1st 담당부서' })\n buyer1stDepartment?: string\n\n @Column({ nullable: true, comment: '공급받는자 1st 담당자명', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 1st 담당자명' })\n buyer1stContactName?: string\n\n @Column({ nullable: true, comment: '공급받는자 1st 담당자 전화번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 1st 담당자 전화번호' })\n buyer1stContactPhone?: string\n\n @Column({ nullable: true, comment: '공급받는자 1st 담당자 이메일', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 1st 담당자 이메일' })\n buyer1stContactEmail?: string\n\n @Column({ nullable: true, comment: '공급받는자 1st 담당자 핸드폰번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 1st 담당자 핸드폰번호' })\n buyer1stContactCellPhone?: string\n\n @Column({ nullable: true, comment: '공급받는자 2nd 담당부서' })\n @Field({ nullable: true, description: '공급받는자 2nd 담당부서' })\n buyer2ndDepartment?: string\n\n @Column({ nullable: true, comment: '공급받는자 2nd 담당자명', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 2nd 담당자명' })\n buyer2ndContactName?: string\n\n @Column({ nullable: true, comment: '공급받는자 2nd 담당자 전화번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 2nd 담당자 전화번호' })\n buyer2ndContactPhone?: string\n\n @Column({ nullable: true, comment: '공급받는자 2nd 담당자 이메일', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 2nd 담당자 이메일' })\n buyer2ndContactEmail?: string\n\n @Column({ nullable: true, comment: '공급받는자 2nd 담당자 핸드폰번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '공급받는자 2nd 담당자 핸드폰번호' })\n buyer2ndContactCellPhone?: string\n\n @Column({ nullable: true, comment: '수탁사업자 사업자등록번호 구분 코드' })\n @Field({ nullable: true, description: '수탁사업자 사업자등록번호 구분 코드' })\n agentBusinessRegistrationCategory?: BusinessRegistrationCategory\n\n @Column({ nullable: true, comment: '수탁사업자 사업자등록번호 (nnnnnnnnnn)', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 사업자등록번호 (nnnnnnnnnn)' })\n agentBusinessRegistrationNumber?: string\n\n @Column({ nullable: true, comment: '수탁사업자 종사업장 식별코드' })\n @Field({ nullable: true, description: '수탁사업자 종사업장 식별코드' })\n agentBranchIdentification?: string\n\n @Column({ nullable: true, comment: '수탁사업자 사업자명' })\n @Field({ nullable: true, description: '수탁사업자 사업자명' })\n agentBusinessName?: string\n\n @Column({ nullable: true, comment: '수탁사업자 대표자명' })\n @Field({ nullable: true, description: '수탁사업자 대표자명' })\n agentRepresentativeName?: string\n\n @Column({ nullable: true, comment: '수탁사업자 주소', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 주소' })\n agentAddress?: string\n\n @Column({ nullable: true, comment: '수탁사업자 업태' })\n @Field({ nullable: true, description: '수탁사업자 업태' })\n agentBusinessType?: string\n\n @Column({ nullable: true, comment: '수탁사업자 업종' })\n @Field({ nullable: true, description: '수탁사업자 업종' })\n agentIndustryType?: string\n\n @Column({ nullable: true, comment: '수탁사업자 담당부서' })\n @Field({ nullable: true, description: '수탁사업자 담당부서' })\n agentDepartment?: string\n\n @Column({ nullable: true, comment: '수탁사업자 담당자명', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 담당자명' })\n agentContactName?: string\n\n @Column({ nullable: true, comment: '수탁사업자 담당자 전화번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 담당자 전화번호' })\n agentContactPhone?: string\n\n @Column({ nullable: true, comment: '수탁사업자 담당자 이메일', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 담당자 이메일' })\n agentContactEmail?: string\n\n @Column({ nullable: true, comment: '수탁사업자 담당자 핸드폰번호', transformer: encryptTransformer })\n @Field({ nullable: true, description: '수탁사업자 담당자 핸드폰번호' })\n agentContactCellPhone?: string\n\n @Column({ nullable: true, comment: '결제 금액 - 현금' })\n @Field({ nullable: true, description: '결제 금액 - 현금' })\n paymentAmountCash?: number\n\n @Column({ nullable: true, comment: '결제 금액 - 수표' })\n @Field({ nullable: true, description: '결제 금액 - 수표' })\n paymentAmountCheck?: number\n\n @Column({ nullable: true, comment: '결제 금액 - 어음' })\n @Field({ nullable: true, description: '결제 금액 - 어음' })\n paymentAmountPromissoryNote?: number\n\n @Column({ nullable: true, comment: '결제 금액 - 외상 미수금' })\n @Field({ nullable: true, description: '결제 금액 - 외상 미수금' })\n paymentAmountAccountsReceivable?: number\n\n @Column({ nullable: false, comment: '공급 가액' })\n @Field({ nullable: false, description: '공급 가액' })\n supplyAmount!: number\n\n @Column({ nullable: true, comment: '세액' })\n @Field({ nullable: true, description: '세액' })\n taxAmount?: number\n\n @Column({ nullable: false, comment: '총액 = 공급 가액 + 세액' })\n @Field({ nullable: false, description: '총액 = 공급 가액 + 세액' })\n totalAmount!: number\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((taxInvoice: TaxInvoice) => taxInvoice.creator)\n creatorId?: string\n\n @ManyToOne(type => User, { nullable: true })\n @Field(type => User, { nullable: true })\n updater?: User\n\n @RelationId((taxInvoice: TaxInvoice) => taxInvoice.updater)\n updaterId?: string\n}\n"]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolvers = exports.entities = void 0;
4
+ const tax_invoice_api_1 = require("./tax-invoice-api");
5
+ const tax_invoice_api_query_1 = require("./tax-invoice-api-query");
6
+ const tax_invoice_api_mutation_1 = require("./tax-invoice-api-mutation");
7
+ exports.entities = [tax_invoice_api_1.TaxInvoiceApi];
8
+ exports.resolvers = [tax_invoice_api_query_1.TaxInvoiceApiQuery, tax_invoice_api_mutation_1.TaxInvoiceApiMutation];
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/index.ts"],"names":[],"mappings":";;;AAAA,uDAAiD;AACjD,mEAA4D;AAC5D,yEAAkE;AAErD,QAAA,QAAQ,GAAG,CAAC,+BAAa,CAAC,CAAA;AAC1B,QAAA,SAAS,GAAG,CAAC,0CAAkB,EAAE,gDAAqB,CAAC,CAAA","sourcesContent":["import { TaxInvoiceApi } from './tax-invoice-api'\nimport { TaxInvoiceApiQuery } from './tax-invoice-api-query'\nimport { TaxInvoiceApiMutation } from './tax-invoice-api-mutation'\n\nexport const entities = [TaxInvoiceApi]\nexport const resolvers = [TaxInvoiceApiQuery, TaxInvoiceApiMutation]\n"]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TaxInvoiceApiMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const type_graphql_1 = require("type-graphql");
6
+ const typeorm_1 = require("typeorm");
7
+ const tax_invoice_api_1 = require("./tax-invoice-api");
8
+ const tax_invoice_api_type_1 = require("./tax-invoice-api-type");
9
+ let TaxInvoiceApiMutation = class TaxInvoiceApiMutation {
10
+ async updateMultipleTaxInvoiceApis(patches, context) {
11
+ const { domain, user, tx } = context.state;
12
+ let results = [];
13
+ const _createRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === '+');
14
+ const _updateRecords = patches.filter((patch) => patch.cuFlag.toUpperCase() === 'M');
15
+ const taxInvoiceApiRepo = tx.getRepository(tax_invoice_api_1.TaxInvoiceApi);
16
+ if (_createRecords.length > 0) {
17
+ for (let i = 0; i < _createRecords.length; i++) {
18
+ const newRecord = _createRecords[i];
19
+ const result = await taxInvoiceApiRepo.save(Object.assign(Object.assign({}, newRecord), { domain, creator: user, updater: user }));
20
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: '+' }));
21
+ }
22
+ }
23
+ if (_updateRecords.length > 0) {
24
+ for (let i = 0; i < _updateRecords.length; i++) {
25
+ const updateRecord = _updateRecords[i];
26
+ const taxInvoiceApi = await taxInvoiceApiRepo.findOneBy({ id: updateRecord.id });
27
+ const result = await taxInvoiceApiRepo.save(Object.assign(Object.assign(Object.assign({}, taxInvoiceApi), updateRecord), { updater: user }));
28
+ results.push(Object.assign(Object.assign({}, result), { cuFlag: 'M' }));
29
+ }
30
+ }
31
+ return results;
32
+ }
33
+ async deleteTaxInvoiceApis(ids, context) {
34
+ const { domain, tx } = context.state;
35
+ await tx.getRepository(tax_invoice_api_1.TaxInvoiceApi).delete({
36
+ domain: { id: domain.id },
37
+ id: (0, typeorm_1.In)(ids)
38
+ });
39
+ return true;
40
+ }
41
+ };
42
+ tslib_1.__decorate([
43
+ (0, type_graphql_1.Directive)('@transaction'),
44
+ (0, type_graphql_1.Mutation)(returns => [tax_invoice_api_1.TaxInvoiceApi], { description: 'To modify multiple Tax Invoice Api information' }),
45
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('patches', type => [tax_invoice_api_type_1.TaxInvoiceApiPatch])),
46
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
47
+ tslib_1.__metadata("design:type", Function),
48
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
49
+ tslib_1.__metadata("design:returntype", Promise)
50
+ ], TaxInvoiceApiMutation.prototype, "updateMultipleTaxInvoiceApis", null);
51
+ tslib_1.__decorate([
52
+ (0, type_graphql_1.Directive)('@transaction'),
53
+ (0, type_graphql_1.Mutation)(returns => Boolean, { description: 'To delete multiple Tax Invoice Api' }),
54
+ tslib_1.__param(0, (0, type_graphql_1.Arg)('ids', type => [String])),
55
+ tslib_1.__param(1, (0, type_graphql_1.Ctx)()),
56
+ tslib_1.__metadata("design:type", Function),
57
+ tslib_1.__metadata("design:paramtypes", [Array, Object]),
58
+ tslib_1.__metadata("design:returntype", Promise)
59
+ ], TaxInvoiceApiMutation.prototype, "deleteTaxInvoiceApis", null);
60
+ TaxInvoiceApiMutation = tslib_1.__decorate([
61
+ (0, type_graphql_1.Resolver)(tax_invoice_api_1.TaxInvoiceApi)
62
+ ], TaxInvoiceApiMutation);
63
+ exports.TaxInvoiceApiMutation = TaxInvoiceApiMutation;
64
+ //# sourceMappingURL=tax-invoice-api-mutation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tax-invoice-api-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice-api/tax-invoice-api-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { TaxInvoiceApi } from './tax-invoice-api'\nimport { TaxInvoiceApiPatch } from './tax-invoice-api-type'\n\n@Resolver(TaxInvoiceApi)\nexport class TaxInvoiceApiMutation {\n @Directive('@transaction')\n @Mutation(returns => [TaxInvoiceApi], { description: 'To modify multiple Tax Invoice Api information' })\n async updateMultipleTaxInvoiceApis(\n @Arg('patches', type => [TaxInvoiceApiPatch]) patches: TaxInvoiceApiPatch[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoiceApi[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n\n if (_createRecords.length > 0) {\n for (let i = 0; i < _createRecords.length; i++) {\n const newRecord = _createRecords[i]\n\n const result = await taxInvoiceApiRepo.save({\n ...newRecord,\n domain,\n creator: user,\n updater: user\n })\n\n results.push({ ...result, cuFlag: '+' })\n }\n }\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxInvoiceApi = await taxInvoiceApiRepo.findOneBy({ id: updateRecord.id })\n\n const result = await taxInvoiceApiRepo.save({\n ...taxInvoiceApi,\n ...updateRecord,\n updater: user\n })\n\n results.push({ ...result, cuFlag: 'M' })\n }\n }\n\n return results\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple Tax Invoice Api' })\n async deleteTaxInvoiceApis(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoiceApi).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n}\n"]}