fix: se crea comando para ejecutar manualmente todos los pedimentos completos que aun no se hayan descargado por organizacion. #16
@@ -36,7 +36,8 @@ class Command(BaseCommand):
|
|||||||
|
|
||||||
if organizacion_id:
|
if organizacion_id:
|
||||||
if procesamiento:
|
if procesamiento:
|
||||||
microservice_v2.ejecutar_procesamiento_por_organizacion(organizacion_id, procesamiento)
|
# microservice_v2.ejecutar_procesamiento_por_organizacion(organizacion_id, procesamiento)
|
||||||
|
microservice_v2.ejecutar_por_organizacion_y_procesamiento(organizacion_id, procesamiento)
|
||||||
self.stdout.write(self.style.SUCCESS(f'Se ejecutó el procesamiento {procesamiento} para la organización {organizacion_id}.'))
|
self.stdout.write(self.style.SUCCESS(f'Se ejecutó el procesamiento {procesamiento} para la organización {organizacion_id}.'))
|
||||||
else:
|
else:
|
||||||
microservice_v2.ejecutar_todos_por_organizacion(organizacion_id)
|
microservice_v2.ejecutar_todos_por_organizacion(organizacion_id)
|
||||||
|
|||||||
@@ -222,14 +222,15 @@ def procesar_pedimentos_completos(organizacion_id):
|
|||||||
pedimento_dict = pedimento_to_dict(pedimento)
|
pedimento_dict = pedimento_to_dict(pedimento)
|
||||||
credenciales = Vucem.objects.filter(id=CredencialesImportador.objects.filter(rfc=pedimento.contribuyente).first().vucem.id).first()
|
credenciales = Vucem.objects.filter(id=CredencialesImportador.objects.filter(rfc=pedimento.contribuyente).first().vucem.id).first()
|
||||||
|
|
||||||
credenciales_dict = credenciales_to_dict(credenciales)
|
if not credenciales:
|
||||||
|
print(f"No se encontraron credenciales para el pedimento {pedimento.pedimento_app}")
|
||||||
|
continue
|
||||||
|
|
||||||
|
credenciales_dict = credenciales_to_dict(credenciales)
|
||||||
payload = {
|
payload = {
|
||||||
"pedimento": pedimento_dict,
|
"pedimento": pedimento_dict,
|
||||||
"credencial": credenciales_dict
|
"credencial": credenciales_dict
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
response = requests.post(
|
response = requests.post(
|
||||||
f"{SERVICE_API_URL_V2}/services/pedimento_completo",
|
f"{SERVICE_API_URL_V2}/services/pedimento_completo",
|
||||||
data=json.dumps(payload),
|
data=json.dumps(payload),
|
||||||
@@ -428,6 +429,34 @@ def documentos_con_errores(organizacion_id):
|
|||||||
# Aquí puedes agregar lógica adicional para manejar documentos con errores
|
# Aquí puedes agregar lógica adicional para manejar documentos con errores
|
||||||
# como enviar notificaciones, registrar en un log, etc.
|
# como enviar notificaciones, registrar en un log, etc.
|
||||||
|
|
||||||
|
@shared_task
|
||||||
|
def procesar_procesamiento_pedimento(organizacion_id):
|
||||||
|
print("Creando procesamientos de pedimentos para organización:", organizacion_id)
|
||||||
|
|
||||||
|
pedimentos = Pedimento.objects.filter(organizacion_id=organizacion_id)
|
||||||
|
# pedimentos = Pedimento.objects.filter(id='1c061182-ac68-45b0-b3d7-35bf2264982b')
|
||||||
|
if not pedimentos.exists():
|
||||||
|
print("No se encontraron pedimentos para la organización:", organizacion_id)
|
||||||
|
return
|
||||||
|
for pedimento in pedimentos:
|
||||||
|
if not pedimento.documents.filter(document_type=2).exists(): # Tipo 2: Pedimento Completo
|
||||||
|
|
||||||
|
procesamiento_pedimento = ProcesamientoPedimento.objects.filter(
|
||||||
|
pedimento_id=pedimento.id,
|
||||||
|
servicio_id=3, # servicio 3: Pedimento Completo
|
||||||
|
)
|
||||||
|
|
||||||
|
if not procesamiento_pedimento.exists():
|
||||||
|
ProcesamientoPedimento.objects.create(
|
||||||
|
pedimento_id=pedimento.id
|
||||||
|
, organizacion_id=pedimento.organizacion_id
|
||||||
|
, estado_id =1
|
||||||
|
, servicio_id=3
|
||||||
|
, tipo_procesamiento_id=2) # servicio 3: Pedimento Completo
|
||||||
|
|
||||||
|
print("Procesamiento creado para pedimento:", pedimento.pedimento_app)
|
||||||
|
|
||||||
|
procesar_pedimentos_completos.delay(organizacion_id)
|
||||||
|
|
||||||
def ejecutar_por_organizacion_y_procesamiento(organizacion_id, procesamiento):
|
def ejecutar_por_organizacion_y_procesamiento(organizacion_id, procesamiento):
|
||||||
if procesamiento == 'coves':
|
if procesamiento == 'coves':
|
||||||
@@ -444,10 +473,12 @@ def ejecutar_por_organizacion_y_procesamiento(organizacion_id, procesamiento):
|
|||||||
procesar_pedimentos_completos.delay(organizacion_id)
|
procesar_pedimentos_completos.delay(organizacion_id)
|
||||||
elif procesamiento == 'remesas':
|
elif procesamiento == 'remesas':
|
||||||
procesar_remesas.delay(organizacion_id)
|
procesar_remesas.delay(organizacion_id)
|
||||||
|
elif procesamiento == 'procesamiento_pedimento':
|
||||||
|
procesar_procesamiento_pedimento.delay(organizacion_id)
|
||||||
else:
|
else:
|
||||||
# Procesamiento no reconocido
|
# Procesamiento no reconocido
|
||||||
pass
|
print(f"Procesamiento no reconocido: {procesamiento}")
|
||||||
|
# pass
|
||||||
|
|
||||||
def ejecutar_todos_por_organizacion(organizacion_id):
|
def ejecutar_todos_por_organizacion(organizacion_id):
|
||||||
procesar_coves.delay(organizacion_id)
|
procesar_coves.delay(organizacion_id)
|
||||||
@@ -459,3 +490,5 @@ def ejecutar_todos_por_organizacion(organizacion_id):
|
|||||||
procesar_remesas.delay(organizacion_id)
|
procesar_remesas.delay(organizacion_id)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user