Merge branch 'development' of https://git.aduanasoft.com/ADUANASOFT/anexo76 into feature/saldos_temporales

This commit is contained in:
2026-03-06 16:10:30 -06:00
222 changed files with 15322 additions and 6776 deletions

View File

@@ -1,57 +1,105 @@
import { api, type ApiResponse } from '$lib/api';
export interface Driver {
transporter_key: string;
line: number;
driver_name?: string;
license_number?: string;
express_line_id?: string;
ace_id?: string;
birth_date?: number;
gender?: string;
birth_country?: string;
hazardous_material_auth?: string;
hazardous_material_state?: string;
first_name?: string;
last_name?: string;
badge_number?: string;
class_type?: string;
transporter_key: string;
line: number;
driver_name?: string;
license_number?: string;
express_line_id?: string;
ace_id?: string;
birth_date?: number;
gender?: string;
birth_country?: string;
hazardous_material_auth?: string;
hazardous_material_state?: string;
first_name?: string;
last_name?: string;
id_key1?: string;
id_number1?: string;
id_state1?: string;
id_country1?: string;
id_key2?: string;
id_number2?: string;
id_state2?: string;
id_country2?: string;
badge_number?: string;
class_type?: string;
unique_badge_number?: string;
company_id?: number;
tenant_id?: number;
}
export interface DriverResponse {
items: Driver[];
total: number;
page: number;
page_size: number;
items: Driver[];
total: number;
page: number;
page_size: number;
}
class DriversApi {
private baseUrl = '/v1/a76/drivers';
private baseUrl = '/v1/a76/drivers';
async list(
companyId: string | number,
page: number = 1,
pageSize: number = 50
): Promise<ApiResponse<DriverResponse>> {
const params = new URLSearchParams({
company_id: companyId.toString(),
page: page.toString(),
page_size: pageSize.toString()
});
async list(
companyId: string | number,
params?: Record<string, string | number | undefined>
): Promise<ApiResponse<DriverResponse>> {
const queryParams = new URLSearchParams({
company_id: companyId.toString(),
...(params as Record<string, string>)
});
return api.get<DriverResponse>(`${this.baseUrl}?${queryParams.toString()}`);
}
return api.get<DriverResponse>(`${this.baseUrl}?${params.toString()}`);
}
async get(
transporterKey: string,
line: number,
companyId: string | number
): Promise<ApiResponse<Driver>> {
const params = new URLSearchParams({
company_id: companyId.toString()
});
return api.get<Driver>(
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`
);
}
async get(
transporterKey: string,
line: number,
companyId: string | number
): Promise<ApiResponse<Driver>> {
const params = new URLSearchParams({
company_id: companyId.toString()
});
return api.get<Driver>(`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`);
}
async create(
data: Omit<Driver, 'company_id' | 'tenant_id'> & { company_id: number; tenant_id: number },
companyId: string | number
): Promise<ApiResponse<Driver>> {
const params = new URLSearchParams({
company_id: companyId.toString()
});
return api.post<Driver>(`${this.baseUrl}?${params.toString()}`, data);
}
async update(
transporterKey: string,
line: number,
data: Partial<Driver>,
companyId: string | number
): Promise<ApiResponse<Driver>> {
const params = new URLSearchParams({
company_id: companyId.toString()
});
return api.put<Driver>(
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`,
data
);
}
async delete(
transporterKey: string,
line: number,
companyId: string | number
): Promise<ApiResponse<void>> {
const params = new URLSearchParams({
company_id: companyId.toString()
});
return api.delete<void>(
`${this.baseUrl}/${transporterKey}/${line}?${params.toString()}`
);
}
}
export const driversApi = new DriversApi();

View File

@@ -34,16 +34,22 @@ export interface TransporterResponse {
class TransportersApi {
private baseUrl = '/v1/a76/transporters';
async list(
companyId: string | number,
params?: Record<string, any>
): Promise<ApiResponse<TransporterResponse>> {
const queryParams = new URLSearchParams({
company_id: companyId.toString(),
...params
});
return api.get<TransporterResponse>(`${this.baseUrl}?${queryParams.toString()}`);
}
async list(
companyId: string | number,
params?: Record<string, string | number | undefined>
): Promise<ApiResponse<TransporterResponse>> {
const raw: Record<string, string | number> = {
company_id: companyId.toString(),
...params
};
const queryParams = new URLSearchParams();
for (const [k, v] of Object.entries(raw)) {
if (v != null && v !== '') {
queryParams.set(k, String(v));
}
}
return api.get<TransporterResponse>(`${this.baseUrl}?${queryParams.toString()}`);
}
async get(id: string, companyId: string | number): Promise<ApiResponse<Transporter>> {
const queryParams = new URLSearchParams({