vv-iiko-pp-parser 1.0.6

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 (87) hide show
  1. package/CHANGELOG.md +151 -0
  2. package/README.md +582 -0
  3. package/dist/clients/clients.fetcher.d.ts +102 -0
  4. package/dist/clients/clients.fetcher.d.ts.map +1 -0
  5. package/dist/clients/clients.fetcher.js +196 -0
  6. package/dist/clients/clients.fetcher.js.map +1 -0
  7. package/dist/clients/clients.parser.d.ts +144 -0
  8. package/dist/clients/clients.parser.d.ts.map +1 -0
  9. package/dist/clients/clients.parser.js +473 -0
  10. package/dist/clients/clients.parser.js.map +1 -0
  11. package/dist/clients/clients.service.d.ts +90 -0
  12. package/dist/clients/clients.service.d.ts.map +1 -0
  13. package/dist/clients/clients.service.js +277 -0
  14. package/dist/clients/clients.service.js.map +1 -0
  15. package/dist/clients/clients.types.d.ts +127 -0
  16. package/dist/clients/clients.types.d.ts.map +1 -0
  17. package/dist/clients/clients.types.js +6 -0
  18. package/dist/clients/clients.types.js.map +1 -0
  19. package/dist/clients/index.d.ts +5 -0
  20. package/dist/clients/index.d.ts.map +1 -0
  21. package/dist/clients/index.js +25 -0
  22. package/dist/clients/index.js.map +1 -0
  23. package/dist/core/auth/iiko-auth.service.d.ts +52 -0
  24. package/dist/core/auth/iiko-auth.service.d.ts.map +1 -0
  25. package/dist/core/auth/iiko-auth.service.js +302 -0
  26. package/dist/core/auth/iiko-auth.service.js.map +1 -0
  27. package/dist/core/http/iiko-http.client.d.ts +13 -0
  28. package/dist/core/http/iiko-http.client.d.ts.map +1 -0
  29. package/dist/core/http/iiko-http.client.js +55 -0
  30. package/dist/core/http/iiko-http.client.js.map +1 -0
  31. package/dist/core/iiko-parser.config.d.ts +28 -0
  32. package/dist/core/iiko-parser.config.d.ts.map +1 -0
  33. package/dist/core/iiko-parser.config.js +76 -0
  34. package/dist/core/iiko-parser.config.js.map +1 -0
  35. package/dist/core/parser/iiko-parser.service.d.ts +15 -0
  36. package/dist/core/parser/iiko-parser.service.d.ts.map +1 -0
  37. package/dist/core/parser/iiko-parser.service.js +156 -0
  38. package/dist/core/parser/iiko-parser.service.js.map +1 -0
  39. package/dist/core/session/iiko-session.service.d.ts +68 -0
  40. package/dist/core/session/iiko-session.service.d.ts.map +1 -0
  41. package/dist/core/session/iiko-session.service.js +209 -0
  42. package/dist/core/session/iiko-session.service.js.map +1 -0
  43. package/dist/iiko-parser.d.ts +149 -0
  44. package/dist/iiko-parser.d.ts.map +1 -0
  45. package/dist/iiko-parser.js +209 -0
  46. package/dist/iiko-parser.js.map +1 -0
  47. package/dist/index.d.ts +4 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +7 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/interfaces/company-profile.interface.d.ts +12 -0
  52. package/dist/interfaces/company-profile.interface.d.ts.map +1 -0
  53. package/dist/interfaces/company-profile.interface.js +3 -0
  54. package/dist/interfaces/company-profile.interface.js.map +1 -0
  55. package/dist/invoices/index.d.ts +6 -0
  56. package/dist/invoices/index.d.ts.map +1 -0
  57. package/dist/invoices/index.js +22 -0
  58. package/dist/invoices/index.js.map +1 -0
  59. package/dist/invoices/invoices.fetcher.d.ts +49 -0
  60. package/dist/invoices/invoices.fetcher.d.ts.map +1 -0
  61. package/dist/invoices/invoices.fetcher.js +141 -0
  62. package/dist/invoices/invoices.fetcher.js.map +1 -0
  63. package/dist/invoices/invoices.filters.d.ts +40 -0
  64. package/dist/invoices/invoices.filters.d.ts.map +1 -0
  65. package/dist/invoices/invoices.filters.js +81 -0
  66. package/dist/invoices/invoices.filters.js.map +1 -0
  67. package/dist/invoices/invoices.parser.d.ts +101 -0
  68. package/dist/invoices/invoices.parser.d.ts.map +1 -0
  69. package/dist/invoices/invoices.parser.js +540 -0
  70. package/dist/invoices/invoices.parser.js.map +1 -0
  71. package/dist/invoices/invoices.service.d.ts +82 -0
  72. package/dist/invoices/invoices.service.d.ts.map +1 -0
  73. package/dist/invoices/invoices.service.js +361 -0
  74. package/dist/invoices/invoices.service.js.map +1 -0
  75. package/dist/invoices/invoices.storage.service.d.ts +30 -0
  76. package/dist/invoices/invoices.storage.service.d.ts.map +1 -0
  77. package/dist/invoices/invoices.storage.service.js +135 -0
  78. package/dist/invoices/invoices.storage.service.js.map +1 -0
  79. package/dist/invoices/invoices.types.d.ts +94 -0
  80. package/dist/invoices/invoices.types.d.ts.map +1 -0
  81. package/dist/invoices/invoices.types.js +3 -0
  82. package/dist/invoices/invoices.types.js.map +1 -0
  83. package/dist/types.d.ts +138 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +4 -0
  86. package/dist/types.js.map +1 -0
  87. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.parser.js","sourceRoot":"","sources":["../../src/invoices/invoices.parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ import { InvoicesFetcher } from './invoices.fetcher';
2
+ import { InvoicesParser } from './invoices.parser';
3
+ import { InvoicesFilters } from './invoices.filters';
4
+ import { IikoInvoicesStorageService } from './invoices.storage.service';
5
+ import { InvoiceTableData, InvoicesFetchParams, ParseInvoicesParams, ParsedInvoice } from './invoices.types';
6
+ import { CompanyProfile } from '../interfaces/company-profile.interface';
7
+ import { InvoiceData, ParserProgressEvent } from '../types';
8
+ export declare class InvoicesService {
9
+ private readonly fetcher;
10
+ private readonly parser;
11
+ private readonly filters;
12
+ private readonly storage;
13
+ private readonly report?;
14
+ constructor(fetcher: InvoicesFetcher, parser: InvoicesParser, filters: InvoicesFilters, storage: IikoInvoicesStorageService, report?: ((event: ParserProgressEvent) => void) | undefined);
15
+ /**
16
+ * Получает HTML инвойсов (без парсинга)
17
+ */
18
+ fetchInvoicesHtml(params?: InvoicesFetchParams): Promise<string>;
19
+ /**
20
+ * Парсит HTML и возвращает нормализованные данные инвойсов.
21
+ *
22
+ * Передаёт HTML в InvoicesParser для извлечения данных таблицы.
23
+ * Массивы items и subscriptions остаются пустыми.
24
+ *
25
+ * @param html - HTML строка с таблицей инвойсов
26
+ * @returns Массив объектов InvoiceData
27
+ */
28
+ parseInvoicesNormalized(html: string): InvoiceData[];
29
+ /**
30
+ * Обогащает массив инвойсов деталями из модальных окон.
31
+ *
32
+ * Последовательно загружает HTML модального окна для каждого инвойса
33
+ * и парсит items (Invoice Information) и subscriptions (Subscription Info).
34
+ *
35
+ * В случае ошибки загрузки деталей конкретного инвойса —
36
+ * продолжает обработку остальных, оставляя массивы пустыми.
37
+ *
38
+ * ⚠️ Выполняется последовательно, может занять время при большом количестве инвойсов.
39
+ *
40
+ * @param invoices - Массив инвойсов с заполненным detailsUrl
41
+ * @returns Тот же массив с заполненными полями items и subscriptions
42
+ */
43
+ enrichInvoicesWithDetails(invoices: InvoiceData[]): Promise<InvoiceData[]>;
44
+ /**
45
+ * Загружает и парсит инвойсы с поддержкой пагинации.
46
+ *
47
+ * Автоматически проходит по страницам до тех пор, пока:
48
+ * - не достигнут лимит maxPages (если указан)
49
+ * - или не будет получена пустая страница
50
+ *
51
+ * Поведение по умолчанию (без pagination параметров) идентично текущему.
52
+ *
53
+ * @param params - Параметры загрузки (поиск, пагинация, фильтрация по датам)
54
+ * @returns Объединённый массив инвойсов со всех страниц
55
+ */
56
+ fetchAndParseInvoices(params: {
57
+ searchBy?: string;
58
+ searchValue?: string;
59
+ dateFrom?: string;
60
+ dateTo?: string;
61
+ pageSize?: number;
62
+ maxPages?: number;
63
+ }): Promise<InvoiceData[]>;
64
+ /**
65
+ * Получает и парсит таблицу инвойсов
66
+ * Оркестрирует процесс: fetch -> parse -> log
67
+ */
68
+ getInvoices(params?: InvoicesFetchParams): Promise<InvoiceTableData>;
69
+ /**
70
+ * Главная функция: получает все инвойсы по фильтрам с пагинацией и деталями
71
+ */
72
+ parseInvoices(params: ParseInvoicesParams): Promise<ParsedInvoice[]>;
73
+ /**
74
+ * Парсит инвойсы и сохраняет результат в JSON файл
75
+ */
76
+ parseAndSaveInvoices(params: ParseInvoicesParams, companyProfile: CompanyProfile): Promise<string>;
77
+ /**
78
+ * Преобразует распарсенные инвойсы в формат для сохранения
79
+ */
80
+ private transformToSavedFormat;
81
+ }
82
+ //# sourceMappingURL=invoices.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.service.d.ts","sourceRoot":"","sources":["../../src/invoices/invoices.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAOd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE5D,qBAAa,eAAe;IAGxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAJP,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,eAAe,EACxB,OAAO,EAAE,0BAA0B,EACnC,MAAM,CAAC,GAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,aAAA;IAGhE;;OAEG;IACG,iBAAiB,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYtE;;;;;;;;OAQG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;IAIpD;;;;;;;;;;;;;OAaG;IACG,yBAAyB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkDhF;;;;;;;;;;;OAWG;IACG,qBAAqB,CAAC,MAAM,EAAE;QAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAuF1B;;;OAGG;IACG,WAAW,CAAC,MAAM,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA+B1E;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4G1E;;OAEG;IACG,oBAAoB,CACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC;IAwBlB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAsE/B"}
@@ -0,0 +1,361 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InvoicesService = void 0;
4
+ class InvoicesService {
5
+ constructor(fetcher, parser, filters, storage, report) {
6
+ this.fetcher = fetcher;
7
+ this.parser = parser;
8
+ this.filters = filters;
9
+ this.storage = storage;
10
+ this.report = report;
11
+ }
12
+ /**
13
+ * Получает HTML инвойсов (без парсинга)
14
+ */
15
+ async fetchInvoicesHtml(params) {
16
+ const customParams = {};
17
+ if (params?.searchBy && params?.searchValue) {
18
+ customParams['search_by'] = params.searchBy;
19
+ customParams['query'] = params.searchValue;
20
+ console.log(`🔍 Поиск по ${params.searchBy}: ${params.searchValue}`);
21
+ }
22
+ return await this.fetcher.fetchInvoicesHtml(params, customParams);
23
+ }
24
+ /**
25
+ * Парсит HTML и возвращает нормализованные данные инвойсов.
26
+ *
27
+ * Передаёт HTML в InvoicesParser для извлечения данных таблицы.
28
+ * Массивы items и subscriptions остаются пустыми.
29
+ *
30
+ * @param html - HTML строка с таблицей инвойсов
31
+ * @returns Массив объектов InvoiceData
32
+ */
33
+ parseInvoicesNormalized(html) {
34
+ return this.parser.parseInvoicesTableNormalized(html);
35
+ }
36
+ /**
37
+ * Обогащает массив инвойсов деталями из модальных окон.
38
+ *
39
+ * Последовательно загружает HTML модального окна для каждого инвойса
40
+ * и парсит items (Invoice Information) и subscriptions (Subscription Info).
41
+ *
42
+ * В случае ошибки загрузки деталей конкретного инвойса —
43
+ * продолжает обработку остальных, оставляя массивы пустыми.
44
+ *
45
+ * ⚠️ Выполняется последовательно, может занять время при большом количестве инвойсов.
46
+ *
47
+ * @param invoices - Массив инвойсов с заполненным detailsUrl
48
+ * @returns Тот же массив с заполненными полями items и subscriptions
49
+ */
50
+ async enrichInvoicesWithDetails(invoices) {
51
+ if (invoices.length === 0)
52
+ return invoices;
53
+ this.report?.({
54
+ stage: 'fetch_invoice_details',
55
+ message: `Loading details for ${invoices.length} invoices...`,
56
+ current: 0,
57
+ total: invoices.length
58
+ });
59
+ // Последовательная загрузка (без Promise.all для контроля нагрузки)
60
+ for (let i = 0; i < invoices.length; i++) {
61
+ const invoice = invoices[i];
62
+ try {
63
+ if (!invoice.detailsUrl) {
64
+ continue;
65
+ }
66
+ this.report?.({
67
+ stage: 'fetch_invoice_details',
68
+ message: `Loading details for invoice ${invoice.invoiceNumber}...`,
69
+ current: i + 1,
70
+ total: invoices.length,
71
+ invoiceNumber: invoice.invoiceNumber
72
+ });
73
+ // Загружаем HTML модального окна
74
+ const modalHtml = await this.fetcher.fetchInvoiceDetails(invoice.detailsUrl);
75
+ // Парсим модалку
76
+ const { items, subscriptions } = this.parser.parseInvoiceModal(modalHtml);
77
+ // Обогащаем данные
78
+ invoice.items = items;
79
+ invoice.subscriptions = subscriptions;
80
+ }
81
+ catch (error) {
82
+ // Продолжаем работу, оставляя массивы пустыми
83
+ }
84
+ }
85
+ this.report?.({
86
+ stage: 'fetch_invoice_details',
87
+ message: `Completed loading details for ${invoices.length} invoices`
88
+ });
89
+ return invoices;
90
+ }
91
+ /**
92
+ * Загружает и парсит инвойсы с поддержкой пагинации.
93
+ *
94
+ * Автоматически проходит по страницам до тех пор, пока:
95
+ * - не достигнут лимит maxPages (если указан)
96
+ * - или не будет получена пустая страница
97
+ *
98
+ * Поведение по умолчанию (без pagination параметров) идентично текущему.
99
+ *
100
+ * @param params - Параметры загрузки (поиск, пагинация, фильтрация по датам)
101
+ * @returns Объединённый массив инвойсов со всех страниц
102
+ */
103
+ async fetchAndParseInvoices(params) {
104
+ const { searchBy, searchValue, dateFrom, dateTo, pageSize = 50, maxPages } = params;
105
+ const allInvoices = [];
106
+ let currentPage = 1;
107
+ console.log(`🚀 Начинаем загрузку инвойсов (pageSize: ${pageSize}, maxPages: ${maxPages || 'unlimited'})...`);
108
+ while (true) {
109
+ // Проверка лимита страниц
110
+ if (maxPages && currentPage > maxPages) {
111
+ this.report?.({
112
+ stage: 'fetch_invoices',
113
+ message: `Reached max pages limit: ${maxPages}`,
114
+ current: currentPage - 1,
115
+ total: maxPages
116
+ });
117
+ break;
118
+ }
119
+ this.report?.({
120
+ stage: 'fetch_invoices',
121
+ message: `Fetching page ${currentPage}...`,
122
+ current: currentPage,
123
+ total: maxPages
124
+ });
125
+ // Подготовка параметров
126
+ const customParams = {};
127
+ // Поиск
128
+ if (searchBy && searchValue) {
129
+ customParams['search_by'] = searchBy;
130
+ customParams['query'] = searchValue;
131
+ }
132
+ // Фильтрация по датам
133
+ if (dateFrom) {
134
+ customParams['invoice_created_from'] = this.filters.convertDateFormat(dateFrom);
135
+ }
136
+ if (dateTo) {
137
+ customParams['invoice_created_to'] = this.filters.convertDateFormat(dateTo);
138
+ }
139
+ // Загрузка HTML
140
+ const html = await this.fetcher.fetchInvoicesHtml({ perPage: pageSize, page: currentPage }, customParams);
141
+ // Проверка на пустую страницу
142
+ if (!html || html.trim().length === 0) {
143
+ this.report?.({
144
+ stage: 'fetch_invoices',
145
+ message: `Page ${currentPage} is empty, stopping pagination`
146
+ });
147
+ break;
148
+ }
149
+ // Парсинг
150
+ this.report?.({ stage: 'parse_invoices', message: `Parsing page ${currentPage}...` });
151
+ const pageInvoices = this.parser.parseInvoicesTableNormalized(html);
152
+ if (pageInvoices.length === 0) {
153
+ this.report?.({
154
+ stage: 'parse_invoices',
155
+ message: `Page ${currentPage} contains no invoices, stopping pagination`
156
+ });
157
+ break;
158
+ }
159
+ allInvoices.push(...pageInvoices);
160
+ this.report?.({
161
+ stage: 'parse_invoices',
162
+ message: `Page ${currentPage}: parsed ${pageInvoices.length} invoices (total: ${allInvoices.length})`
163
+ });
164
+ currentPage++;
165
+ }
166
+ this.report?.({
167
+ stage: 'fetch_invoices',
168
+ message: `Pagination completed. Total invoices loaded: ${allInvoices.length}`
169
+ });
170
+ return allInvoices;
171
+ }
172
+ /**
173
+ * Получает и парсит таблицу инвойсов
174
+ * Оркестрирует процесс: fetch -> parse -> log
175
+ */
176
+ async getInvoices(params) {
177
+ try {
178
+ console.log('🚀 Начинаем получение инвойсов...');
179
+ // Подготавливаем параметры поиска для передачи в fetcher
180
+ const customParams = {};
181
+ if (params?.searchBy && params?.searchValue) {
182
+ customParams['search_by'] = params.searchBy;
183
+ customParams['query'] = params.searchValue;
184
+ console.log(`🔍 Поиск по ${params.searchBy}: ${params.searchValue}`);
185
+ }
186
+ // 1. Получаем HTML через AJAX запрос
187
+ const html = await this.fetcher.fetchInvoicesHtml(params, customParams);
188
+ // 2. Парсим HTML таблицу
189
+ const data = this.parser.parseInvoicesTable(html);
190
+ // 3. Выводим красивые логи
191
+ this.parser.logInvoicesTable(data);
192
+ console.log('✅ Инвойсы успешно получены и распарсены');
193
+ return data;
194
+ }
195
+ catch (error) {
196
+ console.error(`❌ Ошибка при получении инвойсов: ${error.message}`);
197
+ throw error;
198
+ }
199
+ }
200
+ /**
201
+ * Главная функция: получает все инвойсы по фильтрам с пагинацией и деталями
202
+ */
203
+ async parseInvoices(params) {
204
+ try {
205
+ const { year, month, statuses } = params;
206
+ console.log('🚀 Начинаем полный парсинг инвойсов с фильтрами...');
207
+ console.log(`📅 Период: ${year}-${month.toString().padStart(2, '0')}`);
208
+ console.log(`📊 Статусы: ${statuses.join(', ')}`);
209
+ const allInvoices = [];
210
+ let currentPage = 1;
211
+ const perPage = 100;
212
+ let hasMore = true;
213
+ // PAGINATION LOOP
214
+ while (hasMore) {
215
+ // Формируем параметры фильтрации
216
+ const filterParams = this.filters.buildFilterParams({
217
+ year,
218
+ month,
219
+ statuses,
220
+ page: currentPage,
221
+ perPage,
222
+ });
223
+ console.log(`📄 Загружаем страницу ${currentPage}...`);
224
+ // Получаем HTML
225
+ const html = await this.fetcher.fetchInvoicesHtml({ page: currentPage, perPage }, filterParams);
226
+ // Парсим список
227
+ const invoices = this.parser.parseInvoicesList(html);
228
+ if (invoices.length === 0) {
229
+ console.log(`✅ Страница ${currentPage} пустая, завершаем пагинацию`);
230
+ hasMore = false;
231
+ }
232
+ else {
233
+ console.log(`✅ Страница ${currentPage} — ${invoices.length} инвойсов`);
234
+ allInvoices.push(...invoices);
235
+ currentPage++;
236
+ }
237
+ }
238
+ console.log(`📊 Всего найдено инвойсов: ${allInvoices.length}`);
239
+ // Загружаем детали для каждого инвойса
240
+ const parsedInvoices = [];
241
+ for (const invoice of allInvoices) {
242
+ try {
243
+ if (!invoice.clientId || !invoice.invoiceId) {
244
+ console.warn(`⚠️ Пропускаем инвойс ${invoice.invoiceNumber}: не найдены client_id или invoice_id`);
245
+ continue;
246
+ }
247
+ console.log(`📋 [${invoice.invoiceNumber}] Загружаем детали...`);
248
+ // Загружаем HTML модалки
249
+ const modalHtml = await this.fetcher.fetchInvoiceModal(invoice.clientId, invoice.invoiceId);
250
+ // Парсим детали
251
+ const details = this.parser.parseInvoiceDetails(modalHtml);
252
+ // Собираем полный объект
253
+ const parsedInvoice = {
254
+ invoiceNumber: invoice.invoiceNumber,
255
+ invoiceDate: invoice.invoiceDate,
256
+ dueDate: invoice.dueDate,
257
+ status: invoice.status,
258
+ amount: invoice.amount,
259
+ details,
260
+ };
261
+ parsedInvoices.push(parsedInvoice);
262
+ console.log(`✅ [${invoice.invoiceNumber}] Детали загружены (${details.items.length} позиций)`);
263
+ }
264
+ catch (error) {
265
+ console.error(`❌ Ошибка при загрузке деталей инвойса ${invoice.invoiceNumber}: ${error.message}`);
266
+ // Продолжаем с остальными инвойсами
267
+ }
268
+ }
269
+ console.log('');
270
+ console.log(`🎉 Парсинг завершён! Обработано инвойсов: ${parsedInvoices.length}`);
271
+ console.log('');
272
+ return parsedInvoices;
273
+ }
274
+ catch (error) {
275
+ console.error(`❌ Критическая ошибка при парсинге инвойсов: ${error.message}`);
276
+ throw error;
277
+ }
278
+ }
279
+ /**
280
+ * Парсит инвойсы и сохраняет результат в JSON файл
281
+ */
282
+ async parseAndSaveInvoices(params, companyProfile) {
283
+ try {
284
+ // 1. Парсим инвойсы
285
+ const parsedInvoices = await this.parseInvoices(params);
286
+ // 2. Преобразуем в формат для сохранения
287
+ const savedData = this.transformToSavedFormat(parsedInvoices, params, companyProfile);
288
+ // 3. Сохраняем в файл
289
+ const filePath = await this.storage.saveToFile(savedData);
290
+ return filePath;
291
+ }
292
+ catch (error) {
293
+ console.error(`❌ Ошибка при сохранении инвойсов: ${error.message}`);
294
+ throw error;
295
+ }
296
+ }
297
+ /**
298
+ * Преобразует распарсенные инвойсы в формат для сохранения
299
+ */
300
+ transformToSavedFormat(invoices, params, profile) {
301
+ const { year, month, statuses } = params;
302
+ // Формируем период (первый и последний день месяца)
303
+ const fromDate = new Date(year, month - 1, 1);
304
+ const toDate = new Date(year, month, 0); // последний день месяца
305
+ const formatDate = (date) => {
306
+ return date.toISOString().split('T')[0];
307
+ };
308
+ // Метаданные
309
+ const meta = {
310
+ company: {
311
+ name: profile.companyName,
312
+ phone: profile.phone,
313
+ email: profile.email,
314
+ status: profile.partnerStatus,
315
+ masterPartner: {
316
+ company: profile.masterPartner.company,
317
+ manager: profile.masterPartner.manager,
318
+ email: profile.masterPartner.email,
319
+ },
320
+ },
321
+ period: {
322
+ from: formatDate(fromDate),
323
+ to: formatDate(toDate),
324
+ },
325
+ statusFilter: statuses.join(','),
326
+ parsedAt: new Date().toISOString(),
327
+ };
328
+ // Преобразуем инвойсы
329
+ const savedInvoices = invoices.map((invoice) => {
330
+ // Парсим числовые значения
331
+ const parseNumber = (value) => {
332
+ const cleaned = value.replace(/[^\d.-]/g, '');
333
+ return parseFloat(cleaned) || 0;
334
+ };
335
+ const items = invoice.details.items.map((item) => ({
336
+ name: item.name,
337
+ quantity: parseNumber(item.quantity),
338
+ price: parseNumber(item.price),
339
+ total: parseNumber(item.amount),
340
+ }));
341
+ return {
342
+ invoiceNumber: invoice.invoiceNumber,
343
+ date: invoice.invoiceDate,
344
+ status: invoice.status,
345
+ currency: 'USD', // можно вытащить из amount, если нужно
346
+ total: parseNumber(invoice.details.total),
347
+ vat: 0, // если есть в данных — парсить
348
+ payer: invoice.details.payer,
349
+ legalEntity: invoice.details.legalEntity,
350
+ paymentDate: invoice.details.paymentDate,
351
+ items,
352
+ };
353
+ });
354
+ return {
355
+ meta,
356
+ invoices: savedInvoices,
357
+ };
358
+ }
359
+ }
360
+ exports.InvoicesService = InvoicesService;
361
+ //# sourceMappingURL=invoices.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.service.js","sourceRoot":"","sources":["../../src/invoices/invoices.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { SavedInvoicesData } from './invoices.types';
2
+ export declare class IikoInvoicesStorageService {
3
+ private readonly outputDir;
4
+ /**
5
+ * Сохраняет данные инвойсов в JSON файл
6
+ */
7
+ saveToFile(data: SavedInvoicesData): Promise<string>;
8
+ /**
9
+ * Создаёт output директорию, если не существует
10
+ */
11
+ private ensureOutputDirectory;
12
+ /**
13
+ * Генерирует имя файла на основе метаданных
14
+ * Формат: invoices_YYYY-MM_status.json
15
+ */
16
+ private generateFileName;
17
+ /**
18
+ * Проверяет существование файла и добавляет суффикс _v2, _v3 при необходимости
19
+ */
20
+ private getUniqueFileName;
21
+ /**
22
+ * Проверяет существование файла
23
+ */
24
+ private fileExists;
25
+ /**
26
+ * Логирует успешное сохранение
27
+ */
28
+ private logSuccess;
29
+ }
30
+ //# sourceMappingURL=invoices.storage.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invoices.storage.service.d.ts","sourceRoot":"","sources":["../../src/invoices/invoices.storage.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,qBAAa,0BAA0B;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAKxB;IAEF;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B1D;;OAEG;YACW,qBAAqB;IASnC;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,UAAU;IASxB;;OAEG;IACH,OAAO,CAAC,UAAU;CAcnB"}