diff --git a/src/pen_procedimento_cancelar_expedir.php b/src/pen_procedimento_cancelar_expedir.php index 9bb9371d4..a70483191 100755 --- a/src/pen_procedimento_cancelar_expedir.php +++ b/src/pen_procedimento_cancelar_expedir.php @@ -40,10 +40,14 @@ // TODO: tratar atualização a partir de um metodo $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); $objTramiteEmBlocoDTO->setNumId($tramiteEmBlocoProtocoloDTO->getNumIdBloco()); - $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE); - + $objTramiteEmBlocoDTO->retTodos(); + // Consultar se o bloco esta como concluído $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); - $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + $retObjTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO); + if ($retObjTramiteEmBlocoDTO != null && $retObjTramiteEmBlocoDTO->getStrStaEstado() != TramiteEmBlocoRN::$TE_CONCLUIDO) { + $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE); + $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + } } $objExpedirProcedimentosRN = new ExpedirProcedimentoRN(); diff --git a/src/rn/PenBlocoProcessoRN.php b/src/rn/PenBlocoProcessoRN.php index 6e8a2f13a..5d66f89db 100644 --- a/src/rn/PenBlocoProcessoRN.php +++ b/src/rn/PenBlocoProcessoRN.php @@ -539,9 +539,13 @@ public function atualizarEstadoDoBlocoConcluidoParcialmente($arrTramiteEmBlocoPr { $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO(); $objTramiteEmBlocoDTO->setNumId($arrTramiteEmBlocoProtocoloDTO[0]->getNumIdBloco()); - $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE); - + $objTramiteEmBlocoDTO->retTodos(); + // Consultar se o bloco esta como concluído $objTramiteEmBlocoRN = new TramiteEmBlocoRN(); - $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + $retObjTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO); + if ($retObjTramiteEmBlocoDTO != null && $retObjTramiteEmBlocoDTO->getStrStaEstado() != TramiteEmBlocoRN::$TE_CONCLUIDO) { + $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE); + $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO); + } } } diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 2a0cc0deb..d75838ab9 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -2849,7 +2849,7 @@ protected function instalarV3070() $objInfraAgendamentoTarefaBD->alterar($objReceberProcessosPEN); } - $sql = "SELECT + $sql = "SELECT DISTINCT mpel.*, mprel.id_procedimento, p.protocolo_formatado, @@ -2864,7 +2864,7 @@ protected function instalarV3070() $lotesVazios = $objInfraBanco->consultarSql($sql); - $sql = "SELECT + $sql = "SELECT DISTINCT mpb.id as id_bloco, mpbp.id_protocolo, p.protocolo_formatado, @@ -3084,7 +3084,12 @@ private function atualizarBlocosLegado($blocosTramite) { if (!empty($blocosTramite)) { $objPenBlocoProcessoRN = new PenBlocoProcessoRN(); + $arrIdProtocolo = array(); foreach($blocosTramite as $blocoTramite) { + if (in_array($blocoTramite['id_protocolo'], $arrIdProtocolo)) { + continue; + } + $objPenBlocoProcessoDTO = new PenBlocoProcessoDTO(); $objPenBlocoProcessoDTO->setDblIdProtocolo($blocoTramite['id_protocolo']); @@ -3126,6 +3131,8 @@ private function atualizarBlocosLegado($blocosTramite) } $objPenBlocoProcessoDTO->setDthRegistro($dthRegistro); $objPenBlocoProcessoDTO = $objPenBlocoProcessoRN->cadastrar($objPenBlocoProcessoDTO); + + $arrIdProtocolo[] = $blocoTramite['id_protocolo']; } } } @@ -3141,7 +3148,12 @@ private function atualizarLotesLegados($lotesVazios) if (!empty($lotesVazios)) { $objPenBlocoProcessoRN = new PenBlocoProcessoRN(); $dthRegistro = date('d/m/Y H:i:s'); + $arrIdProcedimento = array(); foreach ($lotesVazios as $loteVazio) { + if (in_array($loteVazio['id_procedimento'], $arrIdProcedimento)) { + continue; + } + $objTramiteEmBlocoDTO = $this->cadastrarBlocoGenerico($loteVazio['id_unidade'], $loteVazio['id_usuario']); $numIdAndamento = $this->buscarIdAndamento($loteVazio['id_procedimento']); @@ -3165,6 +3177,8 @@ private function atualizarLotesLegados($lotesVazios) $objPenBlocoProcessoDTO->setDthRegistro($dthRegistro); $objPenBlocoProcessoDTO = $objPenBlocoProcessoRN->cadastrar($objPenBlocoProcessoDTO); + + $arrIdProcedimento[] = $loteVazio['id_procedimento']; } } }