Commit fb2075b82e6a804c1068d271fb1a3963363cdad0

Authored by Thiago Farias
2 parents b5e0c98b bc325af9

Merge branch 'SEI-INTEGRACAO_JOIN_87_OS026' of http://git.planejamento.gov.br/mp…

…/mod-sei-barramento into SEI-INTEGRACAO_JOIN_87_OS026
Showing 1 changed file with 83 additions and 82 deletions   Show diff stats
rn/PENAgendamentoRN.php
@@ -130,7 +130,7 @@ class PENAgendamentoRN extends InfraRN { @@ -130,7 +130,7 @@ class PENAgendamentoRN extends InfraRN {
130 $tramitePendenteBD = new TramiteBD($this->getObjInfraIBanco()); 130 $tramitePendenteBD = new TramiteBD($this->getObjInfraIBanco());
131 $pendentes = $tramitePendenteBD->listar($tramitePendenteDTO); 131 $pendentes = $tramitePendenteBD->listar($tramitePendenteDTO);
132 132
133 - 133 +
134 if ($pendentes) { 134 if ($pendentes) {
135 135
136 //Instancia a RN de ProcessoEletronico 136 //Instancia a RN de ProcessoEletronico
@@ -140,80 +140,75 @@ class PENAgendamentoRN extends InfraRN { @@ -140,80 +140,75 @@ class PENAgendamentoRN extends InfraRN {
140 foreach ($pendentes as $tramite) { 140 foreach ($pendentes as $tramite) {
141 $objTramite = $processoEletronicoRN->consultarTramites($tramite->getNumIdTramite()); 141 $objTramite = $processoEletronicoRN->consultarTramites($tramite->getNumIdTramite());
142 $objTramite = $objTramite[0]; 142 $objTramite = $objTramite[0];
143 -  
144 - if(isset($arrProtocolos[$objTramite->protocolo])){  
145 - if($arrProtocolos[$objTramite->protocolo]['objTramite']->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE || $arrProtocolos[$objTramite->protocolo]['objTramite']->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO ){ 143 +
  144 + if (isset($arrProtocolos[$objTramite->protocolo])) {
  145 + if ($arrProtocolos[$objTramite->protocolo]['objTramite']->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE || $arrProtocolos[$objTramite->protocolo]['objTramite']->situacaoAtual == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO) {
146 $tramitePendenteBD->excluir($arrProtocolos[$objTramite->protocolo]['tramitePendente']); 146 $tramitePendenteBD->excluir($arrProtocolos[$objTramite->protocolo]['tramitePendente']);
147 } 147 }
148 -  
149 } 148 }
150 - 149 +
151 $arrProtocolos[$objTramite->protocolo]['objTramite'] = $objTramite; 150 $arrProtocolos[$objTramite->protocolo]['objTramite'] = $objTramite;
152 $arrProtocolos[$objTramite->protocolo]['tramitePendente'] = $tramite; 151 $arrProtocolos[$objTramite->protocolo]['tramitePendente'] = $tramite;
153 } 152 }
154 -  
155 153
156 - 154 +
  155 +
157 //Percorre as pendências 156 //Percorre as pendências
158 foreach ($arrProtocolos as $protocolo) { 157 foreach ($arrProtocolos as $protocolo) {
159 158
160 - //Busca o status do trâmite  
161 - $tramite = $protocolo['tramitePendente'];  
162 - $objTramite = $protocolo['objTramite'];  
163 - $status = $objTramite->situacaoAtual;  
164 -  
165 - if ($status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO) {  
166 -  
167 - //Verifica se o processo do trâmite se encontra de fato recusado  
168 -  
169 - //Busca os dados do procedimento  
170 - $processoEletronicoDTO = new ProcessoEletronicoDTO();  
171 - $processoEletronicoDTO->setStrNumeroRegistro($objTramite->NRE);  
172 - $processoEletronicoDTO->retDblIdProcedimento();  
173 -  
174 - $processoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());  
175 - $objProcessoEletronico = $processoEletronicoBD->consultar($processoEletronicoDTO);  
176 -  
177 - if($objProcessoEletronico) {  
178 -  
179 - //Busca o processo  
180 - $objProtocolo = new PenProtocoloDTO();  
181 - $objProtocolo->setDblIdProtocolo($objProcessoEletronico->getDblIdProcedimento());  
182 -  
183 - $protocoloBD = new ProtocoloBD($this->getObjInfraIBanco());  
184 -  
185 - //Verifica se o protocolo foi encontrado nessa tabela  
186 - if($protocoloBD->contar($objProtocolo) > 0){  
187 -  
188 - //Altera o registro  
189 - $objProtocolo->setStrSinObteveRecusa('S');  
190 - $protocoloBD->alterar($objProtocolo);  
191 -  
192 - //Busca a unidade de destino  
193 - $atributoAndamentoDTO = new AtributoAndamentoDTO();  
194 - $atributoAndamentoDTO->setNumIdAtividade($tramite->getNumIdAtividade());  
195 - $atributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');  
196 - $atributoAndamentoDTO->retStrValor();  
197 -  
198 - $atributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco());  
199 - $atributoAndamento = $atributoAndamentoBD->consultar($atributoAndamentoDTO);  
200 -  
201 - $motivo = $objTramite->motivoDaRecusa;  
202 - $unidadeDestino = $atributoAndamento->getStrValor();  
203 -  
204 - //Realiza o registro da recusa  
205 - ExpedirProcedimentoRN::receberRecusaProcedimento(ProcessoEletronicoRN::$MOTIVOS_RECUSA[$motivo], $unidadeDestino, null, $objProcessoEletronico->getDblIdProcedimento());  
206 -  
207 - $tramitePendenteBD->excluir($tramite);  
208 - }  
209 -  
210 -  
211 - 159 + //Busca o status do trâmite
  160 + $tramite = $protocolo['tramitePendente'];
  161 + $objTramite = $protocolo['objTramite'];
  162 + $status = $objTramite->situacaoAtual;
  163 +
  164 + if ($status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO) {
  165 +
  166 + //Verifica se o processo do trâmite se encontra de fato recusado
  167 + //Busca os dados do procedimento
  168 + $processoEletronicoDTO = new ProcessoEletronicoDTO();
  169 + $processoEletronicoDTO->setStrNumeroRegistro($objTramite->NRE);
  170 + $processoEletronicoDTO->retDblIdProcedimento();
  171 +
  172 + $processoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco());
  173 + $objProcessoEletronico = $processoEletronicoBD->consultar($processoEletronicoDTO);
  174 +
  175 + if ($objProcessoEletronico) {
  176 +
  177 + //Busca o processo
  178 + $objProtocolo = new PenProtocoloDTO();
  179 + $objProtocolo->setDblIdProtocolo($objProcessoEletronico->getDblIdProcedimento());
  180 +
  181 + $protocoloBD = new ProtocoloBD($this->getObjInfraIBanco());
  182 +
  183 + //Verifica se o protocolo foi encontrado nessa tabela
  184 + if ($protocoloBD->contar($objProtocolo) > 0) {
  185 +
  186 + //Altera o registro
  187 + $objProtocolo->setStrSinObteveRecusa('S');
  188 + $protocoloBD->alterar($objProtocolo);
  189 +
  190 + //Busca a unidade de destino
  191 + $atributoAndamentoDTO = new AtributoAndamentoDTO();
  192 + $atributoAndamentoDTO->setNumIdAtividade($tramite->getNumIdAtividade());
  193 + $atributoAndamentoDTO->setStrNome('UNIDADE_DESTINO');
  194 + $atributoAndamentoDTO->retStrValor();
  195 +
  196 + $atributoAndamentoBD = new AtributoAndamentoBD($this->getObjInfraIBanco());
  197 + $atributoAndamento = $atributoAndamentoBD->consultar($atributoAndamentoDTO);
  198 +
  199 + $motivo = $objTramite->motivoDaRecusa;
  200 + $unidadeDestino = $atributoAndamento->getStrValor();
  201 +
  202 + //Realiza o registro da recusa
  203 + ExpedirProcedimentoRN::receberRecusaProcedimento(ProcessoEletronicoRN::$MOTIVOS_RECUSA[$motivo], $unidadeDestino, null, $objProcessoEletronico->getDblIdProcedimento());
  204 +
  205 + $tramitePendenteBD->excluir($tramite);
212 } 206 }
213 - }else if($status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE || $status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO){  
214 -  
215 - $tramitePendenteBD->excluir($tramite);  
216 } 207 }
  208 + } else if ($status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE || $status == ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO) {
  209 +
  210 + $tramitePendenteBD->excluir($tramite);
  211 + }
217 } 212 }
218 } 213 }
219 } catch (Exception $e) { 214 } catch (Exception $e) {
@@ -224,7 +219,7 @@ class PENAgendamentoRN extends InfraRN { @@ -224,7 +219,7 @@ class PENAgendamentoRN extends InfraRN {
224 throw new InfraException('Erro na Verificação de Processos Recusados.', $e); 219 throw new InfraException('Erro na Verificação de Processos Recusados.', $e);
225 } 220 }
226 } 221 }
227 - 222 +
228 public function seiVerificarServicosBarramento() { 223 public function seiVerificarServicosBarramento() {
229 try { 224 try {
230 225
@@ -247,7 +242,7 @@ class PENAgendamentoRN extends InfraRN { @@ -247,7 +242,7 @@ class PENAgendamentoRN extends InfraRN {
247 $cont++; 242 $cont++;
248 $servico[] = 'ProcessarPendenciasRN.php'; 243 $servico[] = 'ProcessarPendenciasRN.php';
249 } 244 }
250 - 245 +
251 $servicos = implode("\n", $servico); 246 $servicos = implode("\n", $servico);
252 247
253 248
@@ -265,53 +260,59 @@ class PENAgendamentoRN extends InfraRN { @@ -265,53 +260,59 @@ class PENAgendamentoRN extends InfraRN {
265 throw new InfraException('Erro ao rodar verificação de status do serviços Gearmand e Supervisord', $e); 260 throw new InfraException('Erro ao rodar verificação de status do serviços Gearmand e Supervisord', $e);
266 } 261 }
267 } 262 }
268 - 263 +
269 /** 264 /**
270 - * Atualização das hipóteses legais vindas do barramento 265 + * Atualiza??o das hip?teses legais vindas do barramento
271 * @throws InfraException 266 * @throws InfraException
272 */ 267 */
273 public function atualizarHipotesesLegais() { 268 public function atualizarHipotesesLegais() {
274 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco()); 269 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());
275 $processoEletronicoRN = new ProcessoEletronicoRN(); 270 $processoEletronicoRN = new ProcessoEletronicoRN();
276 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais(); 271 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais();
277 -  
278 - //Para cada hipótese vinda do PEN será verificado a existencia.  
279 - foreach ($hipotesesPen as $hipotese) { 272 +
  273 + //Para cada hip?tese vinda do PEN ser? verificado a existencia.
  274 + foreach ($hipotesesPen->hipotesesLegais->hipotese as $hipotese) {
  275 +
280 $objDTO = new PenHipoteseLegalDTO(); 276 $objDTO = new PenHipoteseLegalDTO();
281 - $objDTO->setNumIdentificacao($hipotese->hipotese->identificacao); 277 + $objDTO->setNumIdentificacao($hipotese->identificacao);
282 $objDTO->setNumMaxRegistrosRetorno(1); 278 $objDTO->setNumMaxRegistrosRetorno(1);
283 $objDTO->retStrNome(); 279 $objDTO->retStrNome();
  280 + $objDTO->retNumIdHipoteseLegal();
284 $objConsulta = $objBD->consultar($objDTO); 281 $objConsulta = $objBD->consultar($objDTO);
285 -  
286 - //Caso não haja um nome para a hipótese legal, ele pula para a próxima.  
287 - if (empty($hipotese->hipotese->nome)) { 282 +
  283 + //Caso n?o haja um nome para a hip?tese legal, ele pula para a pr?xima.
  284 + if (empty($hipotese->nome)) {
288 continue; 285 continue;
289 } 286 }
290 -  
291 - $objDTO->setStrNome($hipotese->hipotese->nome);  
292 -  
293 - if ($hipotese->hipotese->status) { 287 +
  288 + $objDTO->setStrNome($hipotese->nome);
  289 +
  290 + if ($hipotese->status) {
294 $objDTO->setStrAtivo('S'); 291 $objDTO->setStrAtivo('S');
295 } else { 292 } else {
296 $objDTO->setStrAtivo('N'); 293 $objDTO->setStrAtivo('N');
297 } 294 }
298 -  
299 - //Caso não exista a hipótese irá cadastra-la no sei. 295 +
  296 + //Caso n?o exista a hip?tese ir? cadastra-la no sei.
300 if (empty($objConsulta)) { 297 if (empty($objConsulta)) {
  298 +
301 $objBD->cadastrar($objDTO); 299 $objBD->cadastrar($objDTO);
302 } else { 300 } else {
303 - //Caso contrário apenas irá atualizar os dados. 301 + //Caso contr?rio apenas ir? atualizar os dados.
  302 + $objDTO->setNumIdHipoteseLegal($objConsulta->getNumIdHipoteseLegal());
304 $objBD->alterar($objDTO); 303 $objBD->alterar($objDTO);
305 } 304 }
306 } 305 }
307 - 306 +
308 try { 307 try {
309 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas."); 308 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas.");
310 } catch (Exception $e) { 309 } catch (Exception $e) {
311 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e); 310 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e);
312 } 311 }
313 } 312 }
  313 +
314 } 314 }
  315 +
315 // $client = new GearmanClient(); 316 // $client = new GearmanClient();
316 // $client->addServer('localhost', 4730); 317 // $client->addServer('localhost', 4730);
317 // $client->setCreatedCallback("create_change"); 318 // $client->setCreatedCallback("create_change");