Commit e2cbe8e844faa2fdba6c2249e7e675338d63a269

Authored by Guilherme Andrade Del Cantoni
1 parent fd7dbc77

Aplicação de regra de visualização dos botões de Trâmite Externo e Recibo de aco…

…rdo com regra de negócio
PENControlador.php
... ... @@ -47,7 +47,7 @@ class PENControlador implements ISeiControlador {
47 47 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php';
48 48 return true;
49 49  
50   - case 'apensados_selecionar_expedir_procedimento':
  50 + case 'pen_apensados_selecionar_expedir_procedimento':
51 51 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php';
52 52 return true;
53 53  
... ...
PENIntegracao.php
... ... @@ -46,7 +46,6 @@ class PENIntegracao extends SeiIntegracao {
46 46  
47 47 //Verificação da Restrição de Acesso à Funcionalidade
48 48 $bolAcaoExpedirProcesso = $objSessaoSEI->verificarPermissao('pen_procedimento_expedir');
49   -
50 49 $objExpedirProcedimentoRN = new ExpedirProcedimentoRN();
51 50 $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento);
52 51  
... ... @@ -57,20 +56,34 @@ class PENIntegracao extends SeiIntegracao {
57 56  
58 57 //Apresenta o botão de expedir processo
59 58 if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) {
60   - $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior();
61   - $strAcoesProcedimento .= '<a id="validar_expedir_processo" href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI"><img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_expedir_procedimento.gif" alt="Envio Externo de Processo" title="Envio Externo de Processo" /></a>';
  59 +
  60 + $objPenUnidadeDTO = new PenUnidadeDTO();
  61 + $objPenUnidadeDTO->retNumIdUnidade();
  62 + $objPenUnidadeDTO->setNumIdUnidade($numIdUnidadeAtual);
  63 + $objPenUnidadeRN = new PenUnidadeRN();
  64 +
  65 + if($objPenUnidadeRN->contar($objPenUnidadeDTO) != 0) {
  66 + $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior();
  67 + $strAcoesProcedimento .= '<a id="validar_expedir_processo" href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI"><img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_expedir_procedimento.gif" alt="Envio Externo de Processo" title="Envio Externo de Processo" /></a>';
  68 + }
62 69 }
63 70  
64 71 //Apresenta o botão da página de recibos
65   - $strAcoesProcedimento .= '<a href="' . $objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_estado&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1') . '" tabindex="' . $numTabBotao . '" class="botaoSEI">';
66   - $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_consultar_recibos.png" alt="Consultar Recibos" title="Consultar Recibos"/>';
67   - $strAcoesProcedimento .= '</a>';
  72 + if($bolAcaoExpedirProcesso){
  73 + $objProcessoEletronicoDTO = new ProcessoEletronicoDTO();
  74 + $objProcessoEletronicoDTO->retDblIdProcedimento();
  75 + $objProcessoEletronicoDTO->setDblIdProcedimento($dblIdProcedimento);
  76 + $objProcessoEletronicoRN = new ProcessoEletronicoRN();
  77 + if($objProcessoEletronicoRN->contar($objProcessoEletronicoDTO) != 0){
  78 + $strAcoesProcedimento .= '<a href="' . $objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_estado&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1') . '" tabindex="' . $numTabBotao . '" class="botaoSEI">';
  79 + $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_consultar_recibos.png" alt="Consultar Recibos" title="Consultar Recibos"/>';
  80 + $strAcoesProcedimento .= '</a>';
  81 + }
  82 + }
68 83  
69 84 //Apresenta o botão de cancelar trâmite
70 85 $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento());
71   -
72 86 if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) {
73   -
74 87 $strAcoesProcedimento .= '<a href="' . $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=pen_procedimento_cancelar_expedir&acao_origem=procedimento_visualizar&acao_retorno=arvore_visualizar&id_procedimento=' . $dblIdProcedimento . '&arvore=1')) . '" tabindex="' . $numTabBotao . '" class="botaoSEI">';
75 88 $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Tramitação Externa" title="Cancelar Tramitação Externa" />';
76 89 $strAcoesProcedimento .= '</a>';
... ... @@ -242,7 +255,7 @@ class PENIntegracao extends SeiIntegracao {
242 255 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php';
243 256 return true;
244 257  
245   - case 'apensados_selecionar_expedir_procedimento':
  258 + case 'pen_apensados_selecionar_expedir_procedimento':
246 259 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php';
247 260 return true;
248 261  
... ...
apensados_selecionar_expedir_procedimento.php
... ... @@ -21,7 +21,7 @@ try {
21 21 //////////////////////////////////////////////////////////////////////////////
22 22  
23 23 SessaoSEI::getInstance()->validarLink();
24   - PaginaSEI::getInstance()->prepararSelecao('apensados_selecionar_expedir_procedimento');
  24 + PaginaSEI::getInstance()->prepararSelecao('pen_apensados_selecionar_expedir_procedimento');
25 25  
26 26 //SessaoSEI::getInstance()->validarPermissao($_GET['acao']);
27 27  
... ...
bd/PenUnidadeBD.php 0 → 100644
... ... @@ -0,0 +1,12 @@
  1 +<?
  2 +
  3 +require_once dirname(__FILE__) . '/../../../SEI.php';
  4 +
  5 +class PenUnidadeBD extends InfraBD {
  6 +
  7 + public function __construct(InfraIBanco $objInfraIBanco){
  8 + parent::__construct($objInfraIBanco);
  9 + }
  10 +
  11 +}
  12 +?>
0 13 \ No newline at end of file
... ...
dto/PenUnidadeDTO.php
... ... @@ -29,10 +29,10 @@ class PenUnidadeDTO extends UnidadeDTO {
29 29 // Infelizmente não funciona com parent::getArrAtributos(), pois o arrAtributos
30 30 // esta na InfraDTO e ela confunde em função do extends, então tenho que
31 31 // criar uma nova instância
32   - $objDTO = new UnidadeDTO();
33   - $objDTO->retTodos();
  32 + $objUnidadeDTO = new UnidadeDTO();
  33 + $objUnidadeDTO->retTodos();
34 34  
35   - foreach($objDTO->getArrAtributos() as $arrAtrib) {
  35 + foreach($objUnidadeDTO->getArrAtributos() as $arrAtrib) {
36 36  
37 37 if($arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO] != 'IdUnidade') {
38 38  
... ... @@ -40,7 +40,7 @@ class PenUnidadeDTO extends UnidadeDTO {
40 40 $arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO],
41 41 $arrAtrib[InfraDTO::$POS_ATRIBUTO_NOME],
42 42 $arrAtrib[InfraDTO::$POS_ATRIBUTO_CAMPO_SQL],
43   - $objDTO->getStrNomeTabela()
  43 + $objUnidadeDTO->getStrNomeTabela()
44 44 );
45 45 }
46 46 }
... ...
pen_map_unidade_listar.php
... ... @@ -162,8 +162,9 @@ try {
162 162 $objPenUnidadeDTO->retNumIdUnidadeRH();
163 163  
164 164 $objPenUnidadeRN = new PenUnidadeRN();
165   - $arrMapIdUnidade = InfraArray::converterArrInfraDTO($objPenUnidadeRN->listar($objPenUnidadeDTO), 'IdUnidade', 'IdUnidade');
166   - $arrMapIdUnidadeRH = InfraArray::converterArrInfraDTO($objPenUnidadeRN->listar($objPenUnidadeDTO), 'IdUnidadeRH', 'IdUnidadeRH');
  165 + $objArrPenUnidadeDTO = $objPenUnidadeRN->listar($objPenUnidadeDTO);
  166 + $arrMapIdUnidade = InfraArray::converterArrInfraDTO($objArrPenUnidadeDTO, 'IdUnidade', 'IdUnidade');
  167 + $arrMapIdUnidadeRH = InfraArray::converterArrInfraDTO($objArrPenUnidadeDTO, 'IdUnidadeRH', 'IdUnidadeRH');
167 168  
168 169 $objPagina->prepararOrdenacao($objPenUnidadeDTOFiltro, 'IdUnidade', InfraDTO::$TIPO_ORDENACAO_ASC);
169 170 $objPagina->prepararPaginacao($objPenUnidadeDTOFiltro);
... ...
pen_procedimento_expedir.php
... ... @@ -80,7 +80,7 @@ try {
80 80  
81 81 //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades');
82 82 //$strLinkRepositorioSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_repositorio_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados');
83   - $strLinkProcedimentosApensadosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=apensados_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados&id_procedimento='.$idProcedimento.'');
  83 + $strLinkProcedimentosApensadosSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_apensados_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados&id_procedimento='.$idProcedimento.'');
84 84  
85 85 //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN
86 86 //Obtenção dos parâmetros selecionados pelo usuário
... ...
rn/PenUnidadeRN.php
... ... @@ -47,15 +47,12 @@ class PenUnidadeRN extends InfraRN {
47 47 * @return array
48 48 * @throws InfraException
49 49 */
50   - protected function listarConectado(UnidadeDTO $objUnidadeDTO) {
  50 + protected function listarConectado(UnidadeDTO $objPenUnidadeDTO) {
51 51 try {
52 52 //Valida Permissao
53 53 SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_unidade_listar',__METHOD__,$objUnidadeDTO);
54   -
55   - $objUnidadeBD = new UnidadeBD($this->getObjInfraIBanco());
56   - $ret = $objUnidadeBD->listar($objUnidadeDTO);
57   -
58   - return $ret;
  54 + $objPenUnidadeBD = new PenUnidadeBD($this->getObjInfraIBanco());
  55 + return $objPenUnidadeBD->listar($objPenUnidadeDTO);
59 56 }catch(Exception $e){
60 57 throw new InfraException('Erro listando Unidades.',$e);
61 58 }
... ... @@ -67,13 +64,13 @@ class PenUnidadeRN extends InfraRN {
67 64 * @return array
68 65 * @throws InfraException
69 66 */
70   - protected function alterarConectado(PenUnidadeDTO $objDTO){
  67 + protected function alterarConectado(UnidadeDTO $objPenUnidadeDTO){
71 68 try {
72   - $objBD = new GenericoBD($this->inicializarObjInfraIBanco());
73   - return $objBD->alterar($objDTO);
  69 + $objPenUnidadeBD = new PenUnidadeBD($this->inicializarObjInfraIBanco());
  70 + return $objPenUnidadeBD->alterar($objPenUnidadeDTO);
74 71 }
75 72 catch (Exception $e) {
76   - throw new InfraException('Erro excluindo E-mail do Sistema.', $e);
  73 + throw new InfraException('Erro alterando mapeamento de unidades.', $e);
77 74 }
78 75 }
79 76  
... ... @@ -83,13 +80,13 @@ class PenUnidadeRN extends InfraRN {
83 80 * @return array
84 81 * @throws InfraException
85 82 */
86   - protected function cadastrarConectado(PenUnidadeDTO $objDTO){
  83 + protected function cadastrarConectado(UnidadeDTO $objDTO){
87 84 try {
88   - $objBD = new GenericoBD($this->inicializarObjInfraIBanco());
  85 + $objBD = new PenUnidadeBD($this->inicializarObjInfraIBanco());
89 86 return $objBD->cadastrar($objDTO);
90 87 }
91 88 catch (Exception $e) {
92   - throw new InfraException('Erro excluindo E-mail do Sistema.', $e);
  89 + throw new InfraException('Erro cadastrando mapeamento de unidades.', $e);
93 90 }
94 91 }
95 92  
... ... @@ -99,13 +96,31 @@ class PenUnidadeRN extends InfraRN {
99 96 * @return array
100 97 * @throws InfraException
101 98 */
102   - protected function excluirConectado(PenUnidadeDTO $objDTO){
  99 + protected function excluirConectado(UnidadeDTO $objDTO){
103 100 try {
104   - $objBD = new GenericoBD($this->inicializarObjInfraIBanco());
  101 + $objBD = new PenUnidadeBD($this->inicializarObjInfraIBanco());
105 102 return $objBD->excluir($objDTO);
106 103 }
107 104 catch (Exception $e) {
108   - throw new InfraException('Erro excluindo E-mail do Sistema.', $e);
  105 + throw new InfraException('Erro excluindo mapeamento de unidades.', $e);
109 106 }
110 107 }
  108 +
  109 + /**
  110 + * Método utilizado para contagem de unidades mapeadas
  111 + * @param UnidadeDTO $objUnidadeDTO
  112 + * @return array
  113 + * @throws InfraException
  114 + */
  115 + protected function contarConectado(PenUnidadeDTO $objPenUnidadeDTO) {
  116 + try {
  117 + //Valida Permissao
  118 + $objPenUnidadeBD = new PenUnidadeBD($this->getObjInfraIBanco());
  119 + return $objPenUnidadeBD->contar($objPenUnidadeDTO);
  120 + }
  121 + catch(Exception $e){
  122 + throw new InfraException('Erro contando mapeamento de unidades.',$e);
  123 + }
  124 + }
  125 +
111 126 }
... ...
rn/ProcessoEletronicoRN.php
... ... @@ -1458,6 +1458,15 @@ class ProcessoEletronicoRN extends InfraRN {
1458 1458 throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e);
1459 1459 }
1460 1460 }
  1461 +
  1462 + protected function contarConectado(ProcessoEletronicoDTO $objProcessoEletronicoDTO){
  1463 + try {
  1464 + $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
  1465 + return $objProcessoEletronicoBD->contar($objProcessoEletronicoDTO);
  1466 + }catch(Exception $e){
  1467 + throw new InfraException('Erro contando Processos Externos.',$e);
  1468 + }
  1469 + }
1461 1470 }
1462 1471  
1463 1472  
... ...