novo pilar tipo: termo (valor 5 no enum), lançado como uma linha por lote com manual: true e uma coluna nova quantidade. O valor_aplicado guarda o total do lote (qtd × preço), então recalcular_motorista! e todas as somas existentes seguem corretas sem mudança — linhas antigas ficam com quantidade = 1.

This commit is contained in:
2026-06-26 09:32:59 -03:00
parent f42949db78
commit 09867c8d39
17 changed files with 256 additions and 17 deletions

View File

@@ -46,7 +46,9 @@ module Pdf
secao "PROVENTOS E DESCONTOS"
resumo = @entregas.group(:tipo).count
# `quantidade` (default 1) conta as entregas de termo lançadas em lote;
# para os demais pilares equivale ao número de linhas.
resumo = @entregas.group(:tipo).sum(:quantidade)
# Lista os quatro pilares sempre (Normal, Retirada, Bônus, Desconto),
# mesmo zerados, para o motorista ver o descritivo completo.
por_tipo = ConsolidacaoEntrega::TIPO_CORES.map do |tipo, cfg|