====== Cadastrar Requisição de Obra ======
Este caso de uso realiza o cadastro da requisição de infraestrutura do tipo obra. Pode ser utilizado por todos os usuários que tenham permissão para cadastrar requisição de infraestrutura.
Pré-condição: É preciso que o usuário tenha permissão de REQUISITOR (Acesso pelo Portal Administrativo), REQUISITOR DE SUPINFRA (Acesso pelo Portal Administrativo), SUPERINTENDENTE DE INFRAESTRUTURA, GESTOR DE OBRAS (Para acesso pelo módulo), GESTOR DE MEIO AMBIENTE.
===== Descrição do Caso de Uso =====
Este caso de uso é iniciado quando o Ator acessa o sistema e seleciona a opção: SIPAC -> Infraestrutura -> aba Requisições -> Requisições -> Cadastrar Requisição de Obra. ([[#Principais Regras de Negócio|RN017]])
**Passo 1**
O sistema solicita ao usuário o Tipo da Requisição especificados nos casos de uso:
* **Unidade de Origem***: Informar Código ou Nome da Unidade. O sistema exibe opção para efetuar a busca de unidades. [[desenvolvimento:especificacoes:sipac:fluxos:fluxo_unidade#descrição_do_fluxo| Consulta de Unidades]]. (Quando acessado pelo portal administrativo)
* **Tipo de Obra***: O sistema exibe as opções ''NOVA'', ''AMPLIAÇÃO COM REFORMA'', ''REFORMA'' e ''AMPLIAÇÃO'' ( [[#Principais Regras de Negócio|RN09]] ).
O sistema solicita as informações do Imóvel ([[#Principais Regras de Negócio|RN08]]), ([[#Principais Regras de Negócio|RN09]]):
* **Imóvel/Terreno:*** Tipo - TEXTO. ( [[#Principais Regras de Negócio|RN02]] )
* **Zona do Imóvel:*** Tipo - TEXTO ( [[#Principais Regras de Negócio|RN02]] ), ( [[#Principais Regras de Negócio|RN06]]).
* **Edificação/Benfeitoria:*** Tipo - TEXTO ([[#Principais Regras de Negócio|RN03]]), ([[#Principais Regras de Negócio|RN07]]).
O Ator confirma a inserção das informações do imóvel e o sistema exibe lista de Imóveis/Prédios inseridos - ([[#Principais Regras de Negócio|RN01]]), ([[#Principais Regras de Negócio|RN08]]), ([[#Principais Regras de Negócio|RN09]]):
* **__Tipo__:*** Tipo - TEXTO.
* **__Município__:*** Tipo - TEXTO.
* **__Campus__:*** Tipo - TEXTO.
* **__Imóvel__:*** Tipo - TEXTO.
* **__Prédio__:*** Tipo - TEXTO.
* **__Zona__:*** Tipo - TEXTO.
* **__Usuário__:*** Tipo - TEXTO.
Informações da Fonte de Recursos
* **Fonte de Recurso:** Tipo - NUMÉRICO. (omitido pela tarefa 159217 em 11/06/2015)
* **Justificativa:*** Tipo - TEXTO.
O sistema solicita os dados do solicitante (exibir quando o tipo for obra ou manutenção):
* **Nome*** Tipo - TEXTO.
* **Telefone*** Tipo - TEXTO.
* **Ramal*** Tipo - TEXTO.
* **E-mail*** Tipo - TEXTO.
* **Horário para Atendimento*** Tipo - TEXTO.
O sistema solicita as informações de descrição da obra:
* **Descrição:*** Tipo - TEXTO.
* **Local:*** Tipo - TEXTO.
* **Descrição Complementar:** Tipo - TEXTO. (Campo editável com o objetivo de complementar a descrição da obras). O Sistema exibe este campo na alteração do caso de uso quando acessado pelo módulo infraestrutura.
* **Observação:** Tipo - TEXTO.
O sistema solicita anexo de documentos: ([[#Principais Regras de Negócio|RN16]])
* **Descrição do documento:** Tipo - TEXTO.
* **Arquivo:** Tipo - TEXTO.
* Opção para incluir o anexo. O usuário pode incluir mais de um documento.
O sistema apresenta lista de anexos inseridos. ([[#Principais Regras de Negócio|RN16]])
* **__Descrição do Documento__:** Tipo - TEXTO.
* **__Arquivo__:** Tipo - TEXTO.
* Opção para remover o anexo inserido.
O sistema exibe lista de requisições não finalizadas com as informações:
* **__Número e ano da Requisição__**
* **__Status__**
* **__Descrição__**
* Para cada requisição exibida, o sistema mostra opção de visualizar a requisição: [[desenvolvimento:especificacoes:sipac:fluxos:fluxo_historico_requisicao#descri%C3%A7%C3%A3o_do_fluxo| Visualizar Histórico da Requisição]].
**Passo 2**
O sistema exibe as informações da requisição:
* **__Natureza da Despesa__:** Tipo - Texto. Esta informação está associada ao tipo de obra escolhido.
* **__Requisição gravada pelo Usuário__** Tipo - Texto.
* **__Data de Cadastro__** Tipo - Data.
* **__Unidade Requisitante__:** Tipo - Texto.
* **__Descrição__:**Tipo - Texto.
* **__Local__:** Tipo - Texto.
* **__Observação__:** Tipo - Texto.
* **__Representante da Unidade de Origem__:** Tipo - Texto.
* **__Telefone do Representante__:** Tipo - Texto.
* **__Ramal__:** Tipo - Texto.
* **__Email__:** Tipo - Texto.
O sistema exibe as informações do imóvel:
* **__Tipo de Obra__:*** Tipo - TEXTO.
* **__Denominação__:*** Tipo - TEXTO.
O sistema solicita ao usuário que informe a unidade de custo:
* **Unidade de Custo: ** Informar Código ou Nome para consulta (alterada pela tarefa 159217 em 11/06/2015). ([[#Principais Regras de Negócio|RN11]])
O usuário confirma o cadastro da requisição de obra na opção "Gravar e Enviar" ([[#Principais Regras de Negócio|RN12]]), ([[#Principais Regras de Negócio|RN13]]), ([[#Principais Regras de Negócio|RN14]]).
**Passo 3**
O Sistema exibe mensagem de sucesso e o comprovante da requisição de obra. ([[#Principais Regras de Negócio|RN17]]), ([[#Principais Regras de Negócio|RN18]])
Lista imóveis/Edificações Inseridas
* **Tipo de Obra:** Tipo - Texto.
* **Denominação:** Tipo - Texto.
Informações Gerais da Requisição:
* **__Número da Requisição__:** Tipo - Numérico. Formato: 9.../AAAA.
* **__Data__:** Tipo - Numérico. Formato - dd/mm/aaaa.
* **__Tipo da Requisição__:** REQUISIÇÃO DE OBRAS
* **__Tipo de Obra__:** Ampliação com Reforma
* **__Prédio__:** Formato - Nome (SUB-RIP: 9999.99999.999-9-999)
* **__Status__:** Tipo - Texto.
* **__Requisição gravada pelo Usuário__:** Tipo - Texto.
* **__Unidade Requisitante__:** Tipo - Texto.
* **__Unidade Custo__:** Tipo - Texto.
* **__Descrição da Obra__:** Tipo - Texto.
* **__Local da Obra__:** Tipo - Texto.
* **__Observação__:** Tipo - Texto.
* **__Representante da Unidade de Origem__:** Tipo - Texto.
* **__Telefone(s) do Representante__:** Tipo - Texto. Formato (99) 9999-9999
* **__Ramal__:** Tipo - Texto.
* **__E-mail__:** Tipo - Texto
* **__Horário para Atendimento__:** Tipo - Texto.
O caso de uso é finalizado.
===== Principais Regras de Negócio =====
REGRAS GERAIS:
* **RN01** - O sistema deve permitir inserir mais de um registro de imóvel se o parâmetro PERMITE_INSERIR_MAIS_IMOVEIS for igual TRUE, com as seguintes colunas: Município, Campus (se não houver campus, o sistema deve mostrar a coluna sem a informação do campus), Terreno, zona do terreno (se não houver Zona, o sistema deve mostrar a coluna sem a informação da Zona), usuário e opção para APENAS alterar o registro da lista. Se o parâmetro PERMITE_INSERIR_MAIS_IMOVEIS for FALSE permitir inserir apenas um registro.
* **RN02** - Se tiver cadastrado zoneamento para o terreno mostrar a zona para selecionar, caso contrário não mostrar.
* **RN03** - Quando a requisição for de obra e o tipo de obra for nova o sistema não deve mostrar o prédio.
* **RN04** - O sistema não deve solicitar o campus se a opção de imóveis isolados estiver marcada. Se a opção de imóveis isolados não estiver marcada o sistema deve mostrar os campus do município selecionado.
* **RN05** - O sistema deve mostrar os imóveis contido no campus selecionado pelo usuário. Caso não tenha sido informado o campus o sistema deve exibir para o Ator os imóveis do município selecionado.
* **RN06** - Caso o imóvel tenha zoneamento definido o sistema deve mostrar as zonas do imóvel selecionado.
* **RN07** - Caso o imóvel tenha zoneamento definido o sistema deve mostrar os prédios da zona escolhida pelo ator, se não tem zoneamento mostrar os prédios do imóvel escolhido pelo Ator.
* **RN08** - O Ator só deve visualizar as informações de imóveis se o tipo da requisição for Obra ou Manutenção.
* **RN09** - O sistema só deve solicitar as informações de imóveis o parâmetro UTILIZA_PATRIMONIO_IMOVEL estiver habilitado.
* **RN10** - O usuário que tiver papel de SUPERINTENDENTE DE INFRAESTRUTURA, GESTOR DE MEIO AMBIENTE, GESTOR DE OBRAS ou PROJETISTA SIN poderá realizar o cadastro da requisição através do módulo.
* **RN11** - O sistema deve mostrar somente a unidade do usuário logado e suas subordinadas.
* **RN16** - O usuário pode incluir anexo para os tipos de requisição PLANEJAMENTO DE OBRAS, MEIO AMBIENTE e MANUTENÇÃO.
* **RN17** - O sistema não bloqueia o cadastro da requisição de projeto/obra devido a existir requisição de material (vinculada requisição de manutenção) que está aguardando autorização orçamentária, que foram feitas retroativamente a partir da data definida no parâmetro DESCONSIDERA_REGRA_BLOQUEIO_REQ_INFRA.
* **RN18** - A unidade do usuário logado está bloqueada para novas requisições de infraestrutura devido as seguintes requisições: (AGUARDANDO AUTORIZAÇÃO ORÇAMENTÁRIA): requisições de manutenção xxxx/AAAA. Somente quando a requisição for acessada pelo portal administrativo.
REGRAS ESPECIFICAS:
* **RN12** - **Para requisição de obra:** Gravar e Enviar uma requisição com um usuário sem ser chefe de unidade NÃO vinculada a centro acadêmico. CE: A requisição deve ficar como CADASTRADA, ENVIADA, #PENDENTE DE AUTORIZAÇÃO CHEFE UNIDADE#. O sistema deve encaminhar email (assunto: Requisição de obra para análise/autorização. Corpo do email: com número, ano e descrição da requisição) para à chefia da unidade informando que existe uma requisição de obra para análise/autorização. (Destino da requisição: A requisição deverá ser exibida no caso de uso módulo de infraestrutura -> Planejamento de obras -> Requisições de Planejamento para Licitação ). No final do contrato da requisição informar ao requisitante que a a requisição precisa ser autorizada pelo chefe da unidade (Alterada pela tarefa [[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=161347|#161347]])
* **RN13** - **Para requisição de obra:** Gravar e Enviar uma requisição com um usuário chefe ou não, de unidade vinculada a um centro acadêmico. CE: A requisição deve ficar como CADASTRADA, ENVIADA, e #PENDENTE DE AUTORIZAÇÃO DIREÇÃO CENTRO#. O sistema deve encaminhar email (assunto: Requisição de obra para análise/autorização. Corpo do email: com número, ano e descrição da requisição) para a direção do centro informando que existe uma requisição de obra para análise/autorização. (Destino da requisição: A requisição deverá aparecer no caso de uso portal da direção centro -> menu requisições -> autorizações infraestrutura) (Alterada pela tarefa [[http://www.iproject.ufrn.br/iproject/public/VerTarefa?num=161347|#161347]])
* **RN14** - **Para requisição de obra:** Gravar e Enviar uma requisição com um usuário chefe de unidade NÃO vinculada a um centro acadêmico. CE: A requisição deve ficar como CADASTRADA, ENVIADA, AUTORIZADA PELO CHEFE IMEDIATO. Antes de confirmar o cadastro da requisição o sistema deve solicitar o destino dela: Opções: “Enviar à Superintendência de Infraestrutura par análise/atendimento”, “Incluir no Planejamento de obra para licitação”
* **RN17** - **Para requisição de obra criadas por unidades vinculadas a centro acadêmico: **Na confirmação da requisição o sistema deve exibir a mensagem "Esta requisição de obra deve ser autorizada pela direção do centro acadêmico no caminho portal da direção do centro -> menu requisições -> autorizações infraestrutura. Comunicar a direção do centro sobre a autorização. Na autorização da direção do centro, a requisição será encaminhada para a administração central da instituição (plano de obras) ou encaminhar diretamente para a Superintendência de Infraestrutura para análise. (tarefa 161347, adicionada em 20/07/2015)
* **RN18** - **Para requisição de obra criadas por unidades não vinculadas a centro acadêmico:** Na confirmação da requisição o sistema deve exibir a mensagem "Esta requisição de obra deve ser autorizada pelo chefe da unidade no caminho portal administrativo -> menu requisições -> autorizações -> requisição de planejamento de obra do exercício. Na autorização do chefe de unidade, a requisição poderá ser encaminhada para a administração central (plano de obras) ou para à Superintendência de Infraestrutura para análise. (tarefa 161347, adicionada em 20/07/2015)
==== Resoluções/Legislações Associadas ====
Não se aplica.
===== Classes Persistentes e Tabelas Envolvidas =====
^ Classe ^ Tabela |
|br.ufrn.sipac.supinfra.manutencao.dominio.SubGrupoManutencao|administrativo.infra.sub_grupo_manutencao|
|br.ufrn.sipac.supinfra.manutencao.dominio.GrupoManutencao|administrativo.infra.grupo_manutencao|
|br.ufrn.sipac.supinfra.manutencao.dominio.SubGrupoRequisicao|administrativo.infra.sub_grupo_requisicao|
|br.ufrn.sipac.supinfra.manutencao.dominio.SubGrupoManutencao|administrativo.infra.sub_grupo_manutencao|
|br.ufrn.sipac.supinfra.projetos.dominio.RequisicaoSupInfra | administrativo.infra.requisicao_superinfra|
===== Plano de Teste =====
Sistema: SIPAC
Módulo: Infraestrutura.
Link(s): Infraestrutura -> Requisições -> Requisições -> Cadastrar Requisição de Obra.
Usuário: lane
Papel que usuário deve ter: SipacPapeis.REQUISITOR, SipacPapeis.REQUISITOR_SUPINFRA, SipacPapeis.TECNICO_MANUTENCAO , SipacPapeis.SUPERINTENDENTE_INFRAESTRUTURA ou SipacPapeis.GESTOR_OBRAS (Para acesso pelo módulo).
===== Cenários de Teste =====
Cenários para testar as combinações das informações de imóveis:
1 ------------------- Requisição de Obra: Quando o tipo da obra for nova
-- **Situação 1 (com zoneamento e Terrenos não isolados)** --
1 - o sistema exibe o Município e o usuário seleciona; 2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados;
3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido; 4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado; 5 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada; 6 - o sistema deve exibir opção para inserir na lista as informações selecionadas
-- **Situação 2 (com zoneamento e Terrenos isolados)** --
1 - o sistema exibe o Município e o usuário seleciona; 2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados; 3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado; 4 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada; 5 - o sistema deve exibir opção para inserir na lista as informações selecionadas;
-- **Situação 3 (sem zoneamento e Terrenos não isolados)**
1 - o sistema exibe o Município e o usuário seleciona; 2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados; 3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido; 4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado; 5 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 4 (sem zoneamento e Terrenos isolados)**
1 - o sistema exibe o Município e o usuário seleciona; 2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados -; 3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado; 4 - o sistema deve exibir opção para inserir na lista as informações selecionadas; OBSERVAÇÃO PARA MOSTRAR TERRENOS QUE NÃO ESTÃO EM NENHUM CAMPUS: o terreno tem relação com o imóvel. E partir do imóvel o sistema deve saber se tem campus associado ou não.
2 ------------------- Requisição de obra: Quando o tipo da obra for Ampliação com Reforma ou Reforma
-- **Situação 1 (com zoneamento e Terrenos não isolados)** --
1 - o sistema exibe o Município e o usuário seleciona; 2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados -; 3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido; 4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado; 5 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada -; 6 - o sistema exibe os prédios da zona do terreno selecionada e o usuário seleciona o prédio desejado; 7 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 2 (com zoneamento e Terrenos isolados)** --
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados -
3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
4 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada -
5 - o sistema exibe os prédios da zona do terreno selecionada e o usuário seleciona o prédio desejado
6 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 3 (sem zoneamento e Terrenos não isolados)**
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados -
3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido
4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
5 - o sistema exibe os prédios do terreno selecionado e o usuário seleciona o prédio desejado
6 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 4 (sem zoneamento e Terrenos isolados)**
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados -
3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
5 - o sistema exibe os prédios do terreno selecionado e o usuário seleciona o prédio desejado
4 - o sistema deve exibir opção para inserir na lista as informações selecionadas
OBSERVAÇÃO PARA MOSTRAR TERRENOS QUE NÃO ESTÃO EM NENHUM CAMPUS: o terreno tem relação com o imóvel. E partir do imóvel o sistema deve saber se tem campus associado ou não.
3 ------------------- Requisição de manutenção
-- Descrição da solicitação --
-- **Situação 1 (com zoneamento e Terrenos não isolados)** --
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados -
3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido
4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
5 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada -
6 - o sistema exibe os prédios da zona do terreno selecionada e o usuário seleciona o prédio desejado
7 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 2 (com zoneamento e Terrenos isolados)** --
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados -
3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
4 - o sistema exibe as Zonas do Terreno selecionado e o usuário escolhe a zona desejada -
5 - o sistema exibe os prédios da zona do terreno selecionada e o usuário seleciona o prédio desejado
6 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 3 (sem zoneamento e Terrenos não isolados)**
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário não seleciona opção de terrenos isolados -
3 - o sistema exibe os Campus do município escolhido e o usuário seleciona o campus do município escolhido
4 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
5 - o sistema exibe os prédios do terreno selecionado e o usuário seleciona o prédio desejado
6 - o sistema deve exibir opção para inserir na lista as informações selecionadas -
-- **Situação 4 (sem zoneamento e Terrenos isolados)**
1 - o sistema exibe o Município e o usuário seleciona
2 - o sistema exibe opção de "marcar os terrenos que não estão inseridos em um campus (terrenos isolados)" e o usuário seleciona opção de terrenos isolados -
3 - o sistema exibe os Terrenos do Campus selecionado e o usuário escolhe o Terreno desejado
5 - o sistema exibe os prédios do terreno selecionado e o usuário seleciona o prédio desejado
4 - o sistema deve exibir opção para inserir na lista as informações selecionadas
===== Dados para o Teste =====
Cadastrar requisições e na última etapa do cadastro, pegar o //Número da Requisição//, //Unidade Requisitante//, e o //Tipo da Requisição// e utilizar estas informações na busca de requisições em [[desenvolvimento:especificacoes:sipac:infra_estrutura:casos_de_uso:requisicoes:requisicoes:acompanhar_requisicoes_enviadas|Acompanhar requisições enviadas]] para conferir o estado da requisição criada.