~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Analisar Crítica de Abastecimento ====== Este caso de uso é utilizado para analisar os itens cadastrados em abastecimento pelos usuários. ===== Descrição do Caso de Uso ===== O caso de uso é acionado quando o usuário acessa a opção: SIPAC -> Módulo Transportes -> Aba Veículo-> Crítica de Cadastro -> Processamento Manual de Críticas ([[#principais regras de negócio|RN01]]). O caso de uso começa quando acessamos o link, e é executado o processamentos dos itens cadastrados na base de dados. Os itens de abastecimento cadastrados são analisados sob regras, caso estejam configurada como ativas deverão ser cadastradas ocorrências para: * **Abastecimento Consecutivo** ([[#principais regras de negócio|RN02]]). * **Verificação do odômetro** ([[#principais regras de negócio|RN03]]). * **Combustível incompatível** ([[#principais regras de negócio|RN04]]). * **Valor do combustível anormal** ([[#principais regras de negócio|RN05]]). * **Excede capacidade do tanque** ([[#principais regras de negócio|RN06]]). * **Consumo elevado** ([[#principais regras de negócio|RN07]]). * **Data de postagem anterior a da transação** ([[#principais regras de negócio|RN08]]). * **Abastecimento suspeito** ([[#principais regras de negócio|RN09]]). O caso de uso é finalizado. ===== Principais Regras de Negócio ===== * **RN01** - Para ter acesso a este caso de uso, o usuário logado deve ter um dos seguintes papeis: SipacPapeis.GESTOR_TRANSPORTES_VEICULO, SipacPapeis.GESTOR_TRANSPORTES_UNIDADES ou SipacPapeis.GESTOR_TRANSPORTES_GLOBAL. * **RN02** - Deverá ser cadastrada uma ocorrência para instantes entre abastecimentos muito próximos. * **RN03** - Deverá ser cadastrada uma ocorrência quando o odômetro do veículo for menor ou igual que o abastecimento anterior. * **RN04** - Deverá ser cadastrada uma ocorrência quando o veículo for abastecido com um combustível diferente do que o especificado em seu cadastro. * **RN05** - Deverá ser cadastrada uma ocorrência quando o veículo for abastecido com um combustível de valor abaixo ou acima da média da região. Ou seja, quando o valor do combustível estiver uma porcentagem acima ou abaixo do desvio padrão do valor do combusível. O desvio padrão amostral pode ser calculado através da seguinte formula: {{:desenvolvimento:especificacoes:sipac:transportes:casos_de_uso:veiculo:abastecimento:estat06.gif|}}, onde **n** é o número de ocorrências, e {{:desenvolvimento:especificacoes:sipac:transportes:casos_de_uso:veiculo:abastecimento:mediaa.png|}}, ou seja a média aritimética. * **RN06** - Deverá ser cadastrada uma ocorrência quando o veículo for abastecido com uma quantidade de combustível superior a sua capacidade. * **RN07** - Deverá ser cadastrada uma ocorrência quando o veículo estiver com um consumo muito acima do especificado em seu cadastro. * **RN08** - Deverá ser cadastrada uma ocorrência quando o cadastro do abastecimento tiver a data de transação inferior a data de postagem. * **RN09** - Deverá ser cadastrada uma ocorrência quando o veículo for abastecido várias vezes em um mesmo estabelecimento em um curto prazo. ==== Resoluções/Legislações Associadas ==== Não se aplica. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | | br.ufrn.sipac.transportes.dominio.TipoCombustivel | administrativo.transporte.tipo_combustivel | | br.ufrn.sipac.transportes.dominio.AbastecimentoVeiculo | administrativo.transporte.abastecimento | | br.ufrn.sipac.transportes.dominio.Critica | administrativo.transporte.critica | | br.ufrn.sipac.transportes.dominio.OcorrenciaCritica | administrativo.transporte.ocorrencia_critica | ====== Plano de Teste ====== Sistema: SIPAC Módulo: TRANSPORTES Link(s): SIPAC -> Módulo Transportes -> Aba Veículo-> Crítica de Cadastro -> Processamento Manual de Críticas Usuários: bergue (Gestor de Transportes Unidades). Papel que usuário deve ter: SipacPapeis.GESTOR_TRANSPORTES_VEICULO, SipacPapeis.GESTOR_TRANSPORTES_UNIDADES ou SipacPapeis.GESTOR_TRANSPORTES_GLOBAL. ===== Cenários de Teste ===== Para verificar se os dados na base de dados foram criticados corretamente, deve-se acessar os dados diretamente na tabela transporte.ocorrencia_critica. select oc.*, c.nome, a.* from transporte.ocorrencia_critica oc, transporte.critica c, transporte.abastecimento a where oc.id_critica = c.id_critica and oc.id_objeto_criticado = a.id_abastecimento; ===== Dados para o Teste ===== Não se aplica!