fix: update date handling to convert ISO datetime to YYYY-MM-DD format
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user