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:
@@ -0,0 +1,9 @@
|
||||
# Adiciona `quantidade` aos pilares da consolidação. Usado pelas "entregas de
|
||||
# termo" (lote de N termos lançado numa única linha). Linhas existentes/demais
|
||||
# pilares ficam com quantidade = 1 e seguem inalteradas — o valor_aplicado já
|
||||
# guarda o total da linha, então as somas existentes continuam corretas.
|
||||
class AddQuantidadeToConsolidacaoEntregas < ActiveRecord::Migration[7.1]
|
||||
def change
|
||||
add_column :consolidacao_entregas, :quantidade, :integer, null: false, default: 1
|
||||
end
|
||||
end
|
||||
18
db/migrate/20260626000002_add_preco_termo_configuracao.rb
Normal file
18
db/migrate/20260626000002_add_preco_termo_configuracao.rb
Normal file
@@ -0,0 +1,18 @@
|
||||
# Cria a configuração de preço "Entrega de Termo" em bancos já existentes, para
|
||||
# que apareça na tela de Configurações. Idempotente — não sobrescreve se o admin
|
||||
# já tiver definido um valor.
|
||||
class AddPrecoTermoConfiguracao < ActiveRecord::Migration[7.1]
|
||||
def up
|
||||
return if Configuracao.exists?(chave: 'preco_termo')
|
||||
|
||||
Configuracao.create!(
|
||||
chave: 'preco_termo',
|
||||
valor: '15.00',
|
||||
descricao: 'Valor pago por entrega de termo (R$)'
|
||||
)
|
||||
end
|
||||
|
||||
def down
|
||||
Configuracao.where(chave: 'preco_termo').delete_all
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user