@things-factory/accounting 8.0.39 → 9.0.0-9.0.0-beta.59.0

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 (196) hide show
  1. package/dist-client/pages/accounting-category/accounting-category-tree-page.js +1 -1
  2. package/dist-client/pages/accounting-category/accounting-category-tree-page.js.map +1 -1
  3. package/dist-client/pages/bank/bank-importer.d.ts +23 -0
  4. package/dist-client/pages/bank/bank-importer.js +93 -0
  5. package/dist-client/pages/bank/bank-importer.js.map +1 -0
  6. package/dist-client/pages/bank/bank-list-page.d.ts +66 -0
  7. package/dist-client/pages/bank/bank-list-page.js +370 -0
  8. package/dist-client/pages/bank/bank-list-page.js.map +1 -0
  9. package/dist-client/pages/bank-account/bank-account-importer.d.ts +23 -0
  10. package/dist-client/pages/bank-account/bank-account-importer.js +93 -0
  11. package/dist-client/pages/bank-account/bank-account-importer.js.map +1 -0
  12. package/dist-client/pages/bank-account/bank-account-list-page.d.ts +66 -0
  13. package/dist-client/pages/bank-account/bank-account-list-page.js +370 -0
  14. package/dist-client/pages/bank-account/bank-account-list-page.js.map +1 -0
  15. package/dist-client/pages/financial-institution/financial-institution-importer.d.ts +23 -0
  16. package/dist-client/pages/financial-institution/financial-institution-importer.js +93 -0
  17. package/dist-client/pages/financial-institution/financial-institution-importer.js.map +1 -0
  18. package/dist-client/pages/financial-institution/financial-institution-list-page.d.ts +66 -0
  19. package/dist-client/pages/financial-institution/financial-institution-list-page.js +370 -0
  20. package/dist-client/pages/financial-institution/financial-institution-list-page.js.map +1 -0
  21. package/dist-client/tsconfig.tsbuildinfo +1 -1
  22. package/dist-server/migrations/1725201567284-seed-country-codes.d.ts +5 -0
  23. package/dist-server/migrations/1725201567284-seed-country-codes.js +248 -0
  24. package/dist-server/migrations/1725201567284-seed-country-codes.js.map +1 -0
  25. package/dist-server/migrations/1725201667385-seed-financial-institutions.d.ts +5 -0
  26. package/dist-server/migrations/1725201667385-seed-financial-institutions.js +348 -0
  27. package/dist-server/migrations/1725201667385-seed-financial-institutions.js.map +1 -0
  28. package/dist-server/service/bank-account/bank-account-history.d.ts +34 -0
  29. package/dist-server/service/bank-account/bank-account-history.js +172 -0
  30. package/dist-server/service/bank-account/bank-account-history.js.map +1 -0
  31. package/dist-server/service/bank-account/bank-account-mutation.d.ts +10 -0
  32. package/dist-server/service/bank-account/bank-account-mutation.js +128 -0
  33. package/dist-server/service/bank-account/bank-account-mutation.js.map +1 -0
  34. package/dist-server/service/bank-account/bank-account-query.d.ts +11 -0
  35. package/dist-server/service/bank-account/bank-account-query.js +79 -0
  36. package/dist-server/service/bank-account/bank-account-query.js.map +1 -0
  37. package/dist-server/service/bank-account/bank-account-type.d.ts +39 -0
  38. package/dist-server/service/bank-account/bank-account-type.js +153 -0
  39. package/dist-server/service/bank-account/bank-account-type.js.map +1 -0
  40. package/dist-server/service/bank-account/bank-account.d.ts +38 -0
  41. package/dist-server/service/bank-account/bank-account.js +164 -0
  42. package/dist-server/service/bank-account/bank-account.js.map +1 -0
  43. package/dist-server/service/bank-account/event-subscriber.d.ts +7 -0
  44. package/dist-server/service/bank-account/event-subscriber.js +21 -0
  45. package/dist-server/service/bank-account/event-subscriber.js.map +1 -0
  46. package/dist-server/service/bank-account/index.d.ts +7 -0
  47. package/dist-server/service/bank-account/index.js +12 -0
  48. package/dist-server/service/bank-account/index.js.map +1 -0
  49. package/dist-server/service/financial-institution/financial-institution-mutation.d.ts +10 -0
  50. package/dist-server/service/financial-institution/financial-institution-mutation.js +169 -0
  51. package/dist-server/service/financial-institution/financial-institution-mutation.js.map +1 -0
  52. package/dist-server/service/financial-institution/financial-institution-query.d.ts +12 -0
  53. package/dist-server/service/financial-institution/financial-institution-query.js +97 -0
  54. package/dist-server/service/financial-institution/financial-institution-query.js.map +1 -0
  55. package/dist-server/service/financial-institution/financial-institution-type.d.ts +32 -0
  56. package/dist-server/service/financial-institution/financial-institution-type.js +126 -0
  57. package/dist-server/service/financial-institution/financial-institution-type.js.map +1 -0
  58. package/dist-server/service/financial-institution/financial-institution.d.ts +34 -0
  59. package/dist-server/service/financial-institution/financial-institution.js +137 -0
  60. package/dist-server/service/financial-institution/financial-institution.js.map +1 -0
  61. package/dist-server/service/financial-institution/index.d.ts +6 -0
  62. package/dist-server/service/financial-institution/index.js +10 -0
  63. package/dist-server/service/financial-institution/index.js.map +1 -0
  64. package/dist-server/service/index.d.ts +3 -2
  65. package/dist-server/service/index.js +5 -0
  66. package/dist-server/service/index.js.map +1 -1
  67. package/dist-server/service/payment/index.d.ts +1 -2
  68. package/dist-server/service/payment/payment-history.d.ts +8 -1
  69. package/dist-server/service/payment/payment-history.js +41 -10
  70. package/dist-server/service/payment/payment-history.js.map +1 -1
  71. package/dist-server/service/payment/payment-type.d.ts +7 -1
  72. package/dist-server/service/payment/payment-type.js +24 -0
  73. package/dist-server/service/payment/payment-type.js.map +1 -1
  74. package/dist-server/service/payment/payment.d.ts +12 -0
  75. package/dist-server/service/payment/payment.js +36 -1
  76. package/dist-server/service/payment/payment.js.map +1 -1
  77. package/dist-server/tsconfig.tsbuildinfo +1 -1
  78. package/helps/accounting/bank-account.md +160 -0
  79. package/helps/accounting/bank.md +160 -0
  80. package/helps/accounting/financial-institution.md +160 -0
  81. package/package.json +7 -7
  82. package/client/activities/activity-book-edit.ts +0 -88
  83. package/client/activities/activity-book-view.ts +0 -88
  84. package/client/activities/activity-expense-edit.ts +0 -88
  85. package/client/activities/activity-expense-view.ts +0 -88
  86. package/client/bootstrap.ts +0 -10
  87. package/client/components/accounting-category-selector.ts +0 -136
  88. package/client/components/accounting-category-view.ts +0 -75
  89. package/client/grist-editors/grist-editor-accounting-category-object.ts +0 -83
  90. package/client/grist-editors/grist-renderer-accounting-category-object.ts +0 -13
  91. package/client/index.ts +0 -0
  92. package/client/pages/account/account-importer.ts +0 -97
  93. package/client/pages/account/account-list-page.ts +0 -364
  94. package/client/pages/accounting-category/accounting-category-importer.ts +0 -97
  95. package/client/pages/accounting-category/accounting-category-list-page.ts +0 -368
  96. package/client/pages/accounting-category/accounting-category-tree-page.ts +0 -338
  97. package/client/pages/accounting-document/accounting-document-importer.ts +0 -90
  98. package/client/pages/accounting-document/accounting-document-list-page.ts +0 -398
  99. package/client/pages/financial-statement/financial-statement-importer.ts +0 -97
  100. package/client/pages/financial-statement/financial-statement-list-page.ts +0 -338
  101. package/client/pages/fiscal-month/fiscal-month-importer.ts +0 -90
  102. package/client/pages/fiscal-month/fiscal-month-list-page.ts +0 -398
  103. package/client/pages/fiscal-quarter/fiscal-quarter-importer.ts +0 -90
  104. package/client/pages/fiscal-quarter/fiscal-quarter-list-page.ts +0 -398
  105. package/client/pages/fiscal-year/fiscal-year-importer.ts +0 -90
  106. package/client/pages/fiscal-year/fiscal-year-list-page.ts +0 -398
  107. package/client/pages/income-statement/income-statement-importer.ts +0 -97
  108. package/client/pages/income-statement/income-statement-list-page.ts +0 -338
  109. package/client/pages/payment/payment-importer.ts +0 -90
  110. package/client/pages/payment/payment-list-page.ts +0 -398
  111. package/client/pages/transaction/transaction-importer.ts +0 -97
  112. package/client/pages/transaction/transaction-list-page.ts +0 -338
  113. package/client/route.ts +0 -35
  114. package/client/tsconfig.json +0 -13
  115. package/client/types/accounting-category.ts +0 -23
  116. package/client/types/index.ts +0 -1
  117. package/server/activities/activity-book.ts +0 -172
  118. package/server/activities/activity-expense.ts +0 -149
  119. package/server/activities/index.ts +0 -18
  120. package/server/controllers/index.ts +0 -1
  121. package/server/controllers/summary-statements.ts +0 -166
  122. package/server/index.ts +0 -6
  123. package/server/middlewares/index.ts +0 -3
  124. package/server/migrations/1725200507196-seed-fiscal-entities.ts +0 -106
  125. package/server/migrations/1725201467183-seed-accounts.ts +0 -339
  126. package/server/migrations/index.ts +0 -9
  127. package/server/routes.ts +0 -26
  128. package/server/service/account/account-history.ts +0 -117
  129. package/server/service/account/account-mutation.ts +0 -140
  130. package/server/service/account/account-query.ts +0 -51
  131. package/server/service/account/account-type.ts +0 -44
  132. package/server/service/account/account.ts +0 -97
  133. package/server/service/account/event-subscriber.ts +0 -17
  134. package/server/service/account/index.ts +0 -9
  135. package/server/service/accounting-category/accounting-category-history.ts +0 -129
  136. package/server/service/accounting-category/accounting-category-mutation.ts +0 -148
  137. package/server/service/accounting-category/accounting-category-query.ts +0 -74
  138. package/server/service/accounting-category/accounting-category-type.ts +0 -48
  139. package/server/service/accounting-category/accounting-category.ts +0 -100
  140. package/server/service/accounting-category/event-subscriber.ts +0 -20
  141. package/server/service/accounting-category/index.ts +0 -9
  142. package/server/service/accounting-document/accounting-document-history.ts +0 -123
  143. package/server/service/accounting-document/accounting-document-mutation.ts +0 -137
  144. package/server/service/accounting-document/accounting-document-query.ts +0 -48
  145. package/server/service/accounting-document/accounting-document-type.ts +0 -52
  146. package/server/service/accounting-document/accounting-document.ts +0 -93
  147. package/server/service/accounting-document/event-subscriber.ts +0 -17
  148. package/server/service/accounting-document/index.ts +0 -9
  149. package/server/service/common-type.ts +0 -12
  150. package/server/service/financial-statement/event-subscriber.ts +0 -17
  151. package/server/service/financial-statement/financial-statement-history.ts +0 -129
  152. package/server/service/financial-statement/financial-statement-line-item.ts +0 -82
  153. package/server/service/financial-statement/financial-statement-mutation.ts +0 -148
  154. package/server/service/financial-statement/financial-statement-query.ts +0 -53
  155. package/server/service/financial-statement/financial-statement-type.ts +0 -51
  156. package/server/service/financial-statement/financial-statement.ts +0 -116
  157. package/server/service/financial-statement/index.ts +0 -10
  158. package/server/service/fiscal-month/fiscal-month-mutation.ts +0 -145
  159. package/server/service/fiscal-month/fiscal-month-query.ts +0 -58
  160. package/server/service/fiscal-month/fiscal-month-type.ts +0 -66
  161. package/server/service/fiscal-month/fiscal-month.ts +0 -84
  162. package/server/service/fiscal-month/index.ts +0 -7
  163. package/server/service/fiscal-quarter/fiscal-quarter-mutation.ts +0 -148
  164. package/server/service/fiscal-quarter/fiscal-quarter-query.ts +0 -60
  165. package/server/service/fiscal-quarter/fiscal-quarter-type.ts +0 -60
  166. package/server/service/fiscal-quarter/fiscal-quarter.ts +0 -80
  167. package/server/service/fiscal-quarter/index.ts +0 -7
  168. package/server/service/fiscal-year/fiscal-year-mutation.ts +0 -145
  169. package/server/service/fiscal-year/fiscal-year-query.ts +0 -53
  170. package/server/service/fiscal-year/fiscal-year-type.ts +0 -54
  171. package/server/service/fiscal-year/fiscal-year.ts +0 -76
  172. package/server/service/fiscal-year/index.ts +0 -7
  173. package/server/service/income-statement/event-subscriber.ts +0 -17
  174. package/server/service/income-statement/income-statement-history.ts +0 -133
  175. package/server/service/income-statement/income-statement-line-item.ts +0 -84
  176. package/server/service/income-statement/income-statement-mutation.ts +0 -147
  177. package/server/service/income-statement/income-statement-query.ts +0 -50
  178. package/server/service/income-statement/income-statement-type.ts +0 -51
  179. package/server/service/income-statement/income-statement.ts +0 -120
  180. package/server/service/income-statement/index.ts +0 -10
  181. package/server/service/index.ts +0 -108
  182. package/server/service/payment/event-subscriber.ts +0 -17
  183. package/server/service/payment/index.ts +0 -9
  184. package/server/service/payment/payment-history.ts +0 -132
  185. package/server/service/payment/payment-mutation.ts +0 -139
  186. package/server/service/payment/payment-query.ts +0 -50
  187. package/server/service/payment/payment-type.ts +0 -64
  188. package/server/service/payment/payment.ts +0 -123
  189. package/server/service/transaction/event-subscriber.ts +0 -17
  190. package/server/service/transaction/index.ts +0 -9
  191. package/server/service/transaction/transaction-history.ts +0 -161
  192. package/server/service/transaction/transaction-mutation.ts +0 -146
  193. package/server/service/transaction/transaction-query.ts +0 -50
  194. package/server/service/transaction/transaction-type.ts +0 -48
  195. package/server/service/transaction/transaction.ts +0 -230
  196. package/server/tsconfig.json +0 -10
@@ -1,338 +0,0 @@
1
- import '@operato/data-grist'
2
-
3
- import { CommonButtonStyles, CommonGristStyles, ScrollbarStyles } from '@operato/styles'
4
- import { PageView, store } from '@operato/shell'
5
- import { css, html } from 'lit'
6
- import { customElement, property, query } from 'lit/decorators.js'
7
- import { ScopedElementsMixin } from '@open-wc/scoped-elements'
8
- import { ColumnConfig, DataGrist, FetchOption, SortersControl } from '@operato/data-grist'
9
- import { client } from '@operato/graphql'
10
- import { i18next, localize } from '@operato/i18n'
11
- import { notify, openPopup } from '@operato/layout'
12
- import { OxPopup } from '@operato/popup'
13
- import { isMobileDevice } from '@operato/utils'
14
-
15
- import { connect } from 'pwa-helpers/connect-mixin'
16
- import gql from 'graphql-tag'
17
-
18
- import { TransactionImporter } from './transaction-importer'
19
-
20
- @customElement('transaction-list-page')
21
- export class TransactionListPage extends connect(store)(localize(i18next)(ScopedElementsMixin(PageView))) {
22
- static styles = [
23
- ScrollbarStyles,
24
- CommonGristStyles,
25
- css`
26
- :host {
27
- display: flex;
28
-
29
- width: 100%;
30
-
31
- --grid-record-emphasized-background-color: #8b0000;
32
- --grid-record-emphasized-color: #ff6b6b;
33
- }
34
-
35
- ox-grist {
36
- overflow-y: auto;
37
- flex: 1;
38
- }
39
- `
40
- ]
41
-
42
- static get scopedElements() {
43
- return {
44
- 'transaction-importer': TransactionImporter
45
- }
46
- }
47
-
48
- @property({ type: Object }) gristConfig: any
49
- @property({ type: String }) mode: 'CARD' | 'GRID' | 'LIST' = isMobileDevice() ? 'CARD' : 'GRID'
50
-
51
- @query('ox-grist') private grist!: DataGrist
52
- @query('#sorter-control') private sortersControl!: OxPopup
53
-
54
- get context() {
55
- return {
56
- title: i18next.t('title.transaction list'),
57
- search: {
58
- handler: (search: string) => {
59
- this.grist.searchText = search
60
- },
61
- value: this.grist?.searchText || '',
62
- autofocus: true
63
- },
64
- filter: {
65
- handler: () => {
66
- this.grist.toggleHeadroom()
67
- }
68
- },
69
- help: 'accounting/transaction',
70
- actions: [
71
- {
72
- title: i18next.t('button.save'),
73
- action: this._updateTransaction.bind(this),
74
- ...CommonButtonStyles.save
75
- },
76
- {
77
- title: i18next.t('button.delete'),
78
- action: this._deleteTransaction.bind(this),
79
- ...CommonButtonStyles.delete
80
- }
81
- ],
82
- exportable: {
83
- name: i18next.t('title.transaction list'),
84
- data: this.exportHandler.bind(this)
85
- },
86
- importable: {
87
- handler: this.importHandler.bind(this)
88
- }
89
- }
90
- }
91
-
92
- render() {
93
- const mode = this.mode || (isMobileDevice() ? 'CARD' : 'GRID')
94
-
95
- return html`
96
- <ox-grist .mode=${mode} .config=${this.gristConfig} .fetchHandler=${this.fetchHandler.bind(this)}>
97
- <div slot="headroom">
98
- <div id="filters">
99
- <ox-filters-form autofocus></ox-filters-form>
100
- </div>
101
-
102
- <div id="sorters">
103
- Sort
104
- <mwc-icon
105
- @click=${e => {
106
- const target = e.currentTarget
107
- this.sortersControl.open({
108
- right: 0,
109
- top: target.offsetTop + target.offsetHeight
110
- })
111
- }}
112
- >expand_more</mwc-icon
113
- >
114
- <ox-popup id="sorter-control">
115
- <ox-sorters-control> </ox-sorters-control>
116
- </ox-popup>
117
- </div>
118
-
119
- <div id="modes">
120
- <mwc-icon @click=${() => (this.mode = 'GRID')} ?active=${mode == 'GRID'}>grid_on</mwc-icon>
121
- <mwc-icon @click=${() => (this.mode = 'LIST')} ?active=${mode == 'LIST'}>format_list_bulleted</mwc-icon>
122
- <mwc-icon @click=${() => (this.mode = 'CARD')} ?active=${mode == 'CARD'}>apps</mwc-icon>
123
- </div>
124
- </div>
125
- </ox-grist>
126
- `
127
- }
128
-
129
- async pageInitialized(lifecycle: any) {
130
- this.gristConfig = {
131
- list: {
132
- fields: ['name', 'description'],
133
- details: ['active', 'updatedAt']
134
- },
135
- columns: [
136
- { type: 'gutter', gutterName: 'sequence' },
137
- { type: 'gutter', gutterName: 'row-selector', multiple: true },
138
- {
139
- type: 'string',
140
- name: 'name',
141
- header: i18next.t('field.name'),
142
- record: {
143
- editable: true
144
- },
145
- filter: 'search',
146
- sortable: true,
147
- width: 150
148
- },
149
- {
150
- type: 'string',
151
- name: 'description',
152
- header: i18next.t('field.description'),
153
- record: {
154
- editable: true
155
- },
156
- filter: 'search',
157
- width: 200
158
- },
159
- {
160
- type: 'checkbox',
161
- name: 'active',
162
- label: true,
163
- header: i18next.t('field.active'),
164
- record: {
165
- editable: true
166
- },
167
- filter: true,
168
- sortable: true,
169
- width: 60
170
- },
171
- {
172
- type: 'resource-object',
173
- name: 'updater',
174
- header: i18next.t('field.updater'),
175
- record: {
176
- editable: false
177
- },
178
- sortable: true,
179
- width: 120
180
- },
181
- {
182
- type: 'datetime',
183
- name: 'updatedAt',
184
- header: i18next.t('field.updated_at'),
185
- record: {
186
- editable: false
187
- },
188
- sortable: true,
189
- width: 180
190
- }
191
- ],
192
- rows: {
193
- selectable: {
194
- multiple: true
195
- }
196
- },
197
- sorters: [
198
- {
199
- name: 'name'
200
- }
201
- ]
202
- }
203
- }
204
-
205
- async pageUpdated(changes: any, lifecycle: any) {
206
- if (this.active) {
207
- // do something here when this page just became as active
208
- }
209
- }
210
-
211
- async fetchHandler({ page = 1, limit = 100, sortings = [], filters = [] }: FetchOption) {
212
- const response = await client.query({
213
- query: gql`
214
- query ($filters: [Filter!], $pagination: Pagination, $sortings: [Sorting!]) {
215
- responses: transactions(filters: $filters, pagination: $pagination, sortings: $sortings) {
216
- items {
217
- id
218
- name
219
- description
220
- active
221
- updater {
222
- id
223
- name
224
- }
225
- updatedAt
226
- }
227
- total
228
- }
229
- }
230
- `,
231
- variables: {
232
- filters,
233
- pagination: { page, limit },
234
- sortings
235
- }
236
- })
237
-
238
- return {
239
- total: response.data.responses.total || 0,
240
- records: response.data.responses.items || []
241
- }
242
- }
243
-
244
- async _deleteTransaction() {
245
- if (confirm(i18next.t('text.sure_to_x', { x: i18next.t('text.delete') }))) {
246
- const ids = this.grist.selected.map(record => record.id)
247
- if (ids && ids.length > 0) {
248
- const response = await client.mutate({
249
- mutation: gql`
250
- mutation ($ids: [String!]!) {
251
- deleteTransactions(ids: $ids)
252
- }
253
- `,
254
- variables: {
255
- ids
256
- }
257
- })
258
-
259
- if (!response.errors) {
260
- this.grist.fetch()
261
- notify({
262
- message: i18next.t('text.info_x_successfully', { x: i18next.t('text.delete') })
263
- })
264
- }
265
- }
266
- }
267
- }
268
-
269
- async _updateTransaction() {
270
- let patches = this.grist.dirtyRecords
271
- if (patches && patches.length) {
272
- patches = patches.map(patch => {
273
- let patchField: any = patch.id ? { id: patch.id } : {}
274
- const dirtyFields = patch.__dirtyfields__
275
- for (let key in dirtyFields) {
276
- patchField[key] = dirtyFields[key].after
277
- }
278
- patchField.cuFlag = patch.__dirty__
279
-
280
- return patchField
281
- })
282
-
283
- const response = await client.mutate({
284
- mutation: gql`
285
- mutation ($patches: [TransactionPatch!]!) {
286
- updateMultipleTransaction(patches: $patches) {
287
- name
288
- }
289
- }
290
- `,
291
- variables: {
292
- patches
293
- }
294
- })
295
-
296
- if (!response.errors) {
297
- this.grist.fetch()
298
- }
299
- }
300
- }
301
-
302
- async exportHandler() {
303
- const exportTargets = this.grist.selected.length ? this.grist.selected : this.grist.dirtyData.records
304
- const targetFieldSet = new Set(['id', 'name', 'description', 'active'])
305
-
306
- return exportTargets.map(transaction => {
307
- let tempObj = {}
308
- for (const field of targetFieldSet) {
309
- tempObj[field] = transaction[field]
310
- }
311
-
312
- return tempObj
313
- })
314
- }
315
-
316
- async importHandler(records) {
317
- const popup = openPopup(
318
- html`
319
- <transaction-importer
320
- .transactions=${records}
321
- @imported=${() => {
322
- history.back()
323
- this.grist.fetch()
324
- }}
325
- ></transaction-importer>
326
- `,
327
- {
328
- backdrop: true,
329
- size: 'large',
330
- title: i18next.t('title.import transaction')
331
- }
332
- )
333
-
334
- popup.onclosed = () => {
335
- this.grist.fetch()
336
- }
337
- }
338
- }
package/client/route.ts DELETED
@@ -1,35 +0,0 @@
1
- export default function route(page: string) {
2
- switch (page) {
3
- case 'account-list':
4
- import('./pages/account/account-list-page')
5
- return page
6
-
7
- case 'transaction-list':
8
- import('./pages/transaction/transaction-list-page')
9
- return page
10
-
11
- case 'accounting-category-list':
12
- import('./pages/accounting-category/accounting-category-list-page')
13
- return page
14
-
15
- case 'financial-statement-list':
16
- import('./pages/financial-statement/financial-statement-list-page')
17
- return page
18
-
19
- case 'income-statement-list':
20
- import('./pages/income-statement/income-statement-list-page')
21
- return page
22
-
23
- case 'fiscal-month-list':
24
- import('./pages/fiscal-month/fiscal-month-list-page')
25
- return page
26
-
27
- case 'fiscal-quarter-list':
28
- import('./pages/fiscal-quarter/fiscal-quarter-list-page')
29
- return page
30
-
31
- case 'fiscal-year-list':
32
- import('./pages/fiscal-year/fiscal-year-list-page')
33
- return page
34
- }
35
- }
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "../../tsconfig-base.json",
3
- "compilerOptions": {
4
- "experimentalDecorators": true,
5
- "skipLibCheck": true,
6
- "strict": true,
7
- "declaration": true,
8
- "module": "esnext",
9
- "outDir": "../dist-client",
10
- "baseUrl": "./"
11
- },
12
- "include": ["./**/*"]
13
- }
@@ -1,23 +0,0 @@
1
- import { Domain, User } from '@operato/shell'
2
-
3
- export class AccountingCategory {
4
- readonly id?: string
5
-
6
- domain?: Domain
7
-
8
- code?: string
9
- name?: string
10
- description?: string
11
-
12
- parent?: AccountingCategory
13
- children?: AccountingCategory[]
14
-
15
- active?: boolean
16
-
17
- createdAt?: Date
18
- updatedAt?: Date
19
- deletedAt?: Date
20
-
21
- creator?: User
22
- updater?: User
23
- }
@@ -1 +0,0 @@
1
- export * from './accounting-category'
@@ -1,172 +0,0 @@
1
- import {
2
- Activity,
3
- ActivityInstance,
4
- ActivityInstanceStatus,
5
- ActivityThread,
6
- UpdateActivityInstanceStateAddendum
7
- } from '@things-factory/worklist'
8
-
9
- async function callback(
10
- activityInstance: ActivityInstance,
11
- addendum: UpdateActivityInstanceStateAddendum,
12
- context: ResolverContext
13
- ) {
14
- const { domain, tx } = context.state
15
- const { input, output, state } = activityInstance
16
- const { causedBy } = addendum || {}
17
-
18
- if (state == ActivityInstanceStatus.Ended) {
19
- const activity = (await tx.getRepository(Activity).findOneBy({
20
- domain: { id: domain.id },
21
- name: 'Book'
22
- })) as Activity
23
-
24
- /*
25
- The Book activity is designed to be performed by a single assignee (thread).
26
- Therefore, we take a sample from the output as data.
27
- If it were an activity performed by multiple assignees (threads),
28
- we would process the entire output as data.
29
- */
30
- const assignees = Object.keys(output)
31
- const data = assignees.length > 0 && output[assignees[0]]
32
-
33
- if (activity) {
34
- /*
35
- Custom logic goes here.
36
- Typically, this would involve recording the accounting transaction
37
- or updating related data in the accounting system.
38
- For example, you might:
39
- 1. Save the transaction to the database
40
- 2. Update account balances
41
- 3. Generate necessary reports or notifications
42
- */
43
- } else {
44
- console.error('Book Activity not installed.')
45
- }
46
- } else if (state == ActivityInstanceStatus.Aborted) {
47
- // Implement logic for handling aborted activities here
48
- }
49
- }
50
-
51
- export const ActivityBook = {
52
- name: 'Book',
53
- description: 'An activity that records income or expenses in the accounting system',
54
- release: '1.0.0',
55
- provider: 'hatiolab.com',
56
- category: 'accounting',
57
- activityType: 'user',
58
- priority: 1,
59
- searchKeys: [
60
- // sample search keys
61
- {
62
- name: 'category',
63
- description: 'expense category',
64
- inputKey: 'category',
65
- tKey: 'category'
66
- }
67
- ],
68
- /*
69
- Setting an activity as startable means it can be manually initiated and assigned.
70
- Users with the defined issuer role can start it, or all users if no issuer is defined.
71
- The process of starting allows for manual adjustment of assignees and approval-line,
72
- with activity settings as the default.
73
- */
74
- startable: true,
75
- /* (Unimplemented property)
76
- startingType can be set to 'issue' or 'post'. 'post' type allows for start, assign, and end
77
- to be done at once by a single user. Users only see draft and post stages for this activity.
78
- All model properties should be 'in' or 'inout' in this case, as 'out' properties won't have
79
- a chance for input. Assignees settings are meaningless in this case.
80
- If an approval-line is set, it will still be processed through the approval process.
81
- For 'issue' type, 'in' or 'inout' properties of the model are filled and assigned to the assignee,
82
- so an assignee must be set.
83
- */
84
- startingType: 'post',
85
- /* (Unimplemented property)
86
- The multiple property can be set to 'parallel' or 'sequential'. 'parallel' processes multiple
87
- instances (threads) in parallel, while 'sequential' processes them in sequence.
88
- If not set, it implies single instance execution, where only one assignee is allocated even if
89
- multiple are set. In this case, the activity instance's result data (output) is directly applied
90
- from the single thread's output.
91
- */
92
- multiple: null,
93
- model: [
94
- {
95
- name: 'name',
96
- description: 'name',
97
- tag: 'name',
98
- hidden: false,
99
- mandatory: true,
100
- inout: 'in',
101
- type: 'select',
102
- options: {
103
- options: ['KRW', 'USD', 'CNY']
104
- },
105
- unit: null,
106
- quantifier: [1],
107
- spec: {}
108
- },
109
- {
110
- name: 'currency',
111
- description: 'currency',
112
- tag: 'currency',
113
- hidden: false,
114
- mandatory: true,
115
- inout: 'in',
116
- type: 'select',
117
- options: {
118
- options: ['KRW', 'USD', 'CNY']
119
- },
120
- unit: null,
121
- quantifier: [1],
122
- spec: {}
123
- },
124
- {
125
- name: 'amount',
126
- description: 'amount',
127
- tag: 'amount',
128
- hidden: false,
129
- mandatory: true,
130
- inout: 'in',
131
- type: 'number',
132
- options: {},
133
- unit: null,
134
- quantifier: [1],
135
- spec: {}
136
- },
137
- {
138
- name: 'category',
139
- description: 'accounting category',
140
- tag: 'category',
141
- hidden: true,
142
- mandatory: true,
143
- inout: 'in',
144
- type: 'string',
145
- options: {},
146
- unit: null,
147
- quantifier: [1],
148
- spec: {}
149
- },
150
- {
151
- name: 'date',
152
- description: 'issuance date',
153
- tag: 'date',
154
- hidden: true,
155
- mandatory: true,
156
- inout: 'in',
157
- type: 'string',
158
- options: {},
159
- unit: null,
160
- quantifier: [1],
161
- spec: {}
162
- }
163
- ],
164
- uiType: 'generated',
165
- uiSource: '',
166
- viewType: 'generated',
167
- viewSource: '',
168
- reportType: 'custom-element',
169
- reportSource: 'activity-book-report',
170
- thumbnail: '/assets/images/book-activity.jpg',
171
- callback /* Called when there is a change in the lifecycle of a task (activity-instance). */
172
- }