Files
GTI_GERENCIADOR_FISCAL/app/db/chaves.py
T

32 lines
849 B
Python

"""
Leitura somente-leitura de Clientes_Chaves (tabela legada — ver
licenciamento-n8n/docs/MAPEAMENTO_BANCO.md seção 3). O painel NUNCA escreve
aqui; só mostra status para conferência.
"""
from .connection import get_connection
MESES = [f"M{i}" for i in range(1, 13)]
def status_chaves(codigo: str) -> dict | None:
conn = get_connection()
try:
with conn.cursor() as cur:
colunas = ", ".join(MESES)
cur.execute(
f"SELECT ID, Cliente, {colunas} FROM Clientes_Chaves WHERE ID = %s",
(codigo,),
)
linha = cur.fetchone()
finally:
conn.close()
if linha is None:
return None
return {
"codigo": linha["ID"],
"cliente": linha["Cliente"],
"meses": {mes: (linha[mes] or None) for mes in MESES},
}