@tomei/finance 0.6.21 → 0.6.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (287) hide show
  1. package/.commitlintrc.json +22 -22
  2. package/.eslintrc.js +72 -72
  3. package/.husky/commit-msg +4 -4
  4. package/.husky/pre-commit +4 -4
  5. package/.prettierrc +4 -4
  6. package/CONTRIBUTING.md +30 -30
  7. package/LICENSE +21 -21
  8. package/README.md +13 -13
  9. package/configs/config.js +336 -336
  10. package/dist/account/entities/account.entity.d.ts +26 -0
  11. package/dist/account/entities/account.entity.js +199 -0
  12. package/dist/account/entities/account.entity.js.map +1 -0
  13. package/dist/account/entities/fee-associated-object.entity.d.ts +6 -0
  14. package/dist/account/entities/fee-associated-object.entity.js +52 -0
  15. package/dist/account/entities/fee-associated-object.entity.js.map +1 -0
  16. package/dist/account/index.d.ts +6 -0
  17. package/dist/account/index.js +10 -0
  18. package/dist/account/index.js.map +1 -0
  19. package/dist/account/interfaces/account.repository.interface.d.ts +3 -0
  20. package/dist/account/interfaces/account.repository.interface.js +3 -0
  21. package/dist/account/interfaces/account.repository.interface.js.map +1 -0
  22. package/dist/account-system-entity/index.d.ts +2 -0
  23. package/dist/account-system-entity/index.js +6 -0
  24. package/dist/account-system-entity/index.js.map +1 -0
  25. package/dist/account-system-entity/post-history.entity.d.ts +11 -0
  26. package/dist/account-system-entity/post-history.entity.js +65 -0
  27. package/dist/account-system-entity/post-history.entity.js.map +1 -0
  28. package/dist/base/account-system.interface.d.ts +7 -0
  29. package/dist/base/account-system.interface.js +3 -0
  30. package/dist/base/account-system.interface.js.map +1 -0
  31. package/dist/base/address.base.abstract.d.ts +4 -0
  32. package/dist/base/address.base.abstract.js +10 -0
  33. package/dist/base/address.base.abstract.js.map +1 -0
  34. package/dist/base/base.address.d.ts +8 -0
  35. package/dist/base/base.address.js +15 -0
  36. package/dist/base/base.address.js.map +1 -0
  37. package/dist/base/base.object.d.ts +7 -0
  38. package/dist/base/base.object.js +14 -0
  39. package/dist/base/base.object.js.map +1 -0
  40. package/dist/base/base.owner.d.ts +23 -0
  41. package/dist/base/base.owner.js +34 -0
  42. package/dist/base/base.owner.js.map +1 -0
  43. package/dist/base/base.repository.abstract.d.ts +12 -0
  44. package/dist/base/base.repository.abstract.js +22 -0
  45. package/dist/base/base.repository.abstract.js.map +1 -0
  46. package/dist/base/base.repository.interface.d.ts +9 -0
  47. package/dist/base/base.repository.interface.js +3 -0
  48. package/dist/base/base.repository.interface.js.map +1 -0
  49. package/dist/base/index.d.ts +4 -0
  50. package/dist/base/index.js +10 -0
  51. package/dist/base/index.js.map +1 -0
  52. package/dist/base/object/base.object.abstract.d.ts +5 -0
  53. package/dist/base/object/base.object.abstract.js +7 -0
  54. package/dist/base/object/base.object.abstract.js.map +1 -0
  55. package/dist/base/object/base.object.d.ts +7 -0
  56. package/dist/base/object/base.object.js +14 -0
  57. package/dist/base/object/base.object.js.map +1 -0
  58. package/dist/base/object/object.interface.d.ts +4 -0
  59. package/dist/base/object/object.interface.js +3 -0
  60. package/dist/base/object/object.interface.js.map +1 -0
  61. package/dist/base/object.base.abstract.d.ts +5 -0
  62. package/dist/base/object.base.abstract.js +11 -0
  63. package/dist/base/object.base.abstract.js.map +1 -0
  64. package/dist/base/owner/base.owner.abstract.d.ts +20 -0
  65. package/dist/base/owner/base.owner.abstract.js +8 -0
  66. package/dist/base/owner/base.owner.abstract.js.map +1 -0
  67. package/dist/base/owner/base.owner.d.ts +22 -0
  68. package/dist/base/owner/base.owner.js +31 -0
  69. package/dist/base/owner/base.owner.js.map +1 -0
  70. package/dist/base/owner/owner.interface.d.ts +19 -0
  71. package/dist/base/owner/owner.interface.js +3 -0
  72. package/dist/base/owner/owner.interface.js.map +1 -0
  73. package/dist/base/person.base.abstract.d.ts +21 -0
  74. package/dist/base/person.base.abstract.js +17 -0
  75. package/dist/base/person.base.abstract.js.map +1 -0
  76. package/dist/base/repository/base.repository.abstract.d.ts +12 -0
  77. package/dist/base/repository/base.repository.abstract.js +22 -0
  78. package/dist/base/repository/base.repository.abstract.js.map +1 -0
  79. package/dist/base/repository/base.repository.interface.d.ts +9 -0
  80. package/dist/base/repository/base.repository.interface.js +3 -0
  81. package/dist/base/repository/base.repository.interface.js.map +1 -0
  82. package/dist/customer/customer.repository.d.ts +0 -0
  83. package/dist/customer/customer.repository.js +1 -0
  84. package/dist/customer/customer.repository.js.map +1 -0
  85. package/dist/customer/entities/customer.entity.d.ts +13 -0
  86. package/dist/customer/entities/customer.entity.js +111 -0
  87. package/dist/customer/entities/customer.entity.js.map +1 -0
  88. package/dist/customer/index.d.ts +7 -0
  89. package/dist/customer/index.js +10 -0
  90. package/dist/customer/index.js.map +1 -0
  91. package/dist/document/document.d.ts +1 -1
  92. package/dist/document/document.js +2 -2
  93. package/dist/document/document.js.map +1 -1
  94. package/dist/document/entities/document-item.entity.d.ts +27 -0
  95. package/dist/document/entities/document-item.entity.js +174 -0
  96. package/dist/document/entities/document-item.entity.js.map +1 -0
  97. package/dist/document/entities/document.entity.d.ts +22 -0
  98. package/dist/document/entities/document.entity.js +139 -0
  99. package/dist/document/entities/document.entity.js.map +1 -0
  100. package/dist/document/index.d.ts +11 -0
  101. package/dist/document/index.js +20 -0
  102. package/dist/document/index.js.map +1 -0
  103. package/dist/document/interfaces/document.repository.interface.d.ts +3 -0
  104. package/dist/document/interfaces/document.repository.interface.js +3 -0
  105. package/dist/document/interfaces/document.repository.interface.js.map +1 -0
  106. package/dist/enum/document-type.enum.d.ts +7 -0
  107. package/dist/enum/document-type.enum.js +12 -0
  108. package/dist/enum/document-type.enum.js.map +1 -0
  109. package/dist/enum/intuit-client.enum.d.ts +13 -0
  110. package/dist/enum/intuit-client.enum.js +19 -0
  111. package/dist/enum/intuit-client.enum.js.map +1 -0
  112. package/dist/finance-company/entities/finance-company.entity.d.ts +13 -0
  113. package/dist/finance-company/entities/finance-company.entity.js +113 -0
  114. package/dist/finance-company/entities/finance-company.entity.js.map +1 -0
  115. package/dist/finance-company/finance-company.entity.d.ts +13 -0
  116. package/dist/finance-company/finance-company.entity.js +66 -0
  117. package/dist/finance-company/finance-company.entity.js.map +1 -0
  118. package/dist/finance-company/index.d.ts +3 -0
  119. package/dist/finance-company/index.js +8 -0
  120. package/dist/finance-company/index.js.map +1 -0
  121. package/dist/finance-company/interfaces/finance-company-attr.interface.d.ts +10 -0
  122. package/dist/finance-company/interfaces/finance-company-attr.interface.js +3 -0
  123. package/dist/finance-company/interfaces/finance-company-attr.interface.js.map +1 -0
  124. package/dist/finance-company/interfaces/finance-company.repository.interface.d.ts +3 -0
  125. package/dist/finance-company/interfaces/finance-company.repository.interface.js +3 -0
  126. package/dist/finance-company/interfaces/finance-company.repository.interface.js.map +1 -0
  127. package/dist/interfaces/account-system-entity.interface.d.ts +7 -0
  128. package/dist/interfaces/account-system-entity.interface.js +3 -0
  129. package/dist/interfaces/account-system-entity.interface.js.map +1 -0
  130. package/dist/interfaces/customer.repository.interface.d.ts +3 -0
  131. package/dist/interfaces/customer.repository.interface.js +3 -0
  132. package/dist/interfaces/customer.repository.interface.js.map +1 -0
  133. package/dist/interfaces/finance-customer.repository.interface.d.ts +3 -0
  134. package/dist/interfaces/finance-customer.repository.interface.js +3 -0
  135. package/dist/interfaces/finance-customer.repository.interface.js.map +1 -0
  136. package/dist/interfaces/systemConfig.interface.d.ts +0 -0
  137. package/dist/interfaces/systemConfig.interface.js +1 -0
  138. package/dist/interfaces/systemConfig.interface.js.map +1 -0
  139. package/dist/intuit-client/client.d.ts +14 -0
  140. package/dist/intuit-client/client.js +44 -0
  141. package/dist/intuit-client/client.js.map +1 -0
  142. package/dist/journal-entry/entities/journal-entry.entity.d.ts +16 -0
  143. package/dist/journal-entry/entities/journal-entry.entity.js +129 -0
  144. package/dist/journal-entry/entities/journal-entry.entity.js.map +1 -0
  145. package/dist/journal-entry/index.d.ts +6 -0
  146. package/dist/journal-entry/index.js +10 -0
  147. package/dist/journal-entry/index.js.map +1 -0
  148. package/dist/journal-entry/interfaces/journal-entry.repository.interface.d.ts +10 -0
  149. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js +3 -0
  150. package/dist/journal-entry/interfaces/journal-entry.repository.interface.js.map +1 -0
  151. package/dist/ledger-transaction/entities/ledger-transaction.entity.d.ts +19 -0
  152. package/dist/ledger-transaction/entities/ledger-transaction.entity.js +157 -0
  153. package/dist/ledger-transaction/entities/ledger-transaction.entity.js.map +1 -0
  154. package/dist/ledger-transaction/index.d.ts +6 -0
  155. package/dist/ledger-transaction/index.js +10 -0
  156. package/dist/ledger-transaction/index.js.map +1 -0
  157. package/dist/payment/entities/payment-item.entity.d.ts +10 -0
  158. package/dist/payment/entities/payment-item.entity.js +62 -0
  159. package/dist/payment/entities/payment-item.entity.js.map +1 -0
  160. package/dist/payment/entities/payment.entity.d.ts +25 -0
  161. package/dist/payment/entities/payment.entity.js +152 -0
  162. package/dist/payment/entities/payment.entity.js.map +1 -0
  163. package/dist/payment/index.d.ts +10 -0
  164. package/dist/payment/index.js +18 -0
  165. package/dist/payment/index.js.map +1 -0
  166. package/dist/payment/interfaces/payment-item-attr.interface.d.ts +8 -0
  167. package/dist/payment/interfaces/payment-item-attr.interface.js +7 -0
  168. package/dist/payment/interfaces/payment-item-attr.interface.js.map +1 -0
  169. package/dist/payment/interfaces/payment-item.repository.interface.d.ts +3 -0
  170. package/dist/payment/interfaces/payment-item.repository.interface.js +3 -0
  171. package/dist/payment/interfaces/payment-item.repository.interface.js.map +1 -0
  172. package/dist/payment/interfaces/payment.repository.interface.d.ts +3 -0
  173. package/dist/payment/interfaces/payment.repository.interface.js +3 -0
  174. package/dist/payment/interfaces/payment.repository.interface.js.map +1 -0
  175. package/dist/payment/payment-item.repository.d.ts +5 -0
  176. package/dist/payment/payment-item.repository.js +12 -0
  177. package/dist/payment/payment-item.repository.js.map +1 -0
  178. package/dist/payment-item/interfaces/payment-item.repository.interface.d.ts +3 -0
  179. package/dist/payment-item/interfaces/payment-item.repository.interface.js +3 -0
  180. package/dist/payment-item/interfaces/payment-item.repository.interface.js.map +1 -0
  181. package/dist/payment-item/payment-item.js +4 -4
  182. package/dist/quickbook-client/client.d.ts +39 -0
  183. package/dist/quickbook-client/client.js +205 -0
  184. package/dist/quickbook-client/client.js.map +1 -0
  185. package/dist/quickbook-client/constant.d.ts +1 -0
  186. package/dist/quickbook-client/constant.js +5 -0
  187. package/dist/quickbook-client/constant.js.map +1 -0
  188. package/dist/quickbook-client/index.d.ts +5 -0
  189. package/dist/quickbook-client/index.js +6 -0
  190. package/dist/quickbook-client/index.js.map +1 -0
  191. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.d.ts +6 -0
  192. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js +3 -0
  193. package/dist/quickbook-client/interfaces/quickbook-client-call-options.interface.js.map +1 -0
  194. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.d.ts +9 -0
  195. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js +3 -0
  196. package/dist/quickbook-client/interfaces/quickbook-client-create-account-options.interface.js.map +1 -0
  197. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.d.ts +7 -0
  198. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js +3 -0
  199. package/dist/quickbook-client/interfaces/quickbook-client-create-customer-options.interface.js.map +1 -0
  200. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.d.ts +8 -0
  201. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js +3 -0
  202. package/dist/quickbook-client/interfaces/quickbook-client-options.interface.js.map +1 -0
  203. package/dist/quickbook-client/quickbook-client.module-definition.d.ts +2 -0
  204. package/dist/quickbook-client/quickbook-client.module-definition.js +9 -0
  205. package/dist/quickbook-client/quickbook-client.module-definition.js.map +1 -0
  206. package/dist/quickbook-client/quickbook-client.module.d.ts +6 -0
  207. package/dist/quickbook-client/quickbook-client.module.js +34 -0
  208. package/dist/quickbook-client/quickbook-client.module.js.map +1 -0
  209. package/dist/tsconfig.tsbuildinfo +1 -1
  210. package/invoice-template/assets/css/style.css.map +12 -12
  211. package/invoice-template/assets/css/style.min.css +1 -1
  212. package/invoice-template/assets/img/arrow_bg.svg +11 -11
  213. package/invoice-template/assets/img/coffy_shop_img.svg +18 -18
  214. package/invoice-template/assets/img/logo_accent.svg +3 -3
  215. package/invoice-template/assets/img/logo_white.svg +4 -4
  216. package/invoice-template/assets/img/sign.svg +12 -12
  217. package/invoice-template/assets/img/tomei-logo.svg +9 -9
  218. package/invoice-template/assets/js/html2canvas.min.js +10379 -10379
  219. package/invoice-template/assets/js/jquery.min.js +1 -1
  220. package/invoice-template/assets/sass/common/_color_variable.scss +12 -12
  221. package/invoice-template/assets/sass/common/_typography.scss +178 -178
  222. package/invoice-template/assets/sass/style.scss +12 -12
  223. package/migrations/finance-account-migration.js +97 -97
  224. package/migrations/finance-company-migration.js +29 -29
  225. package/migrations/finance-customer-migration.js +51 -51
  226. package/migrations/finance-document-item-migration.js +111 -111
  227. package/migrations/finance-document-migration.js +116 -116
  228. package/migrations/finance-payment-item-migration.js +52 -52
  229. package/migrations/finance-payment-method-migration.js +31 -31
  230. package/migrations/finance-payment-method-type-migration.js +55 -55
  231. package/migrations/finance-payment-migration.js +96 -96
  232. package/migrations/finance-post-history-migration.js +45 -45
  233. package/nest-cli.json +19 -19
  234. package/package.json +82 -82
  235. package/src/account/account.repository.ts +11 -11
  236. package/src/account/account.ts +271 -271
  237. package/src/account/interfaces/account-attr.interface.ts +31 -31
  238. package/src/account-system-entity/account-system-entity.ts +65 -65
  239. package/src/account-system-entity/post-history.repository.ts +11 -11
  240. package/src/config.ts +382 -382
  241. package/src/customer/customer.ts +299 -299
  242. package/src/customer/finance-customer.repository.ts +13 -13
  243. package/src/customer/interfaces/customer.repository.interface.ts +3 -3
  244. package/src/customer/interfaces/finance-customer-attr.interface.ts +10 -10
  245. package/src/customer/interfaces/finance-customer.repository.interface.ts +4 -4
  246. package/src/database.ts +15 -15
  247. package/src/document/document-item.repository.ts +11 -11
  248. package/src/document/document.repository.ts +11 -11
  249. package/src/document/document.ts +2 -2
  250. package/src/document/interfaces/document-attr.interface.ts +28 -28
  251. package/src/document/interfaces/document-item-attr.interface.ts +22 -22
  252. package/src/document/interfaces/document-item.repository.interface.ts +4 -4
  253. package/src/enum/doc-type.enum.ts +8 -8
  254. package/src/enum/index.ts +17 -17
  255. package/src/enum/payment-method.enum.ts +3 -3
  256. package/src/enum/payment-type.enum.ts +4 -4
  257. package/src/finance-company/finance-company.repository.ts +11 -11
  258. package/src/finance-company/finance-company.ts +1778 -1778
  259. package/src/helpers/typeof.ts +29 -29
  260. package/src/index.ts +32 -32
  261. package/src/interfaces/account-system.interface.ts +20 -20
  262. package/src/interfaces/index.ts +3 -3
  263. package/src/models/account.entity.ts +206 -206
  264. package/src/models/customer.entity.ts +93 -93
  265. package/src/models/document-item.entity.ts +143 -143
  266. package/src/models/document.entity.ts +211 -211
  267. package/src/models/finance-company.entity.ts +25 -25
  268. package/src/models/journal-entry.entity.ts +110 -110
  269. package/src/models/ledger-transaction.entity.ts +148 -148
  270. package/src/models/payment-item.entity.ts +60 -60
  271. package/src/models/payment-method-type.entity.ts +70 -70
  272. package/src/models/payment-method.entity.ts +51 -51
  273. package/src/models/payment.entity.ts +161 -161
  274. package/src/models/post-history.entity.ts +41 -41
  275. package/src/payment/interfaces/payment-attr.interface.ts +23 -23
  276. package/src/payment/interfaces/payment-params.interface.ts +8 -8
  277. package/src/payment/payment.repository.ts +11 -11
  278. package/src/payment/payment.ts +217 -217
  279. package/src/payment-item/interfaces/payment-item-attr.interface.ts +10 -10
  280. package/src/payment-item/payment-item.repository.ts +11 -11
  281. package/src/payment-item/payment-item.ts +128 -128
  282. package/src/payment-method/payment-method.repository.ts +11 -11
  283. package/src/payment-method-type/payment-method-type.repository.ts +11 -11
  284. package/src/test-document.ts +25 -25
  285. package/tsconfig.build.json +4 -4
  286. package/tsconfig.json +22 -22
  287. package/tslint.json +18 -18
@@ -1,217 +1,217 @@
1
- import { ObjectBase } from '@tomei/general';
2
- import { RecordNotFoundError } from '@tomei/general/dist/class/exceptions/record-not-found.error';
3
- import { PaymentType } from '../enum';
4
- import { IPaymentParams } from './interfaces/payment-params.interface';
5
- import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
6
- import { PaymentStatus } from '../enum/payment-status.enum';
7
- import { PaymentRepository } from './payment.repository';
8
- import { PaymentItemRepository } from '../payment-item/payment-item.repository';
9
- // import PaymentItemModel from '../models/payment-item.entity';
10
- import PaymentItem from '../payment-item/payment-item';
11
- import PaymentPaidWith from '../payment-paid-with/payment-paid-with';
12
- import { PaymentPaidWithRepository } from '../payment-paid-with/payment-paid-with.repository';
13
-
14
- export default class Payment extends AccountSystemEntity {
15
- private _PaymentId = 'New';
16
- PaymentType: PaymentType;
17
- PaymentDate: Date;
18
- MethodTypeId: string;
19
- Description = '';
20
- Currency = 'MYR';
21
- Amount = 0;
22
- Status: PaymentStatus;
23
- TransactionId: string;
24
- TransactionApprovalCode: string;
25
- TransactionAccountName: string;
26
- TransactionAccountNo: string;
27
- ReceivedBy = '';
28
- IssuedBy = '';
29
- UpdatedBy = '';
30
- UpdatedAt: Date;
31
- Remarks = '';
32
- RelatedObjectId = '';
33
- RelatedObjectType = '';
34
- ReceiptDocNo = '';
35
-
36
- private static _RepositoryBase = new PaymentRepository();
37
- private static _PaymentItemRepository = new PaymentItemRepository();
38
- private static _PaymentPaidWithRepository = new PaymentPaidWithRepository();
39
-
40
- private _DbTransaction: any;
41
- private _PaymentItems = [];
42
- private _PaymentPaidWith = [];
43
-
44
- paymentItemRepository: PaymentItemRepository;
45
-
46
- public get PaymentId() {
47
- return this._PaymentId;
48
- }
49
-
50
- public set PaymentId(id: string) {
51
- this._PaymentId = id;
52
- }
53
-
54
- /* AccountSystemEntity Implementation */
55
- get RepositoryBase() {
56
- return Payment._RepositoryBase;
57
- }
58
-
59
- /* ObjectBase Implementation */
60
- get ObjectId() {
61
- return this.PaymentId;
62
- }
63
-
64
- get ObjectName() {
65
- return this.PaymentId;
66
- }
67
-
68
- get TableName() {
69
- return 'finance_Payment';
70
- }
71
-
72
- constructor(dbTransaction?: any, paymentId?: string) {
73
- super();
74
- if (dbTransaction) {
75
- this._DbTransaction = dbTransaction;
76
- }
77
- if (paymentId) {
78
- this.PaymentId = paymentId;
79
- }
80
- }
81
-
82
- static async initPayment(
83
- dbTransaction: any,
84
- paymentId: string,
85
- ): Promise<Payment> {
86
- try {
87
- const paymentData = await this._RepositoryBase.findOne({
88
- where: {
89
- PaymentId: paymentId,
90
- },
91
- transaction: dbTransaction,
92
- });
93
- if (paymentData) {
94
- const payment = new Payment(dbTransaction, paymentId);
95
- payment.PaymentType = paymentData.PaymentType;
96
- payment.PaymentDate = paymentData.PaymentDate;
97
- payment.Description = paymentData.Description;
98
- payment.Currency = paymentData.Currency;
99
- payment.Amount = paymentData.Amount;
100
- payment.Status = paymentData.Status;
101
- payment.ReceivedBy = paymentData.ReceivedBy;
102
- payment.IssuedBy = paymentData.IssuedBy;
103
- payment.UpdatedAt = paymentData.UpdatedAt;
104
- payment.UpdatedBy = paymentData.UpdatedBy;
105
- payment.Remarks = paymentData.Remarks;
106
- payment.RelatedObjectId = paymentData.RelatedObjectId;
107
- payment.RelatedObjectType = paymentData.RelatedObjectType;
108
- payment.ReceiptDocNo = paymentData.ReceiptDocNo;
109
- payment.AccSystemRefId = paymentData.AccSystemRefId;
110
- payment.PostedToAccSystemYN = paymentData.PostedToAccSystemYN;
111
- payment.PostedById = paymentData.PostedById;
112
- payment.PostedDateTime = paymentData.PostedDateTime;
113
- return payment;
114
- } else {
115
- const notFoundError = new RecordNotFoundError(
116
- 'PaymentErrMsg',
117
- 'No Record Found.',
118
- );
119
- throw notFoundError;
120
- }
121
- } catch (error) {
122
- console.log('Payment Class constructor err: ', error);
123
- }
124
- }
125
-
126
- get PaymentItems(): Promise<PaymentItem[]> {
127
- return new Promise((resolve, reject) => {
128
- if (this.PaymentId !== 'New') {
129
- Payment._PaymentItemRepository
130
- .findAll({
131
- where: {
132
- PaymentId: this.PaymentId,
133
- },
134
- transaction: this._DbTransaction,
135
- })
136
- .then((paymentItems) => {
137
- const paymentItemObjects = paymentItems.map((paymentItem) => {
138
- new PaymentItem(
139
- new Payment(this._DbTransaction, paymentItem.PaymentId),
140
- {
141
- ObjectId: this.ObjectId,
142
- ObjectName: this.ObjectName,
143
- TableName: this.TableName,
144
- },
145
- );
146
- });
147
- return Promise.all(paymentItemObjects);
148
- })
149
- .then((paymentItemObjects) => {
150
- this._PaymentItems = paymentItemObjects;
151
- resolve(this._PaymentItems);
152
- })
153
- .catch((err) => {
154
- reject(err);
155
- });
156
- }
157
- resolve(this._PaymentItems);
158
- });
159
- }
160
-
161
- get PaymentPaidWith(): Promise<PaymentPaidWith[]> {
162
- return new Promise((resolve, reject) => {
163
- if (this.PaymentId !== 'New') {
164
- Payment._PaymentPaidWithRepository
165
- .findAll({
166
- where: {
167
- PaymentId: this.PaymentId,
168
- },
169
- transaction: this._DbTransaction,
170
- })
171
- .then((paymentPaidWithItems) => {
172
- const paymentPaidWithObjects = paymentPaidWithItems.map(
173
- (paymentPaidWithItem) => {
174
- new PaymentPaidWith(
175
- new Payment(
176
- this._DbTransaction,
177
- paymentPaidWithItem.PaymentId,
178
- ),
179
- paymentPaidWithItem.MethodTypeId,
180
- );
181
- },
182
- );
183
- return Promise.all(paymentPaidWithObjects);
184
- })
185
- .then((paymentPaidWithObjects) => {
186
- this._PaymentPaidWith = paymentPaidWithObjects;
187
- resolve(this._PaymentPaidWith);
188
- })
189
- .catch((err) => {
190
- reject(err);
191
- });
192
- }
193
- resolve(this._PaymentPaidWith);
194
- });
195
- }
196
-
197
- newPaymentItem(objectBeingPaidFor: ObjectBase): PaymentItem {
198
- const paymentItem = new PaymentItem(this, objectBeingPaidFor);
199
- this._PaymentItems.push(paymentItem);
200
- return paymentItem;
201
- }
202
-
203
- newPaymentPaidWith(paymentMethodTypeId: string) {
204
- const paymentPaidWith = new PaymentPaidWith(
205
- this,
206
- paymentMethodTypeId,
207
- this._DbTransaction,
208
- );
209
- this._PaymentPaidWith.push(paymentPaidWith);
210
- return paymentPaidWith;
211
- }
212
-
213
- init(Params: IPaymentParams): void {
214
- if (Params.Currency) this.Currency = Params.Currency;
215
- if (Params.PaymentType) this.PaymentType = Params.PaymentType;
216
- }
217
- }
1
+ import { ObjectBase } from '@tomei/general';
2
+ import { RecordNotFoundError } from '@tomei/general/dist/class/exceptions/record-not-found.error';
3
+ import { PaymentType } from '../enum';
4
+ import { IPaymentParams } from './interfaces/payment-params.interface';
5
+ import { AccountSystemEntity } from '../account-system-entity/account-system-entity';
6
+ import { PaymentStatus } from '../enum/payment-status.enum';
7
+ import { PaymentRepository } from './payment.repository';
8
+ import { PaymentItemRepository } from '../payment-item/payment-item.repository';
9
+ // import PaymentItemModel from '../models/payment-item.entity';
10
+ import PaymentItem from '../payment-item/payment-item';
11
+ import PaymentPaidWith from '../payment-paid-with/payment-paid-with';
12
+ import { PaymentPaidWithRepository } from '../payment-paid-with/payment-paid-with.repository';
13
+
14
+ export default class Payment extends AccountSystemEntity {
15
+ private _PaymentId = 'New';
16
+ PaymentType: PaymentType;
17
+ PaymentDate: Date;
18
+ MethodTypeId: string;
19
+ Description = '';
20
+ Currency = 'MYR';
21
+ Amount = 0;
22
+ Status: PaymentStatus;
23
+ TransactionId: string;
24
+ TransactionApprovalCode: string;
25
+ TransactionAccountName: string;
26
+ TransactionAccountNo: string;
27
+ ReceivedBy = '';
28
+ IssuedBy = '';
29
+ UpdatedBy = '';
30
+ UpdatedAt: Date;
31
+ Remarks = '';
32
+ RelatedObjectId = '';
33
+ RelatedObjectType = '';
34
+ ReceiptDocNo = '';
35
+
36
+ private static _RepositoryBase = new PaymentRepository();
37
+ private static _PaymentItemRepository = new PaymentItemRepository();
38
+ private static _PaymentPaidWithRepository = new PaymentPaidWithRepository();
39
+
40
+ private _DbTransaction: any;
41
+ private _PaymentItems = [];
42
+ private _PaymentPaidWith = [];
43
+
44
+ paymentItemRepository: PaymentItemRepository;
45
+
46
+ public get PaymentId() {
47
+ return this._PaymentId;
48
+ }
49
+
50
+ public set PaymentId(id: string) {
51
+ this._PaymentId = id;
52
+ }
53
+
54
+ /* AccountSystemEntity Implementation */
55
+ get RepositoryBase() {
56
+ return Payment._RepositoryBase;
57
+ }
58
+
59
+ /* ObjectBase Implementation */
60
+ get ObjectId() {
61
+ return this.PaymentId;
62
+ }
63
+
64
+ get ObjectName() {
65
+ return this.PaymentId;
66
+ }
67
+
68
+ get TableName() {
69
+ return 'finance_Payment';
70
+ }
71
+
72
+ constructor(dbTransaction?: any, paymentId?: string) {
73
+ super();
74
+ if (dbTransaction) {
75
+ this._DbTransaction = dbTransaction;
76
+ }
77
+ if (paymentId) {
78
+ this.PaymentId = paymentId;
79
+ }
80
+ }
81
+
82
+ static async initPayment(
83
+ dbTransaction: any,
84
+ paymentId: string,
85
+ ): Promise<Payment> {
86
+ try {
87
+ const paymentData = await this._RepositoryBase.findOne({
88
+ where: {
89
+ PaymentId: paymentId,
90
+ },
91
+ transaction: dbTransaction,
92
+ });
93
+ if (paymentData) {
94
+ const payment = new Payment(dbTransaction, paymentId);
95
+ payment.PaymentType = paymentData.PaymentType;
96
+ payment.PaymentDate = paymentData.PaymentDate;
97
+ payment.Description = paymentData.Description;
98
+ payment.Currency = paymentData.Currency;
99
+ payment.Amount = paymentData.Amount;
100
+ payment.Status = paymentData.Status;
101
+ payment.ReceivedBy = paymentData.ReceivedBy;
102
+ payment.IssuedBy = paymentData.IssuedBy;
103
+ payment.UpdatedAt = paymentData.UpdatedAt;
104
+ payment.UpdatedBy = paymentData.UpdatedBy;
105
+ payment.Remarks = paymentData.Remarks;
106
+ payment.RelatedObjectId = paymentData.RelatedObjectId;
107
+ payment.RelatedObjectType = paymentData.RelatedObjectType;
108
+ payment.ReceiptDocNo = paymentData.ReceiptDocNo;
109
+ payment.AccSystemRefId = paymentData.AccSystemRefId;
110
+ payment.PostedToAccSystemYN = paymentData.PostedToAccSystemYN;
111
+ payment.PostedById = paymentData.PostedById;
112
+ payment.PostedDateTime = paymentData.PostedDateTime;
113
+ return payment;
114
+ } else {
115
+ const notFoundError = new RecordNotFoundError(
116
+ 'PaymentErrMsg',
117
+ 'No Record Found.',
118
+ );
119
+ throw notFoundError;
120
+ }
121
+ } catch (error) {
122
+ console.log('Payment Class constructor err: ', error);
123
+ }
124
+ }
125
+
126
+ get PaymentItems(): Promise<PaymentItem[]> {
127
+ return new Promise((resolve, reject) => {
128
+ if (this.PaymentId !== 'New') {
129
+ Payment._PaymentItemRepository
130
+ .findAll({
131
+ where: {
132
+ PaymentId: this.PaymentId,
133
+ },
134
+ transaction: this._DbTransaction,
135
+ })
136
+ .then((paymentItems) => {
137
+ const paymentItemObjects = paymentItems.map((paymentItem) => {
138
+ new PaymentItem(
139
+ new Payment(this._DbTransaction, paymentItem.PaymentId),
140
+ {
141
+ ObjectId: this.ObjectId,
142
+ ObjectName: this.ObjectName,
143
+ TableName: this.TableName,
144
+ },
145
+ );
146
+ });
147
+ return Promise.all(paymentItemObjects);
148
+ })
149
+ .then((paymentItemObjects) => {
150
+ this._PaymentItems = paymentItemObjects;
151
+ resolve(this._PaymentItems);
152
+ })
153
+ .catch((err) => {
154
+ reject(err);
155
+ });
156
+ }
157
+ resolve(this._PaymentItems);
158
+ });
159
+ }
160
+
161
+ get PaymentPaidWith(): Promise<PaymentPaidWith[]> {
162
+ return new Promise((resolve, reject) => {
163
+ if (this.PaymentId !== 'New') {
164
+ Payment._PaymentPaidWithRepository
165
+ .findAll({
166
+ where: {
167
+ PaymentId: this.PaymentId,
168
+ },
169
+ transaction: this._DbTransaction,
170
+ })
171
+ .then((paymentPaidWithItems) => {
172
+ const paymentPaidWithObjects = paymentPaidWithItems.map(
173
+ (paymentPaidWithItem) => {
174
+ new PaymentPaidWith(
175
+ new Payment(
176
+ this._DbTransaction,
177
+ paymentPaidWithItem.PaymentId,
178
+ ),
179
+ paymentPaidWithItem.MethodTypeId,
180
+ );
181
+ },
182
+ );
183
+ return Promise.all(paymentPaidWithObjects);
184
+ })
185
+ .then((paymentPaidWithObjects) => {
186
+ this._PaymentPaidWith = paymentPaidWithObjects;
187
+ resolve(this._PaymentPaidWith);
188
+ })
189
+ .catch((err) => {
190
+ reject(err);
191
+ });
192
+ }
193
+ resolve(this._PaymentPaidWith);
194
+ });
195
+ }
196
+
197
+ newPaymentItem(objectBeingPaidFor: ObjectBase): PaymentItem {
198
+ const paymentItem = new PaymentItem(this, objectBeingPaidFor);
199
+ this._PaymentItems.push(paymentItem);
200
+ return paymentItem;
201
+ }
202
+
203
+ newPaymentPaidWith(paymentMethodTypeId: string) {
204
+ const paymentPaidWith = new PaymentPaidWith(
205
+ this,
206
+ paymentMethodTypeId,
207
+ this._DbTransaction,
208
+ );
209
+ this._PaymentPaidWith.push(paymentPaidWith);
210
+ return paymentPaidWith;
211
+ }
212
+
213
+ init(Params: IPaymentParams): void {
214
+ if (Params.Currency) this.Currency = Params.Currency;
215
+ if (Params.PaymentType) this.PaymentType = Params.PaymentType;
216
+ }
217
+ }
@@ -1,10 +1,10 @@
1
- export class IPaymentItemAttr {
2
- PaymentId: string;
3
- PayForObjectId: string;
4
- PayForObjectType: string;
5
- Currency: string;
6
- Amount: number;
7
- Name?: string;
8
- Description: string;
9
- Remarks?: string;
10
- }
1
+ export class IPaymentItemAttr {
2
+ PaymentId: string;
3
+ PayForObjectId: string;
4
+ PayForObjectType: string;
5
+ Currency: string;
6
+ Amount: number;
7
+ Name?: string;
8
+ Description: string;
9
+ Remarks?: string;
10
+ }
@@ -1,11 +1,11 @@
1
- import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
- import PaymentItemModel from '../models/payment-item.entity';
3
-
4
- export class PaymentItemRepository
5
- extends RepositoryBase<PaymentItemModel>
6
- implements IRepositoryBase<PaymentItemModel>
7
- {
8
- constructor() {
9
- super(PaymentItemModel);
10
- }
11
- }
1
+ import { RepositoryBase, IRepositoryBase } from '@tomei/general';
2
+ import PaymentItemModel from '../models/payment-item.entity';
3
+
4
+ export class PaymentItemRepository
5
+ extends RepositoryBase<PaymentItemModel>
6
+ implements IRepositoryBase<PaymentItemModel>
7
+ {
8
+ constructor() {
9
+ super(PaymentItemModel);
10
+ }
11
+ }