.
This commit is contained in:
parent
fb071efc9f
commit
4e8751e119
@ -14,33 +14,6 @@ from . import sql_sentences as SQL
|
|||||||
def sync_invoices_factuges(conn_factuges, conn_mysql, last_execution_date):
|
def sync_invoices_factuges(conn_factuges, conn_mysql, last_execution_date):
|
||||||
config = load_config()
|
config = load_config()
|
||||||
|
|
||||||
# LIMPIAMOS LAS FACTURAS DE FACTUGES QUE HAYAN SIDO ELIMINADAS DEL PROGRAMA NUEVO DE FACTURACION, PARA QUE PUEDAN SER MODIFICADAS
|
|
||||||
# Crear un cursor para ejecutar consultas SQL
|
|
||||||
cursor_mysql = None
|
|
||||||
try:
|
|
||||||
cursor_mysql = conn_mysql.cursor()
|
|
||||||
cursor_mysql.execute(SQL.SELECT_INVOICES_DELETED)
|
|
||||||
filas = cursor_mysql.fetchall()
|
|
||||||
cursor_mysql.close()
|
|
||||||
|
|
||||||
# Crear un conjunto con los IDs [0] de los customer_inovices que debo liberar en FactuGES, porque han sido eliminadas en programa de facturación nuevo
|
|
||||||
ids_verifactu_deleted = {str(fila[0]) for fila in filas}
|
|
||||||
# logger.info(f"Customer invoices rows to be deleted: {len(ids_verifactu_deleted)}")
|
|
||||||
# Verificar si hay filas en el resultado
|
|
||||||
if ids_verifactu_deleted:
|
|
||||||
sync_delete_invoices(conn_factuges, ids_verifactu_deleted, config)
|
|
||||||
else:
|
|
||||||
logger.info("There are NOT customer invoices deleted since the last run")
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
if cursor_mysql is not None:
|
|
||||||
cursor_mysql.close()
|
|
||||||
logger.error(
|
|
||||||
f"(ERROR) Failed to fetch from database:{config['FWEB_MYSQL_DATABASE']} - using user:{config['FWEB_MYSQL_USER']}"
|
|
||||||
)
|
|
||||||
logger.error(e)
|
|
||||||
raise e
|
|
||||||
|
|
||||||
# BUSCAMOS FACTURAS ENVIADAS A VERIFACTU EN FACTUGES, PARA SUBIRLAS AL NUEVO PROGRAMA DE FACTURACIÓN
|
# BUSCAMOS FACTURAS ENVIADAS A VERIFACTU EN FACTUGES, PARA SUBIRLAS AL NUEVO PROGRAMA DE FACTURACIÓN
|
||||||
# Crear un cursor para ejecutar consultas SQL
|
# Crear un cursor para ejecutar consultas SQL
|
||||||
cursor_FactuGES = None
|
cursor_FactuGES = None
|
||||||
@ -76,31 +49,6 @@ def sync_invoices_factuges(conn_factuges, conn_mysql, last_execution_date):
|
|||||||
logger.info("There are NOT new FACTURAS rows since the last run.")
|
logger.info("There are NOT new FACTURAS rows since the last run.")
|
||||||
|
|
||||||
|
|
||||||
def sync_delete_invoices(conn_factuges, ids_verifactu_deleted, config):
|
|
||||||
# Eliminamos todos los IDs asociados en FactuGES que han sido eliminados así liberaremos la factura borrador y podermos modificarla de nuevo, para volverla a subir una vez hechos los cambios.
|
|
||||||
# VERIFACTU = 0 and ID_VERIFACTU = NULL
|
|
||||||
cursor_FactuGES = None
|
|
||||||
try:
|
|
||||||
cursor_FactuGES = conn_factuges.cursor()
|
|
||||||
if ids_verifactu_deleted:
|
|
||||||
logger.info(f"Liberate factuGES: {ids_verifactu_deleted}")
|
|
||||||
cursor_FactuGES.executemany(
|
|
||||||
SQL.LIMPIAR_FACTUGES_LINK,
|
|
||||||
[(id_verifactu,) for id_verifactu in ids_verifactu_deleted],
|
|
||||||
)
|
|
||||||
else:
|
|
||||||
logger.info("No articles to delete.")
|
|
||||||
|
|
||||||
except Exception as e:
|
|
||||||
# Escribir el error en el archivo de errores
|
|
||||||
logger.error(str(e))
|
|
||||||
raise e # Re-lanzar la excepción para detener el procesamiento
|
|
||||||
finally:
|
|
||||||
# Cerrar la conexión
|
|
||||||
if cursor_FactuGES is not None:
|
|
||||||
cursor_FactuGES.close()
|
|
||||||
|
|
||||||
|
|
||||||
def sync_invoices_from_FACTUGES(conn_mysql, filas, conn_factuges, config):
|
def sync_invoices_from_FACTUGES(conn_mysql, filas, conn_factuges, config):
|
||||||
# Insertaremos cada factura existente en las filas a la nueva estructura de tablas del programa nuevo de facturacion.
|
# Insertaremos cada factura existente en las filas a la nueva estructura de tablas del programa nuevo de facturacion.
|
||||||
# logger.info(f"FACTURAS_CLIENTE_DETALLE rows to be processed: {len(filas)}")
|
# logger.info(f"FACTURAS_CLIENTE_DETALLE rows to be processed: {len(filas)}")
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user