hvp-shared 6.99.1 → 7.1.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.
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
* Job types for QVET sync operations
|
|
9
9
|
*/
|
|
10
10
|
export declare enum JobType {
|
|
11
|
-
SYNC_SALES = "SYNC_SALES",
|
|
12
11
|
SYNC_PURCHASES = "SYNC_PURCHASES",
|
|
13
12
|
SYNC_INVENTORY = "SYNC_INVENTORY",
|
|
14
13
|
SYNC_TRANSFERS = "SYNC_TRANSFERS",
|
|
@@ -18,7 +17,6 @@ export declare enum JobType {
|
|
|
18
17
|
SYNC_CASH_FLOWS = "SYNC_CASH_FLOWS",
|
|
19
18
|
SYNC_PURCHASE_INVOICES = "SYNC_PURCHASE_INVOICES",
|
|
20
19
|
SYNC_PURCHASE_ORDERS = "SYNC_PURCHASE_ORDERS",
|
|
21
|
-
SYNC_STOCK_CONFIG = "SYNC_STOCK_CONFIG",
|
|
22
20
|
SYNC_CATALOG = "SYNC_CATALOG",
|
|
23
21
|
SYNC_SUPPLIERS = "SYNC_SUPPLIERS",
|
|
24
22
|
SYNC_CLIENTS = "SYNC_CLIENTS",
|
|
@@ -38,8 +36,6 @@ export declare enum JobType {
|
|
|
38
36
|
* Each report type has specific parameter requirements.
|
|
39
37
|
*/
|
|
40
38
|
export declare enum ReportType {
|
|
41
|
-
/** Sales report - uses date range params */
|
|
42
|
-
SALES = "SALES",
|
|
43
39
|
/** Purchases report - uses date range params */
|
|
44
40
|
PURCHASES = "PURCHASES",
|
|
45
41
|
/** Inventory movements report - uses date range params */
|
|
@@ -62,8 +58,6 @@ export declare enum ReportType {
|
|
|
62
58
|
CLIENTS = "CLIENTS",
|
|
63
59
|
/** Product catalog - no date params required */
|
|
64
60
|
CATALOG = "CATALOG",
|
|
65
|
-
/** Stock configuration - no date params required */
|
|
66
|
-
STOCK_CONFIG = "STOCK_CONFIG",
|
|
67
61
|
/** Suppliers catalog - no date params required */
|
|
68
62
|
SUPPLIERS = "SUPPLIERS",
|
|
69
63
|
/** Collection details (Cobros detalle) - uses date range params */
|
|
@@ -12,7 +12,6 @@ exports.JOB_STATUS_LABELS = exports.JOB_STEP_LABELS = exports.SUB_TASK_STATUS_LA
|
|
|
12
12
|
*/
|
|
13
13
|
var JobType;
|
|
14
14
|
(function (JobType) {
|
|
15
|
-
JobType["SYNC_SALES"] = "SYNC_SALES";
|
|
16
15
|
JobType["SYNC_PURCHASES"] = "SYNC_PURCHASES";
|
|
17
16
|
JobType["SYNC_INVENTORY"] = "SYNC_INVENTORY";
|
|
18
17
|
JobType["SYNC_TRANSFERS"] = "SYNC_TRANSFERS";
|
|
@@ -22,7 +21,6 @@ var JobType;
|
|
|
22
21
|
JobType["SYNC_CASH_FLOWS"] = "SYNC_CASH_FLOWS";
|
|
23
22
|
JobType["SYNC_PURCHASE_INVOICES"] = "SYNC_PURCHASE_INVOICES";
|
|
24
23
|
JobType["SYNC_PURCHASE_ORDERS"] = "SYNC_PURCHASE_ORDERS";
|
|
25
|
-
JobType["SYNC_STOCK_CONFIG"] = "SYNC_STOCK_CONFIG";
|
|
26
24
|
JobType["SYNC_CATALOG"] = "SYNC_CATALOG";
|
|
27
25
|
JobType["SYNC_SUPPLIERS"] = "SYNC_SUPPLIERS";
|
|
28
26
|
JobType["SYNC_CLIENTS"] = "SYNC_CLIENTS";
|
|
@@ -43,8 +41,6 @@ var JobType;
|
|
|
43
41
|
*/
|
|
44
42
|
var ReportType;
|
|
45
43
|
(function (ReportType) {
|
|
46
|
-
/** Sales report - uses date range params */
|
|
47
|
-
ReportType["SALES"] = "SALES";
|
|
48
44
|
/** Purchases report - uses date range params */
|
|
49
45
|
ReportType["PURCHASES"] = "PURCHASES";
|
|
50
46
|
/** Inventory movements report - uses date range params */
|
|
@@ -67,8 +63,6 @@ var ReportType;
|
|
|
67
63
|
ReportType["CLIENTS"] = "CLIENTS";
|
|
68
64
|
/** Product catalog - no date params required */
|
|
69
65
|
ReportType["CATALOG"] = "CATALOG";
|
|
70
|
-
/** Stock configuration - no date params required */
|
|
71
|
-
ReportType["STOCK_CONFIG"] = "STOCK_CONFIG";
|
|
72
66
|
/** Suppliers catalog - no date params required */
|
|
73
67
|
ReportType["SUPPLIERS"] = "SUPPLIERS";
|
|
74
68
|
/** Collection details (Cobros detalle) - uses date range params */
|
|
@@ -99,7 +93,6 @@ var SubTaskStatus;
|
|
|
99
93
|
* Mapping of report types to their parameter type
|
|
100
94
|
*/
|
|
101
95
|
exports.REPORT_PARAM_TYPES = {
|
|
102
|
-
[ReportType.SALES]: 'date_range',
|
|
103
96
|
[ReportType.PURCHASES]: 'date_range',
|
|
104
97
|
[ReportType.MOVEMENTS]: 'date_range',
|
|
105
98
|
[ReportType.TRANSFERS]: 'date_range',
|
|
@@ -111,7 +104,6 @@ exports.REPORT_PARAM_TYPES = {
|
|
|
111
104
|
[ReportType.INVENTORY_SNAPSHOT]: 'snapshot',
|
|
112
105
|
[ReportType.CLIENTS]: 'no_params',
|
|
113
106
|
[ReportType.CATALOG]: 'no_params',
|
|
114
|
-
[ReportType.STOCK_CONFIG]: 'no_params',
|
|
115
107
|
[ReportType.SUPPLIERS]: 'no_params',
|
|
116
108
|
[ReportType.COLLECTION_DETAILS]: 'date_range',
|
|
117
109
|
[ReportType.SALE_DETAILS]: 'date_range',
|
|
@@ -145,7 +137,6 @@ var JobStep;
|
|
|
145
137
|
* Human-readable labels for job types (Spanish for UI)
|
|
146
138
|
*/
|
|
147
139
|
exports.JOB_TYPE_LABELS = {
|
|
148
|
-
[JobType.SYNC_SALES]: 'Sincronizar Ventas',
|
|
149
140
|
[JobType.SYNC_PURCHASES]: 'Sincronizar Compras',
|
|
150
141
|
[JobType.SYNC_INVENTORY]: 'Sincronizar Inventario',
|
|
151
142
|
[JobType.SYNC_TRANSFERS]: 'Sincronizar Traspasos',
|
|
@@ -155,13 +146,12 @@ exports.JOB_TYPE_LABELS = {
|
|
|
155
146
|
[JobType.SYNC_CASH_FLOWS]: 'Sincronizar Entradas/Salidas',
|
|
156
147
|
[JobType.SYNC_PURCHASE_INVOICES]: 'Sincronizar Facturas Compra',
|
|
157
148
|
[JobType.SYNC_PURCHASE_ORDERS]: 'Sincronizar Pedidos',
|
|
158
|
-
[JobType.SYNC_STOCK_CONFIG]: 'Sincronizar Config. Stock',
|
|
159
149
|
[JobType.SYNC_CATALOG]: 'Sincronizar Catálogo',
|
|
160
150
|
[JobType.SYNC_SUPPLIERS]: 'Sincronizar Proveedores',
|
|
161
151
|
[JobType.SYNC_CLIENTS]: 'Sincronizar Clientes',
|
|
162
152
|
[JobType.SYNC_INVENTORY_SNAPSHOT]: 'Sincronizar Snapshot Inventario',
|
|
163
153
|
[JobType.SYNC_COLLECTION_DETAILS]: 'Sincronizar Cobros Detalle',
|
|
164
|
-
[JobType.SYNC_SALE_DETAILS]: 'Sincronizar
|
|
154
|
+
[JobType.SYNC_SALE_DETAILS]: 'Sincronizar Ventas',
|
|
165
155
|
[JobType.SYNC_PAYABLES]: 'Sincronizar Cuentas por Pagar',
|
|
166
156
|
[JobType.SYNC_STAFF]: 'Sincronizar Personal',
|
|
167
157
|
[JobType.SYNC_PETS]: 'Sincronizar Mascotas',
|
|
@@ -174,7 +164,6 @@ exports.JOB_TYPE_LABELS = {
|
|
|
174
164
|
* Human-readable labels for report types (Spanish for UI)
|
|
175
165
|
*/
|
|
176
166
|
exports.REPORT_TYPE_LABELS = {
|
|
177
|
-
[ReportType.SALES]: 'Ventas',
|
|
178
167
|
[ReportType.PURCHASES]: 'Compras',
|
|
179
168
|
[ReportType.MOVEMENTS]: 'Movimientos',
|
|
180
169
|
[ReportType.TRANSFERS]: 'Traspasos',
|
|
@@ -186,10 +175,9 @@ exports.REPORT_TYPE_LABELS = {
|
|
|
186
175
|
[ReportType.INVENTORY_SNAPSHOT]: 'Cortes de Inventario',
|
|
187
176
|
[ReportType.CLIENTS]: 'Clientes',
|
|
188
177
|
[ReportType.CATALOG]: 'Catálogo',
|
|
189
|
-
[ReportType.STOCK_CONFIG]: 'Config. Stock',
|
|
190
178
|
[ReportType.SUPPLIERS]: 'Proveedores',
|
|
191
179
|
[ReportType.COLLECTION_DETAILS]: 'Cobros Detalle',
|
|
192
|
-
[ReportType.SALE_DETAILS]: '
|
|
180
|
+
[ReportType.SALE_DETAILS]: 'Ventas',
|
|
193
181
|
[ReportType.PAYABLES]: 'Cuentas por Pagar',
|
|
194
182
|
[ReportType.STAFF]: 'Personal',
|
|
195
183
|
[ReportType.PETS]: 'Mascotas',
|
|
@@ -44,64 +44,102 @@ export interface QvetPaginatedResponse<T> {
|
|
|
44
44
|
pagination: QvetPagination;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
47
|
+
* Sales summary statistics data for a period.
|
|
48
|
+
* Backend wraps with: ApiSingleSuccessResponse<QvetSalesSummaryData>
|
|
49
|
+
*/
|
|
50
|
+
export interface QvetSalesSummaryData {
|
|
51
|
+
totalRecords: number;
|
|
52
|
+
totalSales: number;
|
|
53
|
+
totalSubtotal: number;
|
|
54
|
+
totalTax: number;
|
|
55
|
+
totalDiscount: number;
|
|
56
|
+
totalQuantity: number;
|
|
57
|
+
avgTicket: number;
|
|
58
|
+
uniqueCustomers: number;
|
|
59
|
+
uniqueProducts: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* @deprecated Use QvetSalesSummaryData with ApiSingleSuccessResponse.
|
|
63
|
+
*/
|
|
64
|
+
export interface QvetSalesSummaryResponse {
|
|
65
|
+
ok: boolean;
|
|
66
|
+
data: QvetSalesSummaryData;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Single sale detail record from QVET Report 89.
|
|
70
|
+
* Complete line item with ticket, invoice, customer, pet, and pricing data.
|
|
71
|
+
* This is the primary sales data source — replaces QvetSaleResponse.
|
|
72
|
+
*
|
|
73
|
+
* @example GET /api/qvet/sales (backed by qvet_sale_details collection)
|
|
49
74
|
*/
|
|
50
|
-
export interface
|
|
75
|
+
export interface QvetSaleDetailResponse {
|
|
51
76
|
id: string;
|
|
77
|
+
ticketId: number;
|
|
78
|
+
ticketNumber: number;
|
|
79
|
+
lineItemId: number;
|
|
52
80
|
date: string;
|
|
53
|
-
|
|
81
|
+
branch: string;
|
|
54
82
|
subtotal: number;
|
|
55
83
|
paidAmount: number;
|
|
56
84
|
total: number;
|
|
57
85
|
quantity: number;
|
|
58
86
|
discount: number;
|
|
59
|
-
|
|
87
|
+
unitPrice: number;
|
|
60
88
|
taxAmount: number;
|
|
61
89
|
taxRate: number;
|
|
62
90
|
paymentMethod: string;
|
|
63
91
|
priceList: string;
|
|
64
|
-
|
|
92
|
+
discountType: number;
|
|
65
93
|
productName: string;
|
|
94
|
+
qvetCode: number;
|
|
95
|
+
isProductActive: boolean;
|
|
66
96
|
section: string;
|
|
67
97
|
family: string;
|
|
68
98
|
subfamily: string;
|
|
69
|
-
|
|
70
|
-
|
|
99
|
+
ticketDescription: string;
|
|
100
|
+
warehouse: string;
|
|
71
101
|
customerName: string;
|
|
72
|
-
qvetCustomerId
|
|
73
|
-
|
|
74
|
-
|
|
102
|
+
qvetCustomerId: number;
|
|
103
|
+
customerType: string;
|
|
104
|
+
phone: string;
|
|
105
|
+
phone2: string;
|
|
106
|
+
phoneSms: string;
|
|
107
|
+
taxId: string;
|
|
108
|
+
city: string;
|
|
109
|
+
postalCode: string;
|
|
110
|
+
customerRegistrationDate: string | null;
|
|
111
|
+
petName: string;
|
|
112
|
+
qvetPetId: number | null;
|
|
113
|
+
species: string;
|
|
114
|
+
breed: string;
|
|
115
|
+
coat: string;
|
|
116
|
+
temperament: string;
|
|
117
|
+
diet: string;
|
|
118
|
+
habitat: string;
|
|
119
|
+
petBirthDate: string | null;
|
|
120
|
+
petRegistrationDate: string | null;
|
|
121
|
+
source: string;
|
|
75
122
|
sellerName: string;
|
|
76
|
-
|
|
77
|
-
|
|
123
|
+
responsibleStaffId: number | null;
|
|
124
|
+
visitType: string;
|
|
125
|
+
isSubscription: boolean;
|
|
126
|
+
observations: string;
|
|
127
|
+
status: string;
|
|
128
|
+
invoiceDate: string | null;
|
|
129
|
+
invoiceNumber: string;
|
|
130
|
+
averageCost: number;
|
|
131
|
+
upc: number;
|
|
132
|
+
upcFc: number;
|
|
133
|
+
conversionFactor: number;
|
|
134
|
+
taxDescription: string;
|
|
78
135
|
syncedAt: string;
|
|
79
136
|
}
|
|
80
137
|
/**
|
|
81
|
-
*
|
|
82
|
-
*/
|
|
83
|
-
export type QvetSalesListResponse = QvetPaginatedResponse<QvetSaleResponse>;
|
|
84
|
-
/**
|
|
85
|
-
* Sales summary statistics data for a period.
|
|
86
|
-
* Backend wraps with: ApiSingleSuccessResponse<QvetSalesSummaryData>
|
|
138
|
+
* Query parameters for sale details endpoint
|
|
87
139
|
*/
|
|
88
|
-
export interface
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
totalSubtotal: number;
|
|
92
|
-
totalTax: number;
|
|
93
|
-
totalDiscount: number;
|
|
94
|
-
totalQuantity: number;
|
|
95
|
-
avgTicket: number;
|
|
96
|
-
uniqueCustomers: number;
|
|
97
|
-
uniqueProducts: number;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* @deprecated Use QvetSalesSummaryData with ApiSingleSuccessResponse.
|
|
101
|
-
*/
|
|
102
|
-
export interface QvetSalesSummaryResponse {
|
|
103
|
-
ok: boolean;
|
|
104
|
-
data: QvetSalesSummaryData;
|
|
140
|
+
export interface QvetSaleDetailsQueryParams extends QvetSalesQueryParams {
|
|
141
|
+
ticketNumber?: number;
|
|
142
|
+
invoiceNumber?: string;
|
|
105
143
|
}
|
|
106
144
|
/**
|
|
107
145
|
* Sales by section aggregation item.
|