@things-factory/accounting 8.0.0-alpha.1 → 8.0.0-alpha.12
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/bootstrap.ts +10 -1
- package/client/components/accounting-category-selector.ts +136 -0
- package/client/components/accounting-category-view.ts +75 -0
- package/client/grist-editors/grist-editor-accounting-category-object.ts +83 -0
- package/client/grist-editors/grist-renderer-accounting-category-object.ts +13 -0
- package/client/pages/account/account-list-page.ts +33 -2
- package/client/pages/accounting-category/accounting-category-list-page.ts +31 -1
- package/client/pages/accounting-category/accounting-category-tree-page.ts +338 -0
- package/client/pages/accounting-document/accounting-document-importer.ts +90 -0
- package/client/pages/accounting-document/accounting-document-list-page.ts +398 -0
- package/client/pages/bank/bank-importer.ts +90 -0
- package/client/pages/{ledger/ledger-list-page.ts → bank/bank-list-page.ts} +118 -57
- package/client/pages/{ledger/ledger-importer.ts → bank-account/bank-account-importer.ts} +10 -17
- package/client/pages/bank-account/bank-account-list-page.ts +398 -0
- package/client/pages/financial-institution/financial-institution-importer.ts +90 -0
- package/client/pages/financial-institution/financial-institution-list-page.ts +398 -0
- package/client/pages/payment/payment-importer.ts +90 -0
- package/client/pages/payment/payment-list-page.ts +398 -0
- package/client/route.ts +0 -4
- package/client/types/accounting-category.ts +23 -0
- package/client/types/index.ts +1 -0
- package/dist-client/bootstrap.js +7 -1
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/components/accounting-category-selector.d.ts +16 -0
- package/dist-client/components/accounting-category-selector.js +134 -0
- package/dist-client/components/accounting-category-selector.js.map +1 -0
- package/dist-client/components/accounting-category-view.d.ts +14 -0
- package/dist-client/components/accounting-category-view.js +81 -0
- package/dist-client/components/accounting-category-view.js.map +1 -0
- package/dist-client/grist-editors/grist-editor-accounting-category-object.d.ts +11 -0
- package/dist-client/grist-editors/grist-editor-accounting-category-object.js +71 -0
- package/dist-client/grist-editors/grist-editor-accounting-category-object.js.map +1 -0
- package/dist-client/grist-editors/grist-renderer-accounting-category-object.d.ts +2 -0
- package/dist-client/grist-editors/grist-renderer-accounting-category-object.js +9 -0
- package/dist-client/grist-editors/grist-renderer-accounting-category-object.js.map +1 -0
- package/dist-client/pages/account/account-list-page.js +33 -2
- package/dist-client/pages/account/account-list-page.js.map +1 -1
- package/dist-client/pages/accounting-category/accounting-category-list-page.js +31 -1
- package/dist-client/pages/accounting-category/accounting-category-list-page.js.map +1 -1
- package/dist-client/pages/accounting-category/accounting-category-tree-page.d.ts +46 -0
- package/dist-client/pages/accounting-category/accounting-category-tree-page.js +329 -0
- package/dist-client/pages/accounting-category/accounting-category-tree-page.js.map +1 -0
- package/dist-client/pages/accounting-document/accounting-document-importer.d.ts +23 -0
- package/dist-client/pages/accounting-document/accounting-document-importer.js +93 -0
- package/dist-client/pages/accounting-document/accounting-document-importer.js.map +1 -0
- package/dist-client/pages/accounting-document/accounting-document-list-page.d.ts +66 -0
- package/dist-client/pages/accounting-document/accounting-document-list-page.js +370 -0
- package/dist-client/pages/accounting-document/accounting-document-list-page.js.map +1 -0
- package/dist-client/pages/{ledger/ledger-importer.d.ts → bank/bank-importer.d.ts} +3 -2
- package/dist-client/pages/{ledger/ledger-importer.js → bank/bank-importer.js} +14 -21
- package/dist-client/pages/bank/bank-importer.js.map +1 -0
- package/dist-client/pages/{ledger/ledger-list-page.d.ts → bank/bank-list-page.d.ts} +12 -8
- package/dist-client/pages/{ledger/ledger-list-page.js → bank/bank-list-page.js} +114 -67
- package/dist-client/pages/bank/bank-list-page.js.map +1 -0
- package/dist-client/pages/bank-account/bank-account-importer.d.ts +23 -0
- package/dist-client/pages/bank-account/bank-account-importer.js +93 -0
- package/dist-client/pages/bank-account/bank-account-importer.js.map +1 -0
- package/dist-client/pages/bank-account/bank-account-list-page.d.ts +66 -0
- package/dist-client/pages/bank-account/bank-account-list-page.js +370 -0
- package/dist-client/pages/bank-account/bank-account-list-page.js.map +1 -0
- package/dist-client/pages/financial-institution/financial-institution-importer.d.ts +23 -0
- package/dist-client/pages/financial-institution/financial-institution-importer.js +93 -0
- package/dist-client/pages/financial-institution/financial-institution-importer.js.map +1 -0
- package/dist-client/pages/financial-institution/financial-institution-list-page.d.ts +66 -0
- package/dist-client/pages/financial-institution/financial-institution-list-page.js +370 -0
- package/dist-client/pages/financial-institution/financial-institution-list-page.js.map +1 -0
- package/dist-client/pages/payment/payment-importer.d.ts +23 -0
- package/dist-client/pages/payment/payment-importer.js +93 -0
- package/dist-client/pages/payment/payment-importer.js.map +1 -0
- package/dist-client/pages/payment/payment-list-page.d.ts +66 -0
- package/dist-client/pages/payment/payment-list-page.js +370 -0
- package/dist-client/pages/payment/payment-list-page.js.map +1 -0
- package/dist-client/route.d.ts +1 -1
- package/dist-client/route.js +0 -3
- package/dist-client/route.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-client/types/accounting-category.d.ts +16 -0
- package/dist-client/types/accounting-category.js +3 -0
- package/dist-client/types/accounting-category.js.map +1 -0
- package/dist-client/types/index.d.ts +1 -0
- package/dist-client/types/index.js +2 -0
- package/dist-client/types/index.js.map +1 -0
- package/dist-server/activities/activity-book.js +31 -19
- package/dist-server/activities/activity-book.js.map +1 -1
- package/dist-server/controllers/summary-statements.js +13 -7
- package/dist-server/controllers/summary-statements.js.map +1 -1
- package/dist-server/index.d.ts +1 -0
- package/dist-server/index.js +1 -0
- package/dist-server/index.js.map +1 -1
- package/dist-server/migrations/1725200507196-seed-fiscal-entities.js +3 -3
- package/dist-server/migrations/1725200507196-seed-fiscal-entities.js.map +1 -1
- package/dist-server/migrations/1725201467183-seed-accounts.js +31 -31
- package/dist-server/migrations/1725201467183-seed-accounts.js.map +1 -1
- package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +5 -0
- package/dist-server/migrations/1725201567284-seed-country-codes.js +248 -0
- package/dist-server/migrations/1725201567284-seed-country-codes.js.map +1 -0
- package/dist-server/migrations/1725201667385-seed-financial-institutions.d.ts +5 -0
- package/dist-server/migrations/1725201667385-seed-financial-institutions.js +348 -0
- package/dist-server/migrations/1725201667385-seed-financial-institutions.js.map +1 -0
- package/dist-server/routes.d.ts +0 -1
- package/dist-server/routes.js +0 -1
- package/dist-server/routes.js.map +1 -1
- package/dist-server/service/account/account-history.d.ts +4 -1
- package/dist-server/service/account/account-history.js +14 -4
- package/dist-server/service/account/account-history.js.map +1 -1
- package/dist-server/service/account/account-mutation.js +13 -9
- package/dist-server/service/account/account-mutation.js.map +1 -1
- package/dist-server/service/account/account-query.js +2 -0
- package/dist-server/service/account/account-query.js.map +1 -1
- package/dist-server/service/account/account.d.ts +1 -1
- package/dist-server/service/account/account.js +15 -4
- package/dist-server/service/account/account.js.map +1 -1
- package/dist-server/service/account/index.d.ts +1 -2
- package/dist-server/service/accounting-category/accounting-category-history.d.ts +26 -0
- package/dist-server/service/accounting-category/accounting-category-history.js +136 -0
- package/dist-server/service/accounting-category/accounting-category-history.js.map +1 -0
- package/dist-server/service/accounting-category/accounting-category-mutation.js +12 -8
- package/dist-server/service/accounting-category/accounting-category-mutation.js.map +1 -1
- package/dist-server/service/accounting-category/accounting-category-query.d.ts +1 -0
- package/dist-server/service/accounting-category/accounting-category-query.js +23 -0
- package/dist-server/service/accounting-category/accounting-category-query.js.map +1 -1
- package/dist-server/service/accounting-category/accounting-category.d.ts +1 -0
- package/dist-server/service/accounting-category/accounting-category.js +14 -3
- package/dist-server/service/accounting-category/accounting-category.js.map +1 -1
- package/dist-server/service/accounting-category/event-subscriber.d.ts +7 -0
- package/dist-server/service/accounting-category/event-subscriber.js +21 -0
- package/dist-server/service/accounting-category/event-subscriber.js.map +1 -0
- package/dist-server/service/accounting-category/index.d.ts +2 -1
- package/dist-server/service/accounting-category/index.js +4 -2
- package/dist-server/service/accounting-category/index.js.map +1 -1
- package/dist-server/service/accounting-document/accounting-document-history.d.ts +26 -0
- package/dist-server/service/accounting-document/accounting-document-history.js +129 -0
- package/dist-server/service/accounting-document/accounting-document-history.js.map +1 -0
- package/dist-server/service/accounting-document/accounting-document-mutation.d.ts +10 -0
- package/dist-server/service/accounting-document/accounting-document-mutation.js +128 -0
- package/dist-server/service/accounting-document/accounting-document-mutation.js.map +1 -0
- package/dist-server/service/accounting-document/accounting-document-query.d.ts +11 -0
- package/dist-server/service/accounting-document/accounting-document-query.js +79 -0
- package/dist-server/service/accounting-document/accounting-document-query.js.map +1 -0
- package/dist-server/service/accounting-document/accounting-document-type.d.ts +20 -0
- package/dist-server/service/accounting-document/accounting-document-type.js +74 -0
- package/dist-server/service/accounting-document/accounting-document-type.js.map +1 -0
- package/dist-server/service/accounting-document/accounting-document.d.ts +21 -0
- package/dist-server/service/accounting-document/accounting-document.js +104 -0
- package/dist-server/service/accounting-document/accounting-document.js.map +1 -0
- package/dist-server/service/accounting-document/event-subscriber.d.ts +7 -0
- package/dist-server/service/accounting-document/event-subscriber.js +21 -0
- package/dist-server/service/accounting-document/event-subscriber.js.map +1 -0
- package/dist-server/service/accounting-document/index.d.ts +7 -0
- package/dist-server/service/accounting-document/index.js +12 -0
- package/dist-server/service/accounting-document/index.js.map +1 -0
- package/dist-server/service/bank-account/bank-account-history.d.ts +34 -0
- package/dist-server/service/bank-account/bank-account-history.js +172 -0
- package/dist-server/service/bank-account/bank-account-history.js.map +1 -0
- package/dist-server/service/bank-account/bank-account-mutation.d.ts +10 -0
- package/dist-server/service/bank-account/bank-account-mutation.js +128 -0
- package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -0
- package/dist-server/service/bank-account/bank-account-query.d.ts +11 -0
- package/dist-server/service/bank-account/bank-account-query.js +79 -0
- package/dist-server/service/bank-account/bank-account-query.js.map +1 -0
- package/dist-server/service/bank-account/bank-account-type.d.ts +39 -0
- package/dist-server/service/bank-account/bank-account-type.js +153 -0
- package/dist-server/service/bank-account/bank-account-type.js.map +1 -0
- package/dist-server/service/bank-account/bank-account.d.ts +38 -0
- package/dist-server/service/bank-account/bank-account.js +164 -0
- package/dist-server/service/bank-account/bank-account.js.map +1 -0
- package/dist-server/service/bank-account/event-subscriber.d.ts +7 -0
- package/dist-server/service/bank-account/event-subscriber.js +21 -0
- package/dist-server/service/bank-account/event-subscriber.js.map +1 -0
- package/dist-server/service/bank-account/index.d.ts +7 -0
- package/dist-server/service/bank-account/index.js +12 -0
- package/dist-server/service/bank-account/index.js.map +1 -0
- package/dist-server/service/financial-institution/financial-institution-mutation.d.ts +10 -0
- package/dist-server/service/financial-institution/financial-institution-mutation.js +169 -0
- package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -0
- package/dist-server/service/financial-institution/financial-institution-query.d.ts +12 -0
- package/dist-server/service/financial-institution/financial-institution-query.js +97 -0
- package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -0
- package/dist-server/service/financial-institution/financial-institution-type.d.ts +32 -0
- package/dist-server/service/financial-institution/financial-institution-type.js +126 -0
- package/dist-server/service/financial-institution/financial-institution-type.js.map +1 -0
- package/dist-server/service/financial-institution/financial-institution.d.ts +34 -0
- package/dist-server/service/financial-institution/financial-institution.js +137 -0
- package/dist-server/service/financial-institution/financial-institution.js.map +1 -0
- package/dist-server/service/financial-institution/index.d.ts +6 -0
- package/dist-server/service/financial-institution/index.js +10 -0
- package/dist-server/service/financial-institution/index.js.map +1 -0
- package/dist-server/service/financial-statement/financial-statement-history.d.ts +9 -6
- package/dist-server/service/financial-statement/financial-statement-history.js +30 -20
- package/dist-server/service/financial-statement/financial-statement-history.js.map +1 -1
- package/dist-server/service/financial-statement/financial-statement-line-item.d.ts +19 -0
- package/dist-server/service/financial-statement/financial-statement-line-item.js +94 -0
- package/dist-server/service/financial-statement/financial-statement-line-item.js.map +1 -0
- package/dist-server/service/financial-statement/financial-statement-mutation.js +12 -8
- package/dist-server/service/financial-statement/financial-statement-mutation.js.map +1 -1
- package/dist-server/service/financial-statement/financial-statement-query.js +2 -0
- package/dist-server/service/financial-statement/financial-statement-query.js.map +1 -1
- package/dist-server/service/financial-statement/financial-statement.d.ts +2 -0
- package/dist-server/service/financial-statement/financial-statement.js +45 -24
- package/dist-server/service/financial-statement/financial-statement.js.map +1 -1
- package/dist-server/service/financial-statement/index.d.ts +2 -2
- package/dist-server/service/financial-statement/index.js +2 -1
- package/dist-server/service/financial-statement/index.js.map +1 -1
- package/dist-server/service/fiscal-month/fiscal-month-mutation.js +6 -0
- package/dist-server/service/fiscal-month/fiscal-month-mutation.js.map +1 -1
- package/dist-server/service/fiscal-month/fiscal-month-query.js +2 -0
- package/dist-server/service/fiscal-month/fiscal-month-query.js.map +1 -1
- package/dist-server/service/fiscal-month/fiscal-month.js +1 -1
- package/dist-server/service/fiscal-month/fiscal-month.js.map +1 -1
- package/dist-server/service/fiscal-quarter/fiscal-quarter-mutation.js +6 -0
- package/dist-server/service/fiscal-quarter/fiscal-quarter-mutation.js.map +1 -1
- package/dist-server/service/fiscal-quarter/fiscal-quarter-query.js +2 -0
- package/dist-server/service/fiscal-quarter/fiscal-quarter-query.js.map +1 -1
- package/dist-server/service/fiscal-quarter/fiscal-quarter.js +1 -1
- package/dist-server/service/fiscal-quarter/fiscal-quarter.js.map +1 -1
- package/dist-server/service/fiscal-year/fiscal-year-mutation.js +6 -0
- package/dist-server/service/fiscal-year/fiscal-year-mutation.js.map +1 -1
- package/dist-server/service/fiscal-year/fiscal-year-query.js +2 -0
- package/dist-server/service/fiscal-year/fiscal-year-query.js.map +1 -1
- package/dist-server/service/fiscal-year/fiscal-year.js +1 -1
- package/dist-server/service/fiscal-year/fiscal-year.js.map +1 -1
- package/dist-server/service/income-statement/income-statement-history.d.ts +9 -5
- package/dist-server/service/income-statement/income-statement-history.js +35 -20
- package/dist-server/service/income-statement/income-statement-history.js.map +1 -1
- package/dist-server/service/income-statement/income-statement-line-item.d.ts +19 -0
- package/dist-server/service/income-statement/income-statement-line-item.js +96 -0
- package/dist-server/service/income-statement/income-statement-line-item.js.map +1 -0
- package/dist-server/service/income-statement/income-statement-mutation.js +12 -8
- package/dist-server/service/income-statement/income-statement-mutation.js.map +1 -1
- package/dist-server/service/income-statement/income-statement-query.js +2 -0
- package/dist-server/service/income-statement/income-statement-query.js.map +1 -1
- package/dist-server/service/income-statement/income-statement.d.ts +2 -0
- package/dist-server/service/income-statement/income-statement.js +46 -26
- package/dist-server/service/income-statement/income-statement.js.map +1 -1
- package/dist-server/service/income-statement/index.d.ts +2 -2
- package/dist-server/service/income-statement/index.js +2 -1
- package/dist-server/service/income-statement/index.js.map +1 -1
- package/dist-server/service/index.d.ts +4 -2
- package/dist-server/service/index.js +10 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/service/payment/event-subscriber.d.ts +7 -0
- package/dist-server/service/payment/event-subscriber.js +21 -0
- package/dist-server/service/payment/event-subscriber.js.map +1 -0
- package/dist-server/service/payment/index.d.ts +7 -0
- package/dist-server/service/payment/index.js +12 -0
- package/dist-server/service/payment/index.js.map +1 -0
- package/dist-server/service/payment/payment-history.d.ts +37 -0
- package/dist-server/service/payment/payment-history.js +174 -0
- package/dist-server/service/payment/payment-history.js.map +1 -0
- package/dist-server/service/payment/payment-mutation.d.ts +10 -0
- package/dist-server/service/payment/payment-mutation.js +134 -0
- package/dist-server/service/payment/payment-mutation.js.map +1 -0
- package/dist-server/service/payment/payment-query.d.ts +11 -0
- package/dist-server/service/payment/payment-query.js +81 -0
- package/dist-server/service/payment/payment-query.js.map +1 -0
- package/dist-server/service/payment/payment-type.d.ts +30 -0
- package/dist-server/service/payment/payment-type.js +114 -0
- package/dist-server/service/payment/payment-type.js.map +1 -0
- package/dist-server/service/payment/payment.d.ts +42 -0
- package/dist-server/service/payment/payment.js +181 -0
- package/dist-server/service/payment/payment.js.map +1 -0
- package/dist-server/service/transaction/index.d.ts +2 -1
- package/dist-server/service/transaction/transaction-history.d.ts +6 -2
- package/dist-server/service/transaction/transaction-history.js +28 -9
- package/dist-server/service/transaction/transaction-history.js.map +1 -1
- package/dist-server/service/transaction/transaction-mutation.js +13 -9
- package/dist-server/service/transaction/transaction-mutation.js.map +1 -1
- package/dist-server/service/transaction/transaction-query.js +2 -0
- package/dist-server/service/transaction/transaction-query.js.map +1 -1
- package/dist-server/service/transaction/transaction.d.ts +28 -6
- package/dist-server/service/transaction/transaction.js +119 -31
- package/dist-server/service/transaction/transaction.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/helps/accounting/accounting-document.md +160 -0
- package/helps/accounting/bank-account.md +160 -0
- package/helps/accounting/bank.md +160 -0
- package/helps/accounting/contract.md +160 -0
- package/helps/accounting/financial-institution.md +160 -0
- package/helps/accounting/payment.md +160 -0
- package/package.json +5 -5
- package/server/activities/activity-book.ts +31 -19
- package/server/controllers/summary-statements.ts +13 -7
- package/server/index.ts +1 -0
- package/server/migrations/1725200507196-seed-fiscal-entities.ts +3 -3
- package/server/migrations/1725201467183-seed-accounts.ts +31 -31
- package/server/migrations/1725201567284-seed-country-codes.ts +261 -0
- package/server/migrations/1725201667385-seed-financial-institutions.ts +348 -0
- package/server/routes.ts +0 -2
- package/server/service/account/account-history.ts +14 -6
- package/server/service/account/account-mutation.ts +13 -10
- package/server/service/account/account-query.ts +2 -0
- package/server/service/account/account.ts +15 -4
- package/server/service/accounting-category/accounting-category-history.ts +123 -0
- package/server/service/accounting-category/accounting-category-mutation.ts +12 -9
- package/server/service/accounting-category/accounting-category-query.ts +23 -0
- package/server/service/accounting-category/accounting-category.ts +14 -3
- package/server/service/accounting-category/event-subscriber.ts +20 -0
- package/server/service/accounting-category/index.ts +4 -2
- package/server/service/accounting-document/accounting-document-history.ts +117 -0
- package/server/service/accounting-document/accounting-document-mutation.ts +137 -0
- package/server/service/accounting-document/accounting-document-query.ts +48 -0
- package/server/service/accounting-document/accounting-document-type.ts +52 -0
- package/server/service/accounting-document/accounting-document.ts +93 -0
- package/server/service/accounting-document/event-subscriber.ts +17 -0
- package/server/service/accounting-document/index.ts +9 -0
- package/server/service/bank-account/bank-account-history.ts +149 -0
- package/server/service/bank-account/bank-account-mutation.ts +137 -0
- package/server/service/bank-account/bank-account-query.ts +48 -0
- package/server/service/bank-account/bank-account-type.ts +112 -0
- package/server/service/bank-account/bank-account.ts +142 -0
- package/server/service/bank-account/event-subscriber.ts +17 -0
- package/server/service/bank-account/index.ts +9 -0
- package/server/service/financial-institution/financial-institution-mutation.ts +198 -0
- package/server/service/financial-institution/financial-institution-query.ts +62 -0
- package/server/service/financial-institution/financial-institution-type.ts +91 -0
- package/server/service/financial-institution/financial-institution.ts +122 -0
- package/server/service/financial-institution/index.ts +7 -0
- package/server/service/financial-statement/financial-statement-history.ts +27 -18
- package/server/service/financial-statement/financial-statement-line-item.ts +82 -0
- package/server/service/financial-statement/financial-statement-mutation.ts +12 -9
- package/server/service/financial-statement/financial-statement-query.ts +2 -0
- package/server/service/financial-statement/financial-statement.ts +52 -36
- package/server/service/financial-statement/index.ts +2 -1
- package/server/service/fiscal-month/fiscal-month-mutation.ts +10 -2
- package/server/service/fiscal-month/fiscal-month-query.ts +3 -1
- package/server/service/fiscal-month/fiscal-month.ts +1 -1
- package/server/service/fiscal-quarter/fiscal-quarter-mutation.ts +14 -3
- package/server/service/fiscal-quarter/fiscal-quarter-query.ts +2 -0
- package/server/service/fiscal-quarter/fiscal-quarter.ts +1 -1
- package/server/service/fiscal-year/fiscal-year-mutation.ts +10 -2
- package/server/service/fiscal-year/fiscal-year-query.ts +2 -0
- package/server/service/fiscal-year/fiscal-year.ts +1 -1
- package/server/service/income-statement/income-statement-history.ts +30 -17
- package/server/service/income-statement/income-statement-line-item.ts +84 -0
- package/server/service/income-statement/income-statement-mutation.ts +12 -10
- package/server/service/income-statement/income-statement-query.ts +2 -0
- package/server/service/income-statement/income-statement.ts +54 -39
- package/server/service/income-statement/index.ts +2 -1
- package/server/service/index.ts +18 -0
- package/server/service/payment/event-subscriber.ts +17 -0
- package/server/service/payment/index.ts +9 -0
- package/server/service/payment/payment-history.ts +149 -0
- package/server/service/payment/payment-mutation.ts +139 -0
- package/server/service/payment/payment-query.ts +50 -0
- package/server/service/payment/payment-type.ts +82 -0
- package/server/service/payment/payment.ts +154 -0
- package/server/service/transaction/transaction-history.ts +24 -8
- package/server/service/transaction/transaction-mutation.ts +13 -10
- package/server/service/transaction/transaction-query.ts +2 -0
- package/server/service/transaction/transaction.ts +130 -34
- package/things-factory.config.js +0 -1
- package/translations/en.json +9 -1
- package/translations/ja.json +9 -1
- package/translations/ko.json +9 -1
- package/translations/ms.json +9 -1
- package/translations/zh.json +9 -1
- package/client/pages/main.ts +0 -24
- package/dist-client/pages/ledger/ledger-importer.js.map +0 -1
- package/dist-client/pages/ledger/ledger-list-page.js.map +0 -1
- package/dist-client/pages/main.d.ts +0 -1
- package/dist-client/pages/main.js +0 -27
- package/dist-client/pages/main.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Resolver, Mutation, Arg, Ctx, Directive } from 'type-graphql'
|
|
2
2
|
import { In } from 'typeorm'
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { getRepository } from '@things-factory/shell'
|
|
5
5
|
|
|
6
6
|
import { FinancialStatement } from './financial-statement'
|
|
7
7
|
import { NewFinancialStatement, FinancialStatementPatch } from './financial-statement-type'
|
|
@@ -9,6 +9,7 @@ import { NewFinancialStatement, FinancialStatementPatch } from './financial-stat
|
|
|
9
9
|
@Resolver(FinancialStatement)
|
|
10
10
|
export class FinancialStatementMutation {
|
|
11
11
|
@Directive('@transaction')
|
|
12
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
12
13
|
@Mutation(returns => FinancialStatement, { description: 'To create new FinancialStatement' })
|
|
13
14
|
async createFinancialStatement(
|
|
14
15
|
@Arg('financialStatement') financialStatement: NewFinancialStatement,
|
|
@@ -16,7 +17,7 @@ export class FinancialStatementMutation {
|
|
|
16
17
|
): Promise<FinancialStatement> {
|
|
17
18
|
const { domain, user, tx } = context.state
|
|
18
19
|
|
|
19
|
-
const result = await
|
|
20
|
+
const result = await getRepository(FinancialStatement, tx).save({
|
|
20
21
|
...financialStatement,
|
|
21
22
|
domain,
|
|
22
23
|
creator: user,
|
|
@@ -27,6 +28,7 @@ export class FinancialStatementMutation {
|
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
@Directive('@transaction')
|
|
31
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
30
32
|
@Mutation(returns => FinancialStatement, { description: 'To modify FinancialStatement information' })
|
|
31
33
|
async updateFinancialStatement(
|
|
32
34
|
@Arg('id') id: string,
|
|
@@ -35,7 +37,7 @@ export class FinancialStatementMutation {
|
|
|
35
37
|
): Promise<FinancialStatement> {
|
|
36
38
|
const { domain, user, tx } = context.state
|
|
37
39
|
|
|
38
|
-
const repository =
|
|
40
|
+
const repository = getRepository(FinancialStatement, tx)
|
|
39
41
|
const financialStatement = await repository.findOne({
|
|
40
42
|
where: { domain: { id: domain.id }, id }
|
|
41
43
|
})
|
|
@@ -50,6 +52,7 @@ export class FinancialStatementMutation {
|
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
@Directive('@transaction')
|
|
55
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
53
56
|
@Mutation(returns => [FinancialStatement], { description: "To modify multiple FinancialStatements' information" })
|
|
54
57
|
async updateMultipleFinancialStatement(
|
|
55
58
|
@Arg('patches', type => [FinancialStatementPatch]) patches: FinancialStatementPatch[],
|
|
@@ -60,7 +63,7 @@ export class FinancialStatementMutation {
|
|
|
60
63
|
let results = []
|
|
61
64
|
const _createRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === '+')
|
|
62
65
|
const _updateRecords = patches.filter((patch: any) => patch.cuFlag.toUpperCase() === 'M')
|
|
63
|
-
const financialStatementRepo =
|
|
66
|
+
const financialStatementRepo = getRepository(FinancialStatement, tx)
|
|
64
67
|
|
|
65
68
|
if (_createRecords.length > 0) {
|
|
66
69
|
for (let i = 0; i < _createRecords.length; i++) {
|
|
@@ -96,17 +99,18 @@ export class FinancialStatementMutation {
|
|
|
96
99
|
}
|
|
97
100
|
|
|
98
101
|
@Directive('@transaction')
|
|
102
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
99
103
|
@Mutation(returns => Boolean, { description: 'To delete FinancialStatement' })
|
|
100
104
|
async deleteFinancialStatement(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
101
105
|
const { domain, tx } = context.state
|
|
102
106
|
|
|
103
|
-
await
|
|
104
|
-
await deleteAttachmentsByRef(null, { refBys: [id] }, context)
|
|
107
|
+
await getRepository(FinancialStatement, tx).delete({ domain: { id: domain.id }, id })
|
|
105
108
|
|
|
106
109
|
return true
|
|
107
110
|
}
|
|
108
111
|
|
|
109
112
|
@Directive('@transaction')
|
|
113
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
110
114
|
@Mutation(returns => Boolean, { description: 'To delete multiple FinancialStatements' })
|
|
111
115
|
async deleteFinancialStatements(
|
|
112
116
|
@Arg('ids', type => [String]) ids: string[],
|
|
@@ -114,17 +118,16 @@ export class FinancialStatementMutation {
|
|
|
114
118
|
): Promise<boolean> {
|
|
115
119
|
const { domain, tx } = context.state
|
|
116
120
|
|
|
117
|
-
await
|
|
121
|
+
await getRepository(FinancialStatement, tx).delete({
|
|
118
122
|
domain: { id: domain.id },
|
|
119
123
|
id: In(ids)
|
|
120
124
|
})
|
|
121
125
|
|
|
122
|
-
await deleteAttachmentsByRef(null, { refBys: ids }, context)
|
|
123
|
-
|
|
124
126
|
return true
|
|
125
127
|
}
|
|
126
128
|
|
|
127
129
|
@Directive('@transaction')
|
|
130
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
128
131
|
@Mutation(returns => Boolean, { description: 'To import multiple FinancialStatements' })
|
|
129
132
|
async importFinancialStatements(
|
|
130
133
|
@Arg('financialStatements', type => [FinancialStatementPatch]) financialStatements: FinancialStatementPatch[],
|
|
@@ -6,6 +6,7 @@ import { FinancialStatementList } from './financial-statement-type'
|
|
|
6
6
|
|
|
7
7
|
@Resolver(FinancialStatement)
|
|
8
8
|
export class FinancialStatementQuery {
|
|
9
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
9
10
|
@Query(returns => FinancialStatement!, { nullable: true, description: 'To fetch a FinancialStatement' })
|
|
10
11
|
async financialStatement(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<FinancialStatement> {
|
|
11
12
|
const { domain } = context.state
|
|
@@ -15,6 +16,7 @@ export class FinancialStatementQuery {
|
|
|
15
16
|
})
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
18
20
|
@Query(returns => FinancialStatementList, { description: 'To fetch multiple FinancialStatements' })
|
|
19
21
|
async financialStatements(
|
|
20
22
|
@Args() params: ListParam,
|
|
@@ -7,14 +7,17 @@ import {
|
|
|
7
7
|
Column,
|
|
8
8
|
RelationId,
|
|
9
9
|
ManyToOne,
|
|
10
|
+
OneToMany,
|
|
10
11
|
PrimaryGeneratedColumn,
|
|
11
12
|
VersionColumn
|
|
12
13
|
} from 'typeorm'
|
|
13
|
-
import { ObjectType, Field,
|
|
14
|
+
import { ObjectType, Field, ID, registerEnumType } from 'type-graphql'
|
|
14
15
|
|
|
15
16
|
import { Domain } from '@things-factory/shell'
|
|
16
17
|
import { User } from '@things-factory/auth-base'
|
|
17
18
|
|
|
19
|
+
import { FinancialStatementLineItem } from './financial-statement-line-item'
|
|
20
|
+
|
|
18
21
|
export enum FinancialStatementStatus {
|
|
19
22
|
STATUS_A = 'STATUS_A',
|
|
20
23
|
STATUS_B = 'STATUS_B'
|
|
@@ -22,79 +25,92 @@ export enum FinancialStatementStatus {
|
|
|
22
25
|
|
|
23
26
|
registerEnumType(FinancialStatementStatus, {
|
|
24
27
|
name: 'FinancialStatementStatus',
|
|
25
|
-
description: '
|
|
28
|
+
description: 'State enumeration of a financial statement' // 재무제표 상태 열거형
|
|
26
29
|
})
|
|
27
30
|
|
|
31
|
+
// 재무제표 (Financial Statement)
|
|
28
32
|
@Entity()
|
|
29
33
|
@Index(
|
|
30
34
|
'ix_financial_statement_0',
|
|
31
|
-
(financialStatement: FinancialStatement) => [
|
|
32
|
-
|
|
35
|
+
(financialStatement: FinancialStatement) => [
|
|
36
|
+
financialStatement.domain,
|
|
37
|
+
financialStatement.year,
|
|
38
|
+
financialStatement.quarter,
|
|
39
|
+
financialStatement.month
|
|
40
|
+
],
|
|
41
|
+
{
|
|
42
|
+
unique: true,
|
|
43
|
+
where: '"deleted_at" IS NULL' // 삭제되지 않은 경우에만 유니크
|
|
44
|
+
}
|
|
33
45
|
)
|
|
34
|
-
@ObjectType({ description: 'Entity for FinancialStatement' })
|
|
46
|
+
@ObjectType({ description: 'Entity for FinancialStatement, representing the financial position of an entity' }) // 엔티티 설명 추가
|
|
35
47
|
export class FinancialStatement {
|
|
36
48
|
@PrimaryGeneratedColumn('uuid')
|
|
37
|
-
@Field(type => ID)
|
|
38
|
-
readonly id: string
|
|
49
|
+
@Field(type => ID, { description: 'Unique identifier for the financial statement' })
|
|
50
|
+
readonly id: string // 고유 식별자 (UUID)
|
|
39
51
|
|
|
40
52
|
@VersionColumn()
|
|
41
|
-
@Field({ nullable: true })
|
|
42
|
-
version?: number = 1
|
|
53
|
+
@Field({ nullable: true, description: 'Version number for optimistic locking' })
|
|
54
|
+
version?: number = 1 // 낙관적 잠금을 위한 버전 관리 필드
|
|
43
55
|
|
|
44
56
|
@ManyToOne(type => Domain)
|
|
45
|
-
@Field({ nullable: true })
|
|
46
|
-
domain?: Domain
|
|
57
|
+
@Field({ nullable: true, description: 'The domain to which this financial statement belongs' })
|
|
58
|
+
domain?: Domain // 이 재무제표가 속한 도메인
|
|
47
59
|
|
|
48
60
|
@RelationId((financialStatement: FinancialStatement) => financialStatement.domain)
|
|
49
|
-
domainId?: string
|
|
61
|
+
domainId?: string // 도메인의 ID
|
|
50
62
|
|
|
51
63
|
@Column({ nullable: true })
|
|
52
|
-
@Field({ nullable: true, description: '
|
|
53
|
-
year?: number
|
|
64
|
+
@Field({ nullable: true, description: 'Fiscal year of the financial statement' })
|
|
65
|
+
year?: number // 회계 연도
|
|
54
66
|
|
|
55
67
|
@Column({ nullable: true })
|
|
56
|
-
@Field({ nullable: true, description: '
|
|
57
|
-
quarter?: number
|
|
68
|
+
@Field({ nullable: true, description: 'Fiscal quarter of the financial statement' })
|
|
69
|
+
quarter?: number // 회계 분기
|
|
58
70
|
|
|
59
71
|
@Column({ nullable: true })
|
|
60
|
-
@Field({ nullable: true })
|
|
61
|
-
month?: number
|
|
72
|
+
@Field({ nullable: true, description: 'Fiscal month of the financial statement' })
|
|
73
|
+
month?: number // 회계 월
|
|
62
74
|
|
|
63
75
|
@Column({ nullable: true })
|
|
64
|
-
@Field({ nullable: true })
|
|
65
|
-
asset?: number
|
|
76
|
+
@Field({ nullable: true, description: 'Total assets recorded in the financial statement' })
|
|
77
|
+
asset?: number // 재무제표에 기록된 총자산
|
|
66
78
|
|
|
67
79
|
@Column({ nullable: true })
|
|
68
|
-
@Field({ nullable: true })
|
|
69
|
-
liability?: number
|
|
80
|
+
@Field({ nullable: true, description: 'Total liabilities recorded in the financial statement' })
|
|
81
|
+
liability?: number // 재무제표에 기록된 총부채
|
|
70
82
|
|
|
71
83
|
@Column({ nullable: true })
|
|
72
|
-
@Field({ nullable: true })
|
|
73
|
-
equity?: number
|
|
84
|
+
@Field({ nullable: true, description: 'Total equity recorded in the financial statement' })
|
|
85
|
+
equity?: number // 재무제표에 기록된 총자본
|
|
86
|
+
|
|
87
|
+
@OneToMany(type => FinancialStatementLineItem, lineItem => lineItem.statement)
|
|
88
|
+
@Field(type => [FinancialStatementLineItem], { nullable: true })
|
|
89
|
+
lineItems?: FinancialStatementLineItem[] // 계정별 브레이크다운
|
|
74
90
|
|
|
75
91
|
@CreateDateColumn()
|
|
76
|
-
@Field({ nullable: true })
|
|
77
|
-
createdAt?: Date
|
|
92
|
+
@Field({ nullable: true, description: 'The date and time when the financial statement was created' })
|
|
93
|
+
createdAt?: Date // 재무제표가 생성된 날짜 및 시간
|
|
78
94
|
|
|
79
95
|
@UpdateDateColumn()
|
|
80
|
-
@Field({ nullable: true })
|
|
81
|
-
updatedAt?: Date
|
|
96
|
+
@Field({ nullable: true, description: 'The date and time when the financial statement was last updated' })
|
|
97
|
+
updatedAt?: Date // 재무제표가 마지막으로 업데이트된 날짜 및 시간
|
|
82
98
|
|
|
83
99
|
@DeleteDateColumn()
|
|
84
|
-
@Field({ nullable: true })
|
|
85
|
-
deletedAt?: Date
|
|
100
|
+
@Field({ nullable: true, description: 'The date and time when the financial statement was deleted' })
|
|
101
|
+
deletedAt?: Date // 재무제표가 삭제된 날짜 및 시간
|
|
86
102
|
|
|
87
103
|
@ManyToOne(type => User, { nullable: true })
|
|
88
|
-
@Field(type => User, { nullable: true })
|
|
89
|
-
creator?: User
|
|
104
|
+
@Field(type => User, { nullable: true, description: 'The user who created the financial statement' })
|
|
105
|
+
creator?: User // 재무제표를 생성한 사용자
|
|
90
106
|
|
|
91
107
|
@RelationId((financialStatement: FinancialStatement) => financialStatement.creator)
|
|
92
|
-
creatorId?: string
|
|
108
|
+
creatorId?: string // 재무제표를 생성한 사용자의 ID
|
|
93
109
|
|
|
94
110
|
@ManyToOne(type => User, { nullable: true })
|
|
95
|
-
@Field(type => User, { nullable: true })
|
|
96
|
-
updater?: User
|
|
111
|
+
@Field(type => User, { nullable: true, description: 'The user who last updated the financial statement' })
|
|
112
|
+
updater?: User // 재무제표를 마지막으로 업데이트한 사용자
|
|
97
113
|
|
|
98
114
|
@RelationId((financialStatement: FinancialStatement) => financialStatement.updater)
|
|
99
|
-
updaterId?: string
|
|
115
|
+
updaterId?: string // 재무제표를 업데이트한 사용자의 ID
|
|
100
116
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { FinancialStatement } from './financial-statement'
|
|
2
|
+
import { FinancialStatementLineItem } from './financial-statement-line-item'
|
|
2
3
|
import { FinancialStatementHistory } from './financial-statement-history'
|
|
3
4
|
import { FinancialStatementQuery } from './financial-statement-query'
|
|
4
5
|
import { FinancialStatementMutation } from './financial-statement-mutation'
|
|
5
6
|
import { FinancialStatementHistoryEntitySubscriber } from './event-subscriber'
|
|
6
7
|
|
|
7
|
-
export const entities = [FinancialStatement, FinancialStatementHistory]
|
|
8
|
+
export const entities = [FinancialStatement, FinancialStatementLineItem, FinancialStatementHistory]
|
|
8
9
|
export const resolvers = [FinancialStatementQuery, FinancialStatementMutation]
|
|
9
10
|
export const subscribers = [FinancialStatementHistoryEntitySubscriber]
|
|
@@ -8,8 +8,12 @@ import { NewFiscalMonth, FiscalMonthPatch } from './fiscal-month-type'
|
|
|
8
8
|
@Resolver(FiscalMonth)
|
|
9
9
|
export class FiscalMonthMutation {
|
|
10
10
|
@Directive('@transaction')
|
|
11
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
11
12
|
@Mutation(returns => FiscalMonth, { description: 'To create new FiscalMonth' })
|
|
12
|
-
async createFiscalMonth(
|
|
13
|
+
async createFiscalMonth(
|
|
14
|
+
@Arg('fiscalMonth') fiscalMonth: NewFiscalMonth,
|
|
15
|
+
@Ctx() context: ResolverContext
|
|
16
|
+
): Promise<FiscalMonth> {
|
|
13
17
|
const { domain, user, tx } = context.state
|
|
14
18
|
|
|
15
19
|
const result = await getRepository(FiscalMonth, tx).save({
|
|
@@ -23,6 +27,7 @@ export class FiscalMonthMutation {
|
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
@Directive('@transaction')
|
|
30
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
26
31
|
@Mutation(returns => FiscalMonth, { description: 'To modify FiscalMonth information' })
|
|
27
32
|
async updateFiscalMonth(
|
|
28
33
|
@Arg('id') id: string,
|
|
@@ -46,6 +51,7 @@ export class FiscalMonthMutation {
|
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
@Directive('@transaction')
|
|
54
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
49
55
|
@Mutation(returns => [FiscalMonth], { description: "To modify multiple FiscalMonths' information" })
|
|
50
56
|
async updateMultipleFiscalMonth(
|
|
51
57
|
@Arg('patches', type => [FiscalMonthPatch]) patches: FiscalMonthPatch[],
|
|
@@ -92,6 +98,7 @@ export class FiscalMonthMutation {
|
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
@Directive('@transaction')
|
|
101
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
95
102
|
@Mutation(returns => Boolean, { description: 'To delete FiscalMonth' })
|
|
96
103
|
async deleteFiscalMonth(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
97
104
|
const { domain, tx } = context.state
|
|
@@ -102,6 +109,7 @@ export class FiscalMonthMutation {
|
|
|
102
109
|
}
|
|
103
110
|
|
|
104
111
|
@Directive('@transaction')
|
|
112
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
105
113
|
@Mutation(returns => Boolean, { description: 'To delete multiple FiscalMonths' })
|
|
106
114
|
async deleteFiscalMonths(
|
|
107
115
|
@Arg('ids', type => [String]) ids: string[],
|
|
@@ -114,11 +122,11 @@ export class FiscalMonthMutation {
|
|
|
114
122
|
id: In(ids)
|
|
115
123
|
})
|
|
116
124
|
|
|
117
|
-
|
|
118
125
|
return true
|
|
119
126
|
}
|
|
120
127
|
|
|
121
128
|
@Directive('@transaction')
|
|
129
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
122
130
|
@Mutation(returns => Boolean, { description: 'To import multiple FiscalMonths' })
|
|
123
131
|
async importFiscalMonths(
|
|
124
132
|
@Arg('fiscalMonths', type => [FiscalMonthPatch]) fiscalMonths: FiscalMonthPatch[],
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'
|
|
1
|
+
import { Directive, Resolver, Query, FieldResolver, Root, Args, Arg, Ctx } from 'type-graphql'
|
|
2
2
|
import { Domain, getQueryBuilderFromListParams, getRepository, ListParam } from '@things-factory/shell'
|
|
3
3
|
import { User } from '@things-factory/auth-base'
|
|
4
4
|
import { FiscalMonth } from './fiscal-month'
|
|
@@ -6,6 +6,7 @@ import { FiscalMonthList } from './fiscal-month-type'
|
|
|
6
6
|
|
|
7
7
|
@Resolver(FiscalMonth)
|
|
8
8
|
export class FiscalMonthQuery {
|
|
9
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
9
10
|
@Query(returns => FiscalMonth!, { nullable: true, description: 'To fetch a FiscalMonth by year, quarter, and month' })
|
|
10
11
|
async fiscalMonth(
|
|
11
12
|
@Arg('year') year: number,
|
|
@@ -20,6 +21,7 @@ export class FiscalMonthQuery {
|
|
|
20
21
|
})
|
|
21
22
|
}
|
|
22
23
|
|
|
24
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
23
25
|
@Query(returns => FiscalMonthList, { description: 'To fetch multiple FiscalMonths' })
|
|
24
26
|
async fiscalMonths(
|
|
25
27
|
@Args(type => ListParam) params: ListParam,
|
|
@@ -48,7 +48,7 @@ export class FiscalMonth {
|
|
|
48
48
|
@Field(type => String, { description: 'The end date of the fiscal month in YYYY-MM-DD format' })
|
|
49
49
|
endDate: string // 월의 종료일
|
|
50
50
|
|
|
51
|
-
@Column({
|
|
51
|
+
@Column({ default: FiscalStatus.OPEN })
|
|
52
52
|
@Field(type => FiscalStatus, { description: 'The status of the fiscal month (OPEN, CLOSED, FINALIZED)' })
|
|
53
53
|
status: FiscalStatus // 월의 상태 (OPEN, CLOSED, FINALIZED)
|
|
54
54
|
|
|
@@ -8,8 +8,12 @@ import { NewFiscalQuarter, FiscalQuarterPatch } from './fiscal-quarter-type'
|
|
|
8
8
|
@Resolver(FiscalQuarter)
|
|
9
9
|
export class FiscalQuarterMutation {
|
|
10
10
|
@Directive('@transaction')
|
|
11
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
11
12
|
@Mutation(returns => FiscalQuarter, { description: 'To create new FiscalQuarter' })
|
|
12
|
-
async createFiscalQuarter(
|
|
13
|
+
async createFiscalQuarter(
|
|
14
|
+
@Arg('fiscalQuarter') fiscalQuarter: NewFiscalQuarter,
|
|
15
|
+
@Ctx() context: ResolverContext
|
|
16
|
+
): Promise<FiscalQuarter> {
|
|
13
17
|
const { domain, user, tx } = context.state
|
|
14
18
|
|
|
15
19
|
const result = await getRepository(FiscalQuarter, tx).save({
|
|
@@ -23,6 +27,7 @@ export class FiscalQuarterMutation {
|
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
@Directive('@transaction')
|
|
30
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
26
31
|
@Mutation(returns => FiscalQuarter, { description: 'To modify FiscalQuarter information' })
|
|
27
32
|
async updateFiscalQuarter(
|
|
28
33
|
@Arg('id') id: string,
|
|
@@ -46,6 +51,7 @@ export class FiscalQuarterMutation {
|
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
@Directive('@transaction')
|
|
54
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
49
55
|
@Mutation(returns => [FiscalQuarter], { description: "To modify multiple FiscalQuarters' information" })
|
|
50
56
|
async updateMultipleFiscalQuarter(
|
|
51
57
|
@Arg('patches', type => [FiscalQuarterPatch]) patches: FiscalQuarterPatch[],
|
|
@@ -92,6 +98,7 @@ export class FiscalQuarterMutation {
|
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
@Directive('@transaction')
|
|
101
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
95
102
|
@Mutation(returns => Boolean, { description: 'To delete FiscalQuarter' })
|
|
96
103
|
async deleteFiscalQuarter(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
97
104
|
const { domain, tx } = context.state
|
|
@@ -102,6 +109,7 @@ export class FiscalQuarterMutation {
|
|
|
102
109
|
}
|
|
103
110
|
|
|
104
111
|
@Directive('@transaction')
|
|
112
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
105
113
|
@Mutation(returns => Boolean, { description: 'To delete multiple FiscalQuarters' })
|
|
106
114
|
async deleteFiscalQuarters(
|
|
107
115
|
@Arg('ids', type => [String]) ids: string[],
|
|
@@ -114,11 +122,11 @@ export class FiscalQuarterMutation {
|
|
|
114
122
|
id: In(ids)
|
|
115
123
|
})
|
|
116
124
|
|
|
117
|
-
|
|
118
125
|
return true
|
|
119
126
|
}
|
|
120
127
|
|
|
121
128
|
@Directive('@transaction')
|
|
129
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
122
130
|
@Mutation(returns => Boolean, { description: 'To import multiple FiscalQuarters' })
|
|
123
131
|
async importFiscalQuarters(
|
|
124
132
|
@Arg('fiscalQuarters', type => [FiscalQuarterPatch]) fiscalQuarters: FiscalQuarterPatch[],
|
|
@@ -128,7 +136,10 @@ export class FiscalQuarterMutation {
|
|
|
128
136
|
|
|
129
137
|
await Promise.all(
|
|
130
138
|
fiscalQuarters.map(async (fiscalQuarter: FiscalQuarterPatch) => {
|
|
131
|
-
const createdFiscalQuarter: FiscalQuarter = await getRepository(FiscalQuarter, tx).save({
|
|
139
|
+
const createdFiscalQuarter: FiscalQuarter = await getRepository(FiscalQuarter, tx).save({
|
|
140
|
+
domain,
|
|
141
|
+
...fiscalQuarter
|
|
142
|
+
})
|
|
132
143
|
})
|
|
133
144
|
)
|
|
134
145
|
|
|
@@ -6,6 +6,7 @@ import { FiscalQuarterList } from './fiscal-quarter-type'
|
|
|
6
6
|
|
|
7
7
|
@Resolver(FiscalQuarter)
|
|
8
8
|
export class FiscalQuarterQuery {
|
|
9
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
9
10
|
@Query(returns => FiscalQuarter!, {
|
|
10
11
|
nullable: true,
|
|
11
12
|
description: 'To fetch a FiscalQuarter by year and quarter number'
|
|
@@ -22,6 +23,7 @@ export class FiscalQuarterQuery {
|
|
|
22
23
|
})
|
|
23
24
|
}
|
|
24
25
|
|
|
26
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
25
27
|
@Query(returns => FiscalQuarterList, { description: 'To fetch multiple FiscalQuarters' })
|
|
26
28
|
async fiscalQuarters(
|
|
27
29
|
@Args(type => ListParam) params: ListParam,
|
|
@@ -44,7 +44,7 @@ export class FiscalQuarter {
|
|
|
44
44
|
@Field(type => String, { description: 'The end date of the fiscal quarter in YYYY-MM-DD format' })
|
|
45
45
|
endDate: string // 분기 종료일
|
|
46
46
|
|
|
47
|
-
@Column({
|
|
47
|
+
@Column({ default: FiscalStatus.OPEN })
|
|
48
48
|
@Field(type => FiscalStatus, { description: 'The status of the fiscal quarter (OPEN, CLOSED, FINALIZED)' })
|
|
49
49
|
status: FiscalStatus // 분기의 상태 (OPEN, CLOSED, FINALIZED)
|
|
50
50
|
|
|
@@ -8,8 +8,12 @@ import { NewFiscalYear, FiscalYearPatch } from './fiscal-year-type'
|
|
|
8
8
|
@Resolver(FiscalYear)
|
|
9
9
|
export class FiscalYearMutation {
|
|
10
10
|
@Directive('@transaction')
|
|
11
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
11
12
|
@Mutation(returns => FiscalYear, { description: 'To create new FiscalYear' })
|
|
12
|
-
async createFiscalYear(
|
|
13
|
+
async createFiscalYear(
|
|
14
|
+
@Arg('fiscalYear') fiscalYear: NewFiscalYear,
|
|
15
|
+
@Ctx() context: ResolverContext
|
|
16
|
+
): Promise<FiscalYear> {
|
|
13
17
|
const { domain, user, tx } = context.state
|
|
14
18
|
|
|
15
19
|
const result = await getRepository(FiscalYear, tx).save({
|
|
@@ -23,6 +27,7 @@ export class FiscalYearMutation {
|
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
@Directive('@transaction')
|
|
30
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
26
31
|
@Mutation(returns => FiscalYear, { description: 'To modify FiscalYear information' })
|
|
27
32
|
async updateFiscalYear(
|
|
28
33
|
@Arg('id') id: string,
|
|
@@ -46,6 +51,7 @@ export class FiscalYearMutation {
|
|
|
46
51
|
}
|
|
47
52
|
|
|
48
53
|
@Directive('@transaction')
|
|
54
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
49
55
|
@Mutation(returns => [FiscalYear], { description: "To modify multiple FiscalYears' information" })
|
|
50
56
|
async updateMultipleFiscalYear(
|
|
51
57
|
@Arg('patches', type => [FiscalYearPatch]) patches: FiscalYearPatch[],
|
|
@@ -92,6 +98,7 @@ export class FiscalYearMutation {
|
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
@Directive('@transaction')
|
|
101
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
95
102
|
@Mutation(returns => Boolean, { description: 'To delete FiscalYear' })
|
|
96
103
|
async deleteFiscalYear(@Arg('id') id: string, @Ctx() context: ResolverContext): Promise<boolean> {
|
|
97
104
|
const { domain, tx } = context.state
|
|
@@ -102,6 +109,7 @@ export class FiscalYearMutation {
|
|
|
102
109
|
}
|
|
103
110
|
|
|
104
111
|
@Directive('@transaction')
|
|
112
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
105
113
|
@Mutation(returns => Boolean, { description: 'To delete multiple FiscalYears' })
|
|
106
114
|
async deleteFiscalYears(
|
|
107
115
|
@Arg('ids', type => [String]) ids: string[],
|
|
@@ -114,11 +122,11 @@ export class FiscalYearMutation {
|
|
|
114
122
|
id: In(ids)
|
|
115
123
|
})
|
|
116
124
|
|
|
117
|
-
|
|
118
125
|
return true
|
|
119
126
|
}
|
|
120
127
|
|
|
121
128
|
@Directive('@transaction')
|
|
129
|
+
@Directive('@privilege(category: "accounting", privilege: "mutation")')
|
|
122
130
|
@Mutation(returns => Boolean, { description: 'To import multiple FiscalYears' })
|
|
123
131
|
async importFiscalYears(
|
|
124
132
|
@Arg('fiscalYears', type => [FiscalYearPatch]) fiscalYears: FiscalYearPatch[],
|
|
@@ -6,6 +6,7 @@ import { FiscalYearList } from './fiscal-year-type'
|
|
|
6
6
|
|
|
7
7
|
@Resolver(FiscalYear)
|
|
8
8
|
export class FiscalYearQuery {
|
|
9
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
9
10
|
@Query(returns => FiscalYear!, { nullable: true, description: 'To fetch a FiscalYear by year' })
|
|
10
11
|
async fiscalYear(@Arg('year') year: number, @Ctx() context: ResolverContext): Promise<FiscalYear | undefined> {
|
|
11
12
|
const { domain } = context.state
|
|
@@ -15,6 +16,7 @@ export class FiscalYearQuery {
|
|
|
15
16
|
})
|
|
16
17
|
}
|
|
17
18
|
|
|
19
|
+
@Directive('@privilege(category: "accounting", privilege: "query")')
|
|
18
20
|
@Query(returns => FiscalYearList, { description: 'To fetch multiple FiscalYears' })
|
|
19
21
|
async fiscalYears(
|
|
20
22
|
@Args(type => ListParam) params: ListParam,
|
|
@@ -40,7 +40,7 @@ export class FiscalYear {
|
|
|
40
40
|
@Field(type => String, { description: 'The end date of the fiscal year in YYYY-MM-DD format' })
|
|
41
41
|
endDate: string // 회계연도 종료일
|
|
42
42
|
|
|
43
|
-
@Column({
|
|
43
|
+
@Column({ default: FiscalStatus.OPEN })
|
|
44
44
|
@Field(type => FiscalStatus, { description: 'The status of the fiscal year (OPEN, CLOSED, FINALIZED)' })
|
|
45
45
|
status: FiscalStatus // 회계연도의 상태 (OPEN, CLOSED, FINALIZED)
|
|
46
46
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Field, ID, ObjectType } from 'type-graphql'
|
|
2
|
-
import { Column, Entity, Index, ManyToOne, PrimaryGeneratedColumn, RelationId } from 'typeorm'
|
|
2
|
+
import { Column, Entity, Index, ManyToOne, OneToMany, PrimaryGeneratedColumn, RelationId } from 'typeorm'
|
|
3
3
|
|
|
4
4
|
import {
|
|
5
5
|
HistoryActionColumn,
|
|
@@ -12,6 +12,7 @@ import { config } from '@things-factory/env'
|
|
|
12
12
|
import { Domain } from '@things-factory/shell'
|
|
13
13
|
|
|
14
14
|
import { IncomeStatement, IncomeStatementStatus } from './income-statement'
|
|
15
|
+
import { IncomeStatementLineItem } from './income-statement-line-item'
|
|
15
16
|
|
|
16
17
|
const ORMCONFIG = config.get('ormconfig', {})
|
|
17
18
|
const DATABASE_TYPE = ORMCONFIG.type
|
|
@@ -48,28 +49,40 @@ export class IncomeStatementHistory implements HistoryEntityInterface<IncomeStat
|
|
|
48
49
|
@Field({ nullable: true })
|
|
49
50
|
domain?: Domain
|
|
50
51
|
|
|
51
|
-
@RelationId((
|
|
52
|
+
@RelationId((incomeStatementHistory: IncomeStatementHistory) => incomeStatementHistory.domain)
|
|
52
53
|
domainId?: string
|
|
53
54
|
|
|
54
|
-
@Column()
|
|
55
|
-
@Field()
|
|
56
|
-
|
|
55
|
+
@Column({ nullable: true })
|
|
56
|
+
@Field({ nullable: true, description: 'Fiscal year of the income statement' })
|
|
57
|
+
year?: number // 회계 연도
|
|
57
58
|
|
|
58
59
|
@Column({ nullable: true })
|
|
59
|
-
@Field({ nullable: true })
|
|
60
|
-
|
|
60
|
+
@Field({ nullable: true, description: 'Fiscal quarter of the income statement' })
|
|
61
|
+
quarter?: number // 회계 분기
|
|
61
62
|
|
|
62
63
|
@Column({ nullable: true })
|
|
63
|
-
@Field({ nullable: true })
|
|
64
|
-
|
|
64
|
+
@Field({ nullable: true, description: 'Fiscal month of the income statement' })
|
|
65
|
+
month?: number // 회계 월
|
|
65
66
|
|
|
66
67
|
@Column({ nullable: true })
|
|
67
|
-
@Field({ nullable: true })
|
|
68
|
-
|
|
68
|
+
@Field({ nullable: true, description: 'Total revenue recorded in the income statement' })
|
|
69
|
+
revenue?: number // 손익계산서에 기록된 총수익
|
|
69
70
|
|
|
70
71
|
@Column({ nullable: true })
|
|
71
|
-
@Field({ nullable: true })
|
|
72
|
-
|
|
72
|
+
@Field({ nullable: true, description: 'Total expenses recorded in the income statement' })
|
|
73
|
+
expense?: number // 손익계산서에 기록된 총비용
|
|
74
|
+
|
|
75
|
+
@Column({ nullable: true })
|
|
76
|
+
@Field({ nullable: true, description: 'Net income calculated as revenue minus expenses' })
|
|
77
|
+
netIncome?: number // 총수익에서 총비용을 뺀 순이익
|
|
78
|
+
|
|
79
|
+
@Column({ nullable: true })
|
|
80
|
+
@Field({ nullable: true, description: 'Indicates whether this income statement is active' })
|
|
81
|
+
active?: boolean // 이 손익계산서가 활성 상태인지 여부
|
|
82
|
+
|
|
83
|
+
@OneToMany(type => IncomeStatementLineItem, lineItem => lineItem.statement)
|
|
84
|
+
@Field(type => [IncomeStatementLineItem], { nullable: true })
|
|
85
|
+
lineItems?: IncomeStatementLineItem[] // 계정별 브레이크다운
|
|
73
86
|
|
|
74
87
|
@Column({ nullable: true })
|
|
75
88
|
@Field({ nullable: true })
|
|
@@ -87,14 +100,14 @@ export class IncomeStatementHistory implements HistoryEntityInterface<IncomeStat
|
|
|
87
100
|
@Field({ nullable: true })
|
|
88
101
|
creator?: User
|
|
89
102
|
|
|
90
|
-
@RelationId((
|
|
103
|
+
@RelationId((incomeStatementHistory: IncomeStatementHistory) => incomeStatementHistory.creator)
|
|
91
104
|
creatorId?: string
|
|
92
105
|
|
|
93
106
|
@ManyToOne(type => User, { nullable: true })
|
|
94
107
|
@Field({ nullable: true })
|
|
95
108
|
updater?: User
|
|
96
109
|
|
|
97
|
-
@RelationId((
|
|
110
|
+
@RelationId((incomeStatementHistory: IncomeStatementHistory) => incomeStatementHistory.updater)
|
|
98
111
|
updaterId?: string
|
|
99
112
|
|
|
100
113
|
@HistoryOriginalIdColumn()
|
|
@@ -106,8 +119,8 @@ export class IncomeStatementHistory implements HistoryEntityInterface<IncomeStat
|
|
|
106
119
|
DATABASE_TYPE == 'postgres' || DATABASE_TYPE == 'mysql' || DATABASE_TYPE == 'mariadb'
|
|
107
120
|
? 'enum'
|
|
108
121
|
: DATABASE_TYPE == 'oracle'
|
|
109
|
-
|
|
110
|
-
|
|
122
|
+
? 'varchar2'
|
|
123
|
+
: 'smallint',
|
|
111
124
|
enum: HistoryActionType
|
|
112
125
|
})
|
|
113
126
|
public action!: HistoryActionType
|