Commit 142cd32a5a04bd1004aa37fda4512b80e2b40815

Authored by Eduardo Heinske
1 parent c7b68e60

Adaptação da Recusa, cancelamento e correção do bug no NRE

PENIntegracao.php
@@ -17,14 +17,14 @@ class PENIntegracao extends SeiIntegracao { @@ -17,14 +17,14 @@ class PENIntegracao extends SeiIntegracao {
17 } 17 }
18 18
19 public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) { 19 public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) {
20 - 20 +
21 $objProcedimentoDTO = new ProcedimentoDTO(); 21 $objProcedimentoDTO = new ProcedimentoDTO();
22 $objProcedimentoDTO->setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento()); 22 $objProcedimentoDTO->setDblIdProcedimento($objSeiIntegracaoDTO->getIdProcedimento());
23 $objProcedimentoDTO->retTodos(); 23 $objProcedimentoDTO->retTodos();
24 24
25 $objProcedimentoRN = new ProcedimentoRN(); 25 $objProcedimentoRN = new ProcedimentoRN();
26 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO); 26 $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
27 - 27 +
28 $objSessaoSEI = SessaoSEI::getInstance(); 28 $objSessaoSEI = SessaoSEI::getInstance();
29 $objPaginaSEI = PaginaSEI::getInstance(); 29 $objPaginaSEI = PaginaSEI::getInstance();
30 $strAcoesProcedimento = ""; 30 $strAcoesProcedimento = "";
@@ -32,7 +32,8 @@ class PENIntegracao extends SeiIntegracao { @@ -32,7 +32,8 @@ class PENIntegracao extends SeiIntegracao {
32 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); 32 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
33 $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario(); 33 $numIdUsuario = SessaoSEI::getInstance()->getNumIdUsuario();
34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual(); 34 $numIdUnidadeAtual = SessaoSEI::getInstance()->getNumIdUnidadeAtual();
35 - 35 + $objProcessoEletronicoRN = new ProcessoEletronicoRN();
  36 +
36 //Verifica se o processo encontra-se aberto na unidade atual 37 //Verifica se o processo encontra-se aberto na unidade atual
37 $objAtividadeRN = new AtividadeRN(); 38 $objAtividadeRN = new AtividadeRN();
38 $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO(); 39 $objPesquisaPendenciaDTO = new PesquisaPendenciaDTO();
@@ -43,64 +44,38 @@ class PENIntegracao extends SeiIntegracao { @@ -43,64 +44,38 @@ class PENIntegracao extends SeiIntegracao {
43 $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO); 44 $arrObjProcedimentoDTO = $objAtividadeRN->listarPendenciasRN0754($objPesquisaPendenciaDTO);
44 $bolFlagAberto = count($arrObjProcedimentoDTO) == 1; 45 $bolFlagAberto = count($arrObjProcedimentoDTO) == 1;
45 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 49
50 - // ExpedirProcedimentoRN::__construct() criar a instância do ProcessoEletronicoRN  
51 - // e este pode lançar exceções caso alguma configuração dele não estaja correta  
52 - // invalidando demais ações na tela do Controle de Processo, então ecapsulamos  
53 - // no try/catch para prevenir o erro em tela adicionamos no log  
54 - // try {  
55 -  
56 - $objExpedirProcedimentoRN = new ExpedirProcedimentoRN();  
57 - $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento);  
58 -  
59 - /* $bolProcessoEstadoNormal = !in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), array(  
60 - ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO,  
61 - ProtocoloRN::$TE_EM_PROCESSAMENTO,  
62 - ProtocoloRn::$TE_BLOQUEADO  
63 - ));*/  
64 -  
65 - //TODO: Não apresentar  
66 - //$bolFlagAberto && $bolAcaoProcedimentoEnviar && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo()!=ProtocoloRN::$NA_SIGILOSO  
67 - // if ($bolFlagAberto && $bolAcaoExpedirProcesso && $bolProcessoEstadoNormal && $objProcedimentoDTO->getStrStaNivelAcessoGlobalProtocolo() != ProtocoloRN::$NA_SIGILOSO) {  
68 - $numTabBotao = $objPaginaSEI->getProxTabBarraComandosSuperior();  
69 - $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="Expedir Processo" title="Expedir Processo" /></a>';  
70 - //}  
71 -  
72 - /* if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO) { 50 + $objExpedirProcedimentoRN = new ExpedirProcedimentoRN();
  51 + $objProcedimentoDTO = $objExpedirProcedimentoRN->consultarProcedimento($dblIdProcedimento);
73 52
74 - $objProcessoEletronicoRN = new ProcessoEletronicoRN(); 53 + $bolProcessoEstadoNormal = !in_array($objProcedimentoDTO->getStrStaEstadoProtocolo(), array(
  54 + ProtocoloRN::$TE_PROCEDIMENTO_SOBRESTADO,
  55 + ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO
  56 + ));
75 57
76 - if ($objProcessoEletronicoRN->isDisponivelCancelarTramite($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())) {  
77 - $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">';  
78 - $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Expedição" title="Cancelar Expedição" />';  
79 - $strAcoesProcedimento .= '</a>';  
80 - }  
81 - }  
82 - $objProcedimentoAndamentoDTO = new ProcedimentoAndamentoDTO();  
83 - $objProcedimentoAndamentoDTO->setDblIdProcedimento($dblIdProcedimento);  
84 -  
85 - $objGenericoBD = new GenericoBD(BancoSEI::getInstance());  
86 -  
87 - if ($objGenericoBD->contar($objProcedimentoAndamentoDTO) > 0) {  
88 -  
89 - $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">';  
90 - $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/pen_consultar_recibos.png" alt="Consultar Recibos" title="Consultar Recibos"/>';  
91 - $strAcoesProcedimento .= '</a>';  
92 - }  
93 -  
94 - /* } catch (InfraException $e) {  
95 - LogSEI::getInstance()->gravar($e->getStrDescricao());  
96 - } catch (Exception $e) {  
97 - LogSEI::getInstance()->gravar($e->getMessage());  
98 - }*/ 58 + //Apresenta o botão de expedir processo
  59 + 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="Expedir Processo" title="Expedir Processo" /></a>';
  62 + }
99 63
  64 + //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>';
  68 +
  69 + //Apresenta o botão de cancelar trâmite
  70 + if ($objProcessoEletronicoRN->isDisponivelCancelarTramite($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())) {
  71 + $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">';
  72 + $strAcoesProcedimento .= '<img class="infraCorBarraSistema" src="' . $this->getDiretorioImagens() . '/sei_desanexar_processo.gif" alt="Cancelar Expedição" title="Cancelar Expedição" />';
  73 + $strAcoesProcedimento .= '</a>';
  74 + }
  75 +
100 return array($strAcoesProcedimento); 76 return array($strAcoesProcedimento);
101 } 77 }
102 78
103 -  
104 public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) { 79 public function montarIconeControleProcessos($arrObjProcedimentoAPI = array()) {
105 80
106 $arrStrIcone = array(); 81 $arrStrIcone = array();
@@ -123,23 +98,18 @@ class PENIntegracao extends SeiIntegracao { @@ -123,23 +98,18 @@ class PENIntegracao extends SeiIntegracao {
123 foreach ($arrObjProcedimentoDTO as $objProcedimentoDTO) { 98 foreach ($arrObjProcedimentoDTO as $objProcedimentoDTO) {
124 99
125 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento(); 100 $dblIdProcedimento = $objProcedimentoDTO->getDblIdProcedimento();
  101 + $objPenProtocoloDTO = new PenProtocoloDTO();
  102 + $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento);
  103 + $objPenProtocoloDTO->retStrSinObteveRecusa();
  104 + $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1);
126 105
127 - if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO) {  
128 - $arrStrIcone[$dblIdProcedimento] = array('<img src="' . $this->getDiretorioImagens() . '/pen_em_processamento.png" title="Em Tramitação Externa" />');  
129 - } else {  
130 - $objPenProtocoloDTO = new PenProtocoloDTO();  
131 - $objPenProtocoloDTO->setDblIdProtocolo($dblIdProcedimento);  
132 - $objPenProtocoloDTO->retStrSinObteveRecusa();  
133 - $objPenProtocoloDTO->setNumMaxRegistrosRetorno(1);  
134 -  
135 - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());  
136 - $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO);  
137 -  
138 - if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { 106 + $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());
  107 + $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO);
139 108
140 - $arrStrIcone[$dblIdProcedimento] = array('<img src="' . $this->getDiretorioImagens() . '/pen_tramite_recusado.png" title="Um trâmite para esse processo foi recusado" />');  
141 - } 109 + if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') {
  110 + $arrStrIcone[$dblIdProcedimento] = array('<img src="' . $this->getDiretorioImagens() . '/pen_tramite_recusado.png" title="Um trâmite para esse processo foi recusado" />');
142 } 111 }
  112 +
143 } 113 }
144 } 114 }
145 115
@@ -154,43 +124,52 @@ class PENIntegracao extends SeiIntegracao { @@ -154,43 +124,52 @@ class PENIntegracao extends SeiIntegracao {
154 return static::getDiretorio() . '/imagens'; 124 return static::getDiretorio() . '/imagens';
155 } 125 }
156 126
157 - public function montarMensagemSituacaoProcedimento(ProcedimentoDTO $objProcedimentoDTO) {  
158 - if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_EM_PROCESSAMENTO || $objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_BLOQUEADO) { 127 + public function montarMensagemProcesso(ProcedimentoAPI $objProcedimentoAPI) {
  128 +
  129 + $objProcedimentoDTO = new ProcedimentoDTO();
  130 + $objProcedimentoDTO->setDblIdProcedimento($objProcedimentoAPI->getIdProcedimento());
  131 + $objProcedimentoDTO->retStrStaEstadoProtocolo();
  132 + $objProcedimentoDTO->retDblIdProcedimento();
  133 +
  134 + $objProcedimentoRN = new ProcedimentoRN();
  135 + $objProcedimentoDTO = $objProcedimentoRN->consultarRN0201($objProcedimentoDTO);
  136 +
  137 + if ($objProcedimentoDTO->getStrStaEstadoProtocolo() == ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO) {
  138 +
159 $objAtividadeDTO = new AtividadeDTO(); 139 $objAtividadeDTO = new AtividadeDTO();
160 $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento()); 140 $objAtividadeDTO->setDblIdProtocolo($objProcedimentoDTO->getDblIdProcedimento());
  141 + $objAtividadeDTO->setNumIdTarefa(
  142 + array(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO),
  143 + ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO)),
  144 + InfraDTO::$OPER_IN);
  145 + $objAtividadeDTO->setNumMaxRegistrosRetorno(1);
  146 + $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC);
161 $objAtividadeDTO->retNumIdAtividade(); 147 $objAtividadeDTO->retNumIdAtividade();
162 - 148 + $objAtividadeDTO->retNumIdTarefa();
  149 +
163 $objAtividadeRN = new AtividadeRN(); 150 $objAtividadeRN = new AtividadeRN();
164 $arrAtividadeDTO = (array) $objAtividadeRN->listarRN0036($objAtividadeDTO); 151 $arrAtividadeDTO = (array) $objAtividadeRN->listarRN0036($objAtividadeDTO);
165 152
166 - if (empty($arrAtividadeDTO)) {  
167 -  
168 - throw new InfraException('Não foi possivel localizar as atividades executadas nesse procedimento');  
169 - }  
170 -  
171 - $objFiltroAtributoAndamentoDTO = new AtributoAndamentoDTO();  
172 - $objFiltroAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');  
173 - $objFiltroAtributoAndamentoDTO->retStrValor();  
174 - $objFiltroAtributoAndamentoDTO->setOrdNumIdAtributoAndamento(InfraDTO::$TIPO_ORDENACAO_DESC);  
175 -  
176 - $objAtributoAndamentoRN = new AtributoAndamentoRN();  
177 - $objAtributoAndamentoFinal = null;  
178 -  
179 - foreach ($arrAtividadeDTO as $objAtividadeDTO) {  
180 -  
181 - $objFiltroAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade());  
182 - $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objFiltroAtributoAndamentoDTO);  
183 -  
184 - if (!empty($objAtributoAndamentoDTO)) {  
185 - $objAtributoAndamentoFinal = $objAtributoAndamentoDTO; 153 + if (isset($arrAtividadeDTO[0])) {
  154 + $objAtividadeDTO = $arrAtividadeDTO[0];
  155 +
  156 + if($objAtividadeDTO->getNumIdTarefa() == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)){
  157 +
  158 + $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
  159 + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
  160 + $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade());
  161 + $objAtributoAndamentoDTO->retStrValor();
  162 +
  163 + $objAtributoAndamentoRN = new AtributoAndamentoRN();
  164 + $objAtributoAndamentoDTO = $objAtributoAndamentoRN->consultarRN1366($objAtributoAndamentoDTO);
  165 +
  166 + return sprintf('Processo em trâmite externo para "%s".', $objAtributoAndamentoDTO->getStrValor());
  167 +
  168 +
186 } 169 }
  170 +
187 } 171 }
188 - $objAtributoAndamentoDTO = $objAtributoAndamentoFinal;  
189 -  
190 - //@TODOJOIN: Retirar esse array_pop(array_pop) pois a versão 5.6 não permite realizar esse tipo de aninhamento.  
191 - $strUnidadeDestino = array_pop(array_pop(PaginaSEI::getInstance()->getArrOptionsSelect($objAtributoAndamentoDTO->getStrValor())));  
192 172
193 - return "<br/>" . sprintf('Processo em trâmite externo para "%s".', $strUnidadeDestino);  
194 } 173 }
195 } 174 }
196 175
bd/TramiteBD.php
1 -<? 1 +<?php
2 2
3 require_once dirname(__FILE__) . '/../../../SEI.php'; 3 require_once dirname(__FILE__) . '/../../../SEI.php';
4 4
dto/ProcessoExpedidoDTO.php
@@ -40,8 +40,8 @@ class ProcessoExpedidoDTO extends InfraDTO { @@ -40,8 +40,8 @@ class ProcessoExpedidoDTO extends InfraDTO {
40 $this->configurarFK('IdUsuario', 'usuario', 'id_usuario'); 40 $this->configurarFK('IdUsuario', 'usuario', 'id_usuario');
41 $this->configurarFK('IdAtividade', 'atributo_andamento', 'id_atividade'); 41 $this->configurarFK('IdAtividade', 'atributo_andamento', 'id_atividade');
42 42
43 - $this->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO);  
44 - $this->setNumTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); 43 + //$this->setStrStaEstado(ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);
  44 + //$this->setNumTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO));
45 $this->setOrd('Expedido', InfraDTO::$TIPO_ORDENACAO_DESC); 45 $this->setOrd('Expedido', InfraDTO::$TIPO_ORDENACAO_DESC);
46 } 46 }
47 } 47 }
dto/ReceberTramiteRecusadoDTO.php
1 <?php 1 <?php
2 2
3 -require_once dirname(__FILE__).'/../../../SEI.php'; 3 +require_once dirname(__FILE__) . '/../../../SEI.php';
4 4
5 class ReceberTramiteRecusadoDTO extends InfraDTO { 5 class ReceberTramiteRecusadoDTO extends InfraDTO {
6 6
7 public function getStrNomeTabela() { 7 public function getStrNomeTabela() {
8 - return 'md_pen_tramite_recusado'; 8 + return null;
9 } 9 }
10 10
11 public function montar() { 11 public function montar() {
12 -  
13 - $this->adicionarAtributo(InfraDTO::$PREFIXO_DBL, 'IdTramite', 'id_tramite');  
14 - $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'Registro', 'numero_registro');  
15 12
16 - $this->configurarPK('IdTramite', InfraDTO::$TIPO_PK_INFORMADO); 13 + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'id_tramite');
  14 + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdProtocolo', 'id_protocolo');
  15 + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdUnidadeOrigem', 'id_unidade_origem');
  16 + $this->adicionarAtributo(InfraDTO::$PREFIXO_NUM, 'IdTarefa', 'id_tarefa');
  17 + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'MotivoRecusa', 'motivo_recusa');
  18 + $this->adicionarAtributo(InfraDTO::$PREFIXO_STR, 'NomeUnidadeDestino', 'nome_unidade_destino');
  19 +
17 } 20 }
  21 +
18 } 22 }
dto/TramiteDTO.php
@@ -2,22 +2,29 @@ @@ -2,22 +2,29 @@
2 2
3 class TramiteDTO extends InfraDTO { 3 class TramiteDTO extends InfraDTO {
4 4
5 - public function getStrNomeTabela() {  
6 - return 'md_pen_tramite';  
7 - } 5 + public function getStrNomeTabela() {
  6 + return 'md_pen_tramite';
  7 + }
8 8
9 - public function montar() { 9 + public function montar() {
10 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NumeroRegistro', 'numero_registro'); 10 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'NumeroRegistro', 'numero_registro');
11 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'id_tramite'); 11 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdTramite', 'id_tramite');
12 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'TicketEnvioComponentes', 'ticket_envio_componentes'); 12 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'TicketEnvioComponentes', 'ticket_envio_componentes');
13 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Registro', 'dth_registro'); 13 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Registro', 'dth_registro');
14 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdAndamento', 'id_andamento'); 14 $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdAndamento', 'id_andamento');
15 - 15 + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdUsuario', 'id_usuario');
  16 + $this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdUnidade', 'id_unidade');
16 $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR, 'ObjComponenteDigitalDTO'); 17 $this->adicionarAtributo(InfraDTO::$PREFIXO_ARR, 'ObjComponenteDigitalDTO');
17 - 18 +
  19 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeUsuario', 'nome', 'usuario');
  20 + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeUnidade', 'nome', 'unidade');
  21 +
18 $this->configurarPK('NumeroRegistro', InfraDTO::$TIPO_PK_INFORMADO); 22 $this->configurarPK('NumeroRegistro', InfraDTO::$TIPO_PK_INFORMADO);
19 $this->configurarPK('IdTramite', InfraDTO::$TIPO_PK_INFORMADO); 23 $this->configurarPK('IdTramite', InfraDTO::$TIPO_PK_INFORMADO);
  24 +
20 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA); 25 $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA);
  26 + $this->configurarFK('IdUsuario', 'usuario u', 'u.id_usuario');
  27 + $this->configurarFK('IdUnidade', 'unidade u', 'u.id_unidade');
21 } 28 }
22 29
23 } 30 }
pen_procedimento_estado.php
@@ -211,7 +211,7 @@ try { @@ -211,7 +211,7 @@ try {
211 211
212 // @join_tec US008.03 (#23092) | @join_tec US008.13 (#23092) 212 // @join_tec US008.03 (#23092) | @join_tec US008.13 (#23092)
213 213
214 - if($numTarefa == ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO){ 214 + if($numTarefa == ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO)){
215 $strResultado .= '<a href="'.$objSessaoSEI->assinarLink($strProprioLink.'&metodo=baixarReciboEnvio&id_tarefa='.$numTarefa.'&id_tramite='.$dblIdTramite).'"><img class="infraImg" src="'.PENIntegracao::getDiretorio().'/imagens/page_red.png" alt="Recibo de Confirmação de Envio" title="Recibo de Confirmação de Envio" /></a>'; 215 $strResultado .= '<a href="'.$objSessaoSEI->assinarLink($strProprioLink.'&metodo=baixarReciboEnvio&id_tarefa='.$numTarefa.'&id_tramite='.$dblIdTramite).'"><img class="infraImg" src="'.PENIntegracao::getDiretorio().'/imagens/page_red.png" alt="Recibo de Confirmação de Envio" title="Recibo de Confirmação de Envio" /></a>';
216 } 216 }
217 // @join_tec US008.01 (#23092) 217 // @join_tec US008.01 (#23092)
pen_procedimento_expedido_listar.php
1 -<?php  
2 -/**  
3 - * @author Join Tecnologia  
4 - */  
5 -require_once dirname(__FILE__) . '/../../SEI.php';  
6 -  
7 -try {  
8 -  
9 - session_start();  
10 -  
11 - $objPaginaSEI = PaginaSEI::getInstance();  
12 - $objSessaoSEI = SessaoSEI::getInstance();  
13 -  
14 - $objSessaoSEI->validarLink();  
15 - $objSessaoSEI->validarPermissao($_GET['acao']);  
16 - $arrComandos = array();  
17 -  
18 - $strTitulo = 'Processos Expedidos';  
19 -  
20 - $objFiltroDTO = new ProtocoloDTO();  
21 - $objFiltroDTO->setStrStaEstado(ProtocoloRN::$TE_BLOQUEADO);  
22 - $objFiltroDTO->setNumIdTarefaAtividade(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO);  
23 - // $objFiltroDTO->setDistinct(true);  
24 - $objFiltroDTO->retDblIdProtocolo();  
25 - $objFiltroDTO->retStrProtocoloFormatado();  
26 -  
27 - // Verificar no DTO sobre funções de agragação para clausula DISTINCT  
28 - if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') {  
29 - $objFiltroDTO->retDthConclusaoAtividade();  
30 - }  
31 - $objPaginaSEI->prepararPaginacao($objFiltroDTO, 10);  
32 - $objPaginaSEI->prepararOrdenacao($objFiltroDTO, 'ConclusaoAtividade', InfraDTO::$TIPO_ORDENACAO_DESC);  
33 -  
34 - BancoSEI::getInstance()->abrirConexao();  
35 -  
36 - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());  
37 - $arrObjFiltroDTO = $objProtocoloBD->listar($objFiltroDTO);  
38 -  
39 - $arrObjProcessoExpedidoDTO = array();  
40 - $numRegistros = 0;  
41 -  
42 - if(!empty($arrObjFiltroDTO)) {  
43 -  
44 - $arrIdProtocolo = InfraArray::converterArrInfraDTO($arrObjFiltroDTO, 'IdProtocolo');  
45 -  
46 - $objProcessoExpedido = new ProcessoExpedidoDTO();  
47 - $objProcessoExpedido->setDblIdProtocolo($arrIdProtocolo, InfraDTO::$OPER_IN);  
48 - $objProcessoExpedido->retTodos();  
49 -  
50 - $objGenericoBD = new ProcessoExpedidoBD(BancoSEI::getInstance());  
51 - $arrObjProcessoExpedidoDTO = $objGenericoBD->listar($objProcessoExpedido);  
52 -  
53 - if(!empty($arrObjProcessoExpedidoDTO)) {  
54 -  
55 - $arrObjProcessoExpedidoDTO = InfraArray::distinctArrInfraDTO($arrObjProcessoExpedidoDTO, 'IdProtocolo');  
56 -  
57 - $numRegistros = count($arrObjProcessoExpedidoDTO);  
58 - }  
59 - }  
60 -  
61 - $objPaginaSEI->processarPaginacao($objFiltroDTO);  
62 -  
63 - if (!empty($arrObjProcessoExpedidoDTO)) {  
64 -  
65 - $arrComandos[] = '<button type="button" accesskey="I" id="btnImprimir" value="Imprimir" onclick="infraImprimirTabela();" class="infraButton"><span class="infraTeclaAtalho">I</span>mprimir</button>';  
66 -  
67 - $strSumarioTabela = 'Tabela de Processos.';  
68 - $strCaptionTabela = 'Processos';  
69 -  
70 - $strResultado .= '<table width="99%" class="infraTable" summary="' . $strSumarioTabela . '">' . "\n";  
71 - $strResultado .= '<caption class="infraCaption">' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '</caption>';  
72 - $strResultado .= '<tr>';  
73 - $strResultado .= '<th class="infraTh" width="1%">' . $objPaginaSEI->getThCheck() . '</th>' . "\n";  
74 - $strResultado .= '<th class="infraTh">Processo</th>' . "\n";  
75 - $strResultado .= '<th class="infraTh">Usuário</th>' . "\n";  
76 - $strResultado .= '<th class="infraTh">Data de Expedição</th>' . "\n";  
77 - $strResultado .= '<th class="infraTh">Unidade Destino</th>' . "\n";  
78 - $strResultado .= '</tr>' . "\n";  
79 - $strCssTr = '';  
80 -  
81 - $numIndice = 1;  
82 -  
83 - foreach($arrObjProcessoExpedidoDTO as $objProcessoExpedidoDTO) {  
84 -  
85 - $strCssTr = ($strCssTr == '<tr class="infraTrClara">') ? '<tr class="infraTrEscura">' : '<tr class="infraTrClara">';  
86 - $strResultado .= $strCssTr;  
87 -  
88 - $strResultado .= '<td valign="top">'.$objPaginaSEI->getTrCheck($numIndice,$objProcessoExpedidoDTO->getDblIdProtocolo(),$objProcessoExpedidoDTO->getStrProtocoloFormatado()).'</td>'."\n";  
89 - $strResultado .= '<td width="17%" align="center"><a onclick="abrirProcesso(\'' .$objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=procedimento_trabalhar&acao_origem=' . $_GET['acao'] . '&acao_retorno=' . $_GET['acao'] . '&id_procedimento=' . $objProcessoExpedidoDTO->getDblIdProtocolo())).'\');" tabindex="' . $objPaginaSEI->getProxTabTabela() . '" title="" class="protocoloNormal" style="font-size:1em !important;">'.$objProcessoExpedidoDTO->getStrProtocoloFormatado().'</a></td>' . "\n";  
90 - $strResultado .= '<td align="center"><a alt="Teste" title="Teste" class="ancoraSigla">' . $objProcessoExpedidoDTO->getStrNomeUsuario() . '</a></td>';  
91 - $strResultado .= '<td width="17%" align="center">' . $objProcessoExpedidoDTO->getDthExpedido() . '</td>';  
92 - $strResultado .= '<td align="left">' . $objProcessoExpedidoDTO->getStrDestino();  
93 -  
94 -  
95 - if ($bolAcaoRemoverSobrestamento) {  
96 - $strResultado .= '<a href="' . $objPaginaSEI->montarAncora($objProcessoExpedidoDTO->getDblIdProtocolo()) . '" onclick="acaoRemoverSobrestamento(\'' . $objProcessoExpedidoDTO->getDblIdProtocolo() . '\',\'' . $objProcessoExpedidoDTO->getStrProtocoloFormatado() . '\');" tabindex="' . $objPaginaSEI->getProxTabTabela() . '"><img src="imagens/sei_remover_sobrestamento_processo_pequeno.gif" title="Remover Sobrestamento" alt="Remover Sobrestamento" class="infraImg" /></a>&nbsp;';  
97 - }  
98 -  
99 - $strResultado .= '</td></tr>' . "\n";  
100 -  
101 - $numIndice++;  
102 - }  
103 - $strResultado .= '</table>';  
104 - }  
105 -}  
106 -catch (Exception $e) {  
107 - $objPaginaSEI->processarExcecao($e);  
108 -}  
109 -  
110 -  
111 -  
112 -$objPaginaSEI->montarDocType();  
113 -$objPaginaSEI->abrirHtml();  
114 -$objPaginaSEI->abrirHead();  
115 -$objPaginaSEI->montarMeta();  
116 -$objPaginaSEI->montarTitle(':: ' . $objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo . ' ::');  
117 -$objPaginaSEI->montarStyle();  
118 -?>  
119 -<style type="text/css">  
120 -  
121 -table.tabelaProcessos {  
122 - background-color:white;  
123 - border:0px solid white;  
124 - border-spacing:.1em;  
125 -}  
126 -  
127 -table.tabelaProcessos tr{  
128 - margin:0;  
129 - border:0;  
130 - padding:0;  
131 -}  
132 -  
133 -table.tabelaProcessos img{  
134 - width:1.1em;  
135 - height:1.1em;  
136 -}  
137 -  
138 -table.tabelaProcessos a{  
139 - text-decoration:none;  
140 -}  
141 -  
142 -table.tabelaProcessos a:hover{  
143 - text-decoration:underline;  
144 -}  
145 -  
146 -  
147 -table.tabelaProcessos caption{  
148 - font-size: 1em;  
149 - text-align: right;  
150 - color: #666;  
151 -}  
152 -  
153 -th.tituloProcessos{  
154 - font-size:1em;  
155 - font-weight: bold;  
156 - text-align: center;  
157 - color: #000;  
158 - background-color: #dfdfdf;  
159 - border-spacing: 0;  
160 -}  
161 -  
162 -a.processoNaoVisualizado{  
163 - color:red;  
164 -}  
165 -  
166 -#divTabelaRecebido {  
167 - margin:2em;  
168 - float:left;  
169 - display:inline;  
170 - width:40%;  
171 -}  
172 -  
173 -#divTabelaRecebido table{  
174 - width:100%;  
175 -}  
176 -  
177 -#divTabelaGerado {  
178 - margin:2em;  
179 - float:right;  
180 - display:inline;  
181 - width:40%;  
182 -}  
183 -  
184 -#divTabelaGerado table{  
185 - width:100%;  
186 -}  
187 -</style>  
188 -<?php $objPaginaSEI->montarJavaScript(); ?>  
189 -<script type="text/javascript">  
190 -  
191 -function inicializar(){  
192 -  
193 - infraEfeitoTabelas();  
194 -}  
195 -  
196 -function abrirProcesso(link){  
197 - document.getElementById('divInfraBarraComandosSuperior').style.visibility = 'hidden';  
198 - document.getElementById('divInfraAreaTabela').style.visibility = 'hidden';  
199 - infraOcultarMenuSistemaEsquema();  
200 - document.getElementById('frmProcedimentoExpedido').action = link;  
201 - document.getElementById('frmProcedimentoExpedido').submit();  
202 -}  
203 -</script>  
204 -<?php  
205 -$objPaginaSEI->fecharHead();  
206 -$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"');  
207 -?>  
208 -<form id="frmProcedimentoExpedido" method="post" action="<?= $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=' . $_GET['acao'] . '&acao_origem=' . $_GET['acao'])) ?>">  
209 -<?php  
210 - $objPaginaSEI->montarBarraComandosSuperior($arrComandos);  
211 - $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros, true);  
212 - $objPaginaSEI->montarBarraComandosInferior($arrComandos);  
213 -?>  
214 -</form>  
215 -<?php  
216 -$objPaginaSEI->fecharBody();  
217 -$objPaginaSEI->fecharHtml();  
218 \ No newline at end of file 1 \ No newline at end of file
  2 +<?php
  3 +/**
  4 + * @author Join Tecnologia
  5 + */
  6 +require_once dirname(__FILE__) . '/../../SEI.php';
  7 +
  8 +try {
  9 +
  10 + session_start();
  11 +
  12 + $objPaginaSEI = PaginaSEI::getInstance();
  13 + $objSessaoSEI = SessaoSEI::getInstance();
  14 +
  15 + $objSessaoSEI->validarLink();
  16 + $objSessaoSEI->validarPermissao($_GET['acao']);
  17 + $arrComandos = array();
  18 +
  19 + $strTitulo = 'Processos Expedidos';
  20 +
  21 + $objFiltroDTO = new ProtocoloDTO();
  22 + $objFiltroDTO->setStrStaEstado(ProtocoloRN::$TE_PROCEDIMENTO_BLOQUEADO);
  23 + $objFiltroDTO->retDblIdProtocolo();
  24 + $objFiltroDTO->retStrProtocoloFormatado();
  25 +
  26 + // Verificar no DTO sobre funções de agragação para clausula DISTINCT
  27 + if(get_parent_class(BancoSEI::getInstance()) != 'InfraMySqli') {
  28 + $objFiltroDTO->retDthConclusaoAtividade();
  29 + }
  30 + $objPaginaSEI->prepararPaginacao($objFiltroDTO, 10);
  31 +
  32 + BancoSEI::getInstance()->abrirConexao();
  33 +
  34 + $objProcessoExpedidoRN = new ProcessoExpedidoRN();
  35 + $arrObjProcessoExpedidoDTO = $objProcessoExpedidoRN->listarProcessoExpedido($objFiltroDTO);
  36 +
  37 + $numRegistros = 0;
  38 +
  39 + if(!empty($arrObjProcessoExpedidoDTO)) {
  40 +
  41 + $arrObjProcessoExpedidoDTO = InfraArray::distinctArrInfraDTO($arrObjProcessoExpedidoDTO, 'IdProtocolo');
  42 +
  43 + $numRegistros = count($arrObjProcessoExpedidoDTO);
  44 + }
  45 +
  46 + $objPaginaSEI->processarPaginacao($objFiltroDTO);
  47 +
  48 + if (!empty($arrObjProcessoExpedidoDTO)) {
  49 +
  50 + $arrComandos[] = '<button type="button" accesskey="I" id="btnImprimir" value="Imprimir" onclick="infraImprimirTabela();" class="infraButton"><span class="infraTeclaAtalho">I</span>mprimir</button>';
  51 +
  52 + $strSumarioTabela = 'Tabela de Processos.';
  53 + $strCaptionTabela = 'Processos';
  54 +
  55 + $strResultado .= '<table width="99%" class="infraTable" summary="' . $strSumarioTabela . '">' . "\n";
  56 + $strResultado .= '<caption class="infraCaption">' . $objPaginaSEI->gerarCaptionTabela($strCaptionTabela, $numRegistros) . '</caption>';
  57 + $strResultado .= '<tr>';
  58 + $strResultado .= '<th class="infraTh" width="1%">' . $objPaginaSEI->getThCheck() . '</th>' . "\n";
  59 + $strResultado .= '<th class="infraTh">Processo</th>' . "\n";
  60 + $strResultado .= '<th class="infraTh">Usuário</th>' . "\n";
  61 + $strResultado .= '<th class="infraTh">Data de Expedição</th>' . "\n";
  62 + $strResultado .= '<th class="infraTh">Unidade Destino</th>' . "\n";
  63 + $strResultado .= '</tr>' . "\n";
  64 + $strCssTr = '';
  65 +
  66 + $numIndice = 1;
  67 +
  68 + foreach($arrObjProcessoExpedidoDTO as $objProcessoExpedidoDTO) {
  69 +
  70 + $strCssTr = ($strCssTr == '<tr class="infraTrClara">') ? '<tr class="infraTrEscura">' : '<tr class="infraTrClara">';
  71 + $strResultado .= $strCssTr;
  72 +
  73 + $strResultado .= '<td valign="top">'.$objPaginaSEI->getTrCheck($numIndice,$objProcessoExpedidoDTO->getDblIdProtocolo(),$objProcessoExpedidoDTO->getStrProtocoloFormatado()).'</td>'."\n";
  74 + $strResultado .= '<td width="17%" align="center"><a onclick="abrirProcesso(\'' .$objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=procedimento_trabalhar&acao_origem=' . $_GET['acao'] . '&acao_retorno=' . $_GET['acao'] . '&id_procedimento=' . $objProcessoExpedidoDTO->getDblIdProtocolo())).'\');" tabindex="' . $objPaginaSEI->getProxTabTabela() . '" title="" class="protocoloNormal" style="font-size:1em !important;">'.$objProcessoExpedidoDTO->getStrProtocoloFormatado().'</a></td>' . "\n";
  75 + $strResultado .= '<td align="center"><a alt="Teste" title="Teste" class="ancoraSigla">' . $objProcessoExpedidoDTO->getStrNomeUsuario() . '</a></td>';
  76 + $strResultado .= '<td width="17%" align="center">' . $objProcessoExpedidoDTO->getDthExpedido() . '</td>';
  77 + $strResultado .= '<td align="left">' . $objProcessoExpedidoDTO->getStrDestino();
  78 +
  79 +
  80 + if ($bolAcaoRemoverSobrestamento) {
  81 + $strResultado .= '<a href="' . $objPaginaSEI->montarAncora($objProcessoExpedidoDTO->getDblIdProtocolo()) . '" onclick="acaoRemoverSobrestamento(\'' . $objProcessoExpedidoDTO->getDblIdProtocolo() . '\',\'' . $objProcessoExpedidoDTO->getStrProtocoloFormatado() . '\');" tabindex="' . $objPaginaSEI->getProxTabTabela() . '"><img src="imagens/sei_remover_sobrestamento_processo_pequeno.gif" title="Remover Sobrestamento" alt="Remover Sobrestamento" class="infraImg" /></a>&nbsp;';
  82 + }
  83 +
  84 + $strResultado .= '</td></tr>' . "\n";
  85 +
  86 + $numIndice++;
  87 + }
  88 + $strResultado .= '</table>';
  89 + }
  90 +}
  91 +catch (Exception $e) {
  92 + $objPaginaSEI->processarExcecao($e);
  93 +}
  94 +
  95 +
  96 +
  97 +$objPaginaSEI->montarDocType();
  98 +$objPaginaSEI->abrirHtml();
  99 +$objPaginaSEI->abrirHead();
  100 +$objPaginaSEI->montarMeta();
  101 +$objPaginaSEI->montarTitle(':: ' . $objPaginaSEI->getStrNomeSistema() . ' - ' . $strTitulo . ' ::');
  102 +$objPaginaSEI->montarStyle();
  103 +?>
  104 +<style type="text/css">
  105 +
  106 +table.tabelaProcessos {
  107 + background-color:white;
  108 + border:0px solid white;
  109 + border-spacing:.1em;
  110 +}
  111 +
  112 +table.tabelaProcessos tr{
  113 + margin:0;
  114 + border:0;
  115 + padding:0;
  116 +}
  117 +
  118 +table.tabelaProcessos img{
  119 + width:1.1em;
  120 + height:1.1em;
  121 +}
  122 +
  123 +table.tabelaProcessos a{
  124 + text-decoration:none;
  125 +}
  126 +
  127 +table.tabelaProcessos a:hover{
  128 + text-decoration:underline;
  129 +}
  130 +
  131 +
  132 +table.tabelaProcessos caption{
  133 + font-size: 1em;
  134 + text-align: right;
  135 + color: #666;
  136 +}
  137 +
  138 +th.tituloProcessos{
  139 + font-size:1em;
  140 + font-weight: bold;
  141 + text-align: center;
  142 + color: #000;
  143 + background-color: #dfdfdf;
  144 + border-spacing: 0;
  145 +}
  146 +
  147 +a.processoNaoVisualizado{
  148 + color:red;
  149 +}
  150 +
  151 +#divTabelaRecebido {
  152 + margin:2em;
  153 + float:left;
  154 + display:inline;
  155 + width:40%;
  156 +}
  157 +
  158 +#divTabelaRecebido table{
  159 + width:100%;
  160 +}
  161 +
  162 +#divTabelaGerado {
  163 + margin:2em;
  164 + float:right;
  165 + display:inline;
  166 + width:40%;
  167 +}
  168 +
  169 +#divTabelaGerado table{
  170 + width:100%;
  171 +}
  172 +</style>
  173 +<?php $objPaginaSEI->montarJavaScript(); ?>
  174 +<script type="text/javascript">
  175 +
  176 +function inicializar(){
  177 +
  178 + infraEfeitoTabelas();
  179 +}
  180 +
  181 +function abrirProcesso(link){
  182 + document.getElementById('divInfraBarraComandosSuperior').style.visibility = 'hidden';
  183 + document.getElementById('divInfraAreaTabela').style.visibility = 'hidden';
  184 + infraOcultarMenuSistemaEsquema();
  185 + document.getElementById('frmProcedimentoExpedido').action = link;
  186 + document.getElementById('frmProcedimentoExpedido').submit();
  187 +}
  188 +</script>
  189 +<?php
  190 +$objPaginaSEI->fecharHead();
  191 +$objPaginaSEI->abrirBody($strTitulo, 'onload="inicializar();"');
  192 +?>
  193 +<form id="frmProcedimentoExpedido" method="post" action="<?= $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador.php?acao=' . $_GET['acao'] . '&acao_origem=' . $_GET['acao'])) ?>">
  194 +<?php
  195 + $objPaginaSEI->montarBarraComandosSuperior($arrComandos);
  196 + $objPaginaSEI->montarAreaTabela($strResultado, $numRegistros, true);
  197 + $objPaginaSEI->montarBarraComandosInferior($arrComandos);
  198 +?>
  199 +</form>
  200 +<?php
  201 +$objPaginaSEI->fecharBody();
  202 +$objPaginaSEI->fecharHtml();
rn/ExpedirProcedimentoRN.php
@@ -238,9 +238,6 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -238,9 +238,6 @@ class ExpedirProcedimentoRN extends InfraRN {
238 $this->receberReciboDeEnvio($objTramite->IDT); 238 $this->receberReciboDeEnvio($objTramite->IDT);
239 } 239 }
240 catch (\Exception $e) { 240 catch (\Exception $e) {
241 - echo "<pre>";  
242 - var_dump($e);  
243 - die("</pre>");  
244 $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI); 241 $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI);
245 $this->registrarAndamentoExpedicaoAbortada($objProtocolo->idProcedimentoSEI); 242 $this->registrarAndamentoExpedicaoAbortada($objProtocolo->idProcedimentoSEI);
246 243
@@ -343,7 +340,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -343,7 +340,7 @@ class ExpedirProcedimentoRN extends InfraRN {
343 // Consultar se processo eletrônico existe no PEN algum trâmite CANCELADO, caso 340 // Consultar se processo eletrônico existe no PEN algum trâmite CANCELADO, caso
344 // sim deve ser gerada uma nova NRE, pois a atual será recusada pelo PEN quando 341 // sim deve ser gerada uma nova NRE, pois a atual será recusada pelo PEN quando
345 // for enviado 342 // for enviado
346 - if(!InfraString::isBolVazia($strNumeroRegistro)) { 343 + /* if(!InfraString::isBolVazia($strNumeroRegistro)) {
347 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites(null, $strNumeroRegistro); 344 $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites(null, $strNumeroRegistro);
348 if(!empty($arrObjTramite) && is_array($arrObjTramite) && count($arrObjTramite) === 1) { 345 if(!empty($arrObjTramite) && is_array($arrObjTramite) && count($arrObjTramite) === 1) {
349 $objTramite = current($arrObjTramite); 346 $objTramite = current($arrObjTramite);
@@ -351,8 +348,9 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -351,8 +348,9 @@ class ExpedirProcedimentoRN extends InfraRN {
351 $strNumeroRegistro = null; 348 $strNumeroRegistro = null;
352 } 349 }
353 } 350 }
354 - } 351 + } */
355 352
  353 +
356 return $this->objProcessoEletronicoRN->construirCabecalho( 354 return $this->objProcessoEletronicoRN->construirCabecalho(
357 //TODO: Desabilitado consulta do NRE para questões de teste 355 //TODO: Desabilitado consulta do NRE para questões de teste
358 $strNumeroRegistro, 356 $strNumeroRegistro,
@@ -1367,7 +1365,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1367,7 +1365,7 @@ class ExpedirProcedimentoRN extends InfraRN {
1367 if(!isset($strProtocolo)){ 1365 if(!isset($strProtocolo)){
1368 throw new InfraException('Parâmetro $strProtocolo não informado.'); 1366 throw new InfraException('Parâmetro $strProtocolo não informado.');
1369 } 1367 }
1370 - 1368 +
1371 //Obter dados dos componetes digitais 1369 //Obter dados dos componetes digitais
1372 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); 1370 $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco());
1373 $objComponenteDigitalDTO = new ComponenteDigitalDTO(); 1371 $objComponenteDigitalDTO = new ComponenteDigitalDTO();
@@ -1377,7 +1375,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1377,7 +1375,7 @@ class ExpedirProcedimentoRN extends InfraRN {
1377 $objComponenteDigitalDTO->setOrdNumOrdem(InfraDTO::$TIPO_ORDENACAO_ASC); 1375 $objComponenteDigitalDTO->setOrdNumOrdem(InfraDTO::$TIPO_ORDENACAO_ASC);
1378 $objComponenteDigitalDTO->retDblIdDocumento(); 1376 $objComponenteDigitalDTO->retDblIdDocumento();
1379 $objComponenteDigitalDTO->retNumTicketEnvioComponentes(); 1377 $objComponenteDigitalDTO->retNumTicketEnvioComponentes();
1380 - $objComponenteDigitalDTO->retStrConteudoAssinaturaDocumento(); 1378 + // $objComponenteDigitalDTO->retStrConteudoAssinaturaDocumento();
1381 $objComponenteDigitalDTO->retStrProtocoloDocumentoFormatado(); 1379 $objComponenteDigitalDTO->retStrProtocoloDocumentoFormatado();
1382 $objComponenteDigitalDTO->retStrHashConteudo(); 1380 $objComponenteDigitalDTO->retStrHashConteudo();
1383 $objComponenteDigitalDTO->retStrProtocolo(); 1381 $objComponenteDigitalDTO->retStrProtocolo();
@@ -1385,11 +1383,12 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1385,11 +1383,12 @@ class ExpedirProcedimentoRN extends InfraRN {
1385 $objComponenteDigitalDTO->retDblIdProcedimento(); 1383 $objComponenteDigitalDTO->retDblIdProcedimento();
1386 1384
1387 $arrComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO); 1385 $arrComponentesDigitaisDTO = $objComponenteDigitalBD->listar($objComponenteDigitalDTO);
1388 - 1386 +
1389 if (isset($arrComponentesDigitaisDTO) && count($arrComponentesDigitaisDTO) > 0) { 1387 if (isset($arrComponentesDigitaisDTO) && count($arrComponentesDigitaisDTO) > 0) {
1390 1388
1391 //TODO: Valida inconsistência da quantidade de documentos solicitados e aqueles cadastrados no SEI 1389 //TODO: Valida inconsistência da quantidade de documentos solicitados e aqueles cadastrados no SEI
1392 - 1390 +
  1391 +
1393 //Construir objeto Componentes digitais 1392 //Construir objeto Componentes digitais
1394 foreach ($arrComponentesDigitaisDTO as $objComponenteDigitalDTO) { 1393 foreach ($arrComponentesDigitaisDTO as $objComponenteDigitalDTO) {
1395 1394
@@ -1420,7 +1419,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1420,7 +1419,7 @@ class ExpedirProcedimentoRN extends InfraRN {
1420 $parametros = new stdClass(); 1419 $parametros = new stdClass();
1421 $parametros->dadosDoComponenteDigital = $dadosDoComponenteDigital; 1420 $parametros->dadosDoComponenteDigital = $dadosDoComponenteDigital;
1422 $result = $this->objProcessoEletronicoRN->enviarComponenteDigital($parametros); 1421 $result = $this->objProcessoEletronicoRN->enviarComponenteDigital($parametros);
1423 - 1422 +
1424 //Bloquea documento para atualização, já que ele foi visualizado 1423 //Bloquea documento para atualização, já que ele foi visualizado
1425 $this->objDocumentoRN->bloquearConteudo($objDocumentoDTO); 1424 $this->objDocumentoRN->bloquearConteudo($objDocumentoDTO);
1426 // @join_tec US008.05 (#23092) 1425 // @join_tec US008.05 (#23092)
@@ -1571,7 +1570,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -1571,7 +1570,7 @@ class ExpedirProcedimentoRN extends InfraRN {
1571 1570
1572 // Se o documento não tem assinatura e não foi cancelado então 1571 // Se o documento não tem assinatura e não foi cancelado então
1573 // cai na regra de validação 1572 // cai na regra de validação
1574 - if($objAssinaturaRN->contarRN1324($objAssinaturaDTO) == 0 && $objDocumentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_CANCELADO){ 1573 + if($objAssinaturaRN->contarRN1324($objAssinaturaDTO) == 0 && $objDocumentoDTO->getStrStaEstadoProtocolo() != ProtocoloRN::$TE_DOCUMENTO_CANCELADO){
1575 1574
1576 //$bolAssinaturaCorretas = false; 1575 //$bolAssinaturaCorretas = false;
1577 } 1576 }
@@ -2059,7 +2058,7 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2059,7 +2058,7 @@ class ExpedirProcedimentoRN extends InfraRN {
2059 } 2058 }
2060 2059
2061 $numSituacaoAtual = 0; 2060 $numSituacaoAtual = 0;
2062 - 2061 +
2063 // Se o barramento possui alguma situação do tramite verificamos se o precedimento 2062 // Se o barramento possui alguma situação do tramite verificamos se o precedimento
2064 // já esta em recebimento 2063 // já esta em recebimento
2065 if(!empty($arrObjMetaTramite)) { 2064 if(!empty($arrObjMetaTramite)) {
@@ -2085,27 +2084,30 @@ class ExpedirProcedimentoRN extends InfraRN { @@ -2085,27 +2084,30 @@ class ExpedirProcedimentoRN extends InfraRN {
2085 2084
2086 $this->objProcessoEletronicoRN->cancelarTramite($objMetaTramite->IDT); 2085 $this->objProcessoEletronicoRN->cancelarTramite($objMetaTramite->IDT);
2087 2086
2088 - // Muda o Status o procedimento para NORMAL  
2089 - $objProcesso = (object)array('idProcedimentoSEI' => $dblIdProcedimento);  
2090 - ExpedirProcedimentoRN::mudarEstadoProcedimentoNormal($objProcesso, ProtocoloRN::$TE_NORMAL);  
2091 - 2087 + //Desbloqueia o processo
  2088 + $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
  2089 + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($dblIdProcedimento);
  2090 + $objSeiRN = new SeiRN();
  2091 + $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
  2092 +
2092 $objDTOFiltro = new TramiteDTO(); 2093 $objDTOFiltro = new TramiteDTO();
2093 $objDTOFiltro->setNumIdTramite($objMetaTramite->IDT); 2094 $objDTOFiltro->setNumIdTramite($objMetaTramite->IDT);
2094 $objDTOFiltro->setNumMaxRegistrosRetorno(1); 2095 $objDTOFiltro->setNumMaxRegistrosRetorno(1);
2095 $objDTOFiltro->setOrdNumIdTramite(InfraDTO::$TIPO_ORDENACAO_DESC); 2096 $objDTOFiltro->setOrdNumIdTramite(InfraDTO::$TIPO_ORDENACAO_DESC);
2096 - $objDTOFiltro->retTodos();  
2097 - 2097 + $objDTOFiltro->retNumIdTramite();
  2098 + $objDTOFiltro->retStrNumeroRegistro();
  2099 +
2098 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); 2100 $objTramiteBD = new TramiteBD($this->getObjInfraIBanco());
2099 $objTramiteDTO = $objTramiteBD->consultar($objDTOFiltro); 2101 $objTramiteDTO = $objTramiteBD->consultar($objDTOFiltro);
2100 2102
2101 $objTramiteDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO); 2103 $objTramiteDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO);
2102 - $objTramiteBD->alterar($objTramiteDTO);  
2103 - 2104 + $objTramiteDTO = $objTramiteBD->alterar($objTramiteDTO);
  2105 +
2104 //Cria o Objeto que registrará a Atividade de cancelamento 2106 //Cria o Objeto que registrará a Atividade de cancelamento
2105 $objAtividadeDTO = new AtividadeDTO(); 2107 $objAtividadeDTO = new AtividadeDTO();
2106 - $objAtividadeDTO->setDblIdProtocolo($objProcesso->idProcedimentoSEI); 2108 + $objAtividadeDTO->setDblIdProtocolo($dblIdProcedimento);
2107 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); 2109 $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
2108 - $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO); 2110 + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_CANCELADO));
2109 2111
2110 2112
2111 //Seta os atributos do tamplate de descrição dessa atividade 2113 //Seta os atributos do tamplate de descrição dessa atividade
rn/PenAtividadeRN.php
@@ -397,7 +397,7 @@ class PenAtividadeRN extends AtividadeRN { @@ -397,7 +397,7 @@ class PenAtividadeRN extends AtividadeRN {
397 } 397 }
398 398
399 switch($numIdTarefa){ 399 switch($numIdTarefa){
400 - case ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO: 400 + case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO):
401 $strMensagem = 'Expedição do Processo %s para %s'; 401 $strMensagem = 'Expedição do Processo %s para %s';
402 $strNome = 'UNIDADE_DESTINO'; 402 $strNome = 'UNIDADE_DESTINO';
403 403
@@ -409,7 +409,7 @@ class PenAtividadeRN extends AtividadeRN { @@ -409,7 +409,7 @@ class PenAtividadeRN extends AtividadeRN {
409 $objReturn->bolReciboExiste = ($objReciboTramiteBD->contar($objReciboTramiteDTO) > 0) ? true : false; 409 $objReturn->bolReciboExiste = ($objReciboTramiteBD->contar($objReciboTramiteDTO) > 0) ? true : false;
410 break; 410 break;
411 411
412 - case ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO: 412 + case ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO):
413 $strMensagem = 'Recebimento do Processo %s remetido por %s'; 413 $strMensagem = 'Recebimento do Processo %s remetido por %s';
414 $strNome = 'ENTIDADE_ORIGEM'; 414 $strNome = 'ENTIDADE_ORIGEM';
415 415
@@ -431,7 +431,7 @@ class PenAtividadeRN extends AtividadeRN { @@ -431,7 +431,7 @@ class PenAtividadeRN extends AtividadeRN {
431 $arrAtributoAndamentoDTO = $objAtributoAndamentoBD->listar($objAtributoAndamentoDTO); 431 $arrAtributoAndamentoDTO = $objAtributoAndamentoBD->listar($objAtributoAndamentoDTO);
432 432
433 $objAtributoAndamentoDTO = current($arrAtributoAndamentoDTO); 433 $objAtributoAndamentoDTO = current($arrAtributoAndamentoDTO);
434 - 434 +
435 $obProtocoloDTO = new ProtocoloDTO(); 435 $obProtocoloDTO = new ProtocoloDTO();
436 $obProtocoloDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); 436 $obProtocoloDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento());
437 $obProtocoloDTO->retStrProtocoloFormatado(); 437 $obProtocoloDTO->retStrProtocoloFormatado();
rn/PenAtualizarSeiRN.php
@@ -42,12 +42,16 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -42,12 +42,16 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
42 'id_tramite'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 42 'id_tramite'=> array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO),
43 'ticket_envio_componentes'=> array($objMetaBD->tipoTextoGrande(), PenMetaBD::SNULLO), 43 'ticket_envio_componentes'=> array($objMetaBD->tipoTextoGrande(), PenMetaBD::SNULLO),
44 'dth_registro'=> array($objMetaBD->tipoDataHora(), PenMetaBD::SNULLO), 44 'dth_registro'=> array($objMetaBD->tipoDataHora(), PenMetaBD::SNULLO),
45 - 'id_andamento'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO) 45 + 'id_andamento'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO),
  46 + 'id_usuario'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO),
  47 + 'id_unidade'=> array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO)
46 ), 48 ),
47 'pk' => array('id_tramite'), 49 'pk' => array('id_tramite'),
48 'uk' => array('numero_registro', 'id_tramite'), 50 'uk' => array('numero_registro', 'id_tramite'),
49 'fks' => array( 51 'fks' => array(
50 - 'md_pen_processo_eletronico' => array('numero_registro', 'numero_registro') 52 + 'md_pen_processo_eletronico' => array('numero_registro', 'numero_registro'),
  53 + 'usuario' => array('id_usuario', 'id_usuario'),
  54 + 'unidade' => array('id_unidade', 'id_unidade')
51 ) 55 )
52 )); 56 ));
53 57
@@ -110,14 +114,14 @@ class PenAtualizarSeiRN extends PenAtualizadorRN { @@ -110,14 +114,14 @@ class PenAtualizarSeiRN extends PenAtualizadorRN {
110 ) 114 )
111 )); 115 ));
112 116
113 - $objMetaBD->criarTabela(array( 117 + /* $objMetaBD->criarTabela(array(
114 'tabela' => 'md_pen_tramite_recusado', 118 'tabela' => 'md_pen_tramite_recusado',
115 'cols' => array( 119 'cols' => array(
116 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO), 120 'numero_registro'=> array($objMetaBD->tipoTextoFixo(16), PenMetaBD::NNULLO),
117 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO) 121 'id_tramite' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO)
118 ), 122 ),
119 'pk' => array('id_tramite') 123 'pk' => array('id_tramite')
120 - )); 124 + ));*/
121 125
122 $objMetaBD->criarTabela(array( 126 $objMetaBD->criarTabela(array(
123 'tabela' => 'md_pen_recibo_tramite', 127 'tabela' => 'md_pen_recibo_tramite',
rn/PendenciasTramiteRN.php
@@ -74,7 +74,7 @@ class PendenciasTramiteRN extends InfraRN { @@ -74,7 +74,7 @@ class PendenciasTramiteRN extends InfraRN {
74 $objPendenciaDTO = $this->obterPendenciasTramite($numIdTramiteRecebido); 74 $objPendenciaDTO = $this->obterPendenciasTramite($numIdTramiteRecebido);
75 75
76 if(isset($objPendenciaDTO)) { 76 if(isset($objPendenciaDTO)) {
77 - 77 +
78 if($numIdTramiteRecebido != $objPendenciaDTO->getNumIdentificacaoTramite()) { 78 if($numIdTramiteRecebido != $objPendenciaDTO->getNumIdentificacaoTramite()) {
79 79
80 $numIdTramiteRecebido = $objPendenciaDTO->getNumIdentificacaoTramite(); 80 $numIdTramiteRecebido = $objPendenciaDTO->getNumIdentificacaoTramite();
@@ -133,8 +133,9 @@ class PendenciasTramiteRN extends InfraRN { @@ -133,8 +133,9 @@ class PendenciasTramiteRN extends InfraRN {
133 $resultado = null; 133 $resultado = null;
134 $curl = $this->configurarRequisicao(); 134 $curl = $this->configurarRequisicao();
135 135
136 - try{  
137 136
  137 + try{
  138 +
138 if(isset($parNumIdTramiteRecebido)) { 139 if(isset($parNumIdTramiteRecebido)) {
139 curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias . "?idTramiteDaPendenciaRecebido=" . $parNumIdTramiteRecebido); 140 curl_setopt($curl, CURLOPT_URL, $this->strEnderecoServicoPendencias . "?idTramiteDaPendenciaRecebido=" . $parNumIdTramiteRecebido);
140 } 141 }
rn/ProcessarPendenciasRN.php
@@ -148,9 +148,10 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa { @@ -148,9 +148,10 @@ class ProcessarPendenciasRN extends InfraAgendamentoTarefa {
148 $this->objGearmanWorker->addFunction("receberTramitesRecusados", function ($job) { 148 $this->objGearmanWorker->addFunction("receberTramitesRecusados", function ($job) {
149 149
150 InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberRecusaTramite] " . $job->workload()); 150 InfraDebug::getInstance()->gravar("[".date("d/m/Y H:i:s")."] Processando tarefa [receberRecusaTramite] " . $job->workload());
151 - 151 + $numIdentificacaoTramite = intval($job->workload());
  152 +
152 $objReceberProcedimentoRN = new ReceberProcedimentoRN(); 153 $objReceberProcedimentoRN = new ReceberProcedimentoRN();
153 - $objReceberProcedimentoRN->receberTramitesRecusados(); 154 + $objReceberProcedimentoRN->receberTramitesRecusados($numIdentificacaoTramite);
154 }); 155 });
155 156
156 //Processamento de pendências de recebimento dos componentes digitais do processo 157 //Processamento de pendências de recebimento dos componentes digitais do processo
rn/ProcessoEletronicoRN.php
@@ -34,7 +34,8 @@ class ProcessoEletronicoRN extends InfraRN { @@ -34,7 +34,8 @@ class ProcessoEletronicoRN extends InfraRN {
34 public static $STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO = 5; // Recibo de conclusão do trâmite enviado pelo destinatário do processo 34 public static $STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO = 5; // Recibo de conclusão do trâmite enviado pelo destinatário do processo
35 public static $STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE = 6; // Recibo de conclusão do trâmite recebido pelo remetente do processo 35 public static $STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE = 6; // Recibo de conclusão do trâmite recebido pelo remetente do processo
36 public static $STA_SITUACAO_TRAMITE_CANCELADO = 7; // Trâmite do processo ou documento cancelado pelo usuário (Qualquer situação diferente de 5 e 6) 36 public static $STA_SITUACAO_TRAMITE_CANCELADO = 7; // Trâmite do processo ou documento cancelado pelo usuário (Qualquer situação diferente de 5 e 6)
37 - public static $STA_SITUACAO_TRAMITE_RECUSADO = 9; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4) 37 + public static $STA_SITUACAO_TRAMITE_RECUSADO = 8; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4)
  38 + public static $STA_SITUACAO_TRAMITE_CIENCIA_RECUSA = 9; // Remetente ciente da recusa do trâmite
38 39
39 /* OPERAÇÕES DO HISTÓRICO DO PROCESSO */ 40 /* OPERAÇÕES DO HISTÓRICO DO PROCESSO */
40 // 02 a 18 estão registrados na tabela rel_tarefa_operacao 41 // 02 a 18 estão registrados na tabela rel_tarefa_operacao
@@ -147,7 +148,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -147,7 +148,7 @@ class ProcessoEletronicoRN extends InfraRN {
147 148
148 if($this->objPenWs == null) { 149 if($this->objPenWs == null) {
149 $this->testaUrl($this->strWSDL, $this->options['local_cert']); 150 $this->testaUrl($this->strWSDL, $this->options['local_cert']);
150 - // try { 151 + try {
151 152
152 $objConfig = ConfiguracaoSEI::getInstance(); 153 $objConfig = ConfiguracaoSEI::getInstance();
153 154
@@ -159,12 +160,9 @@ class ProcessoEletronicoRN extends InfraRN { @@ -159,12 +160,9 @@ class ProcessoEletronicoRN extends InfraRN {
159 160
160 $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options); 161 $this->objPenWs = new BeSimple\SoapClient\SoapClient($this->strWSDL, $this->options);
161 } 162 }
162 - /* } catch (Exception $e) {  
163 - echo "<pre>";  
164 - var_dump($e->getMessage());  
165 - die("</pre>"); 163 + } catch (Exception $e) {
166 throw new InfraException('Erro acessando serviço.', $e); 164 throw new InfraException('Erro acessando serviço.', $e);
167 - }*/ 165 + }
168 } 166 }
169 167
170 return $this->objPenWs; 168 return $this->objPenWs;
@@ -611,7 +609,9 @@ class ProcessoEletronicoRN extends InfraRN { @@ -611,7 +609,9 @@ class ProcessoEletronicoRN extends InfraRN {
611 $objTramiteDTO->setStrNumeroRegistro($parStrNumeroRegistro); 609 $objTramiteDTO->setStrNumeroRegistro($parStrNumeroRegistro);
612 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite); 610 $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite);
613 $objTramiteDTO->setNumTicketEnvioComponentes($parNumTicketComponentesDigitais); 611 $objTramiteDTO->setNumTicketEnvioComponentes($parNumTicketComponentesDigitais);
614 - $objTramiteDTO->setDthRegistro($this->converterDataSEI($parDthRegistroTramite)); 612 + $objTramiteDTO->setDthRegistro($this->converterDataSEI($parDthRegistroTramite));
  613 + $objTramiteDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
  614 + $objTramiteDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
615 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO)); 615 $objProcessoEletronicoDTO->setArrObjTramiteDTO(array($objTramiteDTO));
616 616
617 //Monta dados dos componentes digitais 617 //Monta dados dos componentes digitais
@@ -798,7 +798,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -798,7 +798,7 @@ class ProcessoEletronicoRN extends InfraRN {
798 $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo); 798 $objComponenteDigitalDTO->setStrTipoConteudo($objComponenteDigital->tipoDeConteudo);
799 $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType); 799 $objComponenteDigitalDTO->setStrMimeType($objComponenteDigital->mimeType);
800 $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo); 800 $objComponenteDigitalDTO->setStrDadosComplementares($objComponenteDigital->dadosComplementaresDoTipoDeArquivo);
801 - 801 +
802 //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui 802 //Registrar componente digital necessita ser enviado pelo trâmite espefífico //TODO: Teste $parObjComponentesDigitaisSolicitados aqui
803 if(isset($parObjComponentesDigitaisSolicitados)){ 803 if(isset($parObjComponentesDigitaisSolicitados)){
804 $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo); 804 $arrObjItensSolicitados = is_array($parObjComponentesDigitaisSolicitados->processo) ? $parObjComponentesDigitaisSolicitados->processo : array($parObjComponentesDigitaisSolicitados->processo);
@@ -910,7 +910,10 @@ class ProcessoEletronicoRN extends InfraRN { @@ -910,7 +910,10 @@ class ProcessoEletronicoRN extends InfraRN {
910 $parametro = new stdClass(); 910 $parametro = new stdClass();
911 $parametro->filtroDeConsultaDeTramites = new stdClass(); 911 $parametro->filtroDeConsultaDeTramites = new stdClass();
912 $parametro->filtroDeConsultaDeTramites->IDT = $parNumIdTramite; 912 $parametro->filtroDeConsultaDeTramites->IDT = $parNumIdTramite;
913 - $parametro->filtroDeConsultaDeTramites->NRE = $parNumeroRegistro; 913 +
  914 + if(!is_null($parNumeroRegistro)){
  915 + $parametro->filtroDeConsultaDeTramites->NRE = $parNumeroRegistro;
  916 + }
914 917
915 if(!is_null($parNumeroUnidadeRemetente) && !is_null($parNumeroRepositorioEstruturas)){ 918 if(!is_null($parNumeroUnidadeRemetente) && !is_null($parNumeroRepositorioEstruturas)){
916 $parametro->filtroDeConsultaDeTramites->remetente->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas; 919 $parametro->filtroDeConsultaDeTramites->remetente->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas;
@@ -977,6 +980,24 @@ class ProcessoEletronicoRN extends InfraRN { @@ -977,6 +980,24 @@ class ProcessoEletronicoRN extends InfraRN {
977 } 980 }
978 } 981 }
979 982
  983 + public function cienciaRecusa($parNumIdTramite)
  984 + {
  985 + try
  986 + {
  987 + $parametro = new stdClass();
  988 + $parametro->IDT = $parNumIdTramite;
  989 +
  990 + return $this->getObjPenWs()->cienciaRecusa($parametro);
  991 +
  992 + } catch (\SoapFault $fault) {
  993 + $mensagem = $this->tratarFalhaWebService($fault);
  994 + throw new InfraException(InfraString::formatarJavaScript($mensagem), $fault);
  995 +
  996 + } catch (\Exception $e) {
  997 + throw new InfraException("Error Processing Request", $e);
  998 + }
  999 + }
  1000 +
980 /** 1001 /**
981 * Retorna o estado atual do procedimento no api-pen 1002 * Retorna o estado atual do procedimento no api-pen
982 * 1003 *
@@ -1192,7 +1213,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1192,7 +1213,7 @@ class ProcessoEletronicoRN extends InfraRN {
1192 try { 1213 try {
1193 $parametro = new stdClass(); 1214 $parametro = new stdClass();
1194 $parametro->IDT = $parNumIdTramite; 1215 $parametro->IDT = $parNumIdTramite;
1195 - 1216 +
1196 $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro); 1217 $resultado = $this->getObjPenWs()->receberReciboDeEnvio($parametro);
1197 1218
1198 if ($resultado && $resultado->conteudoDoReciboDeEnvio) { 1219 if ($resultado && $resultado->conteudoDoReciboDeEnvio) {
@@ -1305,6 +1326,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1305,6 +1326,7 @@ class ProcessoEletronicoRN extends InfraRN {
1305 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->filtroDeConsultaDeTramites = new stdClass() 1326 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->filtroDeConsultaDeTramites = new stdClass()
1306 //Faz a consulta do tramite 1327 //Faz a consulta do tramite
1307 $paramConsultaTramite = new stdClass(); 1328 $paramConsultaTramite = new stdClass();
  1329 + $paramConsultaTramite->filtroDeConsultaDeTramites = new stdClass();
1308 $paramConsultaTramite->filtroDeConsultaDeTramites->IDT = $idTramite; 1330 $paramConsultaTramite->filtroDeConsultaDeTramites->IDT = $idTramite;
1309 $dadosTramite = $this->getObjPenWs()->consultarTramites($paramConsultaTramite); 1331 $dadosTramite = $this->getObjPenWs()->consultarTramites($paramConsultaTramite);
1310 1332
@@ -1334,6 +1356,7 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1334,6 +1356,7 @@ class ProcessoEletronicoRN extends InfraRN {
1334 1356
1335 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->recusaDeTramite = new stdClass() 1357 //@TODOJOIN: Adicionar a seguinte linha abaixo dessa : $parametros->recusaDeTramite = new stdClass()
1336 $parametros = new stdClass(); 1358 $parametros = new stdClass();
  1359 + $parametros->recusaDeTramite = new stdClass();
1337 $parametros->recusaDeTramite->IDT = $idTramite; 1360 $parametros->recusaDeTramite->IDT = $idTramite;
1338 $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa); 1361 $parametros->recusaDeTramite->justificativa = utf8_encode($justificativa);
1339 $parametros->recusaDeTramite->motivo = $motivo; 1362 $parametros->recusaDeTramite->motivo = $motivo;
@@ -1416,10 +1439,10 @@ class ProcessoEletronicoRN extends InfraRN { @@ -1416,10 +1439,10 @@ class ProcessoEletronicoRN extends InfraRN {
1416 return false; 1439 return false;
1417 } 1440 }
1418 catch(SoapFault $e) { 1441 catch(SoapFault $e) {
1419 - throw new InfraException($e->getMessage()); 1442 + return false;
1420 } 1443 }
1421 catch(Exception $e) { 1444 catch(Exception $e) {
1422 - throw new InfraException($e->getMessage()); 1445 + return false;
1423 } 1446 }
1424 } 1447 }
1425 } 1448 }
rn/ProcessoExpedidoRN.php 0 → 100644
@@ -0,0 +1,98 @@ @@ -0,0 +1,98 @@
  1 +<?php
  2 +
  3 +require_once dirname(__FILE__) . '/../../../SEI.php';
  4 +
  5 +class ProcessoExpedidoRN extends InfraRN {
  6 +
  7 + public function __construct() {
  8 + parent::__construct();
  9 + }
  10 +
  11 + protected function inicializarObjInfraIBanco() {
  12 + return BancoSEI::getInstance();
  13 + }
  14 +
  15 + public function listarProcessoExpedido(ProtocoloDTO &$objProtocoloDTO) {
  16 +
  17 +
  18 + $sql = "SELECT
  19 + p.id_protocolo,
  20 + p.protocolo_formatado,
  21 + a.id_unidade id_unidade,
  22 + atd.valor unidade_destino,
  23 + us.id_usuario id_usuario,
  24 + us.nome nome_usuario,
  25 + a.dth_abertura
  26 + FROM protocolo p
  27 + INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo
  28 + INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO'
  29 + INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo
  30 + INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro
  31 + INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario
  32 + WHERE
  33 + p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . "
  34 + AND
  35 + a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."
  36 + AND
  37 + ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro)
  38 + AND
  39 + NOT EXISTS (
  40 + SELECT at2.* FROM atividade as at2
  41 + WHERE at2.id_protocolo = p.id_protocolo
  42 + AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."
  43 + AND at2.dth_abertura > a.dth_abertura )
  44 + GROUP BY
  45 + p.id_protocolo, p.protocolo_formatado, a.id_unidade , atd.valor , us.id_usuario, us.nome, a.dth_abertura ORDER BY a.dth_abertura DESC LIMIT ".$objProtocoloDTO->getNumPaginaAtual() * $objProtocoloDTO->getNumMaxRegistrosRetorno().",".$objProtocoloDTO->getNumMaxRegistrosRetorno()." ";
  46 +
  47 +
  48 + $sqlCount = "SELECT
  49 + count(*) total
  50 + FROM protocolo p
  51 + INNER JOIN atividade a ON a.id_protocolo = p.id_protocolo
  52 + INNER JOIN atributo_andamento atd ON a.id_atividade = atd.id_atividade AND atd.nome = 'UNIDADE_DESTINO'
  53 + INNER JOIN md_pen_processo_eletronico pe ON pe.id_procedimento = p.id_protocolo
  54 + INNER JOIN md_pen_tramite ptra ON ptra.numero_registro = pe.numero_registro
  55 + INNER JOIN usuario us ON ptra.id_usuario = us.id_usuario
  56 + WHERE
  57 + p.sta_estado = " . $objProtocoloDTO->getStrStaEstado() . "
  58 + AND
  59 + a.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_EXTERNO) ."
  60 + AND
  61 + ptra.dth_registro = (SELECT MAX(pt.dth_registro) dth_registro FROM md_pen_tramite pt WHERE pt.numero_registro = pe.numero_registro)
  62 + AND
  63 + NOT EXISTS (
  64 + SELECT at2.* FROM atividade as at2
  65 + WHERE at2.id_protocolo = p.id_protocolo
  66 + AND at2.id_tarefa = ". ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_RECEBIDO) ."
  67 + AND at2.dth_abertura > a.dth_abertura ) ";
  68 +
  69 +
  70 +
  71 + $pag = $this->getObjInfraIBanco()->consultarSql($sql);
  72 + $count = $this->getObjInfraIBanco()->consultarSql($sqlCount);
  73 + $total = $count ? $count[0]['total'] : 0;
  74 +
  75 + $arrProcessosExpedidos = array();
  76 +
  77 + $objProtocoloDTO->setNumTotalRegistros($total);
  78 + $objProtocoloDTO->setNumRegistrosPaginaAtual(count($pag));
  79 +
  80 + foreach ($pag as $res) {
  81 + $data = new \DateTime($res['dth_abertura']);
  82 + $objProcessoExpedidoDTO = new ProcessoExpedidoDTO();
  83 + $objProcessoExpedidoDTO->setDblIdProtocolo($res['id_protocolo']);
  84 + $objProcessoExpedidoDTO->setStrProtocoloFormatado($res['protocolo_formatado']);
  85 + $objProcessoExpedidoDTO->setStrNomeUsuario($res['nome_usuario']);
  86 + $objProcessoExpedidoDTO->setDthExpedido($data->format('d/m/Y H:i:s'));
  87 + $objProcessoExpedidoDTO->setStrDestino($res['unidade_destino']);
  88 +
  89 +
  90 +
  91 +
  92 + $arrProcessosExpedidos[] = $objProcessoExpedidoDTO;
  93 + }
  94 +
  95 + return $arrProcessosExpedidos;
  96 + }
  97 +
  98 +}
rn/ReceberProcedimentoRN.php
@@ -468,12 +468,33 @@ class ReceberProcedimentoRN extends InfraRN @@ -468,12 +468,33 @@ class ReceberProcedimentoRN extends InfraRN
468 468
469 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0]; 469 //$objProcedimentoDTO = $arrObjProcedimentoDTO[0];
470 470
471 - //REALIZA O DESBLOQUEIO DO PROCESSO 471 + $objSeiRN = new SeiRN();
  472 +
  473 + $objAtividadeDTO = new AtividadeDTO();
  474 + $objAtividadeDTO->retDthConclusao();
  475 + $objAtividadeDTO->setDblIdProtocolo($parDblIdProcedimento);
  476 + $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
  477 +
  478 + $objAtividadeRN = new AtividadeRN();
  479 + $arrObjAtividadeDTO = $objAtividadeRN->listarRN0036($objAtividadeDTO);
  480 + $flgReabrir = true;
  481 +
  482 + foreach ($arrObjAtividadeDTO as $objAtividadeDTO) {
  483 + if ($objAtividadeDTO->getDthConclusao() == null) {
  484 + $flgReabrir = false;
  485 + }
  486 + }
  487 +
  488 + if($flgReabrir){
  489 + $objEntradaReabrirProcessoAPI = new EntradaReabrirProcessoAPI();
  490 + $objEntradaReabrirProcessoAPI->setIdProcedimento($parDblIdProcedimento);
  491 + $objSeiRN->reabrirProcesso($objEntradaReabrirProcessoAPI);
  492 + }
  493 +
472 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI(); 494 $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
473 - $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento);  
474 -  
475 - $objSeiRN = new SeiRN(); 495 + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($parDblIdProcedimento);
476 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI); 496 $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
  497 +
477 498
478 499
479 $objProcedimentoDTO = new ProcedimentoDTO(); 500 $objProcedimentoDTO = new ProcedimentoDTO();
@@ -1462,76 +1483,125 @@ class ReceberProcedimentoRN extends InfraRN @@ -1462,76 +1483,125 @@ class ReceberProcedimentoRN extends InfraRN
1462 return $numOrdemDocumento1 - $numOrdemDocumento2; 1483 return $numOrdemDocumento1 - $numOrdemDocumento2;
1463 } 1484 }
1464 1485
1465 - /**/  
1466 - protected function receberTramitesRecusados($parNumIdentificacaoTramite) { 1486 +
  1487 + public function receberTramitesRecusados($parNumIdentificacaoTramite) {
1467 1488
1468 - if(empty($parNumIdentificacaoTramite)) { 1489 + if (empty($parNumIdentificacaoTramite)) {
1469 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.'); 1490 throw new InfraException('Parâmetro $parNumIdentificacaoTramite não informado.');
1470 } 1491 }
1471 -  
1472 - $objInfraParametro = new InfraParametro(BancoSEI::getInstance());  
1473 - $parNumIdRespositorio = $objInfraParametro->getValor('PEN_ID_REPOSITORIO_ORIGEM');  
1474 - $parNumIdEstrutura = SessaoSEI::getInstance()->getNumIdUnidadeAtual();  
1475 1492
1476 - $arrObjTramite = (array)$this->objProcessoEletronicoRN->consultarTramitesRecusados($parNumIdRespositorio, $parNumIdEstrutura); 1493 + //Busca os dados do trâmite no barramento
  1494 + $tramite = $this->objProcessoEletronicoRN->consultarTramites($parNumIdentificacaoTramite);
1477 1495
1478 - if(empty($arrObjTramite)) {  
1479 - return null; 1496 + if(!isset($tramite[0])){
  1497 + throw new InfraException("Não foi encontrado o trâmite de número {$parNumIdentificacaoTramite} para realizar a ciência da recusa");
1480 } 1498 }
1481 1499
1482 - foreach($arrObjTramite as $objTramite) {  
1483 -  
1484 - $strNumeroRegistro = $objTramite->NRE;  
1485 -  
1486 - if(empty($strNumeroRegistro)) {  
1487 - throw new InfraException('Falha ao consultar número do registro na lista de tramites recusados');  
1488 - }  
1489 -  
1490 - $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO();  
1491 - $objReceberTramiteRecusadoDTO->retTodos();  
1492 - $objReceberTramiteRecusadoDTO->setNumRegistro($strNumeroRegistro);  
1493 -  
1494 - $objReceberTramiteRecusadoBD = new ReceberTramiteRecusadoBD(BancoSEI::getInstance());  
1495 - if($objReceberTramiteRecusadoBD->contar($objReceberTramiteRecusadoDTO) > 0){  
1496 - // Já foi cadastrado no banco de dados, então já foi modificado para normal  
1497 - continue;  
1498 - }  
1499 -  
1500 - // Muda o estado de em processamento para bloqueado  
1501 - try {  
1502 - $objProcessoEletronicoDTO = new ProcessoEletronicoDTO();  
1503 - $objProcessoEletronicoDTO->setStrNumeroRegistro($strNumeroRegistro);  
1504 - $objProcessoEletronicoDTO->retDblIdProcedimento(); 1500 + $tramite = $tramite[0];
  1501 +
  1502 + $objTramiteDTO = new TramiteDTO();
  1503 + $objTramiteDTO->setNumIdTramite($parNumIdentificacaoTramite);
  1504 + $objTramiteDTO->retNumIdUnidade();
  1505 +
  1506 + $objTramiteBD = new TramiteBD(BancoSEI::getInstance());
  1507 + $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
  1508 +
  1509 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade());
  1510 +
  1511 + //Busca os dados do procedimento
  1512 + $objProcessoEletronicoDTO = new ProcessoEletronicoDTO();
  1513 + $objProcessoEletronicoDTO->setStrNumeroRegistro($tramite->NRE);
  1514 + $objProcessoEletronicoDTO->retDblIdProcedimento();
1505 1515
1506 - $objProcessoEletronicoDB = new ProcessoEletronicoBD(BancoSEI::getInstance());  
1507 - $objProcessoEletronicoDTO = $objProcessoEletronicoDB->consultar($objProcessoEletronicoDTO); 1516 + $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
  1517 + $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO);
  1518 +
  1519 + //Busca a última atividade de expedição
  1520 + $objAtividadeDTO = new AtividadeDTO();
  1521 + $objAtividadeDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento());
  1522 + $objAtividadeDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO));
  1523 + $objAtividadeDTO->setNumMaxRegistrosRetorno(1);
  1524 + $objAtividadeDTO->setOrdDthAbertura(InfraDTO::$TIPO_ORDENACAO_DESC);
  1525 + $objAtividadeDTO->retNumIdAtividade();
1508 1526
1509 - $objProtocoloDTO = new ProtocoloDTO();  
1510 - $objProtocoloDTO->retTodos();  
1511 - $objProtocoloDTO->setDblIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento()); 1527 + $objAtividadeBD = new AtividadeBD($this->getObjInfraIBanco());
  1528 + $objAtividadeDTO = $objAtividadeBD->consultar($objAtividadeDTO);
  1529 +
  1530 + //Busca a unidade de destino
  1531 + $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
  1532 + $objAtributoAndamentoDTO->setNumIdAtividade($objAtividadeDTO->getNumIdAtividade());
  1533 + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
  1534 + $objAtributoAndamentoDTO->retStrValor();
1512 1535
1513 - $objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());  
1514 - $objProtocoloDTO = $objProtocoloBD->consultar($objProtocoloDTO); 1536 + $objAtributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco());
  1537 + $objAtributoAndamentoDTO = $objAtributoAndamentoBD->consultar($objAtributoAndamentoDTO);
  1538 +
  1539 + //Monta o DTO de receber tramite recusado
  1540 + $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO();
  1541 + $objReceberTramiteRecusadoDTO->setNumIdTramite($parNumIdentificacaoTramite);
  1542 + $objReceberTramiteRecusadoDTO->setNumIdProtocolo($objProcessoEletronicoDTO->getDblIdProcedimento());
  1543 + $objReceberTramiteRecusadoDTO->setNumIdUnidadeOrigem(null);
  1544 + $objReceberTramiteRecusadoDTO->setNumIdTarefa(ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_TRAMITE_RECUSADO));
  1545 + $objReceberTramiteRecusadoDTO->setStrMotivoRecusa(ProcessoEletronicoRN::$MOTIVOS_RECUSA[$tramite->motivoDaRecusa]);
  1546 + $objReceberTramiteRecusadoDTO->setStrNomeUnidadeDestino($objAtributoAndamentoDTO->getStrValor());
  1547 +
  1548 + //Faz o tratamento do processo e do trâmite recusado
  1549 + $this->receberTramiteRecusadoInterno($objReceberTramiteRecusadoDTO);
  1550 +
  1551 +
  1552 + }
1515 1553
1516 - $objProtocoloDTO->setStrStaProtocolo(ProtocoloRN::$TE_NORMAL);  
1517 - $objProtocoloBD->alterar($objProtocoloDTO);  
1518 -  
1519 - // Cadastra na tabela de histórico de  
1520 - $objReceberTramiteRecusadoDTO = new ReceberTramiteRecusadoDTO();  
1521 - $objReceberTramiteRecusadoDTO->setNumRegistro($strNumeroRegistro);  
1522 - $objReceberTramiteRecusadoDTO->setDblIdTramite($objTramite->IDT); 1554 + protected function receberTramiteRecusadoInternoControlado(ReceberTramiteRecusadoDTO $objReceberTramiteRecusadoDTO){
  1555 +
  1556 +
  1557 + //Realiza o desbloqueio do processo
  1558 + $objEntradaDesbloquearProcessoAPI = new EntradaDesbloquearProcessoAPI();
  1559 + $objEntradaDesbloquearProcessoAPI->setIdProcedimento($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
  1560 +
  1561 + $objSeiRN = new SeiRN();
  1562 + $objSeiRN->desbloquearProcesso($objEntradaDesbloquearProcessoAPI);
  1563 +
  1564 + //Adiciona um andamento para o trâmite recusado
  1565 + $arrObjAtributoAndamentoDTO = array();
1523 1566
1524 - $objReceberTramiteRecusadoBD->cadastrar($objReceberTramiteRecusadoDTO);  
1525 - }  
1526 - catch(Exception $e) { 1567 + $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
  1568 + $objAtributoAndamentoDTO->setStrNome('MOTIVO');
  1569 + $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrMotivoRecusa());
  1570 + $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem());
  1571 + $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
  1572 +
  1573 +
  1574 + $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
  1575 + $objAtributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
  1576 + $objAtributoAndamentoDTO->setStrValor($objReceberTramiteRecusadoDTO->getStrNomeUnidadeDestino());
  1577 + $objAtributoAndamentoDTO->setStrIdOrigem($objReceberTramiteRecusadoDTO->getNumIdUnidadeOrigem());
  1578 + $arrObjAtributoAndamentoDTO[] = $objAtributoAndamentoDTO;
1527 1579
1528 - $strMessage = 'Falha ao mudar o estado do procedimento ao receber a lista de tramites recusados.'; 1580 +
  1581 + $objAtividadeDTO = new AtividadeDTO();
  1582 + $objAtividadeDTO->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
  1583 + $objAtividadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
  1584 + $objAtividadeDTO->setNumIdTarefa($objReceberTramiteRecusadoDTO->getNumIdTarefa());
  1585 + $objAtividadeDTO->setArrObjAtributoAndamentoDTO($arrObjAtributoAndamentoDTO);
  1586 +
  1587 + $objAtividadeRN = new AtividadeRN();
  1588 + $objAtividadeRN->gerarInternaRN0727($objAtividadeDTO);
  1589 +
  1590 + //Sinaliza na PenProtocolo que o processo obteve recusa
  1591 + $objProtocolo = new PenProtocoloDTO();
  1592 + $objProtocolo->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
  1593 + $objProtocolo->setStrSinObteveRecusa('S');
  1594 +
  1595 + $objProtocoloBD = new ProtocoloBD($this->getObjInfraIBanco());
  1596 + $objProtocoloBD->alterar($objProtocolo);
  1597 +
  1598 +
  1599 + $this->objProcessoEletronicoRN->cienciaRecusa($objReceberTramiteRecusadoDTO->getNumIdTramite());
  1600 +
1529 1601
1530 - LogSEI::getInstance()->gravar($strMessage.PHP_EOL.$e->getMessage().PHP_EOL.$e->getTraceAsString());  
1531 - throw new InfraException($strMessage, $e);  
1532 - }  
1533 - }  
1534 } 1602 }
  1603 +
  1604 +
1535 1605
1536 /** 1606 /**
1537 * Método que realiza a validação da extensão dos componentes digitais a serem recebidos 1607 * Método que realiza a validação da extensão dos componentes digitais a serem recebidos
rn/ReceberReciboTramiteRN.php
@@ -28,7 +28,7 @@ class ReceberReciboTramiteRN extends InfraRN @@ -28,7 +28,7 @@ class ReceberReciboTramiteRN extends InfraRN
28 28
29 $objSeiRN = new SeiRN(); 29 $objSeiRN = new SeiRN();
30 $objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI); 30 $objSeiRN->concluirProcesso($objEntradaConcluirProcessoAPI);
31 - 31 +
32 $arrObjAtributoAndamentoDTO = array(); 32 $arrObjAtributoAndamentoDTO = array();
33 33
34 $objAtributoAndamentoDTO = new AtributoAndamentoDTO(); 34 $objAtributoAndamentoDTO = new AtributoAndamentoDTO();
@@ -111,7 +111,8 @@ class ReceberReciboTramiteRN extends InfraRN @@ -111,7 +111,8 @@ class ReceberReciboTramiteRN extends InfraRN
111 } 111 }
112 112
113 protected function receberReciboDeTramiteConectado($parNumIdTramite) { 113 protected function receberReciboDeTramiteConectado($parNumIdTramite) {
114 - 114 +
  115 +
115 if (!isset($parNumIdTramite)) { 116 if (!isset($parNumIdTramite)) {
116 throw new InfraException('Parâmetro $parNumIdTramite não informado.'); 117 throw new InfraException('Parâmetro $parNumIdTramite não informado.');
117 } 118 }
@@ -125,9 +126,14 @@ class ReceberReciboTramiteRN extends InfraRN @@ -125,9 +126,14 @@ class ReceberReciboTramiteRN extends InfraRN
125 //Verifica se o trâmite do processo se encontra devidamente registrado no sistema 126 //Verifica se o trâmite do processo se encontra devidamente registrado no sistema
126 $objTramiteDTO = new TramiteDTO(); 127 $objTramiteDTO = new TramiteDTO();
127 $objTramiteDTO->setNumIdTramite($parNumIdTramite); 128 $objTramiteDTO->setNumIdTramite($parNumIdTramite);
  129 + $objTramiteDTO->retNumIdUnidade();
  130 +
128 $objTramiteBD = new TramiteBD(BancoSEI::getInstance()); 131 $objTramiteBD = new TramiteBD(BancoSEI::getInstance());
129 132
130 if ($objTramiteBD->contar($objTramiteDTO) > 0) { 133 if ($objTramiteBD->contar($objTramiteDTO) > 0) {
  134 +
  135 + $objTramiteDTO = $objTramiteBD->consultar($objTramiteDTO);
  136 + SessaoSEI::getInstance(false)->simularLogin('SEI', null, null, $objTramiteDTO->getNumIdUnidade());
131 137
132 $objReciboTramiteDTOExistente = new ReciboTramiteDTO(); 138 $objReciboTramiteDTOExistente = new ReciboTramiteDTO();
133 $objReciboTramiteDTOExistente->setNumIdTramite($parNumIdTramite); 139 $objReciboTramiteDTOExistente->setNumIdTramite($parNumIdTramite);
@@ -172,6 +178,9 @@ class ReceberReciboTramiteRN extends InfraRN @@ -172,6 +178,9 @@ class ReceberReciboTramiteRN extends InfraRN
172 //Registra o recbimento do recibo no histórico e realiza a conclusão do processo 178 //Registra o recbimento do recibo no histórico e realiza a conclusão do processo
173 $this->registrarRecebimentoRecibo($objProtocoloDTO->getDblIdProtocolo(), $objProtocoloDTO->getStrProtocoloFormatado(), $parNumIdTramite); 179 $this->registrarRecebimentoRecibo($objProtocoloDTO->getDblIdProtocolo(), $objProtocoloDTO->getStrProtocoloFormatado(), $parNumIdTramite);
174 180
  181 + $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);
  182 + $objPenTramiteProcessadoRN->setRecebido($parNumIdTramite);
  183 +
175 } catch (Exception $e) { 184 } catch (Exception $e) {
176 185
177 $strMessage = 'Falha o modificar o estado do procedimento para bloqueado.'; 186 $strMessage = 'Falha o modificar o estado do procedimento para bloqueado.';
@@ -182,7 +191,6 @@ class ReceberReciboTramiteRN extends InfraRN @@ -182,7 +191,6 @@ class ReceberReciboTramiteRN extends InfraRN
182 } 191 }
183 } 192 }
184 193
185 - $objPenTramiteProcessadoRN = new PenTramiteProcessadoRN(PenTramiteProcessadoRN::STR_TIPO_RECIBO);  
186 - $objPenTramiteProcessadoRN->setRecebido($parNumIdTramite); 194 +
187 } 195 }
188 } 196 }
189 \ No newline at end of file 197 \ No newline at end of file