This commit is contained in:
daniel.rodrigues 2026-01-09 10:27:03 -03:00
parent cc3fea3629
commit acc3f50eee

View File

@ -288,16 +288,17 @@ def get_db_connection():
# 7) Baixar arquivo e inserir no banco
# ==============================
def download_and_insert_to_db(token, request_id, file_name, business_unit):
def download_and_insert_to_db(token, request_id, file_name, business_unit, cycle):
"""
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.
Remove dados existentes para a mesma data, marca e ciclo antes de inserir.
Args:
token: Token de autenticação
request_id: ID da requisição de exportação
file_name: Nome do arquivo (usado apenas para referência)
business_unit: Unidade de negócio (BOT, OUI, QDB)
cycle: Ciclo formatado (ex: 202516)
Returns:
True se o download e inserção foram bem-sucedidos, False caso contrário
@ -399,20 +400,20 @@ def download_and_insert_to_db(token, request_id, file_name, business_unit):
dt_ruptura = (datetime.now() - timedelta(days=1)).date()
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}...")
# Deletar dados existentes para a mesma data, marca e ciclo
print(f"\nVerificando dados existentes para {business_unit} - Ciclo {cycle} em {dt_ruptura}...")
delete_query = """
DELETE FROM RupturaG
WHERE dt_ruptura = ? AND Marca = ?
WHERE dt_ruptura = ? AND Marca = ? AND Ciclo = ?
"""
cursor.execute(delete_query, dt_ruptura, business_unit)
cursor.execute(delete_query, dt_ruptura, business_unit, cycle)
rows_deleted = cursor.rowcount
conn.commit()
if rows_deleted > 0:
print(f"{rows_deleted} registros anteriores removidos para {business_unit} em {dt_ruptura}")
print(f"{rows_deleted} registros anteriores removidos para {business_unit} - Ciclo {cycle} em {dt_ruptura}")
else:
print(f"✓ Nenhum registro anterior encontrado para {business_unit} em {dt_ruptura}")
print(f"✓ Nenhum registro anterior encontrado para {business_unit} - Ciclo {cycle} em {dt_ruptura}")
print(f"\nInserindo dados na tabela RupturaG...")
@ -529,7 +530,7 @@ def processar_marca(token, business_unit, cycle):
return False
# 3. Fazer o download do arquivo e inserir no banco
download_success = download_and_insert_to_db(token, request_id, file_name, business_unit)
download_success = download_and_insert_to_db(token, request_id, file_name, business_unit, cycle)
if download_success:
print(f"\n{'='*60}")