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 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  
... ... @@ -264,53 +259,59 @@ class PENAgendamentoRN extends InfraRN {
264 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 265 * @throws InfraException
271 266 */
272 267 public function atualizarHipotesesLegais() {
273 268 $objBD = new PenHipoteseLegalBD($this->inicializarObjInfraIBanco());
274 269 $processoEletronicoRN = new ProcessoEletronicoRN();
275 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 275 $objDTO = new PenHipoteseLegalDTO();
280   - $objDTO->setNumIdentificacao($hipotese->hipotese->identificacao);
  276 + $objDTO->setNumIdentificacao($hipotese->identificacao);
281 277 $objDTO->setNumMaxRegistrosRetorno(1);
282 278 $objDTO->retStrNome();
  279 + $objDTO->retNumIdHipoteseLegal();
283 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 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 290 $objDTO->setStrAtivo('S');
294 291 } else {
295 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 296 if (empty($objConsulta)) {
  297 +
300 298 $objBD->cadastrar($objDTO);
301 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 302 $objBD->alterar($objDTO);
304 303 }
305 304 }
306   -
  305 +
307 306 try {
308 307 LogSEI::getInstance()->gravar("Hipóteses Legais atualizadas.");
309 308 } catch (Exception $e) {
310 309 throw new InfraException('Erro no agendamento das Hipóteses Legais', $e);
311 310 }
312 311 }
  312 +
313 313 }
  314 +
314 315 // $client = new GearmanClient();
315 316 // $client->addServer('localhost', 4730);
316 317 // $client->setCreatedCallback("create_change");
... ...