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
|
# Lançamentos manuais do motorista (apontamentos + termo) — feedback no resumo
|
||||||
# e na barra de progresso. Ficam fora do conjunto elegível do período.
|
# e na barra de progresso. Ficam fora do conjunto elegível do período.
|
||||||
@manuais = @consolidacao.consolidacao_entregas
|
@manuais = contar_manuais(@consolidacao.consolidacao_entregas
|
||||||
.where(motorista_nome: @motorista, manual: true)
|
.where(motorista_nome: @motorista, manual: true))
|
||||||
.distinct.count(:tracking_id)
|
|
||||||
|
|
||||||
# Filtro "apenas não classificadas"
|
# Filtro "apenas não classificadas"
|
||||||
if params[:apenas_pendentes] == '1'
|
if params[:apenas_pendentes] == '1'
|
||||||
@@ -441,6 +440,13 @@ class ConsolidacaoEntregasController < ApplicationController
|
|||||||
@consolidacao.recalcular_motorista!(nome)
|
@consolidacao.recalcular_motorista!(nome)
|
||||||
end
|
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
|
# `vehicle` (opcional): quando presente, `classificadas_escopo` reflete só aquele
|
||||||
# carro (para a barra de progresso por veículo). `veiculos_status` acompanha o
|
# carro (para a barra de progresso por veículo). `veiculos_status` acompanha o
|
||||||
# payload para o front atualizar os chips sem recarregar.
|
# payload para o front atualizar os chips sem recarregar.
|
||||||
@@ -457,8 +463,8 @@ class ConsolidacaoEntregasController < ApplicationController
|
|||||||
ok: true,
|
ok: true,
|
||||||
classificadas: classificadas,
|
classificadas: classificadas,
|
||||||
classificadas_escopo: escopo,
|
classificadas_escopo: escopo,
|
||||||
manuais: classificacoes.where(manual: true).distinct.count(:tracking_id),
|
manuais: contar_manuais(classificacoes.where(manual: true)),
|
||||||
por_tipo: classificacoes.group(:tipo).count,
|
por_tipo: classificacoes.group(:tipo).sum(:quantidade),
|
||||||
valor_total: classificacoes.sum { |e| e.tipo == 'desconto' ? -e.valor_aplicado : e.valor_aplicado }.to_f,
|
valor_total: classificacoes.sum { |e| e.tipo == 'desconto' ? -e.valor_aplicado : e.valor_aplicado }.to_f,
|
||||||
veiculos_status: status
|
veiculos_status: status
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -386,7 +386,7 @@
|
|||||||
<%= raw({
|
<%= raw({
|
||||||
classificadas: @classificadas,
|
classificadas: @classificadas,
|
||||||
manuais: @manuais,
|
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
|
valor_total: _todas.sum { |c| c.tipo == 'desconto' ? -c.valor_aplicado : c.valor_aplicado }.to_f
|
||||||
}.to_json) %>
|
}.to_json) %>
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
Reference in New Issue
Block a user