~~ODT~~ echo "
"; echo "Última atualização: "; ver('', false); echo "
";
====== Relatório de Saldo de Todas as Unidades ====== Este caso de uso é semelhante ao de [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:relatorios:saldos:saldo_orcamentario_por_unidade|Saldo Orçamentário por Unidade]], sendo que este exibe os dados para a unidade gestora informada, e todas as suas unidades filhas. Pré-condições: * Está logado como executor de orçamento, executor de orçamento global, executor de convênio ou diretor (apenas um dos papéis); * Existir unidade gestora cadastrada para extração do relatório. ===== Descrição do Caso de Uso ===== Este caso de uso inicia quando o usuário acessa a opção: //SIPAC → Orçamento → Aba Relatórios → Saldos → Saldo de Todas as Unidades//. Esta descrição tem o mesmo fluxo do caso de uso [[desenvolvimento:especificacoes:sipac:orcamentario:casos_de_uso:relatorios:saldos:saldo_orcamentario_por_unidade|Saldo Orçamentário por Unidade]]. ===Modelo de relatório== No relatório, também são exibidas os dados das unidades filhas. ===== Principais Regras de Negócio ===== * **RN01** - O sistema deve exibir unidades que também tenham saldo igual zero. * **RN02** - O sistema as unidades orçamentárias de fato ou de direito/gestora que tenham saldo negativo ou maior que zero. ===== Classes Persistentes e Tabelas Envolvidas ===== ^ Classe ^ Tabela | |br.ufrn.sipac.arq.interop.orcamento.CelulaOrcamentariaAdapter | administrativo.sco.celula_orcamentaria | |br.ufrn.info.sco.dominio.Esfera | administrativo.sco.esfera| |br.ufrn.sipac.convenios.dominio.Convenio | administrativo.convenios.convenio| ===== Plano de Teste ===== Sistema: SIPAC Módulo: SCO (Sistema de Controle Orçamentário) Link(s): SCO → Relatórios → Saldos → Saldo de Todas as Unidades Usuário: larrubia2, dilson, seocchla01 ou cesyjr Papel que usuário deve ter: SipacPapeis.GESTOR_INSTITUICAO, SipacPapeis.AUDITOR, SipacPapeis.AUTORIZADOR_ORCAMENTO_CENTRO ou SipacPapeis.GESTOR_DIRECAO ===== Cenários de Teste ===== Realizar operações no SCO tanto para unidades, como para convênios, e verificar nesse relatório se o saldo da unidade (ou convênio) foi modificada, com a movimentação correspondente. Além disso, verificar se as unidades subordinadas a uma determinada unidade gestora estão corretas. ===== Dados para o Teste ===== Para consultar os orçamentos na hierarquia: select programatr.id_programa_trabalho,programatr.nome, programatr.codigo, elementode.id_elemento_despesa, elementode.nome_resumido, elementode.codigo, elementode.id_tipo_orcamento, fonterecur.id_fonte_recurso, fonterecur.codigo, esfera.id_esfera, esfera.codigo, planointer.id_plano_interno, planointer.codigo, convenio.ID, convenio.NUMERO_REGISTRO, convenio.ANO, unidadeger.ID_UNIDADE, unidadeger.CODIGO_UNIDADE, unidadeger.NOME, celulaorca.id_celula, celulaorca.ano, celulaorca.saldo, celulaorca.total_empenho, celulaorca.total_anulado, celulaorca.total_distribuido, celulaorca.total_transferido, celulaorca.total_recebido, celulaorca.total_bloqueado, celulaorca.total_entrada_permuta, celulaorca.total_saida_permuta from sco.celula_orcamentaria celulaorca inner join sco.esfera esfera on celulaorca.id_esfera=esfera.id_esfera inner join sco.programa_trabalho programatr on celulaorca.id_programa_trabalho=programatr.id_programa_trabalho inner join sco.fonte_recurso fonterecur on celulaorca.id_fonte_recurso=fonterecur.id_fonte_recurso inner join sco.elemento_despesa elementode on celulaorca.id_elemento_despesa=elementode.id_elemento_despesa left outer join sco.plano_interno planointer on celulaorca.id_plano_interno=planointer.id_plano_interno left outer join CONVENIOS.CONVENIO convenio on celulaorca.id_convenio=convenio.ID inner join UNIDADE unidadeger on celulaorca.id_unidade=unidadeger.ID_UNIDADE where unidadeger.UNIDADE_ORCAMENTARIA=true and celulaorca.ano=2009 and (convenio.ID is null) and (unidadeger.HIERARQUIA like '%.605.%') and unidadeger.ID_UNIDADE<>605 order by unidadeger.NOME, elementode.codigo, programatr.codigo, fonterecur.codigo, esfera.codigo, unidadeger.CODIGO_UNIDADE