fix: update date handling to convert ISO datetime to YYYY-MM-DD format

This commit is contained in:
Galindo97
2026-02-03 09:20:24 -06:00
parent 461f8ececb
commit 5bf757e08d

View File

@@ -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,