att
This commit is contained in:
parent
292bc45582
commit
d097d7b5b9
@ -427,6 +427,29 @@ def worker_inserir_banco(fila, conn_string, stats, stop_event):
|
||||
conn.close()
|
||||
|
||||
|
||||
def deletar_dados_existentes(data_venda):
|
||||
"""Deleta dados existentes para a data especificada antes de inserir novos"""
|
||||
try:
|
||||
conn = pyodbc.connect(CONNECTION_STRING)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# Deletar da tabela principal (itens e pagamentos são deletados automaticamente pelo CASCADE)
|
||||
cursor.execute("DELETE FROM Grgb_sales_receipts WHERE sale_date = ?", data_venda)
|
||||
deleted_count = cursor.rowcount
|
||||
conn.commit()
|
||||
|
||||
if deleted_count > 0:
|
||||
print(f" 🗑️ Deletados: {deleted_count} registros existentes")
|
||||
|
||||
cursor.close()
|
||||
conn.close()
|
||||
return deleted_count
|
||||
|
||||
except Exception as e:
|
||||
print(f" ⚠ Erro ao deletar dados existentes: {e}")
|
||||
return 0
|
||||
|
||||
|
||||
def processar_dia(data_venda, fila, stats):
|
||||
"""Processa um dia específico - busca da API e coloca na fila"""
|
||||
|
||||
@ -437,7 +460,12 @@ def processar_dia(data_venda, fila, stats):
|
||||
print(f" {data_venda}: Nenhum registro")
|
||||
return True # Sucesso, apenas não tem dados
|
||||
|
||||
print(f" {data_venda}: {total} registros, buscando...")
|
||||
print(f" {data_venda}: {total} registros encontrados na API")
|
||||
|
||||
# Deletar dados existentes para esta data antes de inserir os novos
|
||||
deletar_dados_existentes(data_venda)
|
||||
|
||||
print(f" {data_venda}: Buscando dados da API...")
|
||||
|
||||
# Calcular páginas
|
||||
paginas = list(range(0, total, PAGE_SIZE))
|
||||
@ -557,9 +585,10 @@ def processar_periodo(data_inicio_str, data_fim_str):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Configuração do período
|
||||
DATA_INICIO = "2025-09-24"
|
||||
DATA_FIM = datetime.now().strftime('%Y-%m-%d') # Hoje
|
||||
# Configuração do período - sempre pega o dia anterior (ontem)
|
||||
ONTEM = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d')
|
||||
DATA_INICIO = ONTEM
|
||||
DATA_FIM = ONTEM
|
||||
|
||||
# Permite passar datas como argumentos: python script.py 2025-09-24 2025-12-31
|
||||
if len(sys.argv) >= 3:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user