@things-factory/tax-invoice 6.2.147 → 6.2.152
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/client/pages/tax-invoice-send/company-list-popup.ts +3 -0
- package/client/pages/tax-invoice-send/tax-invoice-send-page.ts +9 -898
- package/client/pages/tax-invoice-send/tax-invoice-send.ts +951 -0
- package/dist-client/pages/tax-invoice-send/company-list-popup.d.ts +3 -0
- package/dist-client/pages/tax-invoice-send/company-list-popup.js +3 -0
- package/dist-client/pages/tax-invoice-send/company-list-popup.js.map +1 -1
- package/dist-client/pages/tax-invoice-send/tax-invoice-send-page.d.ts +2 -79
- package/dist-client/pages/tax-invoice-send/tax-invoice-send-page.js +8 -796
- package/dist-client/pages/tax-invoice-send/tax-invoice-send-page.js.map +1 -1
- package/dist-client/pages/tax-invoice-send/tax-invoice-send.d.ts +112 -0
- package/dist-client/pages/tax-invoice-send/tax-invoice-send.js +869 -0
- package/dist-client/pages/tax-invoice-send/tax-invoice-send.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/index.js +1 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-mutation.js +0 -4
- package/dist-server/service/tax-invoice/tax-invoice-mutation.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-query.js +18 -6
- package/dist-server/service/tax-invoice/tax-invoice-query.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-type.js +4 -0
- package/dist-server/service/tax-invoice/tax-invoice-type.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice-util.js +1 -0
- package/dist-server/service/tax-invoice/tax-invoice-util.js.map +1 -1
- package/dist-server/service/tax-invoice/tax-invoice.js +5 -0
- package/dist-server/service/tax-invoice/tax-invoice.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/server/service/index.ts +1 -0
- package/server/service/tax-invoice/tax-invoice-mutation.ts +0 -3
- package/server/service/tax-invoice/tax-invoice-query.ts +19 -7
- package/server/service/tax-invoice/tax-invoice-type.ts +3 -0
- package/server/service/tax-invoice/tax-invoice-util.ts +1 -0
- package/server/service/tax-invoice/tax-invoice.ts +4 -0
|
@@ -6,6 +6,7 @@ const tslib_1 = require("tslib");
|
|
|
6
6
|
tslib_1.__exportStar(require("./tax-audit-result/tax-audit-result"), exports);
|
|
7
7
|
tslib_1.__exportStar(require("./tax-invoice-item/tax-invoice-item"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./tax-invoice/tax-invoice"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./tax-invoice-company/tax-invoice-company"), exports);
|
|
9
10
|
/* IMPORT ENTITIES AND RESOLVERS */
|
|
10
11
|
const tax_audit_result_1 = require("./tax-audit-result");
|
|
11
12
|
const tax_invoice_1 = require("./tax-invoice");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,8EAAmD;AACnD,8EAAmD;AACnD,oEAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,8EAAmD;AACnD,8EAAmD;AACnD,oEAAyC;AACzC,oFAAyD;AAEzD,mCAAmC;AACnC,yDAAuJ;AACvJ,+CAAgG;AAChG,yDAA6G;AAC7G,+DAAsH;AACtH,uDAA0G;AAE7F,QAAA,QAAQ,GAAG;IACtB,cAAc;IACd,GAAG,2BAAsB;IACzB,GAAG,sBAAkB;IACrB,GAAG,2BAAsB;IACzB,GAAG,8BAAyB;IAC5B,GAAG,0BAAqB;CACzB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,iBAAiB;IACjB,GAAG,8BAAyB;CAC7B,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,sBAAsB;QACtB,GAAG,4BAAuB;QAC1B,GAAG,uBAAmB;QACtB,GAAG,4BAAuB;QAC1B,GAAG,+BAA0B;QAC7B,GAAG,2BAAsB;KAC1B;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './tax-audit-result/tax-audit-result'\nexport * from './tax-invoice-item/tax-invoice-item'\nexport * from './tax-invoice/tax-invoice'\nexport * from './tax-invoice-company/tax-invoice-company'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport { entities as TaxAuditResultEntities, resolvers as TaxAuditResultResolvers, subscribers as TaxAuditResultSubscribers } from './tax-audit-result'\nimport { entities as TaxInvoiceEntities, resolvers as TaxInvoiceResolvers } from './tax-invoice'\nimport { entities as TaxInvoiceItemEntities, resolvers as TaxInvoiceItemResolvers } from './tax-invoice-item'\nimport { entities as TaxInvoiceCompanyEntities, resolvers as TaxInvoiceCompanyResolvers } from './tax-invoice-company'\nimport { entities as TaxInvoiceApiEntities, resolvers as TaxInvoiceApiResolvers } from './tax-invoice-api'\n\nexport const entities = [\n /* ENTITIES */\n ...TaxAuditResultEntities,\n ...TaxInvoiceEntities,\n ...TaxInvoiceItemEntities,\n ...TaxInvoiceCompanyEntities,\n ...TaxInvoiceApiEntities\n]\n\nexport const subscribers = [\n /* SUBSCRIBERS */\n ...TaxAuditResultSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n /* RESOLVER CLASSES */\n ...TaxAuditResultResolvers,\n ...TaxInvoiceResolvers,\n ...TaxInvoiceItemResolvers,\n ...TaxInvoiceCompanyResolvers,\n ...TaxInvoiceApiResolvers\n ]\n}\n"]}
|
|
@@ -12,10 +12,6 @@ const tax_invoice_api_1 = require("../tax-invoice-api/tax-invoice-api");
|
|
|
12
12
|
const tax_invoice_inquiry_1 = require("../unipost-api/tax-invoice-inquiry");
|
|
13
13
|
const tax_invoice_util_1 = require("./tax-invoice-util");
|
|
14
14
|
let TaxInvoiceMutation = class TaxInvoiceMutation {
|
|
15
|
-
constructor() {
|
|
16
|
-
// YYYYMMDD => YYYY-MM-DD
|
|
17
|
-
this._dateFormat = date => date.replace(/(\d{4})(\d{2})(\d{2})/g, '$1-$2-$3');
|
|
18
|
-
}
|
|
19
15
|
async createTaxInvoice(taxInvoice, taxInvoiceItems, context) {
|
|
20
16
|
const { domain, user, tx } = context.state;
|
|
21
17
|
const newTaxInvoice = await tx.getRepository(tax_invoice_1.TaxInvoice).save(Object.assign(Object.assign({}, taxInvoice), { domain, creator: user, updater: user }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Category, TaxInvoice } from './tax-invoice'\nimport { NewTaxInvoice, TaxInvoicePatch } from './tax-invoice-type'\nimport { NewTaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { TaxInvoiceApi } from '../tax-invoice-api/tax-invoice-api'\nimport { AttributeSet } from '@things-factory/shell/dist-server/service/attribute-set/attribute-set'\nimport { ConfirmData, UnipostTaxType, callTaxInvoiceConfirm, getTaxInvoiceByUniposApi } from '../unipost-api/tax-invoice-inquiry'\nimport { parseTaxInvoiceByUnipostFormat } from './tax-invoice-util'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceMutation {\n @Directive('@transaction')\n @Mutation(returns => TaxInvoice, { description: 'To create new TaxInvoice' })\n async createTaxInvoice(\n @Arg('taxInvoice') taxInvoice: NewTaxInvoice,\n @Arg('taxInvoiceItems', () => [NewTaxInvoiceItem]) taxInvoiceItems: NewTaxInvoiceItem[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice> {\n const { domain, user, tx } = context.state\n\n const newTaxInvoice = await tx.getRepository(TaxInvoice).save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await tx.getRepository(TaxInvoiceItem).save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n\n return newTaxInvoice\n }\n\n // 그리드에서 메모 수정용 으로만\n @Directive('@transaction')\n @Mutation(returns => [TaxInvoice], { description: \"To modify multiple TaxInvoices' information\" })\n async updateMultipleTaxInvoice(@Arg('patches', type => [TaxInvoicePatch]) patches: TaxInvoicePatch[], @Ctx() context: ResolverContext): Promise<TaxInvoice[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxInvoice = await taxInvoiceRepo.findOneBy({ id: updateRecord.id })\n\n const result = await taxInvoiceRepo.save({\n ...taxInvoice,\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 TaxInvoice' })\n async deleteTaxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoice).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxInvoices' })\n async deleteTaxInvoices(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoice).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'create tax invoice data by API' })\n async fetchTaxInvoiceByApi(@Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const insertedData: ConfirmData[] = [] // API 호출 후 결과 회신용\n\n const apiInfo = (await taxInvoiceApiRepo.find()).at(0)\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '' } = apiInfo?.attributes\n\n // API 호출하여 세금계산서 데이터 가져옴\n const { issueNoList, taxList } = await getTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer)\n\n // 이미 있는 데이터 아이디 검색\n const existingTaxInvoice = await taxInvoiceRepo.find({\n select: ['issueNo'],\n where: { issueNo: In(issueNoList) }\n })\n const existingIds = existingTaxInvoice.map(taxInvoice => taxInvoice.issueNo)\n\n // 매입, 매출 for문\n for (let tax of taxList) {\n // 있는지 없는지 확인 (이미 있는 세금계산서는 패스)\n if (existingIds.includes(tax.exd_id)) continue\n\n // api로 받은 데이터를 DB 형태로 파싱\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(tax, tax.tAliceItemList, tax.category)\n\n // Insert\n this.createTaxInvoice(taxInvoice, taxInvoiceItems, context)\n\n // API 결과 회신 데이터 생성\n insertedData.push({\n aid: aid,\n tax_type: tax.category == Category.EXPORT ? UnipostTaxType.EXPORT : UnipostTaxType.IMPORT,\n tid_issueid: tax.tid_issueid,\n success: true,\n message: ''\n })\n }\n\n // 유니 포스트에 조회 후 결과 회신 API 호출\n callTaxInvoiceConfirm(businessRegistrationNumber, aid, bearer, insertedData)\n\n return true\n }\n\n // YYYYMMDD => YYYY-MM-DD\n private _dateFormat = date => date.replace(/(\\d{4})(\\d{2})(\\d{2})/g, '$1-$2-$3')\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice-mutation.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-mutation.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'\nimport { In } from 'typeorm'\n\nimport { Category, TaxInvoice } from './tax-invoice'\nimport { NewTaxInvoice, TaxInvoicePatch } from './tax-invoice-type'\nimport { NewTaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\nimport { TaxInvoiceApi } from '../tax-invoice-api/tax-invoice-api'\nimport { AttributeSet } from '@things-factory/shell/dist-server/service/attribute-set/attribute-set'\nimport { ConfirmData, UnipostTaxType, callTaxInvoiceConfirm, getTaxInvoiceByUniposApi } from '../unipost-api/tax-invoice-inquiry'\nimport { parseTaxInvoiceByUnipostFormat } from './tax-invoice-util'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceMutation {\n @Directive('@transaction')\n @Mutation(returns => TaxInvoice, { description: 'To create new TaxInvoice' })\n async createTaxInvoice(\n @Arg('taxInvoice') taxInvoice: NewTaxInvoice,\n @Arg('taxInvoiceItems', () => [NewTaxInvoiceItem]) taxInvoiceItems: NewTaxInvoiceItem[],\n @Ctx() context: ResolverContext\n ): Promise<TaxInvoice> {\n const { domain, user, tx } = context.state\n\n const newTaxInvoice = await tx.getRepository(TaxInvoice).save({\n ...taxInvoice,\n domain,\n creator: user,\n updater: user\n })\n\n // 아이템 저장\n for (const item of taxInvoiceItems) {\n await tx.getRepository(TaxInvoiceItem).save({ ...item, taxInvoice: newTaxInvoice, domain, creator: user })\n }\n\n return newTaxInvoice\n }\n\n // 그리드에서 메모 수정용 으로만\n @Directive('@transaction')\n @Mutation(returns => [TaxInvoice], { description: \"To modify multiple TaxInvoices' information\" })\n async updateMultipleTaxInvoice(@Arg('patches', type => [TaxInvoicePatch]) patches: TaxInvoicePatch[], @Ctx() context: ResolverContext): Promise<TaxInvoice[]> {\n const { domain, user, tx } = context.state\n\n let results = []\n const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n\n if (_updateRecords.length > 0) {\n for (let i = 0; i < _updateRecords.length; i++) {\n const updateRecord = _updateRecords[i]\n const taxInvoice = await taxInvoiceRepo.findOneBy({ id: updateRecord.id })\n\n const result = await taxInvoiceRepo.save({\n ...taxInvoice,\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 TaxInvoice' })\n async deleteTaxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoice).delete({ domain: { id: domain.id }, id })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'To delete multiple TaxInvoices' })\n async deleteTaxInvoices(@Arg('ids', type => [String]) ids: string[], @Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, tx } = context.state\n\n await tx.getRepository(TaxInvoice).delete({\n domain: { id: domain.id },\n id: In(ids)\n })\n\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean, { description: 'create tax invoice data by API' })\n async fetchTaxInvoiceByApi(@Ctx() context: ResolverContext): Promise<boolean> {\n const { domain, user, tx } = context.state\n const taxInvoiceApiRepo = tx.getRepository(TaxInvoiceApi)\n const taxInvoiceRepo = tx.getRepository(TaxInvoice)\n const insertedData: ConfirmData[] = [] // API 호출 후 결과 회신용\n\n const apiInfo = (await taxInvoiceApiRepo.find()).at(0)\n const businessRegistrationNumber = apiInfo.businessRegistrationNumber\n const { aid = '', bearer = '' } = apiInfo?.attributes\n\n // API 호출하여 세금계산서 데이터 가져옴\n const { issueNoList, taxList } = await getTaxInvoiceByUniposApi(businessRegistrationNumber, aid, bearer)\n\n // 이미 있는 데이터 아이디 검색\n const existingTaxInvoice = await taxInvoiceRepo.find({\n select: ['issueNo'],\n where: { issueNo: In(issueNoList) }\n })\n const existingIds = existingTaxInvoice.map(taxInvoice => taxInvoice.issueNo)\n\n // 매입, 매출 for문\n for (let tax of taxList) {\n // 있는지 없는지 확인 (이미 있는 세금계산서는 패스)\n if (existingIds.includes(tax.exd_id)) continue\n\n // api로 받은 데이터를 DB 형태로 파싱\n const { taxInvoice, taxInvoiceItems } = parseTaxInvoiceByUnipostFormat(tax, tax.tAliceItemList, tax.category)\n\n // Insert\n this.createTaxInvoice(taxInvoice, taxInvoiceItems, context)\n\n // API 결과 회신 데이터 생성\n insertedData.push({\n aid: aid,\n tax_type: tax.category == Category.EXPORT ? UnipostTaxType.EXPORT : UnipostTaxType.IMPORT,\n tid_issueid: tax.tid_issueid,\n success: true,\n message: ''\n })\n }\n\n // 유니 포스트에 조회 후 결과 회신 API 호출\n callTaxInvoiceConfirm(businessRegistrationNumber, aid, bearer, insertedData)\n\n return true\n }\n}\n"]}
|
|
@@ -27,18 +27,30 @@ let TaxInvoiceQuery = class TaxInvoiceQuery {
|
|
|
27
27
|
return { items, total };
|
|
28
28
|
}
|
|
29
29
|
async taxInvoicesSummary(params, context) {
|
|
30
|
+
var _a, _b;
|
|
30
31
|
const { domain } = context.state;
|
|
32
|
+
let category = (_b = (_a = params.filters.filter(v => v.name === 'category')) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.value;
|
|
31
33
|
const queryBuilder = (0, shell_1.getQueryBuilderFromListParams)({
|
|
32
34
|
domain,
|
|
33
35
|
params: Object.assign(Object.assign({}, params), { pagination: {} }),
|
|
34
36
|
repository: await (0, shell_1.getRepository)(tax_invoice_1.TaxInvoice)
|
|
35
37
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
38
|
+
// 매입/매출이 있으면 그냥 가격으로 표시, 전체 조회면 매출-매입 으로 계산
|
|
39
|
+
if (category) {
|
|
40
|
+
queryBuilder
|
|
41
|
+
.select('COUNT(id)', 'cnt')
|
|
42
|
+
.addSelect('SUM(supply_amount)', 'supply_amount')
|
|
43
|
+
.addSelect('SUM(tax_amount)', 'tax_amount')
|
|
44
|
+
.addSelect('SUM(total_amount)', 'total_amount');
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
queryBuilder
|
|
48
|
+
.select('COUNT(id)', 'cnt')
|
|
49
|
+
.addSelect(`SUM(CASE WHEN category = \'${tax_invoice_1.Category.EXPORT}\' THEN supply_amount ELSE -1 * supply_amount END)`, 'supply_amount')
|
|
50
|
+
.addSelect(`SUM(CASE WHEN category = \'${tax_invoice_1.Category.EXPORT}\' THEN tax_amount ELSE -1 * tax_amount END)`, 'tax_amount')
|
|
51
|
+
.addSelect(`SUM(CASE WHEN category = \'${tax_invoice_1.Category.EXPORT}\' THEN total_amount ELSE -1 * total_amount END)`, 'total_amount');
|
|
52
|
+
}
|
|
53
|
+
const summary = await queryBuilder.getRawOne();
|
|
42
54
|
return { summary };
|
|
43
55
|
}
|
|
44
56
|
async taxInvoiceItems(taxInvoice) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-query.ts"],"names":[],"mappings":";;;;AAAA,+CAAmF;AACnF,iDAAuG;AACvG,yDAAgD;AAChD,+
|
|
1
|
+
{"version":3,"file":"tax-invoice-query.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'\nimport { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'\nimport { User } from '@things-factory/auth-base'\nimport { Category, Purpose, TaxInvoice } from './tax-invoice'\nimport { TaxInvoiceList, TaxInvoiceSummary } from './tax-invoice-type'\nimport { TaxInvoiceItem } from '../tax-invoice-item/tax-invoice-item'\n\n@Resolver(TaxInvoice)\nexport class TaxInvoiceQuery {\n @Query(returns => TaxInvoice!, { nullable: true, description: 'To fetch a TaxInvoice' })\n async taxInvoice(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<TaxInvoice> {\n const { domain } = context.state\n\n return await getRepository(TaxInvoice).findOne({\n where: { domain: { id: domain.id }, id }\n })\n }\n\n @Query(returns => TaxInvoiceList, { description: 'To fetch multiple TaxInvoices' })\n async taxInvoices(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<TaxInvoiceList> {\n const { domain } = context.state\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(TaxInvoice),\n searchables: ['memo']\n })\n const [items, total] = await queryBuilder.getManyAndCount()\n\n return { items, total }\n }\n\n @Query(returns => TaxInvoiceSummary, { description: 'To fetch TaxInvoices Summary' })\n async taxInvoicesSummary(@Args() params: ListParam, @Ctx() context: ResolverContext): Promise<TaxInvoiceSummary> {\n const { domain } = context.state\n let category = params.filters.filter(v => v.name === 'category')?.[0]?.value\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params: { ...params, pagination: {} },\n repository: await getRepository(TaxInvoice)\n })\n\n // 매입/매출이 있으면 그냥 가격으로 표시, 전체 조회면 매출-매입 으로 계산\n if (category) {\n queryBuilder\n .select('COUNT(id)', 'cnt')\n .addSelect('SUM(supply_amount)', 'supply_amount')\n .addSelect('SUM(tax_amount)', 'tax_amount')\n .addSelect('SUM(total_amount)', 'total_amount')\n } else {\n queryBuilder\n .select('COUNT(id)', 'cnt')\n .addSelect(`SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN supply_amount ELSE -1 * supply_amount END)`, 'supply_amount')\n .addSelect(`SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN tax_amount ELSE -1 * tax_amount END)`, 'tax_amount')\n .addSelect(`SUM(CASE WHEN category = \\'${Category.EXPORT}\\' THEN total_amount ELSE -1 * total_amount END)`, 'total_amount')\n }\n\n const summary = await queryBuilder.getRawOne()\n\n return { summary }\n }\n\n @FieldResolver(type => [TaxInvoiceItem])\n async taxInvoiceItems(@Root() taxInvoice: TaxInvoice): Promise<TaxInvoiceItem[]> {\n return taxInvoice.id && (await getRepository(TaxInvoiceItem).findBy({ taxInvoice: { id: taxInvoice.id } }))\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() taxInvoice: TaxInvoice): Promise<Domain> {\n return taxInvoice.domainId && (await getRepository(Domain).findOneBy({ id: taxInvoice.domainId }))\n }\n\n @FieldResolver(type => User)\n async updater(@Root() taxInvoice: TaxInvoice): Promise<User> {\n return taxInvoice.updaterId && (await getRepository(User).findOneBy({ id: taxInvoice.updaterId }))\n }\n\n @FieldResolver(type => User)\n async creator(@Root() taxInvoice: TaxInvoice): Promise<User> {\n return taxInvoice.creatorId && (await getRepository(User).findOneBy({ id: taxInvoice.creatorId }))\n }\n}\n"]}
|
|
@@ -63,6 +63,10 @@ tslib_1.__decorate([
|
|
|
63
63
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
64
64
|
tslib_1.__metadata("design:type", String)
|
|
65
65
|
], NewTaxInvoice.prototype, "remark2", void 0);
|
|
66
|
+
tslib_1.__decorate([
|
|
67
|
+
(0, type_graphql_1.Field)({ nullable: true }),
|
|
68
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
69
|
+
], NewTaxInvoice.prototype, "isSentByApi", void 0);
|
|
66
70
|
tslib_1.__decorate([
|
|
67
71
|
(0, type_graphql_1.Field)({ nullable: true }),
|
|
68
72
|
tslib_1.__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-type.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { BusinessRegistrationCategory, Category, InvoiceType, Purpose, RevisedReason, TaxInvoice } from './tax-invoice'\nimport { ScalarObject } from '@things-factory/shell'\n\n@InputType()\nexport class NewTaxInvoice {\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n apiRefId?: string\n\n @Field({ nullable: false })\n category: Category\n\n @Field({ nullable: true })\n issueNo?: string\n\n @Field({ nullable: true })\n approvalNo?: string\n\n @Field({ nullable: true })\n originalApprovalNo?: string\n\n @Field({ nullable: false })\n issueDate: string\n\n @Field({ nullable: true })\n signatureDate: string\n\n @Field({ nullable: false })\n invoiceType: InvoiceType\n\n @Field({ nullable: false })\n purpose: Purpose\n\n @Field({ nullable: true })\n revisedReason?: RevisedReason\n\n @Field({ nullable: true })\n remark0?: string\n\n @Field({ nullable: true })\n remark1?: string\n\n @Field({ nullable: true })\n remark2?: string\n\n @Field({ nullable: true })\n supplierBusinessRegistrationCategory: BusinessRegistrationCategory\n\n @Field({ nullable: false })\n supplierBusinessRegistrationNumber: string\n\n @Field({ nullable: true })\n supplierBranchIdentification?: string\n\n @Field({ nullable: false })\n supplierBusinessName: string\n\n @Field({ nullable: false })\n supplierRepresentativeName: string\n\n @Field({ nullable: true })\n supplierAddress?: string\n\n @Field({ nullable: true })\n supplierBusinessType?: string\n\n @Field({ nullable: true })\n supplierIndustryType?: string\n\n @Field({ nullable: true })\n supplierDepartment?: string\n\n @Field({ nullable: true })\n supplierContactName?: string\n\n @Field({ nullable: true })\n supplierContactPhone?: string\n\n @Field({ nullable: true })\n supplierContactEmail?: string\n\n @Field({ nullable: true })\n supplierContactCellPhone?: string\n\n @Field({ nullable: true })\n buyerBusinessRegistrationCategory: BusinessRegistrationCategory\n\n @Field({ nullable: false })\n buyerBusinessRegistrationNumber: string\n\n @Field({ nullable: true })\n buyerBranchIdentification?: string\n\n @Field({ nullable: false })\n buyerBusinessName: string\n\n @Field({ nullable: false })\n buyerRepresentativeName: string\n\n @Field({ nullable: true })\n buyerAddress?: string\n\n @Field({ nullable: true })\n buyerBusinessType?: string\n\n @Field({ nullable: true })\n buyerIndustryType?: string\n\n @Field({ nullable: true })\n buyer1stDepartment?: string\n\n @Field({ nullable: true })\n buyer1stContactName?: string\n\n @Field({ nullable: true })\n buyer1stContactPhone?: string\n\n @Field({ nullable: true })\n buyer1stContactEmail?: string\n\n @Field({ nullable: true })\n buyer1stContactCellPhone?: string\n\n @Field({ nullable: true })\n buyer2ndDepartment?: string\n\n @Field({ nullable: true })\n buyer2ndContactName?: string\n\n @Field({ nullable: true })\n buyer2ndContactPhone?: string\n\n @Field({ nullable: true })\n buyer2ndContactEmail?: string\n\n @Field({ nullable: true })\n buyer2ndContactCellPhone?: string\n\n @Field({ nullable: true })\n agentBusinessRegistrationCategory?: BusinessRegistrationCategory\n\n @Field({ nullable: true })\n agentBusinessRegistrationNumber?: string\n\n @Field({ nullable: true })\n agentBranchIdentification?: string\n\n @Field({ nullable: true })\n agentBusinessName?: string\n\n @Field({ nullable: true })\n agentRepresentativeName?: string\n\n @Field({ nullable: true })\n agentAddress?: string\n\n @Field({ nullable: true })\n agentBusinessType?: string\n\n @Field({ nullable: true })\n agentIndustryType?: string\n\n @Field({ nullable: true })\n agentDepartment?: string\n\n @Field({ nullable: true })\n agentContactName?: string\n\n @Field({ nullable: true })\n agentContactPhone?: string\n\n @Field({ nullable: true })\n agentContactEmail?: string\n\n @Field({ nullable: true })\n agentContactCellPhone?: string\n\n @Field(type => Int, { nullable: true })\n paymentAmountCash?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountCheck?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountPromissoryNote?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountAccountsReceivable?: number\n\n @Field(type => Int, { nullable: false })\n supplyAmount: number\n\n @Field(type => Int, { nullable: true })\n taxAmount: number\n\n @Field(type => Int, { nullable: false })\n totalAmount: number\n}\n\n@InputType()\nexport class TaxInvoicePatch {\n @Field(type => ID, { nullable: false })\n id?: string\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class TaxInvoiceList {\n @Field(type => [TaxInvoice])\n items: TaxInvoice[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class TaxInvoiceSummary {\n @Field(type => ScalarObject)\n summary: {\n supply_amount: number\n tax_amount: number\n total_amount: number\n cnt: number\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice-type.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectType, Field, InputType, Int, ID } from 'type-graphql'\nimport { BusinessRegistrationCategory, Category, InvoiceType, Purpose, RevisedReason, TaxInvoice } from './tax-invoice'\nimport { ScalarObject } from '@things-factory/shell'\n\n@InputType()\nexport class NewTaxInvoice {\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n apiRefId?: string\n\n @Field({ nullable: false })\n category: Category\n\n @Field({ nullable: true })\n issueNo?: string\n\n @Field({ nullable: true })\n approvalNo?: string\n\n @Field({ nullable: true })\n originalApprovalNo?: string\n\n @Field({ nullable: false })\n issueDate: string\n\n @Field({ nullable: true })\n signatureDate: string\n\n @Field({ nullable: false })\n invoiceType: InvoiceType\n\n @Field({ nullable: false })\n purpose: Purpose\n\n @Field({ nullable: true })\n revisedReason?: RevisedReason\n\n @Field({ nullable: true })\n remark0?: string\n\n @Field({ nullable: true })\n remark1?: string\n\n @Field({ nullable: true })\n remark2?: string\n\n @Field({ nullable: true })\n isSentByApi?: boolean\n\n @Field({ nullable: true })\n supplierBusinessRegistrationCategory: BusinessRegistrationCategory\n\n @Field({ nullable: false })\n supplierBusinessRegistrationNumber: string\n\n @Field({ nullable: true })\n supplierBranchIdentification?: string\n\n @Field({ nullable: false })\n supplierBusinessName: string\n\n @Field({ nullable: false })\n supplierRepresentativeName: string\n\n @Field({ nullable: true })\n supplierAddress?: string\n\n @Field({ nullable: true })\n supplierBusinessType?: string\n\n @Field({ nullable: true })\n supplierIndustryType?: string\n\n @Field({ nullable: true })\n supplierDepartment?: string\n\n @Field({ nullable: true })\n supplierContactName?: string\n\n @Field({ nullable: true })\n supplierContactPhone?: string\n\n @Field({ nullable: true })\n supplierContactEmail?: string\n\n @Field({ nullable: true })\n supplierContactCellPhone?: string\n\n @Field({ nullable: true })\n buyerBusinessRegistrationCategory: BusinessRegistrationCategory\n\n @Field({ nullable: false })\n buyerBusinessRegistrationNumber: string\n\n @Field({ nullable: true })\n buyerBranchIdentification?: string\n\n @Field({ nullable: false })\n buyerBusinessName: string\n\n @Field({ nullable: false })\n buyerRepresentativeName: string\n\n @Field({ nullable: true })\n buyerAddress?: string\n\n @Field({ nullable: true })\n buyerBusinessType?: string\n\n @Field({ nullable: true })\n buyerIndustryType?: string\n\n @Field({ nullable: true })\n buyer1stDepartment?: string\n\n @Field({ nullable: true })\n buyer1stContactName?: string\n\n @Field({ nullable: true })\n buyer1stContactPhone?: string\n\n @Field({ nullable: true })\n buyer1stContactEmail?: string\n\n @Field({ nullable: true })\n buyer1stContactCellPhone?: string\n\n @Field({ nullable: true })\n buyer2ndDepartment?: string\n\n @Field({ nullable: true })\n buyer2ndContactName?: string\n\n @Field({ nullable: true })\n buyer2ndContactPhone?: string\n\n @Field({ nullable: true })\n buyer2ndContactEmail?: string\n\n @Field({ nullable: true })\n buyer2ndContactCellPhone?: string\n\n @Field({ nullable: true })\n agentBusinessRegistrationCategory?: BusinessRegistrationCategory\n\n @Field({ nullable: true })\n agentBusinessRegistrationNumber?: string\n\n @Field({ nullable: true })\n agentBranchIdentification?: string\n\n @Field({ nullable: true })\n agentBusinessName?: string\n\n @Field({ nullable: true })\n agentRepresentativeName?: string\n\n @Field({ nullable: true })\n agentAddress?: string\n\n @Field({ nullable: true })\n agentBusinessType?: string\n\n @Field({ nullable: true })\n agentIndustryType?: string\n\n @Field({ nullable: true })\n agentDepartment?: string\n\n @Field({ nullable: true })\n agentContactName?: string\n\n @Field({ nullable: true })\n agentContactPhone?: string\n\n @Field({ nullable: true })\n agentContactEmail?: string\n\n @Field({ nullable: true })\n agentContactCellPhone?: string\n\n @Field(type => Int, { nullable: true })\n paymentAmountCash?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountCheck?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountPromissoryNote?: number\n\n @Field(type => Int, { nullable: true })\n paymentAmountAccountsReceivable?: number\n\n @Field(type => Int, { nullable: false })\n supplyAmount: number\n\n @Field(type => Int, { nullable: true })\n taxAmount: number\n\n @Field(type => Int, { nullable: false })\n totalAmount: number\n}\n\n@InputType()\nexport class TaxInvoicePatch {\n @Field(type => ID, { nullable: false })\n id?: string\n\n @Field({ nullable: true })\n memo?: string\n\n @Field({ nullable: true })\n cuFlag?: string\n}\n\n@ObjectType()\nexport class TaxInvoiceList {\n @Field(type => [TaxInvoice])\n items: TaxInvoice[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class TaxInvoiceSummary {\n @Field(type => ScalarObject)\n summary: {\n supply_amount: number\n tax_amount: number\n total_amount: number\n cnt: number\n }\n}\n"]}
|
|
@@ -21,6 +21,7 @@ function parseTaxInvoiceByUnipostFormat(unipostTaxInvoice, unipostTaxInvoiceItem
|
|
|
21
21
|
remark0: unipostTaxInvoice.tid_desc0,
|
|
22
22
|
remark1: unipostTaxInvoice.tid_desc1,
|
|
23
23
|
remark2: unipostTaxInvoice.tid_desc2,
|
|
24
|
+
isSentByApi: true,
|
|
24
25
|
category: category,
|
|
25
26
|
supplierBusinessRegistrationCategory: unipostTaxInvoice.tit_alice_specorg_biztypecode,
|
|
26
27
|
supplierBusinessRegistrationNumber: unipostTaxInvoice.tit_alice_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tax-invoice-util.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { NewTaxInvoiceItem } from 'service/tax-invoice-item/tax-invoice-item-type'\nimport { NewTaxInvoice } from './tax-invoice-type'\nimport { BusinessRegistrationCategory, Category, InvoiceType, Purpose, RevisedReason } from './tax-invoice'\n\ninterface UnipostTaxInvoice {\n offset?: string\n limit?: string\n aid?: string\n exd_id?: string\n exd_refdoc_id?: string\n exd_issuedatetime?: string\n exd_issuedatetime_format?: string\n tid_issueid?: string\n tid_issuedatetime?: string\n tid_issuedatetime_format?: string\n tid_typecode?: InvoiceType\n tid_typecode_desc?: string\n tid_purposecode?: Purpose\n tid_purposecode_desc?: string\n tid_amendcode?: RevisedReason\n tid_amendcode_desc?: string\n tid_originalissueid?: string\n tid_desc0?: string\n tid_desc1?: string\n tid_desc2?: string\n tid_refimpdoc_id?: string\n tid_refimpdoc_itemquantity?: string\n tid_refimpdoc_accept_sdate?: string\n tid_refimpdoc_accept_edate?: string\n tit_alice_specorg_biztypecode?: BusinessRegistrationCategory\n tit_alice_id?: string\n tit_alice_specorg_taxregid?: string\n tit_alice_name?: string\n tit_alice_specperson_name?: string\n tit_alice_specaddr_lineone?: string\n tit_alice_typecode?: string\n tit_alice_classcode?: string\n tit_alice_defcont_deptname?: string\n tit_alice_defcont_personname?: string\n tit_alice_defcont_telcomm?: string\n tit_alice_defcont_uricomm?: string\n tit_alice_defcont_cellphone?: string\n tit_bob_specorg_biztypecode?: BusinessRegistrationCategory\n tit_bob_id?: string\n tit_bob_specorg_taxregid?: string\n tit_bob_name?: string\n tit_bob_specperson_name?: string\n tit_bob_specaddr_lineone?: string\n tit_bob_typecode?: string\n tit_bob_classcode?: string\n tit_bob_1stdefcont_deptname?: string\n tit_bob_1stdefcont_personname?: string\n tit_bob_1stdefcont_telcomm?: string\n tit_bob_1stdefcont_uricomm?: string\n tit_bob_1stdefcont_cellphone?: string\n tit_bob_2nddefcont_deptname?: string\n tit_bob_2nddefcont_personname?: string\n tit_bob_2nddefcont_telcomm?: string\n tit_bob_2nddefcont_uricomm?: string\n tit_bob_2nddefcont_cellphone?: string\n tit_broker_specorg_biztypecode?: BusinessRegistrationCategory\n tit_broker_id?: string\n tit_broker_specorg_taxregid?: string\n tit_broker_name?: string\n tit_broker_specperson_name?: string\n tit_broker_specaddr_lineone?: string\n tit_broker_typecode?: string\n tit_broker_classcode?: string\n tit_broker_defcont_deptname?: string\n tit_broker_defcont_personname?: string\n tit_broker_defcont_telcomm?: string\n tit_broker_defcont_uricomm?: string\n tit_broker_defcont_cellphone?: string\n tit_specpay_paidamount10?: number\n tit_specpay_paidamount20?: number\n tit_specpay_paidamount30?: number\n tit_specpay_paidamount40?: number\n tit_specpay_paidamount10_format?: string\n tit_specpay_paidamount20_format?: string\n tit_specpay_paidamount30_format?: string\n tit_specpay_paidamount40_format?: string\n tit_specsum_chargeamount?: number\n tit_specsum_taxamount?: number\n tit_specsum_grandamount?: number\n tit_specsum_chargeamount_format?: string\n tit_specsum_taxamount_format?: string\n tit_specsum_grandamount_format?: string\n biz_tocharlesconfirmstatus?: string\n inv_sign?: string\n mbill_send_status?: string\n erp_sync_yn?: string\n prt_yn?: string\n prt_yn_desc?: string\n inv_seq?: string\n view_date?: string\n reg_date?: string\n sot_yn?: string\n table_alias?: string\n biz_no?: string\n tAliceItemList?: Array<any>\n tcTrItemList?: Array<any>\n tAliceFileList?: Array<any>\n tAliceDSig?: Object\n tAliceStat?: Object\n biz_tocharlesconfirmstatus_desc?: string\n}\n\ninterface UnipostTaxInvoiceItem {\n offset?: number\n limit?: number\n aid?: string\n exd_id?: string\n tii_seqnumeric?: number\n tii_purchaseexpirydatetime?: string\n tii_purchaseexpirydatetime_format?: string\n tii_purchaseexpirydatetime_format_month?: string\n tii_purchaseexpirydatetime_format_day?: string\n tii_nametext?: string\n tii_informationtext?: string\n tii_chargeableunitquantity?: number\n tii_chargeableunitquantity_format?: string\n tii_chargeableunittext?: string\n tii_unitprice_unitamount?: number\n tii_unitprice_unitamount_format?: string\n tii_invoiceamount?: number\n tii_invoiceamount_format?: string\n tii_totaltax_calcamount?: number\n tii_totaltax_calcamount_format?: string\n tii_descriptiontext?: string\n}\n\n// 유니포스트 데이터 포맷을 DB에 넣을수 있는 포맷으로 변경\nexport function parseTaxInvoiceByUnipostFormat(unipostTaxInvoice: UnipostTaxInvoice, unipostTaxInvoiceItems: UnipostTaxInvoiceItem[], category: Category) {\n let taxInvoice: NewTaxInvoice\n let taxInvoiceItems: NewTaxInvoiceItem[]\n\n // 한개 라도 없으면 전부 빈값으로 리턴\n if (!unipostTaxInvoice || !unipostTaxInvoiceItems) return { taxInvoice, taxInvoiceItems }\n\n // exd_issuedatetime 이 두개는 조회 API에서는 yyyymmdd 로 오지만 발행에서는 yyyymmddhhmmss로 옴\n taxInvoice = {\n issueNo: unipostTaxInvoice.exd_id,\n approvalNo: unipostTaxInvoice.tid_issueid,\n originalApprovalNo: unipostTaxInvoice.tid_originalissueid,\n issueDate: _dateFormat(unipostTaxInvoice.tid_issuedatetime),\n signatureDate: _dateFormat(unipostTaxInvoice.exd_issuedatetime.substring(0, 8)),\n invoiceType: unipostTaxInvoice.tid_typecode,\n purpose: unipostTaxInvoice.tid_purposecode,\n revisedReason: unipostTaxInvoice.tid_amendcode,\n remark0: unipostTaxInvoice.tid_desc0,\n remark1: unipostTaxInvoice.tid_desc1,\n remark2: unipostTaxInvoice.tid_desc2,\n category: category,\n supplierBusinessRegistrationCategory: unipostTaxInvoice.tit_alice_specorg_biztypecode,\n supplierBusinessRegistrationNumber: unipostTaxInvoice.tit_alice_id,\n supplierBranchIdentification: unipostTaxInvoice.tit_alice_specorg_taxregid,\n supplierBusinessName: unipostTaxInvoice.tit_alice_name,\n supplierRepresentativeName: unipostTaxInvoice.tit_alice_specperson_name,\n supplierAddress: unipostTaxInvoice.tit_alice_specaddr_lineone,\n supplierBusinessType: unipostTaxInvoice.tit_alice_typecode,\n supplierIndustryType: unipostTaxInvoice.tit_alice_classcode,\n supplierDepartment: unipostTaxInvoice.tit_alice_defcont_deptname,\n supplierContactName: unipostTaxInvoice.tit_alice_defcont_personname,\n supplierContactPhone: unipostTaxInvoice.tit_alice_defcont_telcomm,\n supplierContactEmail: unipostTaxInvoice.tit_alice_defcont_uricomm,\n supplierContactCellPhone: unipostTaxInvoice.tit_alice_defcont_cellphone,\n buyerBusinessRegistrationCategory: unipostTaxInvoice.tit_bob_specorg_biztypecode,\n buyerBusinessRegistrationNumber: unipostTaxInvoice.tit_bob_id,\n buyerBranchIdentification: unipostTaxInvoice.tit_bob_specorg_taxregid,\n buyerBusinessName: unipostTaxInvoice.tit_bob_name,\n buyerRepresentativeName: unipostTaxInvoice.tit_bob_specperson_name,\n buyerAddress: unipostTaxInvoice.tit_bob_specaddr_lineone,\n buyerBusinessType: unipostTaxInvoice.tit_bob_typecode,\n buyerIndustryType: unipostTaxInvoice.tit_bob_classcode,\n buyer1stDepartment: unipostTaxInvoice.tit_bob_1stdefcont_deptname,\n buyer1stContactName: unipostTaxInvoice.tit_bob_1stdefcont_personname,\n buyer1stContactPhone: unipostTaxInvoice.tit_bob_1stdefcont_telcomm,\n buyer1stContactEmail: unipostTaxInvoice.tit_bob_1stdefcont_uricomm,\n buyer1stContactCellPhone: unipostTaxInvoice.tit_bob_1stdefcont_cellphone,\n buyer2ndDepartment: unipostTaxInvoice.tit_bob_2nddefcont_deptname,\n buyer2ndContactName: unipostTaxInvoice.tit_bob_2nddefcont_personname,\n buyer2ndContactPhone: unipostTaxInvoice.tit_bob_2nddefcont_telcomm,\n buyer2ndContactEmail: unipostTaxInvoice.tit_bob_2nddefcont_uricomm,\n buyer2ndContactCellPhone: unipostTaxInvoice.tit_bob_2nddefcont_cellphone,\n agentBusinessRegistrationCategory: unipostTaxInvoice.tit_broker_specorg_biztypecode,\n agentBusinessRegistrationNumber: unipostTaxInvoice.tit_broker_id,\n agentBranchIdentification: unipostTaxInvoice.tit_broker_specorg_taxregid,\n agentBusinessName: unipostTaxInvoice.tit_broker_name,\n agentRepresentativeName: unipostTaxInvoice.tit_broker_specperson_name,\n agentAddress: unipostTaxInvoice.tit_broker_specaddr_lineone,\n agentBusinessType: unipostTaxInvoice.tit_broker_typecode,\n agentIndustryType: unipostTaxInvoice.tit_broker_classcode,\n agentDepartment: unipostTaxInvoice.tit_broker_defcont_deptname,\n agentContactName: unipostTaxInvoice.tit_broker_defcont_personname,\n agentContactPhone: unipostTaxInvoice.tit_broker_defcont_telcomm,\n agentContactEmail: unipostTaxInvoice.tit_broker_defcont_uricomm,\n agentContactCellPhone: unipostTaxInvoice.tit_broker_defcont_cellphone,\n paymentAmountCash: unipostTaxInvoice.tit_specpay_paidamount10,\n paymentAmountCheck: unipostTaxInvoice.tit_specpay_paidamount20,\n paymentAmountPromissoryNote: unipostTaxInvoice.tit_specpay_paidamount30,\n paymentAmountAccountsReceivable: unipostTaxInvoice.tit_specpay_paidamount40,\n supplyAmount: unipostTaxInvoice.tit_specsum_chargeamount,\n taxAmount: unipostTaxInvoice.tit_specsum_taxamount,\n totalAmount: unipostTaxInvoice.tit_specsum_grandamount\n }\n\n taxInvoiceItems = unipostTaxInvoiceItems.map(item => ({\n sequence: item.tii_seqnumeric,\n supplyDate: _dateFormat(item.tii_purchaseexpirydatetime),\n itemName: item.tii_nametext,\n specification: item.tii_informationtext,\n quantity: item.tii_chargeableunitquantity,\n unitPrice: item.tii_unitprice_unitamount,\n supplyPrice: item.tii_invoiceamount,\n taxPrice: item.tii_totaltax_calcamount,\n remark: item.tii_descriptiontext\n }))\n\n return { taxInvoice, taxInvoiceItems }\n}\n\n// YYYYMMDD => YYYY-MM-DD\nconst _dateFormat = date => date.replace(/(\\d{4})(\\d{2})(\\d{2})/g, '$1-$2-$3')\n"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice-util.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice-util.ts"],"names":[],"mappings":"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","sourcesContent":["import { NewTaxInvoiceItem } from 'service/tax-invoice-item/tax-invoice-item-type'\nimport { NewTaxInvoice } from './tax-invoice-type'\nimport { BusinessRegistrationCategory, Category, InvoiceType, Purpose, RevisedReason } from './tax-invoice'\n\ninterface UnipostTaxInvoice {\n offset?: string\n limit?: string\n aid?: string\n exd_id?: string\n exd_refdoc_id?: string\n exd_issuedatetime?: string\n exd_issuedatetime_format?: string\n tid_issueid?: string\n tid_issuedatetime?: string\n tid_issuedatetime_format?: string\n tid_typecode?: InvoiceType\n tid_typecode_desc?: string\n tid_purposecode?: Purpose\n tid_purposecode_desc?: string\n tid_amendcode?: RevisedReason\n tid_amendcode_desc?: string\n tid_originalissueid?: string\n tid_desc0?: string\n tid_desc1?: string\n tid_desc2?: string\n tid_refimpdoc_id?: string\n tid_refimpdoc_itemquantity?: string\n tid_refimpdoc_accept_sdate?: string\n tid_refimpdoc_accept_edate?: string\n tit_alice_specorg_biztypecode?: BusinessRegistrationCategory\n tit_alice_id?: string\n tit_alice_specorg_taxregid?: string\n tit_alice_name?: string\n tit_alice_specperson_name?: string\n tit_alice_specaddr_lineone?: string\n tit_alice_typecode?: string\n tit_alice_classcode?: string\n tit_alice_defcont_deptname?: string\n tit_alice_defcont_personname?: string\n tit_alice_defcont_telcomm?: string\n tit_alice_defcont_uricomm?: string\n tit_alice_defcont_cellphone?: string\n tit_bob_specorg_biztypecode?: BusinessRegistrationCategory\n tit_bob_id?: string\n tit_bob_specorg_taxregid?: string\n tit_bob_name?: string\n tit_bob_specperson_name?: string\n tit_bob_specaddr_lineone?: string\n tit_bob_typecode?: string\n tit_bob_classcode?: string\n tit_bob_1stdefcont_deptname?: string\n tit_bob_1stdefcont_personname?: string\n tit_bob_1stdefcont_telcomm?: string\n tit_bob_1stdefcont_uricomm?: string\n tit_bob_1stdefcont_cellphone?: string\n tit_bob_2nddefcont_deptname?: string\n tit_bob_2nddefcont_personname?: string\n tit_bob_2nddefcont_telcomm?: string\n tit_bob_2nddefcont_uricomm?: string\n tit_bob_2nddefcont_cellphone?: string\n tit_broker_specorg_biztypecode?: BusinessRegistrationCategory\n tit_broker_id?: string\n tit_broker_specorg_taxregid?: string\n tit_broker_name?: string\n tit_broker_specperson_name?: string\n tit_broker_specaddr_lineone?: string\n tit_broker_typecode?: string\n tit_broker_classcode?: string\n tit_broker_defcont_deptname?: string\n tit_broker_defcont_personname?: string\n tit_broker_defcont_telcomm?: string\n tit_broker_defcont_uricomm?: string\n tit_broker_defcont_cellphone?: string\n tit_specpay_paidamount10?: number\n tit_specpay_paidamount20?: number\n tit_specpay_paidamount30?: number\n tit_specpay_paidamount40?: number\n tit_specpay_paidamount10_format?: string\n tit_specpay_paidamount20_format?: string\n tit_specpay_paidamount30_format?: string\n tit_specpay_paidamount40_format?: string\n tit_specsum_chargeamount?: number\n tit_specsum_taxamount?: number\n tit_specsum_grandamount?: number\n tit_specsum_chargeamount_format?: string\n tit_specsum_taxamount_format?: string\n tit_specsum_grandamount_format?: string\n biz_tocharlesconfirmstatus?: string\n inv_sign?: string\n mbill_send_status?: string\n erp_sync_yn?: string\n prt_yn?: string\n prt_yn_desc?: string\n inv_seq?: string\n view_date?: string\n reg_date?: string\n sot_yn?: string\n table_alias?: string\n biz_no?: string\n tAliceItemList?: Array<any>\n tcTrItemList?: Array<any>\n tAliceFileList?: Array<any>\n tAliceDSig?: Object\n tAliceStat?: Object\n biz_tocharlesconfirmstatus_desc?: string\n}\n\ninterface UnipostTaxInvoiceItem {\n offset?: number\n limit?: number\n aid?: string\n exd_id?: string\n tii_seqnumeric?: number\n tii_purchaseexpirydatetime?: string\n tii_purchaseexpirydatetime_format?: string\n tii_purchaseexpirydatetime_format_month?: string\n tii_purchaseexpirydatetime_format_day?: string\n tii_nametext?: string\n tii_informationtext?: string\n tii_chargeableunitquantity?: number\n tii_chargeableunitquantity_format?: string\n tii_chargeableunittext?: string\n tii_unitprice_unitamount?: number\n tii_unitprice_unitamount_format?: string\n tii_invoiceamount?: number\n tii_invoiceamount_format?: string\n tii_totaltax_calcamount?: number\n tii_totaltax_calcamount_format?: string\n tii_descriptiontext?: string\n}\n\n// 유니포스트 데이터 포맷을 DB에 넣을수 있는 포맷으로 변경\nexport function parseTaxInvoiceByUnipostFormat(unipostTaxInvoice: UnipostTaxInvoice, unipostTaxInvoiceItems: UnipostTaxInvoiceItem[], category: Category) {\n let taxInvoice: NewTaxInvoice\n let taxInvoiceItems: NewTaxInvoiceItem[]\n\n // 한개 라도 없으면 전부 빈값으로 리턴\n if (!unipostTaxInvoice || !unipostTaxInvoiceItems) return { taxInvoice, taxInvoiceItems }\n\n // exd_issuedatetime 이 두개는 조회 API에서는 yyyymmdd 로 오지만 발행에서는 yyyymmddhhmmss로 옴\n taxInvoice = {\n issueNo: unipostTaxInvoice.exd_id,\n approvalNo: unipostTaxInvoice.tid_issueid,\n originalApprovalNo: unipostTaxInvoice.tid_originalissueid,\n issueDate: _dateFormat(unipostTaxInvoice.tid_issuedatetime),\n signatureDate: _dateFormat(unipostTaxInvoice.exd_issuedatetime.substring(0, 8)),\n invoiceType: unipostTaxInvoice.tid_typecode,\n purpose: unipostTaxInvoice.tid_purposecode,\n revisedReason: unipostTaxInvoice.tid_amendcode,\n remark0: unipostTaxInvoice.tid_desc0,\n remark1: unipostTaxInvoice.tid_desc1,\n remark2: unipostTaxInvoice.tid_desc2,\n isSentByApi: true,\n category: category,\n supplierBusinessRegistrationCategory: unipostTaxInvoice.tit_alice_specorg_biztypecode,\n supplierBusinessRegistrationNumber: unipostTaxInvoice.tit_alice_id,\n supplierBranchIdentification: unipostTaxInvoice.tit_alice_specorg_taxregid,\n supplierBusinessName: unipostTaxInvoice.tit_alice_name,\n supplierRepresentativeName: unipostTaxInvoice.tit_alice_specperson_name,\n supplierAddress: unipostTaxInvoice.tit_alice_specaddr_lineone,\n supplierBusinessType: unipostTaxInvoice.tit_alice_typecode,\n supplierIndustryType: unipostTaxInvoice.tit_alice_classcode,\n supplierDepartment: unipostTaxInvoice.tit_alice_defcont_deptname,\n supplierContactName: unipostTaxInvoice.tit_alice_defcont_personname,\n supplierContactPhone: unipostTaxInvoice.tit_alice_defcont_telcomm,\n supplierContactEmail: unipostTaxInvoice.tit_alice_defcont_uricomm,\n supplierContactCellPhone: unipostTaxInvoice.tit_alice_defcont_cellphone,\n buyerBusinessRegistrationCategory: unipostTaxInvoice.tit_bob_specorg_biztypecode,\n buyerBusinessRegistrationNumber: unipostTaxInvoice.tit_bob_id,\n buyerBranchIdentification: unipostTaxInvoice.tit_bob_specorg_taxregid,\n buyerBusinessName: unipostTaxInvoice.tit_bob_name,\n buyerRepresentativeName: unipostTaxInvoice.tit_bob_specperson_name,\n buyerAddress: unipostTaxInvoice.tit_bob_specaddr_lineone,\n buyerBusinessType: unipostTaxInvoice.tit_bob_typecode,\n buyerIndustryType: unipostTaxInvoice.tit_bob_classcode,\n buyer1stDepartment: unipostTaxInvoice.tit_bob_1stdefcont_deptname,\n buyer1stContactName: unipostTaxInvoice.tit_bob_1stdefcont_personname,\n buyer1stContactPhone: unipostTaxInvoice.tit_bob_1stdefcont_telcomm,\n buyer1stContactEmail: unipostTaxInvoice.tit_bob_1stdefcont_uricomm,\n buyer1stContactCellPhone: unipostTaxInvoice.tit_bob_1stdefcont_cellphone,\n buyer2ndDepartment: unipostTaxInvoice.tit_bob_2nddefcont_deptname,\n buyer2ndContactName: unipostTaxInvoice.tit_bob_2nddefcont_personname,\n buyer2ndContactPhone: unipostTaxInvoice.tit_bob_2nddefcont_telcomm,\n buyer2ndContactEmail: unipostTaxInvoice.tit_bob_2nddefcont_uricomm,\n buyer2ndContactCellPhone: unipostTaxInvoice.tit_bob_2nddefcont_cellphone,\n agentBusinessRegistrationCategory: unipostTaxInvoice.tit_broker_specorg_biztypecode,\n agentBusinessRegistrationNumber: unipostTaxInvoice.tit_broker_id,\n agentBranchIdentification: unipostTaxInvoice.tit_broker_specorg_taxregid,\n agentBusinessName: unipostTaxInvoice.tit_broker_name,\n agentRepresentativeName: unipostTaxInvoice.tit_broker_specperson_name,\n agentAddress: unipostTaxInvoice.tit_broker_specaddr_lineone,\n agentBusinessType: unipostTaxInvoice.tit_broker_typecode,\n agentIndustryType: unipostTaxInvoice.tit_broker_classcode,\n agentDepartment: unipostTaxInvoice.tit_broker_defcont_deptname,\n agentContactName: unipostTaxInvoice.tit_broker_defcont_personname,\n agentContactPhone: unipostTaxInvoice.tit_broker_defcont_telcomm,\n agentContactEmail: unipostTaxInvoice.tit_broker_defcont_uricomm,\n agentContactCellPhone: unipostTaxInvoice.tit_broker_defcont_cellphone,\n paymentAmountCash: unipostTaxInvoice.tit_specpay_paidamount10,\n paymentAmountCheck: unipostTaxInvoice.tit_specpay_paidamount20,\n paymentAmountPromissoryNote: unipostTaxInvoice.tit_specpay_paidamount30,\n paymentAmountAccountsReceivable: unipostTaxInvoice.tit_specpay_paidamount40,\n supplyAmount: unipostTaxInvoice.tit_specsum_chargeamount,\n taxAmount: unipostTaxInvoice.tit_specsum_taxamount,\n totalAmount: unipostTaxInvoice.tit_specsum_grandamount\n }\n\n taxInvoiceItems = unipostTaxInvoiceItems.map(item => ({\n sequence: item.tii_seqnumeric,\n supplyDate: _dateFormat(item.tii_purchaseexpirydatetime),\n itemName: item.tii_nametext,\n specification: item.tii_informationtext,\n quantity: item.tii_chargeableunitquantity,\n unitPrice: item.tii_unitprice_unitamount,\n supplyPrice: item.tii_invoiceamount,\n taxPrice: item.tii_totaltax_calcamount,\n remark: item.tii_descriptiontext\n }))\n\n return { taxInvoice, taxInvoiceItems }\n}\n\n// YYYYMMDD => YYYY-MM-DD\nconst _dateFormat = date => date.replace(/(\\d{4})(\\d{2})(\\d{2})/g, '$1-$2-$3')\n"]}
|
|
@@ -162,6 +162,11 @@ tslib_1.__decorate([
|
|
|
162
162
|
(0, type_graphql_1.Field)({ nullable: true, description: '비고2' }),
|
|
163
163
|
tslib_1.__metadata("design:type", String)
|
|
164
164
|
], TaxInvoice.prototype, "remark2", void 0);
|
|
165
|
+
tslib_1.__decorate([
|
|
166
|
+
(0, typeorm_1.Column)({ nullable: true, default: false, comment: 'API를 통한 발행 여부' }),
|
|
167
|
+
(0, type_graphql_1.Field)({ nullable: true, description: 'API를 통한 발행 여부' }),
|
|
168
|
+
tslib_1.__metadata("design:type", Boolean)
|
|
169
|
+
], TaxInvoice.prototype, "isSentByApi", void 0);
|
|
165
170
|
tslib_1.__decorate([
|
|
166
171
|
(0, typeorm_1.Column)({ nullable: true, comment: '공급자 사업자등록번호 구분 코드' }),
|
|
167
172
|
(0, type_graphql_1.Field)({ nullable: true, description: '공급자 사업자등록번호 구분 코드' }),
|
|
@@ -1 +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 { CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Entity, Index, Column, RelationId, ManyToOne, OneToMany, PrimaryGeneratedColumn } 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@Index('ix_approval_no', (taxInvoice: TaxInvoice) => [taxInvoice.domain, taxInvoice.approvalNo], { unique: true })\n@ObjectType({ description: 'Entity for TaxInvoice' })\nexport class TaxInvoice {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id!: string\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 memo?: 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 issueNo?: string\n\n @Column({ nullable: true, comment: '승인 번호 (24자리)' })\n @Field({ nullable: true, description: '승인 번호 (24자리)' })\n approvalNo?: string\n\n @Column({ nullable: true, default: '', comment: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n @Field({ nullable: true, description: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n originalApprovalNo?: string\n\n @Column({ nullable: false, comment: '세금계산서 작성 일자 (YYYY-MM-DD)' })\n @Field({ nullable: false, description: '세금계산서 작성 일자 (YYYY-MM-DD)' })\n issueDate!: Date\n\n @Column({ nullable: true, comment: '세금계산서 전자 서명 일자 (YYYY-MM-DD)' })\n @Field({ nullable: true, description: '세금계산서 전자 서명 일자 (YYYY-MM-DD)' })\n signatureDate?: Date\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: true, comment: '공급자 사업자등록번호 구분 코드' })\n @Field({ nullable: true, 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, default: '0', 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: true, comment: '공급받는자 사업자등록번호 구분 코드' })\n @Field({ nullable: true, 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, default: '0', 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, default: '', 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"]}
|
|
1
|
+
{"version":3,"file":"tax-invoice.js","sourceRoot":"","sources":["../../../server/service/tax-invoice/tax-invoice.ts"],"names":[],"mappings":"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","sourcesContent":["import { CreateDateColumn, UpdateDateColumn, DeleteDateColumn, Entity, Index, Column, RelationId, ManyToOne, OneToMany, PrimaryGeneratedColumn } 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@Index('ix_approval_no', (taxInvoice: TaxInvoice) => [taxInvoice.domain, taxInvoice.approvalNo], { unique: true })\n@ObjectType({ description: 'Entity for TaxInvoice' })\nexport class TaxInvoice {\n @PrimaryGeneratedColumn('uuid')\n @Field(type => ID)\n readonly id!: string\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 memo?: 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 issueNo?: string\n\n @Column({ nullable: true, comment: '승인 번호 (24자리)' })\n @Field({ nullable: true, description: '승인 번호 (24자리)' })\n approvalNo?: string\n\n @Column({ nullable: true, default: '', comment: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n @Field({ nullable: true, description: '원 승인 번호 (계산서 수정시 원래의 승인 번호)' })\n originalApprovalNo?: string\n\n @Column({ nullable: false, comment: '세금계산서 작성 일자 (YYYY-MM-DD)' })\n @Field({ nullable: false, description: '세금계산서 작성 일자 (YYYY-MM-DD)' })\n issueDate!: Date\n\n @Column({ nullable: true, comment: '세금계산서 전자 서명 일자 (YYYY-MM-DD)' })\n @Field({ nullable: true, description: '세금계산서 전자 서명 일자 (YYYY-MM-DD)' })\n signatureDate?: Date\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: true, default: false, comment: 'API를 통한 발행 여부' })\n @Field({ nullable: true, description: 'API를 통한 발행 여부' })\n isSentByApi?: boolean\n\n @Column({ nullable: true, comment: '공급자 사업자등록번호 구분 코드' })\n @Field({ nullable: true, 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, default: '0', 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: true, comment: '공급받는자 사업자등록번호 구분 코드' })\n @Field({ nullable: true, 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, default: '0', 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, default: '', 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"]}
|