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