feature/pedimento completo carga remesas, coves, edocs y acuses y aparte descarga sus documentos, se corrigieron las formulas de remesas, acuse y e documents para permitir la correcta descarga de susdocumentos y se aseguro que el status sea el correcto
This commit is contained in:
91
tasks.py
91
tasks.py
@@ -125,9 +125,12 @@ def pedimento_completo_task(self, request_data: Dict[str, Any]):
|
||||
|
||||
# Subir documento de pedimento completo si la petición fue exitosa
|
||||
try:
|
||||
# solucion al error de descarga de un e-document, el mapeo de identificador no llegaba y ni siquiera insertaba registros en
|
||||
# la tabla
|
||||
identificadores_ed_response = xml_content.get('identificadores_ed', []) if 'xml_content' in locals() else []
|
||||
upload_result = await _post_edocuments(
|
||||
response_service=service_data,
|
||||
identificadores_ed=[soap_response.get('documento', {}).get('numero_edocument')]
|
||||
identificadores_ed=identificadores_ed_response
|
||||
)
|
||||
logger.info(f"Documento de pedimento completo subido exitosamente: {upload_result}")
|
||||
except Exception as upload_err:
|
||||
@@ -626,6 +629,19 @@ def acuse_task(self, **kwargs):
|
||||
documento_info["documento"] = soap_response.get('documento', {})
|
||||
documentos_exitosos += 1
|
||||
logger.info(f"Acuse del documento {idx + 1} procesado exitosamente")
|
||||
try:
|
||||
await rest_controller.put_edocument(
|
||||
edocument_id=edoc['id'],
|
||||
data={
|
||||
"id": edoc['id'],
|
||||
"acuse_descargado": True,
|
||||
"numero_edocument": edoc.get('numero_edocument'),
|
||||
"pedimento": service_data['pedimento']['id'],
|
||||
"organizacion": service_data['organizacion'],
|
||||
}
|
||||
)
|
||||
except Exception as status_err:
|
||||
logger.warning(f"Error actualizando acuse_descargado para edoc {edoc.get('numero_edocument')}: {status_err}")
|
||||
else:
|
||||
documento_info["error"] = "Error en petición SOAP"
|
||||
logger.warning(f"No se pudo procesar el acuse del documento {idx + 1}")
|
||||
@@ -832,28 +848,19 @@ def edocument_task(self, **kwargs):
|
||||
documento_info["documento"] = soap_response.get('documento', {})
|
||||
documentos_exitosos += 1
|
||||
logger.info(f"E-document {idx + 1} procesado exitosamente")
|
||||
# Subir el documento si la petición fue exitosa
|
||||
try:
|
||||
upload_result = await _post_edocuments(
|
||||
response_service=service_data,
|
||||
identificadores_ed=[edoc.get('numero_edocument')]
|
||||
await rest_controller.put_edocument(
|
||||
edocument_id=edoc['id'],
|
||||
data={
|
||||
"id": edoc['id'],
|
||||
"edocument_descargado": True,
|
||||
"numero_edocument": edoc.get('numero_edocument'),
|
||||
"pedimento": service_data['pedimento']['id'],
|
||||
"organizacion": service_data['organizacion'],
|
||||
}
|
||||
)
|
||||
documento_info["upload_result"] = upload_result
|
||||
logger.info(f"Documento {edoc.get('numero_edocument')} subido exitosamente")
|
||||
except Exception as upload_err:
|
||||
documento_info["upload_error"] = str(upload_err)
|
||||
logger.error(f"Error al subir documento {edoc.get('numero_edocument')}: {upload_err}")
|
||||
# Subir el documento si la petición fue exitosa
|
||||
try:
|
||||
upload_result = await _post_edocuments(
|
||||
response_service=service_data,
|
||||
identificadores_ed=[edoc.get('numero_edocument')]
|
||||
)
|
||||
documento_info["upload_result"] = upload_result
|
||||
logger.info(f"Documento {edoc.get('numero_edocument')} subido exitosamente")
|
||||
except Exception as upload_err:
|
||||
documento_info["upload_error"] = str(upload_err)
|
||||
logger.error(f"Error al subir documento {edoc.get('numero_edocument')}: {upload_err}")
|
||||
except Exception as status_err:
|
||||
logger.warning(f"Error actualizando edocument_descargado para edoc {edoc.get('numero_edocument')}: {status_err}")
|
||||
else:
|
||||
documento_info["error"] = "Error en petición SOAP"
|
||||
logger.warning(f"No se pudo procesar el e-document {idx + 1}")
|
||||
@@ -974,6 +981,19 @@ def coves_task(self, **kwargs):
|
||||
documento_info["documento"] = soap_response.get('documento', {})
|
||||
documentos_exitosos += 1
|
||||
logger.info(f"cove del documento {idx + 1} procesado exitosamente")
|
||||
try:
|
||||
await rest_controller.put_cove(
|
||||
cove_id=cove['id'],
|
||||
data={
|
||||
"id": cove['id'],
|
||||
"cove_descargado": True,
|
||||
"numero_cove": cove.get('numero_cove'),
|
||||
"pedimento": service_data['pedimento']['id'],
|
||||
"organizacion": service_data['organizacion'],
|
||||
}
|
||||
)
|
||||
except Exception as status_err:
|
||||
logger.warning(f"Error actualizando cove_descargado para cove {cove.get('numero_cove')}: {status_err}")
|
||||
else:
|
||||
documento_info["error"] = "Error en petición SOAP"
|
||||
logger.warning(f"No se pudo procesar el cove del documento {idx + 1}")
|
||||
@@ -1115,17 +1135,19 @@ def acuse_cove_task(self, **kwargs):
|
||||
documento_info["documento"] = soap_response.get('documento', {})
|
||||
documentos_exitosos += 1
|
||||
logger.info(f"Acuse de COVE {idx + 1} procesado exitosamente")
|
||||
# Subir el documento de COVE si la petición fue exitosa
|
||||
try:
|
||||
upload_result = await _post_coves(
|
||||
response_service=service_data,
|
||||
identificadores_cove=[cove.get('numero_cove')]
|
||||
await rest_controller.put_cove(
|
||||
cove_id=cove['id'],
|
||||
data={
|
||||
"id": cove['id'],
|
||||
"acuse_cove_descargado": True,
|
||||
"numero_cove": cove.get('numero_cove'),
|
||||
"pedimento": service_data['pedimento']['id'],
|
||||
"organizacion": service_data['organizacion'],
|
||||
}
|
||||
)
|
||||
documento_info["upload_result"] = upload_result
|
||||
logger.info(f"Documento COVE {cove.get('numero_cove')} subido exitosamente")
|
||||
except Exception as upload_err:
|
||||
documento_info["upload_error"] = str(upload_err)
|
||||
logger.error(f"Error al subir documento COVE {cove.get('numero_cove')}: {upload_err}")
|
||||
except Exception as status_err:
|
||||
logger.warning(f"Error actualizando acuse_cove_descargado para cove {cove.get('numero_cove')}: {status_err}")
|
||||
else:
|
||||
documento_info["error"] = "Error en petición SOAP"
|
||||
logger.warning(f"No se pudo procesar el acuse de COVE {idx + 1}")
|
||||
@@ -1166,3 +1188,12 @@ def acuse_cove_task(self, **kwargs):
|
||||
raise e
|
||||
|
||||
return run_async_task(_execute_acuse_cove)
|
||||
|
||||
# @celery_app.task(name='tasks.prueba_hola')
|
||||
# def prueba_hola():
|
||||
# """
|
||||
# Tarea de prueba: solo imprime un saludo para verificar la programación.
|
||||
# """
|
||||
# logger.info("¡Hola! Tarea programada ejecutada correctamente.")
|
||||
# print("¡Hola desde la tarea programada!")
|
||||
# return "OK"
|
||||
Reference in New Issue
Block a user