14-16 Mar 2026
Voltar ao catalogo

Contadores de veiculos nao restaurados em cancelamento ou recusa

P-08
HighAchado ConfirmadoIntegridade de DadosRodada 2

Descricao

QuantidadeCarros decrementado a cada aceite e nunca restaurado em cancelamento/recusa. Contadores caem permanentemente.

Evidencia
`OfertasAceiteResultApplier.cs` decrementa. `OfertaAtualizacaoService.cs` processa cancelamentos sem restaurar contadores.
Impacto Tecnico

Apos aceite + cancelamento, contador cai de N para N-1 permanentemente. Rotas esgotam-se prematuramente.

Impacto de Negocio

Perda de oportunidades de frete. Capacidade operacional reduzida incorretamente.

Recomendacao

Implementar restauracao de contador quando status mudar para RECUSADO_APOS_ACEITE ou CANCELADO.

Arquivos Afetados

aspnet-core/src/cargo_fleet.Application/Ofertas/Aceite/OfertasAceiteResultApplier.csaspnet-core/src/cargo_fleet.Application/Ofertas/Atualizacao/OfertaAtualizacaoService.cs
{
  "id": "P-08",
  "title": "Contadores de veiculos nao restaurados em cancelamento ou recusa",
  "severity": "High",
  "type": "achado confirmado",
  "category": "data-integrity",
  "description": "`QuantidadeCarros` decrementado a cada aceite e nunca restaurado em cancelamento/recusa. Contadores caem permanentemente.",
  "evidence": "`OfertasAceiteResultApplier.cs` decrementa. `OfertaAtualizacaoService.cs` processa cancelamentos sem restaurar contadores.",
  "technicalImpact": "Apos aceite + cancelamento, contador cai de N para N-1 permanentemente. Rotas esgotam-se prematuramente.",
  "businessImpact": "Perda de oportunidades de frete. Capacidade operacional reduzida incorretamente.",
  "recommendation": "Implementar restauracao de contador quando status mudar para `RECUSADO_APOS_ACEITE` ou `CANCELADO`.",
  "files": [
    "aspnet-core/src/cargo_fleet.Application/Ofertas/Aceite/OfertasAceiteResultApplier.cs",
    "aspnet-core/src/cargo_fleet.Application/Ofertas/Atualizacao/OfertaAtualizacaoService.cs"
  ],
  "pass": 2,
  "relatedActions": [
    "ACT-5.3.1",
    "ACT-5.3.2"
  ]
}