This commit is contained in:
daniel.rodrigues 2026-01-08 13:07:05 -03:00
parent d714c30525
commit ae6a26d27e

View File

@ -287,14 +287,16 @@ def get_db_connection():
# 7) Baixar arquivo e inserir no banco # 7) Baixar arquivo e inserir no banco
# ============================== # ==============================
def download_and_insert_to_db(token, request_id, file_name): def download_and_insert_to_db(token, request_id, file_name, business_unit):
""" """
Faz o download do arquivo exportado e insere os dados no banco de dados. Faz o download do arquivo exportado e insere os dados no banco de dados.
Remove dados existentes para a mesma data e marca antes de inserir.
Args: Args:
token: Token de autenticação token: Token de autenticação
request_id: ID da requisição de exportação request_id: ID da requisição de exportação
file_name: Nome do arquivo (usado apenas para referência) file_name: Nome do arquivo (usado apenas para referência)
business_unit: Unidade de negócio (BOT, OUI, QDB)
Returns: Returns:
True se o download e inserção foram bem-sucedidos, False caso contrário True se o download e inserção foram bem-sucedidos, False caso contrário
@ -391,12 +393,28 @@ def download_and_insert_to_db(token, request_id, file_name):
cursor = conn.cursor() cursor = conn.cursor()
print(f"✓ Conectado ao banco de dados!") print(f"✓ Conectado ao banco de dados!")
print(f"\nInserindo dados na tabela RupturaG...")
# Calcular a data de ruptura (dia anterior) # Calcular a data de ruptura (dia anterior)
dt_ruptura = (datetime.now() - timedelta(days=1)).date() dt_ruptura = (datetime.now() - timedelta(days=1)).date()
print(f"Data de ruptura: {dt_ruptura}") print(f"Data de ruptura: {dt_ruptura}")
# Deletar dados existentes para a mesma data e marca
print(f"\nVerificando dados existentes para {business_unit} em {dt_ruptura}...")
delete_query = """
DELETE FROM RupturaG
WHERE dt_ruptura = ? AND Marca = ?
"""
cursor.execute(delete_query, dt_ruptura, business_unit)
rows_deleted = cursor.rowcount
conn.commit()
if rows_deleted > 0:
print(f"{rows_deleted} registros anteriores removidos para {business_unit} em {dt_ruptura}")
else:
print(f"✓ Nenhum registro anterior encontrado para {business_unit} em {dt_ruptura}")
print(f"\nInserindo dados na tabela RupturaG...")
# Inserir os dados linha por linha # Inserir os dados linha por linha
insert_query = """ insert_query = """
INSERT INTO RupturaG ( INSERT INTO RupturaG (
@ -510,7 +528,7 @@ def processar_marca(token, business_unit, cycle):
return False return False
# 3. Fazer o download do arquivo e inserir no banco # 3. Fazer o download do arquivo e inserir no banco
download_success = download_and_insert_to_db(token, request_id, file_name) download_success = download_and_insert_to_db(token, request_id, file_name, business_unit)
if download_success: if download_success:
print(f"\n{'='*60}") print(f"\n{'='*60}")