Correção de horario e implantação da geração de Romaneio

This commit is contained in:
2026-08-27 16:21:56 -03:00
parent a0aafe62fc
commit ad1a071e4b
51 changed files with 3450 additions and 46 deletions

View File

@@ -0,0 +1,26 @@
# Uma FOLHA do romaneio: um veículo, uma página A4 paisagem.
#
# Motorista e ordem de página são atributos da FOLHA, não da linha de entrega.
# Guardá-los em cada linha significaria um UPDATE de 30 linhas a cada tecla e uma
# ambiguidade que o PDF não sabe resolver ("qual dos 30 nomes eu imprimo?").
# É a mesma lição de 20260703000001 (vehicle desnormalizado em consolidacao_entregas)
# → 20260703000002 (create_consolidacao_veiculos), no dia seguinte.
#
# ⚠️ O nome do motorista NÃO é impresso: o rodapé traz a linha "MOTORISTA: ____"
# para preenchimento à mão (é assim que o documento é assinado hoje). O campo existe
# para o operador saber, NA TELA, de quem é cada carro enquanto revisa.
class CreateRomaneioVeiculos < ActiveRecord::Migration[7.1]
def change
create_table :romaneio_veiculos do |t|
t.references :romaneio, null: false, foreign_key: true
t.string :veiculo, null: false
t.string :motorista, null: false, default: ''
t.integer :posicao, null: false, default: 0 # ordem das páginas no PDF
t.timestamps
end
add_index :romaneio_veiculos, %i[romaneio_id veiculo],
unique: true, name: 'idx_romaneio_veiculo_unico'
end
end