Implantação da criação de romaneios

This commit is contained in:
2026-08-27 19:51:38 -03:00
parent b3464e3acd
commit e2b74068d5
13 changed files with 497 additions and 39 deletions

View File

@@ -45,6 +45,23 @@ class Romaneio < ApplicationRecord
@contagem_por_veiculo ||= linhas_vigentes.reorder(nil).group(:veiculo).count
end
# { novos: 184, recorrentes: 1863 } — quantos pacientes recebem APARELHO.
#
# POR QUE APARECE NA TELA: é a conferência que o programa antigo fazia com uma
# caixa de diálogo ("184 entrega(s) marcada(s) como NOVO") logo depois de
# carregar o status. Sem esse número, um romaneio importado SEM operação
# vinculada — em que ninguém é marcado como novo — parece idêntico a um
# importado certo, e o erro só aparece no papel, com aparelho não entregue.
# "0 novos" na tela é a pergunta que o operador precisa se fazer.
def contagem_aparelho
@contagem_aparelho ||= begin
grupos = linhas_vigentes.reorder(nil).group(:aparelho).count
total = grupos.values.sum
novos = grupos.sum { |valor, qtd| valor.to_s.strip.casecmp('SIM').zero? ? qtd : 0 }
{ novos: novos, recorrentes: total - novos }
end
end
def folhas_de(veiculo)
total = contagem_por_veiculo[veiculo].to_i
return 1 if total.zero?