@tomei/finance 0.2.3 → 0.2.5
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/dist/account/account.d.ts +10 -7
- package/dist/account/account.js.map +1 -1
- package/dist/document/document.d.ts +35 -0
- package/dist/document/document.js +115 -0
- package/dist/document/document.js.map +1 -0
- package/dist/document/entities/document.entity.d.ts +2 -2
- package/dist/document/entities/document.entity.js.map +1 -1
- package/dist/document/interfaces/document-attr.interface.d.ts +2 -2
- package/dist/enum/doc-type.enum.d.ts +7 -0
- package/dist/enum/doc-type.enum.js +12 -0
- package/dist/enum/doc-type.enum.js.map +1 -0
- package/dist/enum/index.d.ts +2 -2
- package/dist/enum/index.js +3 -3
- package/dist/enum/index.js.map +1 -1
- package/dist/finance-company/finance-company.d.ts +8 -3
- package/dist/finance-company/finance-company.js +46 -49
- package/dist/finance-company/finance-company.js.map +1 -1
- package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
- package/dist/interfaces/account-system-entity.interface.js +3 -0
- package/dist/interfaces/account-system-entity.interface.js.map +1 -0
- package/dist/journal-entry/journal-entry.d.ts +3 -1
- package/dist/journal-entry/journal-entry.js +12 -0
- package/dist/journal-entry/journal-entry.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/invoice-template/assets/css/style.css +2630 -0
- package/invoice-template/assets/css/style.css.map +13 -0
- package/invoice-template/assets/css/style.min.css +1 -0
- package/invoice-template/assets/img/arrow_bg.svg +12 -0
- package/invoice-template/assets/img/coffy_shop_img.svg +19 -0
- package/invoice-template/assets/img/header_bg.jpeg +0 -0
- package/invoice-template/assets/img/header_bg_2.jpeg +0 -0
- package/invoice-template/assets/img/logo.svg +4 -0
- package/invoice-template/assets/img/logo_accent.svg +4 -0
- package/invoice-template/assets/img/logo_white.svg +4 -0
- package/invoice-template/assets/img/qbar.png +0 -0
- package/invoice-template/assets/img/shape_1.svg +1 -0
- package/invoice-template/assets/img/shape_2.svg +1 -0
- package/invoice-template/assets/img/sign.svg +12 -0
- package/invoice-template/assets/js/html2canvas.min.js +10379 -0
- package/invoice-template/assets/js/jquery.min.js +2 -0
- package/invoice-template/assets/js/jspdf.min.js +1 -0
- package/invoice-template/assets/js/main.js +48 -0
- package/invoice-template/assets/sass/common/_color_variable.scss +12 -0
- package/invoice-template/assets/sass/common/_invoice.scss +1802 -0
- package/invoice-template/assets/sass/common/_normalize.scss +350 -0
- package/invoice-template/assets/sass/common/_typography.scss +178 -0
- package/invoice-template/assets/sass/style.scss +12 -0
- package/invoice-template/index.html +156 -0
- package/invoice-template/sample-invoice.pdf +0 -0
- package/migrations/finance-customer-migration.js +33 -33
- package/migrations/finance-payment-migration.js +89 -89
- package/package.json +3 -1
- package/src/account/account.repository.ts +44 -44
- package/src/account/account.ts +10 -7
- package/src/account/interfaces/account.repository.interface.ts +4 -4
- package/src/config.ts +178 -178
- package/src/customer/entities/customer.entity.ts +53 -53
- package/src/customer/finance-customer.repository.ts +20 -20
- package/src/customer/index.ts +15 -15
- package/src/customer/interfaces/customer.repository.interface.ts +3 -3
- package/src/customer/interfaces/finance-customer-attr.interface.ts +4 -4
- package/src/customer/interfaces/finance-customer.repository.interface.ts +3 -3
- package/src/document/document.ts +167 -0
- package/src/document/entities/document.entity.ts +2 -2
- package/src/document/interfaces/document-attr.interface.ts +2 -2
- package/src/enum/{document-type.enum.ts → doc-type.enum.ts} +2 -2
- package/src/enum/index.ts +2 -2
- package/src/finance-company/finance-company.ts +68 -72
- package/src/interfaces/account-system-entity.interface.ts +7 -0
- package/src/interfaces/index.ts +3 -3
- package/src/journal-entry/journal-entry.ts +19 -2
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IAccountRepository } from './interfaces/account.repository.interface';
|
|
2
2
|
import { AccountModel } from './entities/account.entity';
|
|
3
3
|
import { ObjectBase, PersonBase } from '@tomei/general';
|
|
4
|
+
import { IBaseRepository } from '@tomei/general/dist/interfaces/repository.base.interface';
|
|
4
5
|
export declare class Account {
|
|
5
6
|
accountRepository: IAccountRepository;
|
|
6
7
|
AccountNo: string;
|
|
@@ -12,14 +13,16 @@ export declare class Account {
|
|
|
12
13
|
private RelatedObjectId;
|
|
13
14
|
private RelatedObjectType;
|
|
14
15
|
private ParentAccountNo;
|
|
15
|
-
private SystemCode;
|
|
16
16
|
private AccSystemAccountId;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
SystemCode: string;
|
|
18
|
+
AccSystemCode: string;
|
|
19
|
+
Name: string;
|
|
20
|
+
Description: string;
|
|
21
|
+
AccountType: string;
|
|
22
|
+
AccountSubtype: string;
|
|
23
|
+
CreatedAt: Date;
|
|
24
|
+
CreatedById: string;
|
|
25
|
+
constructor(accountRepository?: IBaseRepository<AccountModel>, accountNo?: string);
|
|
23
26
|
get name(): string;
|
|
24
27
|
get accountType(): string;
|
|
25
28
|
get accountSubType(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":";;;AAEA,4CAA6E;AAE7E,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/account/account.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/// <reference types="multer" />
|
|
2
|
+
import { ObjectBase } from '@tomei/general';
|
|
3
|
+
import { IMediasRepository, CommonService as MediaCommonService } from '@tomei/media';
|
|
4
|
+
import { DocumentStatus, DocType } from 'src/enum';
|
|
5
|
+
import { DocumentRepository } from './document.repository';
|
|
6
|
+
import { IDocumentAttr } from './interfaces/document-attr.interface';
|
|
7
|
+
export declare class Document extends ObjectBase {
|
|
8
|
+
ObjectId: string;
|
|
9
|
+
ObjectName: string;
|
|
10
|
+
DocNo: string;
|
|
11
|
+
DocType: DocType;
|
|
12
|
+
DocDate: Date;
|
|
13
|
+
SystemCode: string;
|
|
14
|
+
Currency: string;
|
|
15
|
+
Amount: number;
|
|
16
|
+
Description: string;
|
|
17
|
+
Status: DocumentStatus;
|
|
18
|
+
IssuedById: string;
|
|
19
|
+
IssuedToId: string;
|
|
20
|
+
IssuedToType: string;
|
|
21
|
+
AccSystemCode: string;
|
|
22
|
+
PostedToAccYN: string;
|
|
23
|
+
UseAccSystemDocYN: string;
|
|
24
|
+
private DocHTMLFilePath;
|
|
25
|
+
private DocPDFFilePath;
|
|
26
|
+
documentRepository: DocumentRepository;
|
|
27
|
+
mediaRepository: IMediasRepository;
|
|
28
|
+
mediaCommonService: MediaCommonService;
|
|
29
|
+
get InvoiceInHTML(): Promise<Express.Multer.File>;
|
|
30
|
+
get InvoiceInPDF(): Promise<Express.Multer.File>;
|
|
31
|
+
get objectId(): string;
|
|
32
|
+
get objectName(): string;
|
|
33
|
+
init(params: IDocumentAttr): void;
|
|
34
|
+
generateInvoice(userId?: string): Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Document = void 0;
|
|
4
|
+
const util = require("util");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const general_1 = require("@tomei/general");
|
|
7
|
+
const media_1 = require("@tomei/media");
|
|
8
|
+
class Document extends general_1.ObjectBase {
|
|
9
|
+
get InvoiceInHTML() {
|
|
10
|
+
return (async () => {
|
|
11
|
+
this.DocHTMLFilePath = './invoice-template/index.html';
|
|
12
|
+
const readFileContent = util.promisify(fs.readFile);
|
|
13
|
+
const htmlBuffer = await readFileContent(this.DocHTMLFilePath);
|
|
14
|
+
const htmlStream = {
|
|
15
|
+
buffer: htmlBuffer,
|
|
16
|
+
fieldname: 'FileStream',
|
|
17
|
+
originalname: 'index.html',
|
|
18
|
+
mimetype: 'text/html',
|
|
19
|
+
size: htmlBuffer.length,
|
|
20
|
+
encoding: '8bit',
|
|
21
|
+
filename: 'sample-invoice.html',
|
|
22
|
+
destination: '',
|
|
23
|
+
path: '',
|
|
24
|
+
stream: null,
|
|
25
|
+
};
|
|
26
|
+
return htmlStream;
|
|
27
|
+
})();
|
|
28
|
+
}
|
|
29
|
+
get InvoiceInPDF() {
|
|
30
|
+
return (async () => {
|
|
31
|
+
this.DocPDFFilePath = './invoice-template/sample-invoice.pdf';
|
|
32
|
+
const readFileContent = util.promisify(fs.readFile);
|
|
33
|
+
const pdfBuffer = await readFileContent(this.DocPDFFilePath);
|
|
34
|
+
const pdfStream = {
|
|
35
|
+
buffer: pdfBuffer,
|
|
36
|
+
fieldname: 'FileStream',
|
|
37
|
+
originalname: 'sample-invoice.[df]',
|
|
38
|
+
mimetype: 'application/pdf',
|
|
39
|
+
size: pdfBuffer.length,
|
|
40
|
+
encoding: '8bit',
|
|
41
|
+
filename: 'sample-invoice.pdf',
|
|
42
|
+
destination: '',
|
|
43
|
+
path: '',
|
|
44
|
+
stream: null,
|
|
45
|
+
};
|
|
46
|
+
return pdfStream;
|
|
47
|
+
})();
|
|
48
|
+
}
|
|
49
|
+
get objectId() {
|
|
50
|
+
return this.ObjectId;
|
|
51
|
+
}
|
|
52
|
+
get objectName() {
|
|
53
|
+
return this.ObjectName;
|
|
54
|
+
}
|
|
55
|
+
init(params) {
|
|
56
|
+
this.DocNo = params.DocNo;
|
|
57
|
+
this.DocType = params.DocType;
|
|
58
|
+
this.DocDate = params.DocDate;
|
|
59
|
+
this.SystemCode = params.SystemCode;
|
|
60
|
+
this.Currency = params.Currency;
|
|
61
|
+
this.Amount = params.Amount;
|
|
62
|
+
this.Description = params.Description;
|
|
63
|
+
this.Status = params.Status;
|
|
64
|
+
this.IssuedById = params.IssuedById;
|
|
65
|
+
this.IssuedToId = params.IssuedToId;
|
|
66
|
+
this.IssuedToType = params.IssuedToType;
|
|
67
|
+
this.AccSystemCode = params.AccSystemCode;
|
|
68
|
+
this.PostedToAccYN = params.PostedToAccYN;
|
|
69
|
+
this.UseAccSystemDocYN = params.UseAccSystemDocYN;
|
|
70
|
+
this.DocPDFFilePath = params.DocPDFFilePath;
|
|
71
|
+
this.DocHTMLFilePath = params.DocHTMLFilePath;
|
|
72
|
+
}
|
|
73
|
+
async generateInvoice(userId) {
|
|
74
|
+
const media = new media_1.Medias(this.mediaRepository, this.mediaCommonService);
|
|
75
|
+
const htmlPayload = {
|
|
76
|
+
ObjectId: this.DocNo,
|
|
77
|
+
ObjectType: this.DocType,
|
|
78
|
+
Type: media_1.MediaType.Document,
|
|
79
|
+
FileName: `${this.DocType}-${this.DocNo}`,
|
|
80
|
+
FileStream: '',
|
|
81
|
+
FileExtension: 'HTML',
|
|
82
|
+
Title: `${this.DocType}-${this.DocNo}.html`,
|
|
83
|
+
Description: `HTML ${this.DocType}`,
|
|
84
|
+
IsEncryptedYN: 'N',
|
|
85
|
+
};
|
|
86
|
+
await media.postInternal(await this.InvoiceInHTML, htmlPayload, userId !== null && userId !== void 0 ? userId : 'System');
|
|
87
|
+
const pdfPayload = {
|
|
88
|
+
ObjectId: this.DocNo,
|
|
89
|
+
ObjectType: this.DocType,
|
|
90
|
+
Type: media_1.MediaType.Document,
|
|
91
|
+
FileName: `${this.DocType}-${this.DocNo}`,
|
|
92
|
+
FileStream: '',
|
|
93
|
+
FileExtension: 'PDF',
|
|
94
|
+
Title: `${this.DocType}-${this.DocNo}.pdf`,
|
|
95
|
+
Description: `PDF ${this.DocType}`,
|
|
96
|
+
IsEncryptedYN: 'N',
|
|
97
|
+
};
|
|
98
|
+
await media.postInternal(await this.InvoiceInPDF, pdfPayload, userId !== null && userId !== void 0 ? userId : 'System');
|
|
99
|
+
try {
|
|
100
|
+
const document = await this.documentRepository.findOne({
|
|
101
|
+
where: {
|
|
102
|
+
DocNo: this.DocNo,
|
|
103
|
+
},
|
|
104
|
+
});
|
|
105
|
+
document.DocHTMLFilePath = this.DocHTMLFilePath;
|
|
106
|
+
document.DocPDFFilePath = this.DocPDFFilePath;
|
|
107
|
+
await document.save();
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.log(err);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.Document = Document;
|
|
115
|
+
//# sourceMappingURL=document.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document.js","sourceRoot":"","sources":["../../src/document/document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Model } from 'sequelize-typescript';
|
|
2
|
-
import {
|
|
2
|
+
import { DocType, DocumentStatus } from '../../enum';
|
|
3
3
|
import { DocumentItemModel } from './document-item.entity';
|
|
4
4
|
export declare class DocumentModel extends Model {
|
|
5
5
|
DocNo: string;
|
|
6
|
-
DocType:
|
|
6
|
+
DocType: DocType;
|
|
7
7
|
DocDate: Date;
|
|
8
8
|
SystemCode: string;
|
|
9
9
|
Currency: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document.entity.js","sourceRoot":"","sources":["../../../src/document/entities/document.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA+E;AAC/E,
|
|
1
|
+
{"version":3,"file":"document.entity.js","sourceRoot":"","sources":["../../../src/document/entities/document.entity.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DocType, DocumentStatus } from '../../enum';
|
|
2
2
|
export declare class IDocumentAttr {
|
|
3
3
|
DocNo: string;
|
|
4
|
-
DocType:
|
|
4
|
+
DocType: DocType;
|
|
5
5
|
DocDate: Date;
|
|
6
6
|
SystemCode: string;
|
|
7
7
|
Currency: string;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DocType = void 0;
|
|
4
|
+
var DocType;
|
|
5
|
+
(function (DocType) {
|
|
6
|
+
DocType["INVOICE"] = "Invoice";
|
|
7
|
+
DocType["DEBIT_NOTE"] = "Debit Note";
|
|
8
|
+
DocType["CREDIT_NOTE"] = "Credit Note";
|
|
9
|
+
DocType["QUOTATION"] = "Quotation";
|
|
10
|
+
DocType["RECEIPT"] = "Receipt";
|
|
11
|
+
})(DocType = exports.DocType || (exports.DocType = {}));
|
|
12
|
+
//# sourceMappingURL=doc-type.enum.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-type.enum.js","sourceRoot":"","sources":["../../src/enum/doc-type.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,8BAAmB,CAAA;IACnB,oCAAyB,CAAA;IACzB,sCAA2B,CAAA;IAC3B,kCAAuB,CAAA;IACvB,8BAAmB,CAAA;AACrB,CAAC,EANW,OAAO,GAAP,eAAO,KAAP,eAAO,QAMlB"}
|
package/dist/enum/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ import { ClientScopes } from './quick-book-client-scopes.enum';
|
|
|
2
2
|
import { PaymentType } from './payment-type.enum';
|
|
3
3
|
import { PaymentMethod } from './payment-method.enum';
|
|
4
4
|
import { TransactionTypeOptions } from './transaction-type.enum';
|
|
5
|
-
import {
|
|
5
|
+
import { DocType } from './doc-type.enum';
|
|
6
6
|
import { DocumentStatus } from './document-status.enum';
|
|
7
|
-
export { ClientScopes, PaymentType, PaymentMethod, TransactionTypeOptions,
|
|
7
|
+
export { ClientScopes, PaymentType, PaymentMethod, TransactionTypeOptions, DocType, DocumentStatus, };
|
package/dist/enum/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DocumentStatus = exports.
|
|
3
|
+
exports.DocumentStatus = exports.DocType = exports.TransactionTypeOptions = exports.PaymentMethod = exports.PaymentType = exports.ClientScopes = void 0;
|
|
4
4
|
const quick_book_client_scopes_enum_1 = require("./quick-book-client-scopes.enum");
|
|
5
5
|
Object.defineProperty(exports, "ClientScopes", { enumerable: true, get: function () { return quick_book_client_scopes_enum_1.ClientScopes; } });
|
|
6
6
|
const payment_type_enum_1 = require("./payment-type.enum");
|
|
@@ -9,8 +9,8 @@ const payment_method_enum_1 = require("./payment-method.enum");
|
|
|
9
9
|
Object.defineProperty(exports, "PaymentMethod", { enumerable: true, get: function () { return payment_method_enum_1.PaymentMethod; } });
|
|
10
10
|
const transaction_type_enum_1 = require("./transaction-type.enum");
|
|
11
11
|
Object.defineProperty(exports, "TransactionTypeOptions", { enumerable: true, get: function () { return transaction_type_enum_1.TransactionTypeOptions; } });
|
|
12
|
-
const
|
|
13
|
-
Object.defineProperty(exports, "
|
|
12
|
+
const doc_type_enum_1 = require("./doc-type.enum");
|
|
13
|
+
Object.defineProperty(exports, "DocType", { enumerable: true, get: function () { return doc_type_enum_1.DocType; } });
|
|
14
14
|
const document_status_enum_1 = require("./document-status.enum");
|
|
15
15
|
Object.defineProperty(exports, "DocumentStatus", { enumerable: true, get: function () { return document_status_enum_1.DocumentStatus; } });
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
package/dist/enum/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enum/index.ts"],"names":[],"mappings":";;;AAAA,mFAA+D;AAQ7D,6FARO,4CAAY,OAQP;AAPd,2DAAkD;AAQhD,4FARO,+BAAW,OAQP;AAPb,+DAAsD;AAQpD,8FARO,mCAAa,OAQP;AAPf,mEAAiE;AAQ/D,uGARO,8CAAsB,OAQP;AAPxB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/enum/index.ts"],"names":[],"mappings":";;;AAAA,mFAA+D;AAQ7D,6FARO,4CAAY,OAQP;AAPd,2DAAkD;AAQhD,4FARO,+BAAW,OAQP;AAPb,+DAAsD;AAQpD,8FARO,mCAAa,OAQP;AAPf,mEAAiE;AAQ/D,uGARO,8CAAsB,OAQP;AAPxB,mDAA0C;AAQxC,wFARO,uBAAO,OAQP;AAPT,iEAAwD;AAQtD,+FARO,qCAAc,OAQP"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
import { IAccountSystem } from 'src/interfaces';
|
|
2
|
-
import { JournalEntryRepository } from 'src/journal-entry';
|
|
2
|
+
import { JournalEntry, JournalEntryRepository } from 'src/journal-entry';
|
|
3
3
|
import { LedgerTransactionRepository } from 'src/ledger-transaction';
|
|
4
4
|
import { Account } from 'src/account';
|
|
5
|
+
import { CompanyBase, PersonBase } from '@tomei/general';
|
|
5
6
|
export declare class FinanceCompany {
|
|
6
7
|
journalEntryRepository: JournalEntryRepository;
|
|
7
8
|
ledgerTransactionRepository: LedgerTransactionRepository;
|
|
8
9
|
accountingSystem: IAccountSystem;
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
private SystemCode;
|
|
11
|
+
private AccSystemCode;
|
|
12
|
+
private Company;
|
|
13
|
+
private LoginUser;
|
|
14
|
+
constructor(company: CompanyBase, systemCode: string, accSystemCode: string, loginUser: PersonBase);
|
|
15
|
+
postJournal(dbTransaction: any, journalEntry: JournalEntry): Promise<void>;
|
|
11
16
|
createAccount(dbTransaction: any, account: Account): Promise<Account>;
|
|
12
17
|
}
|
|
@@ -2,61 +2,58 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FinanceCompany = void 0;
|
|
4
4
|
const common_1 = require("@nestjs/common");
|
|
5
|
-
const journal_entry_1 = require("src/journal-entry");
|
|
6
|
-
const uniqid = require("uniqid");
|
|
7
5
|
const axios_1 = require("axios");
|
|
8
|
-
const journal_entry_2 = require("src/journal-entry");
|
|
9
6
|
class FinanceCompany {
|
|
10
|
-
constructor(
|
|
11
|
-
this.
|
|
12
|
-
this.
|
|
13
|
-
|
|
7
|
+
constructor(company, systemCode, accSystemCode, loginUser) {
|
|
8
|
+
this.SystemCode = systemCode;
|
|
9
|
+
this.AccSystemCode = accSystemCode;
|
|
10
|
+
if (company != null && company.ObjectId == '') {
|
|
11
|
+
this.Company = company;
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
throw new common_1.BadRequestException('Company cannot be null');
|
|
15
|
+
}
|
|
16
|
+
if (loginUser != null && loginUser.ObjectId == '') {
|
|
17
|
+
this.LoginUser = loginUser;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
throw new common_1.BadRequestException('Login user cannot be null');
|
|
21
|
+
}
|
|
14
22
|
}
|
|
15
|
-
async postJournal(
|
|
23
|
+
async postJournal(dbTransaction, journalEntry) {
|
|
16
24
|
var _a, _b, _c, _d;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
try {
|
|
26
|
+
if (((_a = journalEntry.CreditTransactions) === null || _a === void 0 ? void 0 : _a.length) < 1 ||
|
|
27
|
+
((_b = journalEntry.DebitTransactions) === null || _b === void 0 ? void 0 : _b.length) < 1) {
|
|
28
|
+
throw new common_1.BadRequestException('There should be at least 1 debit ledger transaction and 1 credit ledger transaction in the journal entry');
|
|
29
|
+
}
|
|
30
|
+
if (((_c = journalEntry.CreditTransactions) === null || _c === void 0 ? void 0 : _c.length) !==
|
|
31
|
+
((_d = journalEntry.DebitTransactions) === null || _d === void 0 ? void 0 : _d.length)) {
|
|
32
|
+
throw new common_1.BadRequestException('Credit ledger transaction and debit ledger transaction should the same amount');
|
|
33
|
+
}
|
|
34
|
+
const newJournalEntry = await journalEntry.save('test', dbTransaction);
|
|
35
|
+
const allLedgerTransactions = await this.ledgerTransactionRepository.findAll();
|
|
36
|
+
for (const ledgerTransaction of allLedgerTransactions) {
|
|
37
|
+
ledgerTransaction.JournalEntryId = newJournalEntry.JournalEntryId;
|
|
38
|
+
ledgerTransaction.save();
|
|
39
|
+
}
|
|
40
|
+
await this.accountingSystem.postJournalEntry(newJournalEntry);
|
|
41
|
+
const payload = {
|
|
42
|
+
Action: 'Create',
|
|
43
|
+
Activity: 'Post Journal Entry',
|
|
44
|
+
Description: `Journal Entry (ID: ${newJournalEntry.JournalEntryId}) has been created`,
|
|
45
|
+
EntityType: 'JournalEntry',
|
|
46
|
+
EntityValueBefore: JSON.stringify({}),
|
|
47
|
+
EntityValueAfter: JSON.stringify(newJournalEntry),
|
|
48
|
+
PerformedById: 'test',
|
|
49
|
+
PerformedAt: new Date(),
|
|
50
|
+
EntityId: newJournalEntry.JournalEntryId,
|
|
51
|
+
};
|
|
52
|
+
await axios_1.default.post(`${process.env.COMMON_API_URL}/activity-histories`, payload);
|
|
25
53
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
JournalEntryId: journalEntryId,
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
matchingJournalEntry.PostedById = userId;
|
|
32
|
-
await matchingJournalEntry.save();
|
|
33
|
-
const allLedgerTransactions = await this.ledgerTransactionRepository.findAll();
|
|
34
|
-
for (const ledgerTransaction of allLedgerTransactions) {
|
|
35
|
-
ledgerTransaction.JournalEntryId = journalEntryId;
|
|
36
|
-
ledgerTransaction.save();
|
|
54
|
+
catch (error) {
|
|
55
|
+
throw error;
|
|
37
56
|
}
|
|
38
|
-
journalEntry.init({
|
|
39
|
-
JournalEntryId: uniqid(),
|
|
40
|
-
Date: new Date(),
|
|
41
|
-
Name: '',
|
|
42
|
-
Description: '',
|
|
43
|
-
PostedById: userId,
|
|
44
|
-
PostedToAccSystemYN: 'N',
|
|
45
|
-
DatePosted: null,
|
|
46
|
-
});
|
|
47
|
-
await this.accountingSystem.postJournalEntry(matchingJournalEntry);
|
|
48
|
-
const payload = {
|
|
49
|
-
Action: 'Create',
|
|
50
|
-
Activity: 'Post Journal Entry',
|
|
51
|
-
Description: `Journal Entry (ID: ${matchingJournalEntry.JournalEntryId}) has been created`,
|
|
52
|
-
EntityType: typeof journal_entry_2.JournalEntryModel,
|
|
53
|
-
EntityValueBefore: JSON.stringify({}),
|
|
54
|
-
EntityValueAfter: JSON.stringify(matchingJournalEntry),
|
|
55
|
-
PerformedById: userId,
|
|
56
|
-
PerformedAt: new Date(),
|
|
57
|
-
EntityId: matchingJournalEntry.JournalEntryId,
|
|
58
|
-
};
|
|
59
|
-
await axios_1.default.post(`${process.env.COMMON_API_URL}/activity-histories`, payload);
|
|
60
57
|
}
|
|
61
58
|
async createAccount(dbTransaction, account) {
|
|
62
59
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance-company.js","sourceRoot":"","sources":["../../src/finance-company/finance-company.ts"],"names":[],"mappings":";;;AAAA,2CAAqD;
|
|
1
|
+
{"version":3,"file":"finance-company.js","sourceRoot":"","sources":["../../src/finance-company/finance-company.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account-system-entity.interface.js","sourceRoot":"","sources":["../../src/interfaces/account-system-entity.interface.ts"],"names":[],"mappings":""}
|
|
@@ -2,6 +2,7 @@ import { LedgerTransactionRepository } from 'src/ledger-transaction/ledger-trans
|
|
|
2
2
|
import { ILedgerTransactionTypeOptionsAttr } from 'src/ledger-transaction/interfaces/ledger-transaction-attr.interface';
|
|
3
3
|
import { JournalEntryRepository } from './journal-entry.repository';
|
|
4
4
|
import { IJournalEntryAttr } from './interfaces/journal-entry-attr.interface';
|
|
5
|
+
import { JournalEntryModel } from './entities/journal-entry.entity';
|
|
5
6
|
export declare class JournalEntry {
|
|
6
7
|
JournalEntryId: string;
|
|
7
8
|
Date: Date;
|
|
@@ -14,7 +15,7 @@ export declare class JournalEntry {
|
|
|
14
15
|
ledgerTransactionRepository: LedgerTransactionRepository;
|
|
15
16
|
private _DebitTransactions;
|
|
16
17
|
private _CreditTransactions;
|
|
17
|
-
constructor(journalEntryRepository
|
|
18
|
+
constructor(journalEntryRepository?: JournalEntryRepository, ledgerTransactionRepository?: LedgerTransactionRepository);
|
|
18
19
|
get DebitTransactions(): any;
|
|
19
20
|
get CreditTransactions(): any;
|
|
20
21
|
init(params: IJournalEntryAttr): void;
|
|
@@ -28,5 +29,6 @@ export declare class JournalEntry {
|
|
|
28
29
|
DatePosted: string;
|
|
29
30
|
};
|
|
30
31
|
create(): Promise<any>;
|
|
32
|
+
save(userId: string, dbTransaction?: any): Promise<JournalEntryModel>;
|
|
31
33
|
newLedgerTransaction({ transactionType, }: ILedgerTransactionTypeOptionsAttr): Promise<any>;
|
|
32
34
|
}
|
|
@@ -72,6 +72,18 @@ class JournalEntry {
|
|
|
72
72
|
async create() {
|
|
73
73
|
return await this.journalEntryRepository.create(this.getData);
|
|
74
74
|
}
|
|
75
|
+
async save(userId, dbTransaction) {
|
|
76
|
+
const data = await this.journalEntryRepository.create({
|
|
77
|
+
JournalEntryId: this.JournalEntryId,
|
|
78
|
+
Date: this.Date,
|
|
79
|
+
Name: this.Name,
|
|
80
|
+
Description: this.Description,
|
|
81
|
+
PostedById: userId,
|
|
82
|
+
PostedToAccSystemYN: this.PostedToAccSystemYN,
|
|
83
|
+
DatePosted: this.DatePosted,
|
|
84
|
+
}, dbTransaction);
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
75
87
|
async newLedgerTransaction({ transactionType, }) {
|
|
76
88
|
this.init({
|
|
77
89
|
JournalEntryId: 'New',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-entry.js","sourceRoot":"","sources":["../../src/journal-entry/journal-entry.ts"],"names":[],"mappings":";;;AACA,+DAA2D;AAI3D,mCAAkD;AAClD,yCAA+B;
|
|
1
|
+
{"version":3,"file":"journal-entry.js","sourceRoot":"","sources":["../../src/journal-entry/journal-entry.ts"],"names":[],"mappings":"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"}
|