diff --git a/src/pen_procedimento_cancelar_expedir.php b/src/pen_procedimento_cancelar_expedir.php
index be95e382d..d46616286 100755
--- a/src/pen_procedimento_cancelar_expedir.php
+++ b/src/pen_procedimento_cancelar_expedir.php
@@ -29,11 +29,19 @@
$objTramiteEmBlocoProtocoloDTO = new PenBlocoProcessoDTO();
$objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($idProcedimento);
- $objTramiteEmBlocoProtocoloDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objTramiteEmBlocoProtocoloDTO->setOrdNumIdBloco(InfraDTO::$TIPO_ORDENACAO_DESC);
$objTramiteEmBlocoProtocoloDTO->retDblIdProtocolo();
$objTramiteEmBlocoProtocoloDTO->retNumIdBloco();
- $objTramiteEmBlocoProtocoloDTO->setNumIdAtividade(array(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE), InfraDTO::$OPER_NOT_IN);
+ $objTramiteEmBlocoProtocoloDTO->setNumIdAtividade(
+ array(
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
+ ),
+ InfraDTO::$OPER_NOT_IN
+ );
$objTramiteEmBlocoProtocoloDTO->setNumMaxRegistrosRetorno(1);
$objTramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
@@ -41,16 +49,8 @@
if ($tramiteEmBlocoProtocoloDTO != null) {
// TODO: tratar atualização a partir de um metodo
- $objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();
- $objTramiteEmBlocoDTO->setNumId($tramiteEmBlocoProtocoloDTO->getNumIdBloco());
- $objTramiteEmBlocoDTO->retTodos();
- // Consultar se o bloco esta como concluído
- $objTramiteEmBlocoRN = new TramiteEmBlocoRN();
- $retObjTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO);
- if ($retObjTramiteEmBlocoDTO != null && $retObjTramiteEmBlocoDTO->getStrStaEstado() != TramiteEmBlocoRN::$TE_CONCLUIDO) {
- $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE);
- $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO);
- }
+ $objTramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
+ $objTramitaEmBlocoProtocoloRN->atualizarEstadoDoBloco($tramiteEmBlocoProtocoloDTO->getNumIdBloco());
}
$objExpedirProcedimentosRN = new ExpedirProcedimentoRN();
diff --git a/src/pen_tramita_em_bloco_protocolo_listar.php b/src/pen_tramita_em_bloco_protocolo_listar.php
index 832e2d39e..173ec2ac4 100755
--- a/src/pen_tramita_em_bloco_protocolo_listar.php
+++ b/src/pen_tramita_em_bloco_protocolo_listar.php
@@ -11,14 +11,14 @@
switch ($_GET['acao']) {
case 'pen_tramita_em_bloco_protocolo_excluir':
- $arrExcluidos = array();
+ $arrExcluidos = array();
try {
$objTramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
$arrStrIds = $objPaginaSEI->getArrStrItensSelecionados();
$arrObjTramiteBlocoProtocoloDTO = array();
if (count($arrStrIds) > 0) {
- for ($i = 0; $i < count($arrStrIds); $i++) {
+ for ($i = 0; $i < count($arrStrIds); $i++) {
$arrStrIdComposto = explode('-', $arrStrIds[$i]);
$objTramiteEmBlocoProtocoloDTO = new PenBlocoProcessoDTO();
$objTramiteEmBlocoProtocoloDTO->setNumIdBlocoProcesso($arrStrIdComposto[0]);
@@ -40,13 +40,11 @@
}
$contemValidacoes = $objTramitaEmBlocoProtocoloRN->verificarExclusaoBloco($arrObjTramiteBlocoProtocoloDTO);
- // print_r($arrObjTramiteBlocoProtocoloDTO);
$arrExcluidos = $objTramitaEmBlocoProtocoloRN->excluir($arrObjTramiteBlocoProtocoloDTO);
if (!empty($arrExcluidos)) {
$dblIdBloco = $arrObjTramiteBlocoProtocoloDTO[0]->getNumIdBloco();
$objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();
$objTramiteEmBlocoDTO->setNumId($dblIdBloco);
- // $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE);
$objTramiteEmBlocoDTO->retNumId();
$objTramiteEmBlocoDTO->retStrStaEstado();
$objTramiteEmBlocoDTO->retNumOrdem();
@@ -66,12 +64,12 @@
$tramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
$arrObjTramiteEmBlocoProtocoloDTO = $tramitaEmBlocoProtocoloRN->listar($objTramiteEmBlocoProtocoloDTO);
if (count($arrObjTramiteEmBlocoProtocoloDTO) > 0) {
- $concluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE;
- $parcialmenteConcluido = array(
+ $concluido = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
);
$emAndamento = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO,
@@ -83,14 +81,11 @@
foreach ($arrObjTramiteEmBlocoProtocoloDTO as $objDTO) {
if (
in_array($objDTO->getNumIdAndamento(), $emAndamento)
- && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE
+ && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO
) {
$idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
}
- if (in_array($objDTO->getNumIdAndamento(), $parcialmenteConcluido)) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE;
- }
- if ($objDTO->getNumIdAndamento() == $concluido
+ if (in_array($objDTO->getNumIdAndamento(), $concluido)
&& (
$idAndamentoBloco == TramiteEmBlocoRN::$TE_CONCLUIDO
|| $idAndamentoBloco == TramiteEmBlocoRN::$TE_ABERTO
@@ -235,8 +230,6 @@
$strResultado .= str_repeat('
| ' . "\n", 3);
}
-
- // print_r($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento()); die('asas');
$strResultado .= '' . "\n";
switch ($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento()) {
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO:
@@ -257,7 +250,7 @@
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE:
$strResultado .= ' ';
break;
- case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO:
+ case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO:
if(is_null($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento())){
$strResultado .= ' ';
break;
@@ -272,22 +265,10 @@
$strResultado .= ' | '. "\n";
- $estadosBloqueados = array(
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_ENVIADOS_REMETENTE,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_METADADOS_RECEBIDO_DESTINATARIO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO
- );
if (
$objTramitaEmBlocoProtocoloDTO->getNumIdUnidadeBloco() == SessaoSEI::getInstance()->getNumIdUnidadeAtual()
- && (
- !in_array($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento(), $estadosBloqueados)
- || is_null($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento())
- )
- ) {
+ && $objTramitaEmBlocoProtocoloDTO->getNumIdAndamento() === null
+ ) {
$strResultado .= ' ';
}
diff --git a/src/pen_tramite_bloco_listar.php b/src/pen_tramite_bloco_listar.php
index ad683b5e6..3694c799f 100644
--- a/src/pen_tramite_bloco_listar.php
+++ b/src/pen_tramite_bloco_listar.php
@@ -83,7 +83,6 @@
$checkboxesEstados = [
'chkSinEstadoGerado' => TramiteEmBlocoRN::$TE_ABERTO,
'chkSinEstadoDisponibilizado' => TramiteEmBlocoRN::$TE_DISPONIBILIZADO,
- 'chkSinEstadoConcluidoParcialmente' => TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE,
'chkSinEstadoConcluido' => TramiteEmBlocoRN::$TE_CONCLUIDO
];
@@ -503,11 +502,6 @@ function onClickBtnExcluir() {
-
- name="chkSinEstadoConcluidoParcialmente" class="infraCheckbox CheckboxEstado" = $objPaginaSEI->setCheckbox($strSinEstadoConcluidoParcialmente) ?> tabindex="= $objPaginaSEI->getProxTabDados() ?>" />
-
-
-
name="chkSinEstadoConcluido" class="infraCheckbox CheckboxEstado" = $objPaginaSEI->setCheckbox($strSinEstadoConcluido) ?> tabindex="= $objPaginaSEI->getProxTabDados() ?>" />
diff --git a/src/pen_tramite_processo_em_bloco_cadastrar.php b/src/pen_tramite_processo_em_bloco_cadastrar.php
index dace1474d..885156940 100755
--- a/src/pen_tramite_processo_em_bloco_cadastrar.php
+++ b/src/pen_tramite_processo_em_bloco_cadastrar.php
@@ -64,7 +64,6 @@
$dblIdBloco = $arrObjPenBlocoProcessoDTO[0]->getNumIdBloco();
$objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();
$objTramiteEmBlocoDTO->setNumId($dblIdBloco);
- // $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE);
$objTramiteEmBlocoDTO->retNumId();
$objTramiteEmBlocoDTO->retStrStaEstado();
$objTramiteEmBlocoDTO->retNumOrdem();
@@ -85,12 +84,12 @@
$tramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
$arrObjTramiteEmBlocoProtocoloDTO = $tramitaEmBlocoProtocoloRN->listar($objTramiteEmBlocoProtocoloDTO);
if (count($arrObjTramiteEmBlocoProtocoloDTO) > 0) {
- $concluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE;
- $parcialmenteConcluido = array(
+ $concluido = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
);
$emAndamento = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO,
@@ -102,14 +101,11 @@
foreach ($arrObjTramiteEmBlocoProtocoloDTO as $objDTO) {
if (
in_array($objDTO->getNumIdAndamento(), $emAndamento)
- && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE
+ && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO
) {
$idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
}
- if (in_array($objDTO->getNumIdAndamento(), $parcialmenteConcluido)) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE;
- }
- if ($objDTO->getNumIdAndamento() == $concluido
+ if (in_array($objDTO->getNumIdAndamento(), $concluido)
&& (
$idAndamentoBloco == TramiteEmBlocoRN::$TE_CONCLUIDO
|| $idAndamentoBloco == TramiteEmBlocoRN::$TE_ABERTO
@@ -177,7 +173,6 @@
$objPenBlocoProcessoDTO->setNumIdBloco($idBlocoExterno);
$dthRegistro = date('d/m/Y H:i:s');
$objPenBlocoProcessoDTO->setDthRegistro($dthRegistro);
- // $objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO);
$objPenBlocoProcessoDTO->setDthAtualizado($dthRegistro);
$objPenBlocoProcessoDTO->setNumIdUsuario($objSessaoSEI->getNumIdUsuario());
$objPenBlocoProcessoDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual());
@@ -245,7 +240,7 @@
header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao'].'&acao_origem='.$_GET['acao']));
exit(0);
- }
+ }
foreach ($arrProtocolosOrigemProtocolo as $idItensSelecionados) {
$bolInclusaoErro = false;
@@ -254,7 +249,6 @@
$objPenBlocoProcessoDTO->setNumIdBloco($idBlocoExterno);
$objPenBlocoProcessoDTO->retNumIdBlocoProcesso();
$objPenBlocoProcessoDTO->retNumIdBloco();
- // $objPenBlocoProcessoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO);
$dtRegistro = date('d/m/Y H:i:s');
$objPenBlocoProcessoDTO->setDthRegistro($dtRegistro);
$objPenBlocoProcessoDTO->setDthAtualizado($dtRegistro);
@@ -265,7 +259,7 @@
if ($validarPreCondicoesIncluir != false) {
$bolInclusaoErro = true;
- $arrMensagensErros[] = $validarPreCondicoesIncluir;
+ $arrMensagensErros[] = $validarPreCondicoesIncluir;
}else{
$objInfraException = new InfraException();
$objExpedirProcedimentosRN = new ExpedirProcedimentoRN();
diff --git a/src/rn/ExpedirProcedimentoRN.php b/src/rn/ExpedirProcedimentoRN.php
index ab10da6ff..a188b1553 100755
--- a/src/rn/ExpedirProcedimentoRN.php
+++ b/src/rn/ExpedirProcedimentoRN.php
@@ -177,7 +177,7 @@ protected function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpe
}
$this->gravarLogDebug(sprintf('Erro durante validação dos dados do processo %s.', $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado(), $arrErros), 2);
- $objLoteProcedimentoRN->desbloquearProcessoLote($dblIdProcedimento);
+ $objLoteProcedimentoRN->desbloquearProcessoBloco($dblIdProcedimento);
return false;
}
}
@@ -326,7 +326,7 @@ protected function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpe
} catch (\Exception $e) {
$this->gravarLogDebug("Erro processando envio de processo: $e", 0, true);
if($bolSinProcessamentoEmLote){
- $objLoteProcedimentoRN->desbloquearProcessoLote($dblIdProcedimento);
+ $objLoteProcedimentoRN->desbloquearProcessoBloco($dblIdProcedimento);
} else {
throw new InfraException('Falha de comunicação com o serviços de integração. Por favor, tente novamente mais tarde.', $e);
}
diff --git a/src/rn/PenBlocoProcessoRN.php b/src/rn/PenBlocoProcessoRN.php
index 345da4e19..42019d00a 100755
--- a/src/rn/PenBlocoProcessoRN.php
+++ b/src/rn/PenBlocoProcessoRN.php
@@ -35,16 +35,9 @@ public function verificarExclusaoBloco(array $arrObjDTO)
$objPenLoteProcedimentoBD = new PenLoteProcedimentoBD($this->getObjInfraIBanco());
$objPenLoteProcedimentoDTO = $objPenLoteProcedimentoBD->consultar($objPenLoteProcedimentoDTO);
- $situacaoPodeExcluir = array(
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE ,
- );
if (
$objPenLoteProcedimentoDTO != null
- && !is_null($objPenLoteProcedimentoDTO->getNumIdAndamento())
- && !in_array($objPenLoteProcedimentoDTO->getNumIdAndamento(), $situacaoPodeExcluir)
+ && $objPenLoteProcedimentoDTO->getNumIdAndamento() !== null
) {
$messagem .= "\n - {$objPenLoteProcedimentoDTO->getStrProtocoloFormatadoProtocolo()}";
$podeExcluir = false;
@@ -84,10 +77,9 @@ protected function obterPendenciasLoteControlado(PenBlocoProcessoDTO $objPenLote
}
}
- protected function desbloquearProcessoLoteControlado($dblIdProcedimento)
+ protected function desbloquearProcessoBlocoControlado($dblIdProcedimento)
{
try {
-
$objPenLoteProcedimentoDTO = new PenBlocoProcessoDTO();
$objPenLoteProcedimentoDTO->retTodos();
$objPenLoteProcedimentoDTO->setDblIdProtocolo($dblIdProcedimento);
@@ -100,21 +92,8 @@ protected function desbloquearProcessoLoteControlado($dblIdProcedimento)
$this->alterar($objPenLoteProcedimentoDTO);
- // Atualizar Bloco para concluido parcialmente
- $objTramiteEmBlocoProtocoloDTO = new PenBlocoProcessoDTO();
- $objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($dblIdProcedimento);
- $objTramiteEmBlocoProtocoloDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
- $objTramiteEmBlocoProtocoloDTO->setOrdNumIdBlocoProcesso(InfraDTO::$TIPO_ORDENACAO_DESC);
- $objTramiteEmBlocoProtocoloDTO->retDblIdProtocolo();
- $objTramiteEmBlocoProtocoloDTO->retNumIdBloco();
-
- $objTramitaEmBlocoProtocoloRN = new PenBlocoProcessoRN();
- $tramiteEmBlocoProtocolo = $objTramitaEmBlocoProtocoloRN->listar($objTramiteEmBlocoProtocoloDTO);
-
- if ($tramiteEmBlocoProtocolo != null) {
- $idBloco = $tramiteEmBlocoProtocolo[0]->getNumIdBloco();
- $this->atualizarEstadoDoBloco($idBloco);
- }
+ $idBloco = $$objPenLoteProcedimentoDTO->getNumIdBloco();
+ $this->atualizarEstadoDoBloco($idBloco);
}
//Desbloqueia o processo
@@ -325,13 +304,6 @@ protected function excluirControlado(array $arrayObjDTO)
$arrExcluido = array();
- $arrPodeExcluir = array(
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
- );
-
foreach ($arrayObjDTO as $objDTO) {
$objBD = new PenBlocoProcessoBD(BancoSEI::getInstance());
@@ -354,15 +326,14 @@ protected function excluirControlado(array $arrayObjDTO)
$objPenProtocoloDTO->setDblIdProtocolo($objDTO->getDblIdProtocolo());
$objPenProtocoloDTO->retNumIdAndamento();
$objPenProtocoloDTO->retDblIdProtocolo();
- $objPenProtocoloDTO->setNumIdAndamento($arrPodeExcluir, InfraDTO::$OPER_IN);
$objPenProtocoloDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objPenProtocoloDTO = $this->consultar($objPenProtocoloDTO);
- if ($objPenProtocoloDTO != null) {
+ if ($objPenProtocoloDTO != null && $objPenProtocoloDTO->getNumIdAndamento() === null) {
$arrExcluido[] = $objBD->excluir($objDTO);
continue;
- }
+ }
}
return $arrExcluido;
@@ -433,35 +404,38 @@ protected function validarBlocoDeTramiteControlado($idProtocolo)
$objPenBlocoProcessoDTO = new PenBlocoProcessoDTO();
$objPenBlocoProcessoDTO->retNumIdBlocoProcesso();
$objPenBlocoProcessoDTO->setDblIdProtocolo($idProtocolo);
- $objPenBlocoProcessoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objPenBlocoProcessoDTO->retNumIdBloco();
$objPenBlocoProcessoDTO->retDblIdProtocolo();
+ $objPenBlocoProcessoDTO->retNumIdAndamento();
$objPenBlocoProcessoDTO->retStrProtocoloFormatadoProtocolo();
- $arrTramitaEmBloco = $this->listar($objPenBlocoProcessoDTO);
+ $concluidos = array(
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE
+ );
- foreach ($arrTramitaEmBloco as $tramitaEmBloco) {
- $tramiteEmBlocoDTO = new TramiteEmBlocoDTO();
- $tramiteEmBlocoDTO->setNumId($tramitaEmBloco->getNumIdBloco());
- $tramiteEmBlocoDTO->setStrStaEstado([
- TramiteEmBlocoRN::$TE_ABERTO,
- ], InfraDTO::$OPER_IN);
- $tramiteEmBlocoDTO->retStrDescricao();
- $tramiteEmBlocoDTO->retStrStaEstado();
- $tramiteEmBlocoDTO->retNumId();
- $tramiteEmBlocoDTO->retNumOrdem();
+ $arrTramitaEmBloco = $this->listar($objPenBlocoProcessoDTO);
+ if (!is_null($arrTramitaEmBloco) && count($arrTramitaEmBloco) > 0) {
+ foreach ($arrTramitaEmBloco as $tramitaEmBloco) {
+ if ($tramitaEmBloco->getNumIdAndamento() !== null && in_array($tramitaEmBloco->getNumIdAndamento(), $concluidos)) {
+ continue;
+ }
- $tramiteEmBlocoRN = new TramiteEmBlocoRN();
- $tramiteEmBloco = $tramiteEmBlocoRN->consultar($tramiteEmBlocoDTO);
+ $tramiteEmBlocoDTO = new TramiteEmBlocoDTO();
+ $tramiteEmBlocoDTO->setNumId($tramitaEmBloco->getNumIdBloco());
+ $tramiteEmBlocoDTO->retStrDescricao();
+ $tramiteEmBlocoDTO->retStrStaEstado();
+ $tramiteEmBlocoDTO->retStrSiglaUnidade();
+ $tramiteEmBlocoDTO->retNumId();
+ $tramiteEmBlocoDTO->retNumOrdem();
- if (!empty($tramiteEmBloco)) {
- return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$tramiteEmBloco->getNumOrdem()} - {$tramiteEmBloco->getStrDescricao()}. Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
- }
+ $tramiteEmBlocoRN = new TramiteEmBlocoRN();
+ $tramiteEmBloco = $tramiteEmBlocoRN->consultar($tramiteEmBlocoDTO);
- $arrPermitirInclusaoConcluidos = [TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE, TramiteEmBlocoRN::$TE_DISPONIBILIZADO];
- $bolValidarInclusao = $this->validarInclusaoQuandoProcessoConcluido($tramitaEmBloco->getNumIdBloco(), $idProtocolo, $arrPermitirInclusaoConcluidos);
- if ($bolValidarInclusao !== true) {
- return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$bolValidarInclusao->getNumOrdem()} - {$bolValidarInclusao->getStrDescricao()}. Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
+ return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$tramiteEmBloco->getNumOrdem()} - {$tramiteEmBloco->getStrDescricao()} da unidade {$tramiteEmBloco->getStrSiglaUnidade()}."
+ . " Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
}
}
@@ -479,57 +453,6 @@ protected function validarBlocoDeTramiteControlado($idProtocolo)
return false;
}
-
- /**
- * Valida a inclusão de um processo quando este é concluído.
- * Retorna o objeto TramiteEmBloco se o processo não puder ser incluído
- *
- * @param int $dblIdbloco
- * @param int $idProtocolo
- * @param array $arrEstadoBlocos
- *
- * @return TramiteEmBloco|true
- */
- public function validarInclusaoQuandoProcessoConcluido($dblIdbloco, $idProtocolo, $arrEstadoBlocos)
- {
- $tramiteEmBlocoDTO = new TramiteEmBlocoDTO();
- $tramiteEmBlocoDTO->setNumId($dblIdbloco);
- $tramiteEmBlocoDTO->setStrStaEstado($arrEstadoBlocos, InfraDTO::$OPER_IN);
- $tramiteEmBlocoDTO->retStrDescricao();
- $tramiteEmBlocoDTO->retStrStaEstado();
- $tramiteEmBlocoDTO->retNumId();
- $tramiteEmBlocoDTO->retNumOrdem();
-
- $tramiteEmBlocoRN = new TramiteEmBlocoRN();
- $tramiteEmBloco = $tramiteEmBlocoRN->consultar($tramiteEmBlocoDTO);
-
- if (!empty($tramiteEmBloco)) {
-
- $arrEstadosDeNaoConclusaoDoProcesso = array(
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
- ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
- );
-
- $objPenBlocoProcessoDTO = new PenBlocoProcessoDTO();
- $objPenBlocoProcessoDTO->setDblIdProtocolo($idProtocolo);
- $objPenBlocoProcessoDTO->setNumIdBloco($dblIdbloco);
- $objPenBlocoProcessoDTO->setNumIdAndamento($arrEstadosDeNaoConclusaoDoProcesso, InfraDTO::$OPER_IN);
- $objPenBlocoProcessoDTO->retDblIdProtocolo();
- $objPenBlocoProcessoDTO->retNumIdBloco();
- $objPenBlocoProcessoDTO->retNumIdAndamento();
-
- $penBlocoProcessoBD = new PenBlocoProcessoBD(BancoSEI::getInstance());
- $objPenProtocoloDTO = $penBlocoProcessoBD->consultar($objPenBlocoProcessoDTO);
-
- if ($objPenProtocoloDTO != null) {
- return $tramiteEmBloco;
- }
- }
-
- return true;
- }
public function validarQuantidadeDeItensNoBloco($dblIdbloco, $arrProtocolosOrigem)
{
@@ -625,12 +548,12 @@ private function buscarBlocoProcessos($idBloco)
*/
private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDTO, $idAndamentoBloco)
{
- $concluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE;
- $parcialmenteConcluido = array(
+ $concluido = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
);
$emAndamento = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO,
@@ -639,27 +562,27 @@ private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDT
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO
);
+
+ $qtdProcesos = count($arrObjTramiteEmBlocoProtocoloDTO);
+ $arrayConcluidos = array();
+ $arrayEmAndamento = array();
foreach ($arrObjTramiteEmBlocoProtocoloDTO as $objDTO) {
- if (
- in_array($objDTO->getNumIdAndamento(), $emAndamento)
- && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE
- ) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
- }
- if (in_array($objDTO->getNumIdAndamento(), $parcialmenteConcluido)) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE;
+ if (in_array($objDTO->getNumIdAndamento(), $concluido)) {
+ $arrayConcluidos[] = $objDTO;
}
- if (
- $objDTO->getNumIdAndamento() == $concluido
- && (
- $idAndamentoBloco == TramiteEmBlocoRN::$TE_CONCLUIDO
- || $idAndamentoBloco == TramiteEmBlocoRN::$TE_ABERTO
- )
- ) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO;
+
+ if (in_array($objDTO->getNumIdAndamento(), $emAndamento)) {
+ $arrayEmAndamento[] = $objDTO;
}
}
+ if ($qtdProcesos == count($arrayConcluidos)) {
+ $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO;
+ }
+ if (count($arrayEmAndamento) > 0) {
+ $idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
+ }
+
return $idAndamentoBloco;
}
}
diff --git a/src/rn/ProcessarPendenciasRN.php b/src/rn/ProcessarPendenciasRN.php
index 6145a2abc..f1c53304d 100755
--- a/src/rn/ProcessarPendenciasRN.php
+++ b/src/rn/ProcessarPendenciasRN.php
@@ -251,27 +251,27 @@ public function expedirBloco($idProcedimento)
$this->gravarLogDebug("Processando envio de protocolo [expedirProcedimento] com IDProcedimento " . $idProcedimento, 0, true);
$numTempoInicialEnvio = microtime(true);
- $objPenLoteProcedimentoDTO = new PenBlocoProcessoDTO();
- $objPenLoteProcedimentoDTO->retNumIdRepositorioOrigem();
- $objPenLoteProcedimentoDTO->retNumIdUnidadeOrigem();
- $objPenLoteProcedimentoDTO->retNumIdRepositorioDestino();
- $objPenLoteProcedimentoDTO->retStrRepositorioDestino();
- $objPenLoteProcedimentoDTO->retNumIdUnidadeDestino();
- $objPenLoteProcedimentoDTO->retStrUnidadeDestino();
- $objPenLoteProcedimentoDTO->retDblIdProtocolo();
- $objPenLoteProcedimentoDTO->retNumIdBlocoProcesso();
- $objPenLoteProcedimentoDTO->retNumIdAtividade();
- $objPenLoteProcedimentoDTO->retNumIdBloco();
- $objPenLoteProcedimentoDTO->retNumIdUnidade();
- $objPenLoteProcedimentoDTO->retNumTentativas();
- $objPenLoteProcedimentoDTO->setDblIdProtocolo(intval($idProcedimento));
- $objPenLoteProcedimentoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO);
- $objPenLoteProcedimentoDTO->setNumMaxRegistrosRetorno(1);
-
- $objPenLoteProcedimentoRN = new PenBlocoProcessoRN();
- $objPenLoteProcedimentoDTO = $objPenLoteProcedimentoRN->consultar($objPenLoteProcedimentoDTO);
-
- if (!is_null($objPenLoteProcedimentoDTO)) {
+ $objPenBlocoProcedimentoDTO = new PenBlocoProcessoDTO();
+ $objPenBlocoProcedimentoDTO->retNumIdRepositorioOrigem();
+ $objPenBlocoProcedimentoDTO->retNumIdUnidadeOrigem();
+ $objPenBlocoProcedimentoDTO->retNumIdRepositorioDestino();
+ $objPenBlocoProcedimentoDTO->retStrRepositorioDestino();
+ $objPenBlocoProcedimentoDTO->retNumIdUnidadeDestino();
+ $objPenBlocoProcedimentoDTO->retStrUnidadeDestino();
+ $objPenBlocoProcedimentoDTO->retDblIdProtocolo();
+ $objPenBlocoProcedimentoDTO->retNumIdBlocoProcesso();
+ $objPenBlocoProcedimentoDTO->retNumIdAtividade();
+ $objPenBlocoProcedimentoDTO->retNumIdBloco();
+ $objPenBlocoProcedimentoDTO->retNumIdUnidade();
+ $objPenBlocoProcedimentoDTO->retNumTentativas();
+ $objPenBlocoProcedimentoDTO->setDblIdProtocolo(intval($idProcedimento));
+ $objPenBlocoProcedimentoDTO->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO);
+ $objPenBlocoProcedimentoDTO->setNumMaxRegistrosRetorno(1);
+
+ $objPenBlocoProcedimentoRN = new PenBlocoProcessoRN();
+ $objPenBlocoProcedimentoDTO = $objPenBlocoProcedimentoRN->consultar($objPenBlocoProcedimentoDTO);
+
+ if (!is_null($objPenBlocoProcedimentoDTO)) {
// Ajuste na variável global $_SERVER['HTTPS'] para considerar a mesma configuração definida para o SEI
// e evitar erros na rotina validaHttps quando em execução por linha de comando
@@ -284,35 +284,36 @@ public function expedirBloco($idProcedimento)
$objConfiguracaoModPEN = ConfiguracaoModPEN::getInstance();
$numTentativasErroMaximo = $objConfiguracaoModPEN->getValor("PEN", "NumeroTentativasErro", false, ProcessoEletronicoRN::WS_TENTATIVAS_ERRO);
$numTentativasErroMaximo = (is_numeric($numTentativasErroMaximo)) ? intval($numTentativasErroMaximo) : ProcessoEletronicoRN::WS_TENTATIVAS_ERRO;
- $numTentativasProcesso = $objPenLoteProcedimentoDTO->getNumTentativas() ?: 0;
+ $numTentativasProcesso = $objPenBlocoProcedimentoDTO->getNumTentativas() ?: 0;
if ($numTentativasErroMaximo >= $numTentativasProcesso + 1) {
- $objPenLoteProcedimentoRN->registrarTentativaEnvio($objPenLoteProcedimentoDTO);
+ $objPenBlocoProcedimentoRN->registrarTentativaEnvio($objPenBlocoProcedimentoDTO);
$objExpedirProcedimentoDTO = new ExpedirProcedimentoDTO();
- $objExpedirProcedimentoDTO->setNumIdRepositorioOrigem($objPenLoteProcedimentoDTO->getNumIdRepositorioOrigem());
- $objExpedirProcedimentoDTO->setNumIdUnidadeOrigem($objPenLoteProcedimentoDTO->getNumIdUnidadeOrigem());
+ $objExpedirProcedimentoDTO->setNumIdRepositorioOrigem($objPenBlocoProcedimentoDTO->getNumIdRepositorioOrigem());
+ $objExpedirProcedimentoDTO->setNumIdUnidadeOrigem($objPenBlocoProcedimentoDTO->getNumIdUnidadeOrigem());
- $objExpedirProcedimentoDTO->setNumIdRepositorioDestino($objPenLoteProcedimentoDTO->getNumIdRepositorioDestino());
- $objExpedirProcedimentoDTO->setStrRepositorioDestino($objPenLoteProcedimentoDTO->getStrRepositorioDestino());
- $objExpedirProcedimentoDTO->setNumIdUnidadeDestino($objPenLoteProcedimentoDTO->getNumIdUnidadeDestino());
- $objExpedirProcedimentoDTO->setStrUnidadeDestino($objPenLoteProcedimentoDTO->getStrUnidadeDestino());
+ $objExpedirProcedimentoDTO->setNumIdRepositorioDestino($objPenBlocoProcedimentoDTO->getNumIdRepositorioDestino());
+ $objExpedirProcedimentoDTO->setStrRepositorioDestino($objPenBlocoProcedimentoDTO->getStrRepositorioDestino());
+ $objExpedirProcedimentoDTO->setNumIdUnidadeDestino($objPenBlocoProcedimentoDTO->getNumIdUnidadeDestino());
+ $objExpedirProcedimentoDTO->setStrUnidadeDestino($objPenBlocoProcedimentoDTO->getStrUnidadeDestino());
$objExpedirProcedimentoDTO->setArrIdProcessoApensado(null);
$objExpedirProcedimentoDTO->setBolSinUrgente(false);
- $objExpedirProcedimentoDTO->setDblIdProcedimento($objPenLoteProcedimentoDTO->getDblIdProtocolo());
+ $objExpedirProcedimentoDTO->setDblIdProcedimento($objPenBlocoProcedimentoDTO->getDblIdProtocolo());
$objExpedirProcedimentoDTO->setNumIdMotivoUrgencia(null);
$objExpedirProcedimentoDTO->setBolSinProcessamentoEmLote(true);
- $objExpedirProcedimentoDTO->setNumIdLote($objPenLoteProcedimentoDTO->getNumIdBlocoProcesso());
- $objExpedirProcedimentoDTO->setNumIdAtividade($objPenLoteProcedimentoDTO->getNumIdAtividade());
- $objExpedirProcedimentoDTO->setNumIdUnidade($objPenLoteProcedimentoDTO->getNumIdUnidade());
+ $objExpedirProcedimentoDTO->setNumIdLote($objPenBlocoProcedimentoDTO->getNumIdBlocoProcesso());
+ $objExpedirProcedimentoDTO->setNumIdAtividade($objPenBlocoProcedimentoDTO->getNumIdAtividade());
+ $objExpedirProcedimentoDTO->setNumIdUnidade($objPenBlocoProcedimentoDTO->getNumIdUnidade());
$objExpedirProcedimentoRN = new ExpedirProcedimentoRN();
$objExpedirProcedimentoRN->expedirProcedimento($objExpedirProcedimentoDTO);
+ $numIDT = $objPenBlocoProcedimentoDTO->getDblIdProtocolo();
$numTempoTotalEnvio = round(microtime(true) - $numTempoInicialEnvio, 2);
$this->gravarLogDebug("Finalizado o envio de protocolo com IDProcedimento $numIDT(Tempo total: {$numTempoTotalEnvio}s)", 0, true);
} else {
- $objPenLoteProcedimentoRN->desbloquearProcessoLote($objPenLoteProcedimentoDTO->getDblIdProtocolo());
+ $objPenBlocoProcedimentoRN->desbloquearProcessoBloco($objPenBlocoProcedimentoDTO->getDblIdProtocolo());
}
}
} catch (\Exception $e) {
diff --git a/src/rn/ReceberProcedimentoRN.php b/src/rn/ReceberProcedimentoRN.php
index 29016db29..e7a343323 100755
--- a/src/rn/ReceberProcedimentoRN.php
+++ b/src/rn/ReceberProcedimentoRN.php
@@ -529,7 +529,15 @@ protected function receberTramitesRecusadosInternoControlado($parObjTramite)
// Atualizar Bloco para concluido parcialmente
$objTramiteEmBlocoProtocoloDTO = new PenBlocoProcessoDTO();
$objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($objReceberTramiteRecusadoDTO->getNumIdProtocolo());
- $objTramiteEmBlocoProtocoloDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
+ $objTramiteEmBlocoProtocoloDTO->setNumIdAndamento(
+ array(
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE
+ ),
+ InfraDTO::$OPER_NOT_IN
+ );
$objTramiteEmBlocoProtocoloDTO->setOrdNumIdBlocoProcesso(InfraDTO::$TIPO_ORDENACAO_DESC);
$objTramiteEmBlocoProtocoloDTO->retTodos();
@@ -537,12 +545,17 @@ protected function receberTramitesRecusadosInternoControlado($parObjTramite)
$arrTramiteEmBlocoProtocolo = $objTramitaEmBlocoProtocoloRN->listar($objTramiteEmBlocoProtocoloDTO);
if ($arrTramiteEmBlocoProtocolo != null) {
+ $blocos = array();
foreach ($arrTramiteEmBlocoProtocolo as $tramiteEmBlocoProtocolo) {
$tramiteEmBlocoProtocolo->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA);
$objTramitaEmBlocoProtocoloRN->alterar($tramiteEmBlocoProtocolo);
+
+ $blocos[] = $tramiteEmBlocoProtocolo->getNumIdBloco();
+ }
+
+ foreach ($blocos as $idBloco) {
+ $objTramitaEmBlocoProtocoloRN->atualizarEstadoDoBloco($idBloco);
}
- $idBloco = $arrTramiteEmBlocoProtocolo[0]->getNumIdBloco();
- $objTramitaEmBlocoProtocoloRN->atualizarEstadoDoBloco($idBloco);
}
}
diff --git a/src/rn/ReceberReciboTramiteRN.php b/src/rn/ReceberReciboTramiteRN.php
index c75a500e3..73bd0cae3 100755
--- a/src/rn/ReceberReciboTramiteRN.php
+++ b/src/rn/ReceberReciboTramiteRN.php
@@ -140,10 +140,18 @@ protected function receberReciboDeTramiteInternoControlado($objReciboTramite)
$objProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());
$objProtocoloDTO = $objProtocoloBD->consultar($objProtocoloDTO);
- // Atualizar Bloco para concluido parcialmente
+ // Atualizar Bloco para concluido
$objTramiteEmBlocoProtocoloDTO = new PenBlocoProcessoDTO();
$objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($objProtocoloDTO->getDblIdProtocolo());
- $objTramiteEmBlocoProtocoloDTO->setNumIdUnidade($objProtocoloDTO->getNumIdUnidadeGeradora());
+ $objTramiteEmBlocoProtocoloDTO->setNumIdAndamento(
+ array(
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE
+ ),
+ InfraDTO::$OPER_NOT_IN
+ );
$objTramiteEmBlocoProtocoloDTO->setOrdNumIdBlocoProcesso(InfraDTO::$TIPO_ORDENACAO_DESC);
$objTramiteEmBlocoProtocoloDTO->retTodos();
@@ -151,13 +159,17 @@ protected function receberReciboDeTramiteInternoControlado($objReciboTramite)
$arrTramiteEmBlocoProtocolo = $objTramitaEmBlocoProtocoloRN->listar($objTramiteEmBlocoProtocoloDTO);
if ($arrTramiteEmBlocoProtocolo != null) {
+ $blocos = array();
foreach ($arrTramiteEmBlocoProtocolo as $tramiteEmBlocoProtocolo) {
$tramiteEmBlocoProtocolo->setNumIdAndamento(ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE);
$objTramitaEmBlocoProtocoloRN->alterar($tramiteEmBlocoProtocolo);
+
+ $blocos[] = $tramiteEmBlocoProtocolo->getNumIdBloco();
+ }
+
+ foreach ($blocos as $idBloco) {
+ $objTramitaEmBlocoProtocoloRN->atualizarEstadoDoBloco($idBloco);
}
-
- $idBloco = $arrTramiteEmBlocoProtocolo[0]->getNumIdBloco();
- $objTramitaEmBlocoProtocoloRN->atualizarEstadoDoBloco($idBloco);
}
$this->objProcedimentoAndamentoRN->setOpts($objTramiteDTO->getStrNumeroRegistro(), $numIdTramite, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO), $objProcessoEletronicoDTO->getDblIdProcedimento());
diff --git a/src/rn/TramitaEmBlocoProtocoloRN.php b/src/rn/TramitaEmBlocoProtocoloRN.php
index 1b776a63c..ff91ff96d 100644
--- a/src/rn/TramitaEmBlocoProtocoloRN.php
+++ b/src/rn/TramitaEmBlocoProtocoloRN.php
@@ -319,43 +319,6 @@ protected function validarBlocoDeTramiteControlado($idProtocolo)
if (!empty($tramiteEmBloco)) {
return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$tramiteEmBloco->getNumOrdem()} - {$tramiteEmBloco->getStrDescricao()}. Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
}
-
- $processoRecusadoNoBlocoParcial = $this->validarBlocoEstadoConcluidoParcial($tramitaEmBloco->getNumIdBloco(), $idProtocolo);
- if ($processoRecusadoNoBlocoParcial !== false) {
- return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrProtocoloFormatadoProtocolo()} encontra-se inserido no bloco {$processoRecusadoNoBlocoParcial->getNumOrdem()} - {$processoRecusadoNoBlocoParcial->getStrDescricao()}. Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
- }
- }
-
- return false;
- }
-
- public function validarBlocoEstadoConcluidoParcial($dblIdbloco, $idProtocolo)
- {
- $tramiteEmBlocoDTO = new TramiteEmBlocoDTO();
- $tramiteEmBlocoDTO->setNumId($dblIdbloco);
- $tramiteEmBlocoDTO->setStrStaEstado([
- TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE,
- ], InfraDTO::$OPER_IN);
- $tramiteEmBlocoDTO->retStrDescricao();
- $tramiteEmBlocoDTO->retStrStaEstado();
- $tramiteEmBlocoDTO->retNumId();
-
- $tramiteEmBlocoRN = new TramiteEmBlocoRN();
- $tramiteEmBloco = $tramiteEmBlocoRN->consultar($tramiteEmBlocoDTO);
-
- if (!empty($tramiteEmBloco)) {
- $objPenProtocolo = new PenProtocoloDTO();
- $objPenProtocolo->setDblIdProtocolo($idProtocolo);
- $objPenProtocolo->setStrSinObteveRecusa('S');
- $objPenProtocolo->setNumMaxRegistrosRetorno(1);
- $objPenProtocolo->retDblIdProtocolo();
-
- $objPenProtocoloBD = new ProtocoloBD(BancoSEI::getInstance());
- $ObjPenProtocoloDTO = $objPenProtocoloBD->consultar($objPenProtocolo);
-
- if ($ObjPenProtocoloDTO != null) {
- return $tramiteEmBloco;
- }
}
return false;
@@ -456,12 +419,12 @@ private function buscarBlocoProcessos($idBloco)
*/
private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDTO, $idAndamentoBloco)
{
- $concluido = ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE;
- $parcialmenteConcluido = array(
+ $concluido = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CIENCIA_RECUSA,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE,
+ ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_RECEBIDO_REMETENTE
);
$emAndamento = array(
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO,
@@ -470,27 +433,25 @@ private function validarStatusProcessoParaBloco($arrObjTramiteEmBlocoProtocoloDT
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_COMPONENTES_RECEBIDOS_DESTINATARIO,
ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_RECIBO_ENVIADO_DESTINATARIO
);
+ $qtdProcesos = count($arrObjTramiteEmBlocoProtocoloDTO);
+ $arrayConcluidos = array();
+ $arrayEmAndamento = array();
foreach ($arrObjTramiteEmBlocoProtocoloDTO as $objDTO) {
- if (
- in_array($objDTO->getNumIdAndamento(), $emAndamento)
- && $idAndamentoBloco != TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE
- ) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
- }
- if (in_array($objDTO->getNumIdAndamento(), $parcialmenteConcluido)) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE;
+ if (in_array($objDTO->getNumIdAndamento(), $concluido)) {
+ $arrayConcluidos[] = $objDTO;
}
- if (
- $objDTO->getNumIdAndamento() == $concluido
- && (
- $idAndamentoBloco == TramiteEmBlocoRN::$TE_CONCLUIDO
- || $idAndamentoBloco == TramiteEmBlocoRN::$TE_ABERTO
- )
- ) {
- $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO;
+
+ if (in_array($objDTO->getNumIdAndamento(), $emAndamento)) {
+ $arrayEmAndamento[] = $objDTO;
}
}
+ if (count($arrayEmAndamento)) {
+ $idAndamentoBloco = TramiteEmBlocoRN::$TE_DISPONIBILIZADO;
+ } elseif ($qtdProcesos == count($arrayConcluidos)) {
+ $idAndamentoBloco = TramiteEmBlocoRN::$TE_CONCLUIDO;
+ }
+
return $idAndamentoBloco;
}
}
\ No newline at end of file
diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php
index 07271fb28..ad681b8c1 100755
--- a/src/scripts/sei_atualizar_versao_modulo_pen.php
+++ b/src/scripts/sei_atualizar_versao_modulo_pen.php
@@ -2964,17 +2964,6 @@ protected function instalarV3070()
if ($arrPenBlocoProcessoDTO == null) {
$objTramiteEmBlocoRN->excluir(array($tramiteEmBlocoDTO));
}
-
- //Verificar se todos os processos de um bloco concluído na 3.6.2 foram concluídos
- $staEstado = $tramiteEmBlocoDTO->getStrStaEstado();
- if ($staEstado == TramiteEmBlocoRN::$TE_CONCLUIDO) {
- $bolVeriicarStatusDiferenteDeSucesso = $this->verificarIdAndamentoConcluido($arrPenBlocoProcessoDTO);
- if (!empty($bolVeriicarStatusDiferenteDeSucesso)) {
- $objTramiteEmBlocoDTO->setNumId($tramiteEmBlocoDTO->getNumId());
- $objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE);
- $objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO);
- }
- }
}
}
|