Se modifico la tarea para que haga el update del pedimento

Al parecer no se estaba mandando la fuente en el endpoint y eso fue lo que causaba el error
This commit is contained in:
2025-08-27 08:19:45 -06:00
parent cc655f3d1c
commit 879ce8d544
3 changed files with 43 additions and 6 deletions

3
.gitignore vendored
View File

@@ -8,6 +8,9 @@ __pycache__/
# C extensions # C extensions
*.so *.so
main2.py
sample.xml
# Distribution / packaging # Distribution / packaging
.Python .Python
build/ build/

View File

@@ -90,7 +90,40 @@ def pedimento_completo_task(self, request_data: Dict[str, Any]):
if not soap_response: if not soap_response:
raise Exception("Error en la petición SOAP para pedimento completo") raise Exception("Error en la petición SOAP para pedimento completo")
logger.info("[TASK] Petición SOAP para pedimento completo completada exitosamente") logger.info("[TASK] Petición SOAP para pedimento completo completada exitosamente")
# Actualizar datos del pedimento con información del XML (igual que en el endpoint)
try:
xml_content = soap_response.get('xml_content', {})
if xml_content:
update_content = {k: v for k, v in xml_content.items() if k != 'identificadores_ed'}
update_content['existe_expediente'] = True
pedimento_response = await rest_controller.put_pedimento(
service_data['pedimento']['id'],
update_content
)
logger.info("Pedimento actualizado exitosamente (TASK)")
else:
logger.warning("No se recibió contenido XML para actualizar el pedimento (TASK)")
except Exception as e:
logger.warning(f"No se pudo actualizar el pedimento (TASK, continuando proceso): {e}")
# Procesar y guardar COVEs (igual que en el endpoint)
try:
coves = xml_content.get('coves', []) if 'xml_content' in locals() else []
logger.warning(f"COVEs encontrados: {coves}")
for cove in coves:
logger.warning(f"Procesando COVE: {cove}")
cove_result = await _post_coves(
response_service=service_data,
coves=coves
)
except Exception as e:
logger.error(f"Error al procesar COVEs: {e}")
cove_result = None
# Subir documento de pedimento completo si la petición fue exitosa # Subir documento de pedimento completo si la petición fue exitosa
try: try:
upload_result = await _post_edocuments( upload_result = await _post_edocuments(
@@ -742,7 +775,6 @@ def coves_task(self, **kwargs):
return run_async_task(_execute_coves) return run_async_task(_execute_coves)
@celery_app.task(bind=True) @celery_app.task(bind=True)
def acuse_cove_task(self, **kwargs): def acuse_cove_task(self, **kwargs):
"""Tarea asíncrona para obtener acuse de COVE""" """Tarea asíncrona para obtener acuse de COVE"""
@@ -891,3 +923,4 @@ def acuse_cove_task(self, **kwargs):
raise e raise e
return run_async_task(_execute_acuse_cove) return run_async_task(_execute_acuse_cove)

View File

@@ -315,6 +315,7 @@ async def get_soap_pedimento_completo(credenciales, response_service, soap_contr
data['organizacion'] = response_service['organizacion'] data['organizacion'] = response_service['organizacion']
data['id'] = response_service['pedimento']['id'] data['id'] = response_service['pedimento']['id']
data['fuente'] = 2
return { return {
"servicio": response_service, "servicio": response_service,