Criação da tela de clientes e relatórios
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-08-11 13:14:54 -03:00
parent bcf9861e97
commit 950eb2a826
7 changed files with 595 additions and 181 deletions

View File

@@ -93,8 +93,9 @@ async def editar_parametro(param_id: int, request: Request):
async with AsyncSessionLocal() as session:
param = await session.get(ParametrosFormula, param_id)
if param:
param.tipo = data.get("tipo", param.tipo)
param.nome = data.get("nome", param.nome)
param.formula = data.get("formula", param.formula)
param.ativo = data.get("ativo", param.ativo)
await session.commit()
return {"success": True}
return {"success": False, "error": "Não encontrado"}
@@ -140,21 +141,21 @@ async def adicionar_aliquota(aliq: AliquotaUFSchema, db: AsyncSession = Depends(
@router.get("/parametros/formulas", response_model=List[ParametrosFormulaSchema])
async def listar_formulas(db: AsyncSession = Depends(get_session)):
result = await db.execute(select(ParametrosFormula).order_by(ParametrosFormula.tipo))
result = await db.execute(select(ParametrosFormula).order_by(ParametrosFormula.nome))
return result.scalars().all()
@router.post("/parametros/formulas")
async def salvar_formula(form: ParametrosFormulaSchema, db: AsyncSession = Depends(get_session)):
result = await db.execute(
select(ParametrosFormula).filter_by(tipo=form.tipo)
select(ParametrosFormula).filter_by(nome=form.nome)
)
existente = result.scalar_one_or_none()
if existente:
existente.formula = form.formula
existente.campos = form.campos
existente.ativo = form.ativo
else:
novo = ParametrosFormula(**form.dict())
novo = ParametrosFormula(nome=form.nome, formula=form.formula, ativo=form.ativo)
db.add(novo)
await db.commit()