diff --git a/src/PENIntegracao.php b/src/PENIntegracao.php index b0a4a5e2..7ee8c052 100755 --- a/src/PENIntegracao.php +++ b/src/PENIntegracao.php @@ -164,7 +164,8 @@ public function montarBotaoProcesso(ProcedimentoAPI $objSeiIntegracaoDTO) ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); foreach ($arrObjPenBlocoProcessoDTO as $objBlocoProcessoDTO) { if (!in_array($objBlocoProcessoDTO->getNumIdAndamento(), $concluido)) { diff --git a/src/pen_procedimento_cancelar_expedir.php b/src/pen_procedimento_cancelar_expedir.php index e9967631..352046c4 100755 --- a/src/pen_procedimento_cancelar_expedir.php +++ b/src/pen_procedimento_cancelar_expedir.php @@ -37,7 +37,8 @@ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ), InfraDTO::$OPER_NOT_IN ); diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php index f41dff7d..1677a840 100755 --- a/src/pen_tramita_em_bloco_protocolo_listar.php +++ b/src/pen_tramita_em_bloco_protocolo_listar.php @@ -195,6 +195,9 @@ case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE: $strResultado .= ''; break; + case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO: + $strResultado .= ''; + break; case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA: $strResultado .= ''; break; diff --git a/src/pen_tramite_processo_em_bloco_cadastrar.php b/src/pen_tramite_processo_em_bloco_cadastrar.php index a9b11677..954fd2ad 100755 --- a/src/pen_tramite_processo_em_bloco_cadastrar.php +++ b/src/pen_tramite_processo_em_bloco_cadastrar.php @@ -59,7 +59,8 @@ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); if ($objPenBlocoProcessoDTO->getNumIdAndamento() === null || !in_array($objPenBlocoProcessoDTO->getNumIdAndamento(), $concluido)) { $objPenBlocoProcessoRN->excluir(array($objPenBlocoProcessoDTO)); diff --git a/src/rn/ExpedirProcedimentoRN.php b/src/rn/ExpedirProcedimentoRN.php index 747cd850..9dc8d327 100755 --- a/src/rn/ExpedirProcedimentoRN.php +++ b/src/rn/ExpedirProcedimentoRN.php @@ -2472,7 +2472,8 @@ public function validarProcessoIncluidoBlocoEmAndamento(InfraException $objInfra ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); $objPenBlocoProcessoDTO = new PenBlocoProcessoDTO(); diff --git a/src/rn/PenBlocoProcessoRN.php b/src/rn/PenBlocoProcessoRN.php index 3cc5131c..7f03184c 100755 --- a/src/rn/PenBlocoProcessoRN.php +++ b/src/rn/PenBlocoProcessoRN.php @@ -416,7 +416,8 @@ protected function validarBlocoDeTramiteControlado($idProtocolo) ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); $arrTramitaEmBloco = $this->listar($objPenBlocoProcessoDTO); @@ -555,7 +556,8 @@ private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDT ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); $emAndamento = array( ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO, diff --git a/src/rn/ProcessoEletronicoRN.php b/src/rn/ProcessoEletronicoRN.php index 813211ae..83e77c9d 100755 --- a/src/rn/ProcessoEletronicoRN.php +++ b/src/rn/ProcessoEletronicoRN.php @@ -38,6 +38,7 @@ class ProcessoEletronicoRN extends InfraRN public static $STA_SITUACAO_TRAMITE_RECUSADO = 8; // Trâmite do processo recusado pelo destinatário (Situações 2, 3, 4) public static $STA_SITUACAO_TRAMITE_CIENCIA_RECUSA = 9; // Remetente ciente da recusa do trâmite public static $STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE = 10; + public static $STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO = 99; /* TIPO DE TRÂMITE EXTERNO DE PROCESSO */ public static $STA_TIPO_TRAMITE_ENVIO = 'E'; // Trâmite de ENVIO de processo externo diff --git a/src/rn/ReceberProcedimentoRN.php b/src/rn/ReceberProcedimentoRN.php index 812680ef..54c9aee0 100755 --- a/src/rn/ReceberProcedimentoRN.php +++ b/src/rn/ReceberProcedimentoRN.php @@ -534,7 +534,8 @@ protected function receberTramitesRecusadosInternoControlado($parObjTramite) ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ), InfraDTO::$OPER_NOT_IN ); diff --git a/src/rn/ReceberReciboTramiteRN.php b/src/rn/ReceberReciboTramiteRN.php index b85a2714..e815b527 100755 --- a/src/rn/ReceberReciboTramiteRN.php +++ b/src/rn/ReceberReciboTramiteRN.php @@ -148,7 +148,8 @@ protected function receberReciboDeTramiteInternoControlado($objReciboTramite) ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ), InfraDTO::$OPER_NOT_IN ); diff --git a/src/rn/TramitaEmBlocoProtocoloRN.php b/src/rn/TramitaEmBlocoProtocoloRN.php index 51ed65f7..429f747e 100644 --- a/src/rn/TramitaEmBlocoProtocoloRN.php +++ b/src/rn/TramitaEmBlocoProtocoloRN.php @@ -423,7 +423,8 @@ private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDT ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); $emAndamento = array( ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO, diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index dd02683e..8823400a 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -2869,7 +2869,8 @@ protected function instalarV3070() inner join md_pen_bloco_protocolo mpbp on mpbp.id_tramita_em_bloco = mpb.id inner join protocolo p on p.id_protocolo = mpbp.id_protocolo left join md_pen_expedir_lote mpel on mpel.id_lote = mpb.id - LEFT join md_pen_rel_expedir_lote mprel on mprel.id_procedimento = mpbp.id_protocolo"; + LEFT join md_pen_rel_expedir_lote mprel on mprel.id_procedimento = mpbp.id_protocolo + and mprel.id_lote = mpel.id_lote"; $blocosTramite = $objInfraBanco->consultarSql($sql); @@ -2952,7 +2953,7 @@ protected function instalarV3070() $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); $arrObjTramiteEmBlocoDTO = $objTramiteEmBlocoRN->listar($objTramiteEmBlocoDTO); - $this->validarBlocos($arrObjTramiteEmBlocoDTO); + $this->validarBlocos($arrObjTramiteEmBlocoDTO); $this->atualizaOrdemTramiteEmBlocoPorUnidade(); @@ -3119,7 +3120,8 @@ public function validarSituacaoParaBloco($arrObjTramiteEmBlocoProtocoloDTO, $sit ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO, ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE, - ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE, + ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO ); $emAndamento = array( ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO, @@ -3254,7 +3256,8 @@ private function atualizarBlocosLegado($blocosTramite) $objPenBlocoProcessoRN = new PenBlocoProcessoRN(); $arrIdProtocolo = array(); foreach($blocosTramite as $blocoTramite) { - if (in_array($blocoTramite['id_protocolo'], $arrIdProtocolo)) { + $chave = $blocoTramite['id_protocolo'] . '-' . $blocoTramite['id_bloco']; + if (in_array($chave, $arrIdProtocolo)) { continue; } @@ -3303,22 +3306,11 @@ private function atualizarBlocosLegado($blocosTramite) $objPenBlocoProcessoDTO->setDthRegistro($dthRegistro); $objPenBlocoProcessoDTO = $objPenBlocoProcessoRN->cadastrar($objPenBlocoProcessoDTO); - $arrIdProtocolo[] = $blocoTramite['id_protocolo']; + $arrIdProtocolo[] = $blocoTramite['id_protocolo'] . '-' . $blocoTramite['id_bloco']; } } } - private function verificarIdAndamentoConcluido($arrPenBlocoProcessoDTO) - { - $arrIdAndamentoProcesso = InfraArray::converterArrInfraDTO($arrPenBlocoProcessoDTO, 'IdAndamento', 'IdAndamento'); - - $bolVeriicarStatusDiferenteDeSucesso = array_filter($arrIdAndamentoProcesso, function($valor) { - return $valor != ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE; - }); - - return !empty($bolVeriicarStatusDiferenteDeSucesso); - } - /** * Retorna o id do andamento do protocolo informado * @@ -3336,7 +3328,7 @@ private function buscarIdAndamento($idProtocolo, $staBloco) $objPenProtocoloDTO = $objProtocoloBD->consultar($objPenProtocoloDTO); if (!empty($objPenProtocoloDTO) && $objPenProtocoloDTO->getStrSinObteveRecusa() == 'S') { - return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA; + return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO; } $objAtividadeDTO = new AtividadeDTO(); @@ -3369,20 +3361,17 @@ private function buscarIdAndamento($idProtocolo, $staBloco) $processoTramiteProcessamento = ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO); $processoTramiteAberto = ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO); + if ($numIdAndamento == $processoConcluidoRecebido && $staBloco == TramiteEmBlocoRN::$TE_ABERTO) { + return null; + } + switch ($numIdAndamento) { - case $processoConcluidoAvulso: - case $processoTramiteExpedido: - return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE; case $processoTramiteProcessamento: - return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO; + case $processoConcluidoAvulso: + case $processoTramiteExpedido: case $processoTramiteCancelado: - return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO; case $processoConcluidoRecebido: - if ($staBloco == TramiteEmBlocoRN::$TE_ABERTO) { - return null; - } else { - return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE; - } + return ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CONCLUIDO_LEGADO; case $processoTramiteAberto: default: return null;