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 130 $tramitePendenteBD = new TramiteBD($this->getObjInfraIBanco());
131 131 $pendentes = $tramitePendenteBD->listar($tramitePendenteDTO);
132 132  
133   -
  133 +
134 134 if ($pendentes) {
135 135  
136 136 //Instancia a RN de ProcessoEletronico
... ... @@ -140,80 +140,75 @@ class PENAgendamentoRN extends InfraRN {
140 140 foreach ($pendentes as $tramite) {
141 141 $objTramite = $processoEletronicoRN->consultarTramites($tramite->getNumIdTramite());
142 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 146 $tramitePendenteBD->excluir($arrProtocolos[$objTramite->protocolo]['tramitePendente']);
147 147 }
148   -
149 148 }
150   -
  149 +
151 150 $arrProtocolos[$objTramite->protocolo]['objTramite'] = $objTramite;
152 151 $arrProtocolos[$objTramite->protocolo]['tramitePendente'] = $tramite;
153 152 }
154   -
155 153  
156   -
  154 +
  155 +
157 156 //Percorre as pendências
158 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 214 } catch (Exception $e) {
... ... @@ -224,7 +219,7 @@ class PENAgendamentoRN extends InfraRN {
224 219 throw new InfraException('Erro na Verificação de Processos Recusados.', $e);
225 220 }
226 221 }
227   -
  222 +
228 223 public function seiVerificarServicosBarramento() {
229 224 try {
230 225  
... ... @@ -247,7 +242,7 @@ class PENAgendamentoRN extends InfraRN {
247 242 $cont++;
248 243 $servico[] = 'ProcessarPendenciasRN.php';
249 244 }
250   -
  245 +
251 246 $servicos = implode("\n", $servico);
252 247  
253 248  
... ... @@ -265,53 +260,59 @@ class PENAgendamentoRN extends InfraRN {
265 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 266 * @throws InfraException
272 267 */
273 268 public function atualizarHipotesesLegais() {
274 269 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());
275 270 $processoEletronicoRN = new ProcessoEletronicoRN();
276 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 276 $objDTO = new PenHipoteseLegalDTO();
281   - $objDTO->setNumIdentificacao($hipotese->hipotese->identificacao);
  277 + $objDTO->setNumIdentificacao($hipotese->identificacao);
282 278 $objDTO->setNumMaxRegistrosRetorno(1);
283 279 $objDTO->retStrNome();
  280 + $objDTO->retNumIdHipoteseLegal();
284 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 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 291 $objDTO->setStrAtivo('S');
295 292 } else {
296 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 297 if (empty($objConsulta)) {
  298 +
301 299 $objBD->cadastrar($objDTO);
302 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 303 $objBD->alterar($objDTO);
305 304 }
306 305 }
307   -
  306 +
308 307 try {
309 308 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas.");
310 309 } catch (Exception $e) {
311 310 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e);
312 311 }
313 312 }
  313 +
314 314 }
  315 +
315 316 // $client = new GearmanClient();
316 317 // $client->addServer('localhost', 4730);
317 318 // $client->setCreatedCallback("create_change");
... ...