diff --git a/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.svelte b/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.svelte index 1138594e..39107639 100644 --- a/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.svelte +++ b/frontend/src/routes/dashboard/pedimentos/edit/[id]/+page.svelte @@ -319,44 +319,42 @@ exchange_rate: generalFormData?.exchange_rate || undefined }; - // Helper function para convertir fecha YYYY-MM-DD a ISO datetime - function dateToISO(dateString: string | null | undefined): string | null { - if (!dateString) return null; - // Si ya tiene formato ISO completo, retornarlo - if (dateString.includes('T')) return dateString; - // Si es solo fecha (YYYY-MM-DD), agregar tiempo medianoche - return `${dateString}T00:00:00`; + // Helper function para convertir ISO datetime a YYYY-MM-DD + function isoToDate(isoString: string | null | undefined): string | null { + if (!isoString) return null; + // Extraer solo la parte de fecha (YYYY-MM-DD) + return isoString.split('T')[0]; } // Fechas - enviar si hay al menos un campo con valor if (generalFormData) { - const hasDatesValue = generalFormData.entry_date || generalFormData.pedimento_date || - generalFormData.extraction_date || generalFormData.rectification_payment_date || - generalFormData.original_date || generalFormData.payment_date || generalFormData.end_date; - if (hasDatesValue) { - payload.pedimento_dates = { - entry_date: generalFormData.entry_date || null, - pedimento_date: generalFormData.pedimento_date || null, - payment_date: generalFormData.payment_date || null, - rectification_payment_date: generalFormData.rectification_payment_date || null, - extraction_date: generalFormData.extraction_date || null, - original_date: generalFormData.original_date || null, - end_date: generalFormData.end_date || null - }; - } - } + const hasDatesValue = generalFormData.entry_date || generalFormData.pedimento_date || + generalFormData.extraction_date || generalFormData.rectification_payment_date || + generalFormData.original_date || generalFormData.payment_date || generalFormData.end_date; + if (hasDatesValue) { + payload.pedimento_dates = { + entry_date: isoToDate(generalFormData.entry_date), + pedimento_date: isoToDate(generalFormData.pedimento_date), + payment_date: isoToDate(generalFormData.payment_date), + rectification_payment_date: isoToDate(generalFormData.rectification_payment_date), + extraction_date: isoToDate(generalFormData.extraction_date), + original_date: isoToDate(generalFormData.original_date), + end_date: isoToDate(generalFormData.end_date) + }; + } + } - // Solo agregar sub-recursos en modo UPDATE (no en CREATE) - // Y solo si tienen valores reales (no enviar objetos vacíos/null) - - // Observaciones - siempre enviar (puede ser string vacío para borrar) - payload.observations = observacionesFormData?.observaciones || ''; - - // Incrementables - solo enviar si hay al menos un campo con valor - if (generalFormData) { - const hasIncrementablesValue = generalFormData.valor_seguro || generalFormData.embalajes || - generalFormData.fletes || generalFormData.deducibles || generalFormData.moneda_incrementables || - generalFormData.no_afectar_valor_dolares_inc !== undefined || generalFormData.no_afectar_valor_aduana !== undefined; + // Solo agregar sub-recursos en modo UPDATE (no en CREATE) + // Y solo si tienen valores reales (no enviar objetos vacíos/null) + + // Observaciones - siempre enviar (puede ser string vacío para borrar) + payload.observations = observacionesFormData?.observaciones || ''; + + // Incrementables - solo enviar si hay al menos un campo con valor + if (generalFormData) { + const hasIncrementablesValue = generalFormData.valor_seguro || generalFormData.embalajes || + generalFormData.fletes || generalFormData.deducibles || generalFormData.moneda_incrementables || + generalFormData.no_afectar_valor_dolares_inc !== undefined || generalFormData.no_afectar_valor_aduana !== undefined; if (hasIncrementablesValue) { payload.pedimento_incrementables = { insured_value: generalFormData.valor_seguro || null,