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

@@ -9,6 +9,7 @@ class Configuracao < ApplicationRecord
preco_bonus
preco_desconto
preco_extraordinaria
preco_termo
notificacao_whatsapp
notificacao_email
empresa_nome
@@ -21,6 +22,7 @@ class Configuracao < ApplicationRecord
preco_bonus
preco_desconto
preco_extraordinaria
preco_termo
].freeze
validates :chave, presence: true, inclusion: { in: CHAVES }, uniqueness: true
@@ -52,6 +54,10 @@ class Configuracao < ApplicationRecord
valor('preco_extraordinaria').to_f
end
def self.preco_termo
valor('preco_termo').to_f
end
# Mapa usado pelo DashboardController (Fase 3)
def self.mapa_de_precos
{
@@ -59,7 +65,8 @@ class Configuracao < ApplicationRecord
retirada: preco_retirada,
bonus: preco_bonus,
desconto: preco_desconto,
extraordinaria: preco_extraordinaria
extraordinaria: preco_extraordinaria,
termo: preco_termo
}
end
@@ -69,6 +76,7 @@ class Configuracao < ApplicationRecord
'preco_bonus' => 'Bônus',
'preco_desconto' => 'Desconto',
'preco_extraordinaria' => 'Entrega Extraordinária',
'preco_termo' => 'Entrega de Termo',
'notificacao_whatsapp' => 'Notificação WhatsApp',
'notificacao_email' => 'Notificação E-mail',
'empresa_nome' => 'Nome da Empresa'
@@ -80,6 +88,7 @@ class Configuracao < ApplicationRecord
'preco_bonus' => '⭐',
'preco_desconto' => '⚠️',
'preco_extraordinaria' => '✨',
'preco_termo' => '📄',
'notificacao_whatsapp' => '💬',
'notificacao_email' => '✉️',
'empresa_nome' => '🏢'