, Correçoes UX consolidaçoes e de backa-end
This commit is contained in:
@@ -124,8 +124,20 @@ module Analytics
|
||||
if ids.empty?
|
||||
{}
|
||||
else
|
||||
# O EXISTS espelha o `ConsolidacaoMotorista.ativos` de `registros`, e por
|
||||
# PAR (consolidação, motorista) — filtrar só por nome não basta: o
|
||||
# mesmo motorista pode estar ativo numa consolidação do período e
|
||||
# arquivado em outra, e aí os lançamentos da arquivada entravam nesta
|
||||
# contagem enquanto o R$ da mesma linha os excluía. Arquivar motorista
|
||||
# é reversível e NÃO apaga consolidacao_entregas (só o excluir apaga).
|
||||
ConsolidacaoEntrega.where(consolidacao_id: ids,
|
||||
motorista_nome: registros.map(&:motorista_nome).uniq)
|
||||
.where(<<~SQL.squish)
|
||||
EXISTS (SELECT 1 FROM consolidacao_motoristas cm
|
||||
WHERE cm.consolidacao_id = consolidacao_entregas.consolidacao_id
|
||||
AND cm.motorista_nome = consolidacao_entregas.motorista_nome
|
||||
AND cm.arquivado_em IS NULL)
|
||||
SQL
|
||||
.group(:motorista_nome)
|
||||
.sum(:quantidade)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user