Commit bc325af95404b05d0903d993c5159a1be59e498a

Authored by Eduardo Heinske
1 parent 59147ea6

Atualização na Rotina de Hipoteses Legais

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
@@ -264,53 +259,59 @@ class PENAgendamentoRN extends InfraRN { @@ -264,53 +259,59 @@ class PENAgendamentoRN extends InfraRN {
264 throw new InfraException('Erro ao rodar verificação de status do serviços Gearmand e Supervisord', $e); 259 throw new InfraException('Erro ao rodar verificação de status do serviços Gearmand e Supervisord', $e);
265 } 260 }
266 } 261 }
267 - 262 +
268 /** 263 /**
269 - * Atualização das hipóteses legais vindas do barramento 264 + * Atualiza??o das hip?teses legais vindas do barramento
270 * @throws InfraException 265 * @throws InfraException
271 */ 266 */
272 public function atualizarHipotesesLegais() { 267 public function atualizarHipotesesLegais() {
273 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco()); 268 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());
274 $processoEletronicoRN = new ProcessoEletronicoRN(); 269 $processoEletronicoRN = new ProcessoEletronicoRN();
275 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais(); 270 $hipotesesPen = $processoEletronicoRN->consultarHipotesesLegais();
276 -  
277 - //Para cada hipótese vinda do PEN será verificado a existencia.  
278 - foreach ($hipotesesPen as $hipotese) { 271 +
  272 + //Para cada hip?tese vinda do PEN ser? verificado a existencia.
  273 + foreach ($hipotesesPen->hipotesesLegais->hipotese as $hipotese) {
  274 +
279 $objDTO = new PenHipoteseLegalDTO(); 275 $objDTO = new PenHipoteseLegalDTO();
280 - $objDTO->setNumIdentificacao($hipotese->hipotese->identificacao); 276 + $objDTO->setNumIdentificacao($hipotese->identificacao);
281 $objDTO->setNumMaxRegistrosRetorno(1); 277 $objDTO->setNumMaxRegistrosRetorno(1);
282 $objDTO->retStrNome(); 278 $objDTO->retStrNome();
  279 + $objDTO->retNumIdHipoteseLegal();
283 $objConsulta = $objBD->consultar($objDTO); 280 $objConsulta = $objBD->consultar($objDTO);
284 -  
285 - //Caso não haja um nome para a hipótese legal, ele pula para a próxima.  
286 - if (empty($hipotese->hipotese->nome)) { 281 +
  282 + //Caso n?o haja um nome para a hip?tese legal, ele pula para a pr?xima.
  283 + if (empty($hipotese->nome)) {
287 continue; 284 continue;
288 } 285 }
289 -  
290 - $objDTO->setStrNome($hipotese->hipotese->nome);  
291 -  
292 - if ($hipotese->hipotese->status) { 286 +
  287 + $objDTO->setStrNome($hipotese->nome);
  288 +
  289 + if ($hipotese->status) {
293 $objDTO->setStrAtivo('S'); 290 $objDTO->setStrAtivo('S');
294 } else { 291 } else {
295 $objDTO->setStrAtivo('N'); 292 $objDTO->setStrAtivo('N');
296 } 293 }
297 -  
298 - //Caso não exista a hipótese irá cadastra-la no sei. 294 +
  295 + //Caso n?o exista a hip?tese ir? cadastra-la no sei.
299 if (empty($objConsulta)) { 296 if (empty($objConsulta)) {
  297 +
300 $objBD->cadastrar($objDTO); 298 $objBD->cadastrar($objDTO);
301 } else { 299 } else {
302 - //Caso contrário apenas irá atualizar os dados. 300 + //Caso contr?rio apenas ir? atualizar os dados.
  301 + $objDTO->setNumIdHipoteseLegal($objConsulta->getNumIdHipoteseLegal());
303 $objBD->alterar($objDTO); 302 $objBD->alterar($objDTO);
304 } 303 }
305 } 304 }
306 - 305 +
307 try { 306 try {
308 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas."); 307 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas.");
309 } catch (Exception $e) { 308 } catch (Exception $e) {
310 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e); 309 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e);
311 } 310 }
312 } 311 }
  312 +
313 } 313 }
  314 +
314 // $client = new GearmanClient(); 315 // $client = new GearmanClient();
315 // $client->addServer('localhost', 4730); 316 // $client->addServer('localhost', 4730);
316 // $client->setCreatedCallback("create_change"); 317 // $client->setCreatedCallback("create_change");