@rubydogjp/openkk-client-usecases 26.1.12 → 26.2.1

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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/dist/assist/assist-state-helpers.d.ts +27 -0
  3. package/dist/assist/assist-state-helpers.d.ts.map +1 -0
  4. package/dist/assist/assist-state-helpers.js +183 -0
  5. package/dist/assist/assist-state-helpers.js.map +1 -0
  6. package/dist/assist/assist-state.d.ts +4 -11
  7. package/dist/assist/assist-state.d.ts.map +1 -1
  8. package/dist/assist/assist-state.js +233 -303
  9. package/dist/assist/assist-state.js.map +1 -1
  10. package/dist/entries/account-options.d.ts +11 -0
  11. package/dist/entries/account-options.d.ts.map +1 -0
  12. package/dist/entries/account-options.js +41 -0
  13. package/dist/entries/account-options.js.map +1 -0
  14. package/dist/entries/entries-state.d.ts +9 -14
  15. package/dist/entries/entries-state.d.ts.map +1 -1
  16. package/dist/entries/entries-state.js +245 -159
  17. package/dist/entries/entries-state.js.map +1 -1
  18. package/dist/entries/entry-record-state.d.ts +6 -0
  19. package/dist/entries/entry-record-state.d.ts.map +1 -0
  20. package/dist/entries/entry-record-state.js +23 -0
  21. package/dist/entries/entry-record-state.js.map +1 -0
  22. package/dist/entries/import-mapping.d.ts +12 -29
  23. package/dist/entries/import-mapping.d.ts.map +1 -1
  24. package/dist/entries/import-mapping.js +23 -74
  25. package/dist/entries/import-mapping.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -0
  29. package/dist/index.js.map +1 -1
  30. package/dist/shared/archive-data-policy.d.ts +6 -0
  31. package/dist/shared/archive-data-policy.d.ts.map +1 -0
  32. package/dist/shared/archive-data-policy.js +4 -0
  33. package/dist/shared/archive-data-policy.js.map +1 -0
  34. package/dist/shared/async-mutation-queue.d.ts +9 -0
  35. package/dist/shared/async-mutation-queue.d.ts.map +1 -0
  36. package/dist/shared/async-mutation-queue.js +21 -0
  37. package/dist/shared/async-mutation-queue.js.map +1 -0
  38. package/dist/shared/async-state-version.d.ts +13 -0
  39. package/dist/shared/async-state-version.d.ts.map +1 -0
  40. package/dist/shared/async-state-version.js +27 -0
  41. package/dist/shared/async-state-version.js.map +1 -0
  42. package/dist/shared/auth-operation-guard.d.ts +3 -0
  43. package/dist/shared/auth-operation-guard.d.ts.map +1 -0
  44. package/dist/shared/auth-operation-guard.js +13 -0
  45. package/dist/shared/auth-operation-guard.js.map +1 -0
  46. package/dist/shared/backend-api-context.d.ts.map +1 -1
  47. package/dist/shared/backend-api-context.js +1 -0
  48. package/dist/shared/backend-api-context.js.map +1 -1
  49. package/dist/shared/brand-config-context.js +1 -1
  50. package/dist/shared/brand-config-context.js.map +1 -1
  51. package/dist/shared/browser-storage.d.ts +9 -0
  52. package/dist/shared/browser-storage.d.ts.map +1 -0
  53. package/dist/shared/browser-storage.js +79 -0
  54. package/dist/shared/browser-storage.js.map +1 -0
  55. package/dist/shared/callouts-context.d.ts +1 -1
  56. package/dist/shared/callouts-context.d.ts.map +1 -1
  57. package/dist/shared/callouts-context.js +5 -2
  58. package/dist/shared/callouts-context.js.map +1 -1
  59. package/dist/shared/closing-state.d.ts +2 -1
  60. package/dist/shared/closing-state.d.ts.map +1 -1
  61. package/dist/shared/closing-state.js +21 -6
  62. package/dist/shared/closing-state.js.map +1 -1
  63. package/dist/shared/editing-policy.d.ts +3 -0
  64. package/dist/shared/editing-policy.d.ts.map +1 -0
  65. package/dist/shared/editing-policy.js +13 -0
  66. package/dist/shared/editing-policy.js.map +1 -0
  67. package/dist/shared/fiscal-period-list.d.ts +5 -0
  68. package/dist/shared/fiscal-period-list.d.ts.map +1 -0
  69. package/dist/shared/fiscal-period-list.js +50 -0
  70. package/dist/shared/fiscal-period-list.js.map +1 -0
  71. package/dist/shared/maintenance-state.d.ts.map +1 -1
  72. package/dist/shared/maintenance-state.js +15 -2
  73. package/dist/shared/maintenance-state.js.map +1 -1
  74. package/dist/shared/openkk-app-state.d.ts +14 -27
  75. package/dist/shared/openkk-app-state.d.ts.map +1 -1
  76. package/dist/shared/openkk-app-state.js +240 -171
  77. package/dist/shared/openkk-app-state.js.map +1 -1
  78. package/dist/shared/openkk-config-context.d.ts +1 -0
  79. package/dist/shared/openkk-config-context.d.ts.map +1 -1
  80. package/dist/shared/openkk-config-context.js +35 -2
  81. package/dist/shared/openkk-config-context.js.map +1 -1
  82. package/dist/shared/print-adapter-context.d.ts.map +1 -1
  83. package/dist/shared/print-adapter-context.js +1 -0
  84. package/dist/shared/print-adapter-context.js.map +1 -1
  85. package/package.json +4 -4
@@ -1,23 +1,38 @@
1
1
  "use client";
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { createContext, useContext, useEffect, useMemo, useState, } from "react";
4
- import { AppError } from "@rubydogjp/openkk-client-domain";
3
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, } from "react";
4
+ import { AppError, formatAmount, parseAmount, resolveCategoryId, resolveBookAccountId, recordToPreviewRows, draftBusinessRate, weekdayJa, } from "@rubydogjp/openkk-client-domain";
5
5
  import { useOpenkkAppState } from "../shared/openkk-app-state.js";
6
6
  import { useBackendApi } from "../shared/backend-api-context.js";
7
- import { entryRecordToImportPayload, resolveBookAccountId, resolveBusinessCategoryId, resolveTaxCategoryId, safeRate, } from "./import-mapping.js";
8
- export { entryRecordToImportPayload } from "./import-mapping.js";
9
- import { parseAmount, recordToPreviewRows, weekdayJa, } from "@rubydogjp/openkk-client-domain";
7
+ import { useOpenkkConfig } from "../shared/openkk-config-context.js";
8
+ import { assertEditingUnlocked } from "../shared/editing-policy.js";
9
+ import { isSelectedFiscalPeriodDataPurged } from "../shared/archive-data-policy.js";
10
+ import { KeyedAsyncStateVersion } from "../shared/async-state-version.js";
11
+ import { KeyedAsyncMutationQueue } from "../shared/async-mutation-queue.js";
12
+ import { buildEntryMasterAccountOptions, } from "./account-options.js";
13
+ import { earliestEntryDate, removeEntryRecord, replaceFiscalPeriodEntryRecords, upsertEntryRecord, } from "./entry-record-state.js";
14
+ import { entryRecordToImportPayload, } from "./import-mapping.js";
10
15
  const EntriesContext = createContext(null);
11
16
  export function OpenkkEntriesProvider(props) {
12
17
  const backendApi = useBackendApi();
13
18
  const appState = useOpenkkAppState();
19
+ const config = useOpenkkConfig();
14
20
  const [records, setRecords] = useState([]);
15
21
  const [bookAccounts, setBookAccounts] = useState([]);
16
22
  const [taxCategories, setTaxCategories] = useState([]);
17
23
  const [businessCategories, setBusinessCategories] = useState([]);
18
- const [loadError, setLoadError] = useState(null);
24
+ const [masterLoadError, setMasterLoadError] = useState(null);
25
+ const [entriesLoadError, setEntriesLoadError] = useState(null);
19
26
  const [reloadNonce, setReloadNonce] = useState(0);
27
+ const sessionUserId = appState.session?.user.id ?? null;
28
+ const periodVersions = useRef(new KeyedAsyncStateVersion());
29
+ const entryMutationQueue = useRef(new KeyedAsyncMutationQueue());
30
+ const currentFiscalPeriodDataPurged = isSelectedFiscalPeriodDataPurged(appState.fiscalPeriods, appState.currentFiscalPeriodId);
20
31
  useEffect(() => {
32
+ if (sessionUserId == null) {
33
+ setMasterLoadError(null);
34
+ return;
35
+ }
21
36
  let cancelled = false;
22
37
  void (async () => {
23
38
  try {
@@ -31,31 +46,39 @@ export function OpenkkEntriesProvider(props) {
31
46
  setBookAccounts(accounts);
32
47
  setTaxCategories(taxes);
33
48
  setBusinessCategories(businesses);
34
- setLoadError(null);
49
+ setMasterLoadError(null);
35
50
  }
36
51
  catch (error) {
37
52
  if (cancelled)
38
53
  return;
39
54
  console.error("[openkk] master data load failed:", error);
40
- setLoadError(error);
55
+ setMasterLoadError(error);
41
56
  }
42
57
  })();
43
58
  return () => {
44
59
  cancelled = true;
45
60
  };
46
- }, [reloadNonce]);
61
+ }, [reloadNonce, sessionUserId]);
47
62
  useEffect(() => {
48
63
  const fiscalPeriodId = appState.currentFiscalPeriodId;
49
- if (fiscalPeriodId == null || fiscalPeriodId.length === 0) {
64
+ if (fiscalPeriodId == null ||
65
+ fiscalPeriodId.length === 0 ||
66
+ currentFiscalPeriodDataPurged) {
50
67
  setRecords([]);
68
+ setEntriesLoadError(null);
51
69
  return;
52
70
  }
53
71
  let cancelled = false;
72
+ const authOperationVersion = appState.captureAuthOperationVersion();
73
+ const readVersion = periodVersions.current.capture(fiscalPeriodId);
54
74
  void (async () => {
55
75
  try {
56
76
  const remoteEntries = await backendApi.entries.getAll(fiscalPeriodId);
57
- if (cancelled)
77
+ if (cancelled ||
78
+ !appState.isAuthOperationCurrent(authOperationVersion) ||
79
+ !periodVersions.current.isCurrent(fiscalPeriodId, readVersion)) {
58
80
  return;
81
+ }
59
82
  setRecords((current) => replaceFiscalPeriodEntryRecords(current, fiscalPeriodId, remoteEntries.map((entry) => mapRemoteEntryToRecord({
60
83
  entry,
61
84
  fiscalPeriodId,
@@ -63,13 +86,16 @@ export function OpenkkEntriesProvider(props) {
63
86
  taxes: taxCategories,
64
87
  businesses: businessCategories,
65
88
  }))));
66
- setLoadError(null);
89
+ setEntriesLoadError(null);
67
90
  }
68
91
  catch (error) {
69
- if (cancelled)
92
+ if (cancelled ||
93
+ !appState.isAuthOperationCurrent(authOperationVersion) ||
94
+ !periodVersions.current.isCurrent(fiscalPeriodId, readVersion)) {
70
95
  return;
96
+ }
71
97
  console.error("[openkk] entries load failed:", error);
72
- setLoadError(error);
98
+ setEntriesLoadError(error);
73
99
  }
74
100
  })();
75
101
  return () => {
@@ -80,42 +106,38 @@ export function OpenkkEntriesProvider(props) {
80
106
  bookAccounts,
81
107
  businessCategories,
82
108
  taxCategories,
109
+ currentFiscalPeriodDataPurged,
83
110
  reloadNonce,
84
111
  ]);
85
112
  const value = useMemo(() => {
86
- const accountOptions = bookAccounts.map((account) => ({
87
- id: account.id,
88
- name: account.name,
89
- accountType: (account.accountType ?? "asset"),
90
- }));
113
+ const loadError = masterLoadError ?? entriesLoadError;
114
+ const accountOptions = buildEntryMasterAccountOptions(bookAccounts);
91
115
  const taxCategoryOptions = taxCategories.map((category) => ({ id: category.id, name: category.name }));
92
116
  const businessCategoryOptions = businessCategories.map((category) => ({
93
117
  id: category.id,
94
118
  name: category.name,
95
119
  }));
120
+ const listMonthEntries = (fiscalPeriodId, yearMonth) => records
121
+ .filter((record) => record.fiscalPeriodId === fiscalPeriodId &&
122
+ record.date.startsWith(yearMonth))
123
+ .sort((left, right) => left.date.localeCompare(right.date));
96
124
  return {
97
125
  listFiscalPeriodEntries(fiscalPeriodId) {
98
126
  return records
99
127
  .filter((record) => record.fiscalPeriodId === fiscalPeriodId)
100
128
  .sort((left, right) => left.date.localeCompare(right.date));
101
129
  },
102
- listMonthEntries(fiscalPeriodId, yearMonth) {
103
- return records
104
- .filter((record) => record.fiscalPeriodId === fiscalPeriodId &&
105
- record.date.startsWith(yearMonth))
106
- .sort((left, right) => left.date.localeCompare(right.date));
107
- },
130
+ listMonthEntries,
108
131
  listMonthRows(fiscalPeriodId, yearMonth) {
109
- return records
110
- .filter((record) => record.fiscalPeriodId === fiscalPeriodId &&
111
- record.date.startsWith(yearMonth))
112
- .sort((left, right) => left.date.localeCompare(right.date))
113
- .flatMap(recordToPreviewRows);
132
+ return listMonthEntries(fiscalPeriodId, yearMonth).flatMap(recordToPreviewRows);
114
133
  },
115
134
  getEntry(entryId) {
116
135
  return records.find((record) => record.id === entryId) ?? null;
117
136
  },
118
137
  async createEntryFromDraft(fiscalPeriodId, draft) {
138
+ assertEditingUnlocked(config.editingPolicy, "entries.createEntryFromDraft");
139
+ const authOperationVersion = appState.captureAuthOperationVersion();
140
+ periodVersions.current.invalidate(fiscalPeriodId);
119
141
  const lines = buildEntryApiLinesFromDraft(draft, {
120
142
  accounts: bookAccounts,
121
143
  taxes: taxCategories,
@@ -124,23 +146,32 @@ export function OpenkkEntriesProvider(props) {
124
146
  messageForDeveloper: "entries.createEntryFromDraft: bookAccountId resolution failed",
125
147
  messageForUser: "勘定科目の解決に失敗したため作成できませんでした",
126
148
  });
127
- const created = await backendApi.entries.create(fiscalPeriodId, {
128
- date: draft.date,
129
- description: draft.description,
130
- businessRate: safeRate(draft.businessRate),
131
- lines,
132
- });
133
- const mapped = mapRemoteEntryToRecord({
134
- entry: created,
135
- fiscalPeriodId,
136
- accounts: bookAccounts,
137
- taxes: taxCategories,
138
- businesses: businessCategories,
139
- });
140
- setRecords((current) => [...current, mapped]);
141
- return mapped.id;
149
+ try {
150
+ const created = await backendApi.entries.create(fiscalPeriodId, {
151
+ date: draft.date,
152
+ description: draft.description,
153
+ businessRate: draftBusinessRate(draft),
154
+ lines,
155
+ localId: null,
156
+ });
157
+ appState.assertAuthOperationCurrent(authOperationVersion);
158
+ const mapped = mapRemoteEntryToRecord({
159
+ entry: created,
160
+ fiscalPeriodId,
161
+ accounts: bookAccounts,
162
+ taxes: taxCategories,
163
+ businesses: businessCategories,
164
+ });
165
+ setRecords((current) => upsertEntryRecord(current, mapped));
166
+ return mapped.id;
167
+ }
168
+ finally {
169
+ periodVersions.current.invalidate(fiscalPeriodId);
170
+ }
142
171
  },
143
172
  async saveEntry(entryId, draft) {
173
+ assertEditingUnlocked(config.editingPolicy, "entries.saveEntry");
174
+ const authOperationVersion = appState.captureAuthOperationVersion();
144
175
  const currentRecord = records.find((record) => record.id === entryId);
145
176
  if (currentRecord == null) {
146
177
  return false;
@@ -153,52 +184,89 @@ export function OpenkkEntriesProvider(props) {
153
184
  messageForDeveloper: "entries.saveEntry: bookAccountId resolution failed",
154
185
  messageForUser: "勘定科目の解決に失敗したため保存できませんでした",
155
186
  });
156
- const patched = await backendApi.entries.patch(currentRecord.fiscalPeriodId, entryId, {
157
- date: draft.date,
158
- description: draft.description,
159
- localId: currentRecord.localId,
160
- businessRate: safeRate(draft.businessRate),
161
- lines,
187
+ return await entryMutationQueue.current.run(entryId, async () => {
188
+ appState.assertAuthOperationCurrent(authOperationVersion);
189
+ periodVersions.current.invalidate(currentRecord.fiscalPeriodId);
190
+ try {
191
+ const updated = await backendApi.entries.update(currentRecord.fiscalPeriodId, entryId, {
192
+ date: draft.date,
193
+ description: draft.description,
194
+ localId: currentRecord.localId,
195
+ businessRate: draftBusinessRate(draft),
196
+ lines,
197
+ });
198
+ appState.assertAuthOperationCurrent(authOperationVersion);
199
+ setRecords((current) => upsertEntryRecord(current, mapRemoteEntryToRecord({
200
+ entry: updated,
201
+ fiscalPeriodId: currentRecord.fiscalPeriodId,
202
+ accounts: bookAccounts,
203
+ taxes: taxCategories,
204
+ businesses: businessCategories,
205
+ })));
206
+ return true;
207
+ }
208
+ finally {
209
+ periodVersions.current.invalidate(currentRecord.fiscalPeriodId);
210
+ }
162
211
  });
163
- setRecords((current) => current.map((record) => record.id === entryId
164
- ? mapRemoteEntryToRecord({
165
- entry: patched,
166
- fiscalPeriodId: currentRecord.fiscalPeriodId,
167
- accounts: bookAccounts,
168
- taxes: taxCategories,
169
- businesses: businessCategories,
170
- })
171
- : record));
172
- return true;
173
212
  },
174
213
  async deleteEntry(entryId) {
214
+ assertEditingUnlocked(config.editingPolicy, "entries.deleteEntry");
215
+ const authOperationVersion = appState.captureAuthOperationVersion();
175
216
  const currentRecord = records.find((record) => record.id === entryId);
176
217
  if (currentRecord == null) {
177
218
  return false;
178
219
  }
179
- await backendApi.entries.remove(currentRecord.fiscalPeriodId, entryId);
180
- setRecords((current) => removeEntryRecord(current, entryId));
181
- return true;
220
+ return await entryMutationQueue.current.run(entryId, async () => {
221
+ appState.assertAuthOperationCurrent(authOperationVersion);
222
+ periodVersions.current.invalidate(currentRecord.fiscalPeriodId);
223
+ try {
224
+ await backendApi.entries.remove(currentRecord.fiscalPeriodId, entryId);
225
+ appState.assertAuthOperationCurrent(authOperationVersion);
226
+ setRecords((current) => removeEntryRecord(current, entryId));
227
+ return true;
228
+ }
229
+ finally {
230
+ periodVersions.current.invalidate(currentRecord.fiscalPeriodId);
231
+ }
232
+ });
182
233
  },
183
234
  async mergeFiscalPeriodEntries(fiscalPeriodId, importedEntries) {
235
+ assertEditingUnlocked(config.editingPolicy, "entries.mergeFiscalPeriodEntries");
236
+ const authOperationVersion = appState.captureAuthOperationVersion();
237
+ periodVersions.current.invalidate(fiscalPeriodId);
184
238
  const payload = importedEntries.map((entry) => entryRecordToImportPayload(entry, {
185
239
  accounts: bookAccounts,
186
240
  taxes: taxCategories,
187
241
  businesses: businessCategories,
188
242
  }));
189
- const response = await backendApi.entries.importMany(fiscalPeriodId, payload);
190
- const appended = response.entries.map((entry) => mapRemoteEntryToRecord({
191
- entry,
192
- fiscalPeriodId,
243
+ try {
244
+ const response = await backendApi.entries.importMany(fiscalPeriodId, payload);
245
+ appState.assertAuthOperationCurrent(authOperationVersion);
246
+ const appended = response.entries.map((entry) => mapRemoteEntryToRecord({
247
+ entry,
248
+ fiscalPeriodId,
249
+ accounts: bookAccounts,
250
+ taxes: taxCategories,
251
+ businesses: businessCategories,
252
+ }));
253
+ setRecords((current) => appended.reduce(upsertEntryRecord, current));
254
+ return {
255
+ imported: response.importedCount,
256
+ skipped: Math.max(0, importedEntries.length - response.importedCount),
257
+ earliestImportedDate: earliestEntryDate(appended),
258
+ };
259
+ }
260
+ finally {
261
+ periodVersions.current.invalidate(fiscalPeriodId);
262
+ }
263
+ },
264
+ prepareFiscalPeriodEntries(importedEntries) {
265
+ return importedEntries.map((entry) => entryRecordToImportPayload(entry, {
193
266
  accounts: bookAccounts,
194
267
  taxes: taxCategories,
195
268
  businesses: businessCategories,
196
269
  }));
197
- setRecords((current) => [...current, ...appended]);
198
- return {
199
- imported: response.importedCount,
200
- skipped: Math.max(0, importedEntries.length - response.importedCount),
201
- };
202
270
  },
203
271
  accountOptions,
204
272
  taxCategoryOptions,
@@ -210,12 +278,11 @@ export function OpenkkEntriesProvider(props) {
210
278
  for (const record of records) {
211
279
  if (record.fiscalPeriodId !== fiscalPeriodId)
212
280
  continue;
213
- if (record.partner.trim().length > 0)
214
- partner.add(record.partner.trim());
215
- if (record.taxCategory.trim().length > 0)
216
- tax.add(record.taxCategory.trim());
217
- if (record.businessCategory.trim().length > 0)
218
- biz.add(record.businessCategory.trim());
281
+ for (const line of record.lines) {
282
+ addSuggestion(partner, line.partnerName, null);
283
+ addSuggestion(tax, line.taxCategoryName, line.taxCategoryId);
284
+ addSuggestion(biz, line.businessCategoryName, line.businessCategoryId);
285
+ }
219
286
  }
220
287
  return {
221
288
  partner: Array.from(partner).sort(),
@@ -227,40 +294,82 @@ export function OpenkkEntriesProvider(props) {
227
294
  reload() {
228
295
  setReloadNonce((nonce) => nonce + 1);
229
296
  },
297
+ async reloadAndWait() {
298
+ const authOperationVersion = appState.captureAuthOperationVersion();
299
+ const fiscalPeriodId = appState.currentFiscalPeriodId;
300
+ if (fiscalPeriodId == null) {
301
+ setRecords([]);
302
+ setEntriesLoadError(null);
303
+ return [];
304
+ }
305
+ if (currentFiscalPeriodDataPurged) {
306
+ setRecords([]);
307
+ setEntriesLoadError(null);
308
+ return [];
309
+ }
310
+ try {
311
+ for (let attempt = 0; attempt < 3; attempt += 1) {
312
+ const readVersion = periodVersions.current.capture(fiscalPeriodId);
313
+ const remoteEntries = await backendApi.entries.getAll(fiscalPeriodId);
314
+ appState.assertAuthOperationCurrent(authOperationVersion);
315
+ if (!periodVersions.current.isCurrent(fiscalPeriodId, readVersion)) {
316
+ continue;
317
+ }
318
+ const mappedEntries = remoteEntries.map((entry) => mapRemoteEntryToRecord({
319
+ entry,
320
+ fiscalPeriodId,
321
+ accounts: bookAccounts,
322
+ taxes: taxCategories,
323
+ businesses: businessCategories,
324
+ }));
325
+ setRecords((current) => replaceFiscalPeriodEntryRecords(current, fiscalPeriodId, mappedEntries));
326
+ setEntriesLoadError(null);
327
+ return mappedEntries;
328
+ }
329
+ throw new AppError({
330
+ messageForDeveloper: "entries.reloadAndWait: entries changed during three reads",
331
+ messageForUser: "仕訳が同時に更新されたため読み込み直せませんでした。もう一度お試しください",
332
+ originalMessage: null,
333
+ statusCode: null,
334
+ code: null,
335
+ });
336
+ }
337
+ catch (error) {
338
+ if (!appState.isAuthOperationCurrent(authOperationVersion))
339
+ throw error;
340
+ setEntriesLoadError(error);
341
+ throw error;
342
+ }
343
+ },
230
344
  };
231
- }, [bookAccounts, businessCategories, records, taxCategories, loadError]);
345
+ }, [
346
+ appState.currentFiscalPeriodId,
347
+ backendApi,
348
+ bookAccounts,
349
+ businessCategories,
350
+ config,
351
+ currentFiscalPeriodDataPurged,
352
+ entriesLoadError,
353
+ masterLoadError,
354
+ records,
355
+ taxCategories,
356
+ ]);
232
357
  return (_jsx(EntriesContext.Provider, { value: value, children: props.children }));
233
358
  }
234
- export function replaceFiscalPeriodEntryRecords(current, fiscalPeriodId, nextRecords) {
235
- if (fiscalPeriodId == null || fiscalPeriodId.length === 0)
236
- return [];
237
- return [
238
- ...current.filter((record) => record.fiscalPeriodId !== fiscalPeriodId),
239
- ...nextRecords,
240
- ];
241
- }
242
- export function removeEntryRecord(current, entryId) {
243
- return current.filter((record) => record.id !== entryId);
244
- }
245
359
  function mapRemoteEntryToRecord(input) {
246
360
  const lines = input.entry.lines.map((line) => ({
247
361
  side: line.side,
248
362
  accountName: mapBookAccountName(line.bookAccountId, input.accounts),
249
363
  accountType: mapAccountType(line.bookAccountId, input.accounts, "asset"),
250
- amount: formatAmount(line.amount),
364
+ amount: formatAmount(Math.abs(line.amount)),
251
365
  bookAccountId: line.bookAccountId,
366
+ partnerName: line.partnerName,
367
+ taxCategoryId: line.taxCategoryId,
368
+ taxCategoryName: mapCategoryName(line.taxCategoryId, input.taxes),
369
+ businessCategoryId: line.businessCategoryId,
370
+ businessCategoryName: mapCategoryName(line.businessCategoryId, input.businesses),
371
+ id: null,
252
372
  }));
253
- const debitLine = lines.find((line) => line.side === "debit") ?? null;
254
- const creditLine = lines.find((line) => line.side === "credit") ?? null;
255
- const headerPartner = input.entry.lines[0]?.partnerName ??
256
- input.entry.lines[1]?.partnerName ??
257
- "";
258
- const headerTax = mapTaxName(input.entry.lines[0]?.taxCategoryId ??
259
- input.entry.lines[1]?.taxCategoryId ??
260
- "", input.taxes);
261
- const headerBiz = mapBusinessName(input.entry.lines[0]?.businessCategoryId ??
262
- input.entry.lines[1]?.businessCategoryId ??
263
- "", input.businesses);
264
373
  const date = input.entry.date;
265
374
  return {
266
375
  id: input.entry.id,
@@ -268,81 +377,57 @@ function mapRemoteEntryToRecord(input) {
268
377
  date,
269
378
  weekday: weekdayJa(date),
270
379
  lines,
271
- debit: debitLine?.accountName ?? "",
272
- debitType: debitLine?.accountType ?? "asset",
273
- debitAmount: debitLine?.amount ?? "0",
274
- credit: creditLine?.accountName ?? "",
275
- creditType: creditLine?.accountType ?? "liability",
276
- creditAmount: creditLine?.amount ?? "0",
277
380
  description: input.entry.description,
278
- partner: headerPartner,
279
- businessRate: String(Math.round((input.entry.businessRate ?? 1) * 100)),
280
- taxCategory: headerTax,
281
- businessCategory: headerBiz,
381
+ businessRate: input.entry.businessRate,
282
382
  localId: input.entry.localId,
283
- debitBookAccountId: debitLine?.bookAccountId,
284
- creditBookAccountId: creditLine?.bookAccountId,
285
- debitTaxCategoryId: input.entry.lines.find((l) => l.side === "debit")
286
- ?.taxCategoryId,
287
- creditTaxCategoryId: input.entry.lines.find((l) => l.side === "credit")
288
- ?.taxCategoryId,
289
- debitBusinessCategoryId: input.entry.lines.find((l) => l.side === "debit")
290
- ?.businessCategoryId,
291
- creditBusinessCategoryId: input.entry.lines.find((l) => l.side === "credit")
292
- ?.businessCategoryId,
293
383
  };
294
384
  }
295
385
  function mapBookAccountName(id, accounts) {
296
- if (id == null || id.length === 0)
297
- return "";
298
386
  return accounts.find((account) => account.id === id)?.name ?? id;
299
387
  }
300
- function mapTaxName(idOrName, categories) {
301
- if (idOrName.length === 0)
302
- return "対象外";
303
- return (categories.find((category) => category.id === idOrName)?.name ??
304
- categories.find((category) => category.name === idOrName)?.name ??
305
- idOrName);
306
- }
307
- function mapBusinessName(idOrName, categories) {
308
- if (idOrName.length === 0)
388
+ function mapCategoryName(id, categories) {
389
+ if (id.length === 0)
309
390
  return "対象外";
310
- return (categories.find((category) => category.id === idOrName)?.name ??
311
- categories.find((category) => category.name === idOrName)?.name ??
312
- idOrName);
391
+ return categories.find((category) => category.id === id)?.name ?? id;
313
392
  }
314
393
  function mapAccountType(id, accounts, fallback) {
315
- if (id == null)
316
- return fallback;
317
394
  return (accounts.find((account) => account.id === id)?.accountType ??
318
395
  fallback);
319
396
  }
320
- function formatAmount(value) {
321
- return new Intl.NumberFormat("ja-JP").format(Math.abs(value));
322
- }
323
397
  function buildEntryApiLinesFromDraft(draft, master, errorContext) {
324
- const lines = draft.lines.map((line) => ({
325
- side: line.side,
326
- bookAccountId: resolveBookAccountId({
398
+ return draft.lines.map((line) => {
399
+ const bookAccountId = resolveBookAccountId({
327
400
  explicitId: line.bookAccountId,
328
401
  accountName: line.accountName,
329
402
  accountType: line.accountType,
330
403
  accounts: master.accounts,
331
- }) ?? "",
332
- amount: parseAmount(line.amount),
333
- partnerName: draft.partner,
334
- taxCategoryId: resolveTaxCategoryId(null, draft.taxCategory, master.taxes),
335
- businessCategoryId: resolveBusinessCategoryId(null, draft.businessCategory, master.businesses),
336
- }));
337
- if (lines.some((line) => line.bookAccountId === "")) {
338
- throw new AppError({
339
- messageForDeveloper: errorContext.messageForDeveloper,
340
- messageForUser: errorContext.messageForUser,
341
- originalMessage: null,
342
- statusCode: null,
343
404
  });
344
- }
345
- return lines;
405
+ if (bookAccountId == null) {
406
+ throw new AppError({
407
+ messageForDeveloper: errorContext.messageForDeveloper,
408
+ messageForUser: errorContext.messageForUser,
409
+ originalMessage: null,
410
+ statusCode: null,
411
+ code: null,
412
+ });
413
+ }
414
+ return {
415
+ side: line.side,
416
+ bookAccountId,
417
+ amount: parseAmount(line.amount),
418
+ partnerName: line.partnerName ?? "",
419
+ taxCategoryId: resolveCategoryId(line.taxCategoryId, line.taxCategoryName ?? "", master.taxes, "tax_out_of_scope"),
420
+ businessCategoryId: resolveCategoryId(line.businessCategoryId, line.businessCategoryName ?? "", master.businesses, "biz_none"),
421
+ };
422
+ });
423
+ }
424
+ function addSuggestion(suggestions, preferred, fallback) {
425
+ const value = preferred ?? fallback;
426
+ if (value == null)
427
+ return;
428
+ const trimmed = value.trim();
429
+ if (trimmed !== "")
430
+ suggestions.add(trimmed);
346
431
  }
347
432
  export function useOpenkkEntries() {
348
433
  const value = useContext(EntriesContext);
@@ -352,6 +437,7 @@ export function useOpenkkEntries() {
352
437
  messageForUser: "仕訳データを読み込めませんでした",
353
438
  originalMessage: null,
354
439
  statusCode: null,
440
+ code: null,
355
441
  });
356
442
  }
357
443
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"entries-state.js","sourceRoot":"","sources":["../../src/entries/entries-state.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entries-state.js","sourceRoot":"","sources":["../../src/entries/entries-state.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { EntryRecord } from "@rubydogjp/openkk-client-domain";
2
+ export declare function replaceFiscalPeriodEntryRecords(current: EntryRecord[], fiscalPeriodId: string | null, nextRecords: EntryRecord[]): EntryRecord[];
3
+ export declare function removeEntryRecord(current: EntryRecord[], entryId: string): EntryRecord[];
4
+ export declare function upsertEntryRecord(current: EntryRecord[], next: EntryRecord): EntryRecord[];
5
+ export declare function earliestEntryDate(entries: ReadonlyArray<EntryRecord>): string | null;
6
+ //# sourceMappingURL=entry-record-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entry-record-state.d.ts","sourceRoot":"","sources":["../../src/entries/entry-record-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAEnE,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,WAAW,EAAE,EACtB,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,WAAW,EAAE,WAAW,EAAE,GACzB,WAAW,EAAE,CAMf;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,EAAE,MAAM,GACd,WAAW,EAAE,CAEf;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,WAAW,EAAE,EACtB,IAAI,EAAE,WAAW,GAChB,WAAW,EAAE,CAEf;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAClC,MAAM,GAAG,IAAI,CAMf"}