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,7 +47,7 @@ class PENControlador implements ISeiControlador {
47 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php'; 47 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php';
48 return true; 48 return true;
49 49
50 - case 'apensados_selecionar_expedir_procedimento': 50 + case 'pen_apensados_selecionar_expedir_procedimento':
51 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php'; 51 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php';
52 return true; 52 return true;
53 53
PENIntegracao.php
@@ -46,7 +46,6 @@ class PENIntegracao extends SeiIntegracao { @@ -46,7 +46,6 @@ class PENIntegracao extends SeiIntegracao {
46 46
47 //Verificação da Restrição de Acesso à Funcionalidade 47 //Verificação da Restrição de Acesso à Funcionalidade
48 $bolAcaoExpedirProcesso = $objSessaoSEI->verificarPermissao('pen_procedimento_expedir'); 48 $bolAcaoExpedirProcesso = $objSessaoSEI->verificarPermissao('pen_procedimento_expedir');
49 -  
50 $objExpedirProcedimentoRN = new ExpedirProcedimentoRN(); 49 $objExpedirProcedimentoRN = new ExpedirProcedimentoRN();
51 $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento); 50 $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento);
52 51
@@ -57,20 +56,34 @@ class PENIntegracao extends SeiIntegracao { @@ -57,20 +56,34 @@ class PENIntegracao extends SeiIntegracao {
57 56
58 //Apresenta o botão de expedir processo 57 //Apresenta o botão de expedir processo
59 if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) { 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 //Apresenta o botão da página de recibos 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 //Apresenta o botão de cancelar trâmite 84 //Apresenta o botão de cancelar trâmite
70 $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento()); 85 $objAtividadeDTO = $objExpedirProcedimentoRN->verificarProcessoEmExpedicao($objSeiIntegracaoDTO->getIdProcedimento());
71 -  
72 if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) { 86 if ($objAtividadeDTO && $objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)) {
73 -  
74 $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">'; 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 $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Tramitação Externa" title="Cancelar Tramitação Externa" />'; 88 $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Tramitação Externa" title="Cancelar Tramitação Externa" />';
76 $strAcoesProcedimento .= '</a>'; 89 $strAcoesProcedimento .= '</a>';
@@ -242,7 +255,7 @@ class PENIntegracao extends SeiIntegracao { @@ -242,7 +255,7 @@ class PENIntegracao extends SeiIntegracao {
242 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php'; 255 require_once dirname(__FILE__) . '/pen_map_tipo_documento_recebimento_cadastrar.php';
243 return true; 256 return true;
244 257
245 - case 'apensados_selecionar_expedir_procedimento': 258 + case 'pen_apensados_selecionar_expedir_procedimento':
246 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php'; 259 require_once dirname(__FILE__) . '/apensados_selecionar_expedir_procedimento.php';
247 return true; 260 return true;
248 261
apensados_selecionar_expedir_procedimento.php
@@ -21,7 +21,7 @@ try { @@ -21,7 +21,7 @@ try {
21 ////////////////////////////////////////////////////////////////////////////// 21 //////////////////////////////////////////////////////////////////////////////
22 22
23 SessaoSEI::getInstance()->validarLink(); 23 SessaoSEI::getInstance()->validarLink();
24 - PaginaSEI::getInstance()->prepararSelecao('apensados_selecionar_expedir_procedimento'); 24 + PaginaSEI::getInstance()->prepararSelecao('pen_apensados_selecionar_expedir_procedimento');
25 25
26 //SessaoSEI::getInstance()->validarPermissao($_GET['acao']); 26 //SessaoSEI::getInstance()->validarPermissao($_GET['acao']);
27 27
bd/PenUnidadeBD.php 0 → 100644
@@ -0,0 +1,12 @@ @@ -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 \ No newline at end of file 13 \ No newline at end of file
dto/PenUnidadeDTO.php
@@ -29,10 +29,10 @@ class PenUnidadeDTO extends UnidadeDTO { @@ -29,10 +29,10 @@ class PenUnidadeDTO extends UnidadeDTO {
29 // Infelizmente não funciona com parent::getArrAtributos(), pois o arrAtributos 29 // Infelizmente não funciona com parent::getArrAtributos(), pois o arrAtributos
30 // esta na InfraDTO e ela confunde em função do extends, então tenho que 30 // esta na InfraDTO e ela confunde em função do extends, então tenho que
31 // criar uma nova instância 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 if($arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO] != 'IdUnidade') { 37 if($arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO] != 'IdUnidade') {
38 38
@@ -40,7 +40,7 @@ class PenUnidadeDTO extends UnidadeDTO { @@ -40,7 +40,7 @@ class PenUnidadeDTO extends UnidadeDTO {
40 $arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO], 40 $arrAtrib[InfraDTO::$POS_ATRIBUTO_PREFIXO],
41 $arrAtrib[InfraDTO::$POS_ATRIBUTO_NOME], 41 $arrAtrib[InfraDTO::$POS_ATRIBUTO_NOME],
42 $arrAtrib[InfraDTO::$POS_ATRIBUTO_CAMPO_SQL], 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,8 +162,9 @@ try {
162 $objPenUnidadeDTO->retNumIdUnidadeRH(); 162 $objPenUnidadeDTO->retNumIdUnidadeRH();
163 163
164 $objPenUnidadeRN = new PenUnidadeRN(); 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 $objPagina->prepararOrdenacao($objPenUnidadeDTOFiltro, 'IdUnidade', InfraDTO::$TIPO_ORDENACAO_ASC); 169 $objPagina->prepararOrdenacao($objPenUnidadeDTOFiltro, 'IdUnidade', InfraDTO::$TIPO_ORDENACAO_ASC);
169 $objPagina->prepararPaginacao($objPenUnidadeDTOFiltro); 170 $objPagina->prepararPaginacao($objPenUnidadeDTOFiltro);
pen_procedimento_expedir.php
@@ -80,7 +80,7 @@ try { @@ -80,7 +80,7 @@ try {
80 80
81 //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades'); 81 //$strLinkUnidadeSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_unidade_sel_expedir_procedimento&tipo_selecao=2&id_object=objLupaUnidades');
82 //$strLinkRepositorioSelecao = $objSessaoSEI->assinarLink('controlador.php?acao=pen_repositorio_selecionar_expedir_procedimento&tipo_selecao=2&id_object=objLupaProcedimentosApensados'); 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 //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN 85 //TODO: Obter dados do repositório e unidade de orígem através de serviço do PEN
86 //Obtenção dos parâmetros selecionados pelo usuário 86 //Obtenção dos parâmetros selecionados pelo usuário
rn/PenUnidadeRN.php
@@ -47,15 +47,12 @@ class PenUnidadeRN extends InfraRN { @@ -47,15 +47,12 @@ class PenUnidadeRN extends InfraRN {
47 * @return array 47 * @return array
48 * @throws InfraException 48 * @throws InfraException
49 */ 49 */
50 - protected function listarConectado(UnidadeDTO $objUnidadeDTO) { 50 + protected function listarConectado(UnidadeDTO $objPenUnidadeDTO) {
51 try { 51 try {
52 //Valida Permissao 52 //Valida Permissao
53 SessaoSEI::getInstance()->validarAuditarPermissao('pen_map_unidade_listar',__METHOD__,$objUnidadeDTO); 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 }catch(Exception $e){ 56 }catch(Exception $e){
60 throw new InfraException('Erro listando Unidades.',$e); 57 throw new InfraException('Erro listando Unidades.',$e);
61 } 58 }
@@ -67,13 +64,13 @@ class PenUnidadeRN extends InfraRN { @@ -67,13 +64,13 @@ class PenUnidadeRN extends InfraRN {
67 * @return array 64 * @return array
68 * @throws InfraException 65 * @throws InfraException
69 */ 66 */
70 - protected function alterarConectado(PenUnidadeDTO $objDTO){ 67 + protected function alterarConectado(UnidadeDTO $objPenUnidadeDTO){
71 try { 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 catch (Exception $e) { 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,13 +80,13 @@ class PenUnidadeRN extends InfraRN {
83 * @return array 80 * @return array
84 * @throws InfraException 81 * @throws InfraException
85 */ 82 */
86 - protected function cadastrarConectado(PenUnidadeDTO $objDTO){ 83 + protected function cadastrarConectado(UnidadeDTO $objDTO){
87 try { 84 try {
88 - $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); 85 + $objBD = new PenUnidadeBD($this->inicializarObjInfraIBanco());
89 return $objBD->cadastrar($objDTO); 86 return $objBD->cadastrar($objDTO);
90 } 87 }
91 catch (Exception $e) { 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,13 +96,31 @@ class PenUnidadeRN extends InfraRN {
99 * @return array 96 * @return array
100 * @throws InfraException 97 * @throws InfraException
101 */ 98 */
102 - protected function excluirConectado(PenUnidadeDTO $objDTO){ 99 + protected function excluirConectado(UnidadeDTO $objDTO){
103 try { 100 try {
104 - $objBD = new GenericoBD($this->inicializarObjInfraIBanco()); 101 + $objBD = new PenUnidadeBD($this->inicializarObjInfraIBanco());
105 return $objBD->excluir($objDTO); 102 return $objBD->excluir($objDTO);
106 } 103 }
107 catch (Exception $e) { 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,6 +1458,15 @@ class ProcessoEletronicoRN extends InfraRN {
1458 throw new InfraException("Erro durante obtenção da resposta das hipóteses legais", $e); 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