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()
|
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):
|
def processar_dia(data_venda, fila, stats):
|
||||||
"""Processa um dia específico - busca da API e coloca na fila"""
|
"""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")
|
print(f" {data_venda}: Nenhum registro")
|
||||||
return True # Sucesso, apenas não tem dados
|
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
|
# Calcular páginas
|
||||||
paginas = list(range(0, total, PAGE_SIZE))
|
paginas = list(range(0, total, PAGE_SIZE))
|
||||||
@ -557,9 +585,10 @@ def processar_periodo(data_inicio_str, data_fim_str):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# Configuração do período
|
# Configuração do período - sempre pega o dia anterior (ontem)
|
||||||
DATA_INICIO = "2025-09-24"
|
ONTEM = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d')
|
||||||
DATA_FIM = datetime.now().strftime('%Y-%m-%d') # Hoje
|
DATA_INICIO = ONTEM
|
||||||
|
DATA_FIM = ONTEM
|
||||||
|
|
||||||
# Permite passar datas como argumentos: python script.py 2025-09-24 2025-12-31
|
# Permite passar datas como argumentos: python script.py 2025-09-24 2025-12-31
|
||||||
if len(sys.argv) >= 3:
|
if len(sys.argv) >= 3:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user