====== Distribuição de Cotas ======
A operação de Distribuição de Cotas consiste em alocar orçamento para as unidades interessadas no convênio. A alocação será para uma célula com a mesma característica, sendo alterada apenas a unidade interessada. O setor que utilizar este caso de uso é o setor que executa o orçamento de convênio. Este caso de uso só estará disponível após a [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio | escolha de um convênio]].
A operação de Distribuição de Cotas irá impactar nos seguintes dados da célula orçamentária:
| ^Total Transferido^Total Distribuido^ Saldo |
|^Célula Origem | Adicionado | - | Subtraido |
|^Célula Destino | - | Adicionado | Adicionado |
Isto acontecerá para cada célula da unidade interessada na qual o usuário tiver informado um valor.
Pré-condições:\\
* Para realizar este caso de uso é necessário que a unidade do convênio possua pelo menos uma célula cadastrada no ano orçamentário;
* Está logado no sistema com o papel de EXECUTOR DE CONVÊNIO para executar esta funcionalidade.
===== Descrição do Caso de Uso =====
===Passo 1===
Este caso de uso é acessado através do caminho: SIPAC -> Orçamento -> Movimentações -> Movimentações Orçamentárias -> Centros de Custos -> Distribuição de Cotas
Para realizar este caso de uso é necessário que a unidade do convênio possua pelo menos uma célula cadastrada no ano orçamentário. É obrigatório a seleção da célula de origem, a qual será a base para alocação de orçamento nas células das unidades interessadas. Serão listados todas as unidades interessadas no convênio, onde o usuário poderá informar quanto será alocado para cada unidade.
O caso de uso exibe os dados:
* **__Número__**: Formato - 9.../AAAA, Tipo - NUMÉRICO.
* **__Unidade Orçamentária__**: Formato - NOME DO CONVÊNIO (CÓDIGO), Tipo - TEXTO e NUMÉRICO. ([[#principais_regras_de_negócio|RN02, RN03, RN04, RN05]])
* **Célula de origem***: Formato - NOME DO CONVÊNIO, Tipo - TEXTO | CÓDIGO PTRES, Tipo - NUMÉRICO | CÓDIGO ND, Tipo - NUMÉRICO | CÓDIGO FONTE RECURSO, Tipo - NUMÉRICO | CÓDIGO ESFERA, Tipo - NUMÉRICO | CÓDIGO PI, Tipo - NUMÉRICO | Valor do Saldo, Tipo - NUMÉRICO |.
* **Negociação de Orçamento**: Tipo - LÓGICO. São apresentadas as opções ''SIM'' e ''NÃO''.
Sistema apresenta dos dados da Célula Orçamentária (CÓDIGO DA CÉLULA) de acordo com a célula de origem selecionada:
* **__Programa Trabalho Resumido__**: Formato - NOME DO PROGRAMA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Natureza da Despesa__**: Formato - NOME DA NATUREZA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Fonte de Recurso__**: Formato - NOME DA FONTE (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Esfera__**: Formato - NOME DA ESFERA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Plano Interno__**: Formato - NOME DO PLANO(CÓDIGO), Tipo - TEXTO.
* **__Saldo__**: Tipo - NUMÉRICO.
O Gestor poderá informar observações:
* **Observações**: Tipo - TEXTO.
O sistema apresenta a lista de unidades interessadas e campo valor para ser informado:
* **__Unidade__**: NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **Valor**: Tipo - NUMÉRICO.
* **Total**: Tipo - NUMÉRICO. Corresponde soma dos valores atribuídos no campo **Valor**.
O Gestor confirma transferência, e sistema confirma a distribuição das cotas.([[#principais_regras_de_negócio|RN01]])
===Passo 2===
Confirmando a distribuição dos valores entre as unidades conveniadas o sistema exibe os dados do convênio:
* **Número** e **Ano** do convênio: Formato - 9.../AAAA, Tipo - NUMÉRICO.
da célula orçamentária:
* **__Unidade Orçamentária__**: Formato - NOME DO CONVÊNIO (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Programa Trabalho Resumido__**: Formato - NOME DO PROGRAMA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Natureza da Despesa__**: Formato - NOME DA NATUREZA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Fonte de Recurso__**: Formato - NOME DA FONTE (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Esfera__**: Formato - NOME DA ESFERA (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Plano Interno__**: Formato - NOME DO PLANO(CÓDIGO), Tipo - TEXTO.
* **__Saldo__**: Tipo - NUMÉRICO.
lista com as unidades orçamentárias e valores distribuídos:
* **__Unidade__**: NOME DA UNIDADE (CÓDIGO), Tipo - TEXTO e NUMÉRICO.
* **__Valor__**: Tipo - NUMÉRICO.
* **__Total__**: Tipo - NUMÉRICO. Corresponde soma dos valores atribuídos no campo **Valor**.
O caso de uso é finalizado. ([[#Principais Regras de Negócio|RN06]])
===== Principais Regras de Negócio =====
As seguintes regras devem ser satisfeitas para que uma Distribuição de Cotas seja realizada:
* **RN01** - No sistema orçamentário existe alguns paramêtros que poderão ser configurados de acordo com a conveniência das instituições que irão utilizá-lo. Um destas configurações é a permissão de saldo negativo para as células orçamentárias. Assim antes de realizar uma transferência é checado se e permitido que um célula possa ter seu saldo negativado.
Deverão ser observados as seguintes regras com relação ao saldo negativo da célula na qual será debitado o valor da transferência:
* **RN02** - Se a unidade for um centro, não poderá ter saldo negativo se o saldo total da unidade gestora ficar negativo;
* **RN03** - Se for uma unidade diferente da unidade de direito global e se for uma célula de convênio:
* O valor debitado não poderá ser maior que o saldo da célula;
* **RN04** - Se for uma unidade diferente da unidade de direito global e se for uma célula sem convênio **//( OBS: neste caso de uso isso não acontecerá, porque só poderá ser selecionada uma célula associada a convênio)//**:
* O saldo global da unidade menos o valor debitado não poderá ser menor que zero;
* **RN05** - Se a unidade for igual a unidade de direito global e o valor a ser debitado for maior que o saldo da célula e o usuário não tiver papel de EXECUTOR_ESPECIAL:
* A operação não poderá ser completada, caso o usuário tenha o papel de EXECUTOR_ESPECIAL então a operação poderá ser realizada;
* **RN06** - Os responsáveis das unidades movimentadas serão notificados via email.
* **RN06** - Ao realizar movimentações orçamentárias no módulo orçamentário, automaticamente é gerado um email para o responsável da unidade para as operações de crédito e débito. Esta operação funciona com base nos parâmetros ENVIA_EMAIL_POR_MOVIMENTACAO_ORCAMENTARIA que permite a instituição configurar se serão gerados os emails após as movimentações orçamentarias e MOVIMENTACOES_ORCAMENTARIAS_ENVIAR_EMAIL que identifica quais as movimentações lançarão emails. Os parâmetros deverão estar configurados como true.(Adicionado em 12/07/2011 referente à tarefa 64945).
===== Classes Persistentes e Tabelas Envolvidas =====
^ Classe ^ Tabela |
|br.ufrn.sipac.orcamento.movimentacoes.dominio.Transferencia | sco.transferencia |
|br.ufrn.sipac.orcamento.movimentacoes.dominio.MovimentacaoOrcamentaria | sco.movimentacao_orcamentaria |
====== Plano de Teste ======
Sistema: SIPAC
Módulo: Orçamento
Link(s): Orçamento -> Movimentações -> Movimentações Orçamentárias -> Centros de Custos -> Distribuição de Cotas
Usuário: raiula
Papel que usuário deve ter: ScoPapeis.EXECUTOR_CONVENIO
===== Cenários de Teste =====
O seguinte cenário deverá ser testado:
**Com Orçamento de Convênio:**
Para entender como selecionar um convênio veja a seção Cenário de Teste em [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio | Orçamento de Convênio]].
**Deverá ser feito uma distribuição com o usuário que tenha papel de EXECUTOR_ESPECIAL e outra distribuição com o usuário que não tenha o papel**
* Observar as regras de negócio, em especial ao que se refere a permissão de saldo negativo no saldo da célula.
* Consulta que traz todos as unidade subordinadas que são orçamentárias de uma determinada gestora:
select * from unidade where hierarquia like '%.' ||(select id_unidade from unidade where codigo_unidade = ?)||'.%' and unidade_orcamentaria = true, onde ? é o código da gestora que se deseja a lista da unidades subordinadas.
* Consulta que traz todos os responsáveis da unidade de acordo com o id:
SELECT DISTINCT RU.*, U.NOME AS NOME_UNIDADE,S.SIAPE AS MATRICULA,P.NOME AS NOME_SERVIDOR, P.ID_PESSOA AS ID_PESSOA, P.EMAIL AS EMAIL_PESSOA
FROM COMUM.RESPONSAVEL_UNIDADE RU, COMUM.UNIDADE U,RH.SERVIDOR S,comum.PESSOA P
WHERE S.ID_SERVIDOR = RU.ID_SERVIDOR AND S.ID_PESSOA = P.ID_PESSOA
AND RU.ID_UNIDADE = ? AND U.ID_UNIDADE = RU.ID_UNIDADE AND RU.ID_REGISTRO_ENTRADA_EXCLUSAO IS NULL ORDER BY RU.DATA_FIM DESC,U.NOME ASC
===== Dados para o Teste =====
As informações das células orçamentárias poderão ser consultadas nos links:
* Programa de Trabalho Resumido: Orçamento -> Cadastros -> Programa de Trabalho Resumido -> Listar/Alterar
* Natureza da Despesa: Orçamento -> Cadastros -> Natureza da Despesa -> Listar/Alterar
* Fonte de Recurso: Orçamento -> Cadastros -> Fonte de Recurso -> Listar/Alterar
* Esfera: Orçamento -> Cadastros -> Esfera -> Listar/Alterar
* Plano Interno: Orçamento -> Cadastros -> Plano Interno -> Listar/Alterar
Para analisar os resultados tanto de orçamento de convênio como sem convênio os seguintes relatórios estão disponíveis:
* Orçamento -> Relatórios -> Movimentações Orçamentárias -> Transferências por Unidades
* Na opção Tipo de Transferência deverá ser selecionado Alocação de Centro de Custo.
* Orçamento -> Relatórios -> Movimentações Orçamentárias -> Transferências entre Unidades
* Na opção Tipo de Transferência deverá ser selecionado Alocação de Centro de Custo.
* Selecionar a unidade do convênio na unidade de origem e na unidade de destino, uma unidade que tenha sido alocado orçamento na operação de Distribuição de Cotas.
Para encontrar células de um determinado convênio, vide [[desenvolvimento:especificacoes:sipac:orcamentario:orcamento_convenio | Orçamento de Convênio]].