Correção na contagem de entrega de termo no resumo
This commit is contained in:
@@ -50,9 +50,8 @@ class ConsolidacaoEntregasController < ApplicationController
|
||||
|
||||
# Lançamentos manuais do motorista (apontamentos + termo) — feedback no resumo
|
||||
# e na barra de progresso. Ficam fora do conjunto elegível do período.
|
||||
@manuais = @consolidacao.consolidacao_entregas
|
||||
.where(motorista_nome: @motorista, manual: true)
|
||||
.distinct.count(:tracking_id)
|
||||
@manuais = contar_manuais(@consolidacao.consolidacao_entregas
|
||||
.where(motorista_nome: @motorista, manual: true))
|
||||
|
||||
# Filtro "apenas não classificadas"
|
||||
if params[:apenas_pendentes] == '1'
|
||||
@@ -441,6 +440,13 @@ class ConsolidacaoEntregasController < ApplicationController
|
||||
@consolidacao.recalcular_motorista!(nome)
|
||||
end
|
||||
|
||||
# Conta lançamentos manuais como ENTREGAS: cada termo vale `quantidade` (lote
|
||||
# numa só linha); os demais apontamentos manuais valem 1 por nota (tracking).
|
||||
def contar_manuais(rel_manual)
|
||||
rel_manual.termo.sum(:quantidade) +
|
||||
rel_manual.where.not(tipo: ConsolidacaoEntrega.tipos[:termo]).distinct.count(:tracking_id)
|
||||
end
|
||||
|
||||
# `vehicle` (opcional): quando presente, `classificadas_escopo` reflete só aquele
|
||||
# carro (para a barra de progresso por veículo). `veiculos_status` acompanha o
|
||||
# payload para o front atualizar os chips sem recarregar.
|
||||
@@ -457,8 +463,8 @@ class ConsolidacaoEntregasController < ApplicationController
|
||||
ok: true,
|
||||
classificadas: classificadas,
|
||||
classificadas_escopo: escopo,
|
||||
manuais: classificacoes.where(manual: true).distinct.count(:tracking_id),
|
||||
por_tipo: classificacoes.group(:tipo).count,
|
||||
manuais: contar_manuais(classificacoes.where(manual: true)),
|
||||
por_tipo: classificacoes.group(:tipo).sum(:quantidade),
|
||||
valor_total: classificacoes.sum { |e| e.tipo == 'desconto' ? -e.valor_aplicado : e.valor_aplicado }.to_f,
|
||||
veiculos_status: status
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@
|
||||
<%= raw({
|
||||
classificadas: @classificadas,
|
||||
manuais: @manuais,
|
||||
por_tipo: _todas.group_by(&:tipo).transform_values(&:size),
|
||||
por_tipo: _todas.group_by(&:tipo).transform_values { |arr| arr.sum(&:quantidade) },
|
||||
valor_total: _todas.sum { |c| c.tipo == 'desconto' ? -c.valor_aplicado : c.valor_aplicado }.to_f
|
||||
}.to_json) %>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user