feat: Introduce customs office and transport means fields to pedimento data models and forms.

This commit is contained in:
Galindo97
2026-02-25 11:41:35 -06:00
parent d6ab2f47d7
commit 72db67e161
6 changed files with 231 additions and 23 deletions

View File

@@ -39,6 +39,8 @@ export const load: PageServerLoad = async ({ params, cookies, fetch }) => {
customsBrokers: [],
clients: [],
codePedimentoRegimens: [],
transportTypes: [],
transportModes: [],
error: 'Error al cargar catálogos. Verifique la conexión con el backend.'
};
}
@@ -53,7 +55,9 @@ export const load: PageServerLoad = async ({ params, cookies, fetch }) => {
customsSections: data.customs_sections || [],
customsBrokers: data.customs_brokers || [],
clients: data.clients || [],
codePedimentoRegimens: data.code_pedimento_regimens || []
codePedimentoRegimens: data.code_pedimento_regimens || [],
transportTypes: data.transport_types || [],
transportModes: data.transport_modes || []
};
} catch (e) {
console.error('❌ Error loading new pedimento data:', e);
@@ -67,6 +71,8 @@ export const load: PageServerLoad = async ({ params, cookies, fetch }) => {
customsBrokers: [],
clients: [],
codePedimentoRegimens: [],
transportTypes: [],
transportModes: [],
error: 'Error al cargar catálogos. Verifique la conexión con el backend.'
};
}
@@ -106,7 +112,9 @@ export const load: PageServerLoad = async ({ params, cookies, fetch }) => {
customsSections: data.customs_sections || [],
customsBrokers: data.customs_brokers || [],
clients: data.clients || [],
codePedimentoRegimens: data.code_pedimento_regimens || []
codePedimentoRegimens: data.code_pedimento_regimens || [],
transportTypes: data.transport_types || [],
transportModes: data.transport_modes || []
};
} catch (e) {
console.error('Error loading pedimento:', e);

View File

@@ -54,6 +54,8 @@
import type { CustomsBroker } from '$lib/api/dashboard/a76/customs-brokers';
import type { ClientProvider } from '$lib/api/dashboard/a76/clients-providers';
import type { CodePedimentoRegimen } from '$lib/api/dashboard/reference_data/code_pedimento_regimens';
import type { TransportType } from '$lib/api/dashboard/reference_data/transport_types';
import type { TransportMode } from '$lib/api/dashboard/reference_data/transport_modes';
// Get sidebar context
const sidebar = useSidebar();
@@ -67,6 +69,8 @@
customsBrokers?: CustomsBroker[];
clients?: ClientProvider[];
codePedimentoRegimens?: CodePedimentoRegimen[];
transportTypes?: TransportType[];
transportModes?: TransportMode[];
user?: any;
companies?: any[];
authenticated?: boolean;
@@ -463,6 +467,32 @@
end_date: generalFormData.end_date || null
};
}
// Aduanas (Despacho y Entrada/Salida)
const hasCustomsValue =
generalFormData.pedimento_customs_offices?.dispatch_customs ||
generalFormData.pedimento_customs_offices?.entry_exit_customs;
if (hasCustomsValue) {
payload.pedimento_customs_offices = {
dispatch_customs: generalFormData.pedimento_customs_offices.dispatch_customs || null,
entry_exit_customs: generalFormData.pedimento_customs_offices.entry_exit_customs || null
};
}
// Transportes y Destino
const hasTransportValue =
generalFormData.pedimento_transport_means?.destination ||
generalFormData.pedimento_transport_means?.entry_exit ||
generalFormData.pedimento_transport_means?.arrival ||
generalFormData.pedimento_transport_means?.departure;
if (hasTransportValue) {
payload.pedimento_transport_means = {
destination: generalFormData.pedimento_transport_means.destination || null,
entry_exit: generalFormData.pedimento_transport_means.entry_exit || null,
arrival: generalFormData.pedimento_transport_means.arrival || null,
departure: generalFormData.pedimento_transport_means.departure || null
};
}
}
// Solo agregar sub-recursos en modo UPDATE (no en CREATE)
@@ -1060,11 +1090,13 @@
pedimento={data.pedimento}
bind:formData={generalFormData}
bind:identificadoresFormData
pedimentoCodes={data.pedimentoCodes || []}
customsSections={data.customsSections || []}
customsBrokers={data.customsBrokers || []}
clients={data.clients || []}
codePedimentoRegimens={data.codePedimentoRegimens || []}
pedimentoCodes={data.pedimentoCodes}
customsSections={data.customsSections}
customsBrokers={data.customsBrokers}
clients={data.clients}
codePedimentoRegimens={data.codePedimentoRegimens}
transportTypes={data.transportTypes}
transportModes={data.transportModes}
isActive={activeTab === 'general'}
/>
</Tabs.Content>