Skip to content

Commit

Permalink
feat: atualização para remocer concluído parcial de bloco de tramite
Browse files Browse the repository at this point in the history
  • Loading branch information
Mauro Costa committed Sep 18, 2024
1 parent dafcb0d commit 20ab3e8
Show file tree
Hide file tree
Showing 11 changed files with 161 additions and 293 deletions.
24 changes: 12 additions & 12 deletions src/pen_procedimento_cancelar_expedir.php
Original file line number Diff line number Diff line change
Expand Up @@ -29,28 +29,28 @@

$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();
$tramiteEmBlocoProtocoloDTO = $objTramitaEmBlocoProtocoloRN->consultar($objTramiteEmBlocoProtocoloDTO);

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();
Expand Down
37 changes: 9 additions & 28 deletions src/pen_tramita_em_bloco_protocolo_listar.php
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand All @@ -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();
Expand All @@ -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,
Expand All @@ -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
Expand Down Expand Up @@ -235,8 +230,6 @@
$strResultado .= str_repeat('<td align="center"></td>' . "\n", 3);
}


// print_r($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento()); die('asas');
$strResultado .= '<td align="center">' . "\n";
switch ($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento()) {
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_INICIADO:
Expand All @@ -257,7 +250,7 @@
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO_AUTOMATICAMENTE:
$strResultado .= '<img src="' . PENIntegracao::getDiretorioImagens() . '/falhou.png" title="Cancelado" style="width:16px; alt="Cancelado" />';
break;
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO:
case ProcessoEletronicoRN::$STA_SITUACAO_TRAMITE_NAO_INICIADO:
if(is_null($objTramitaEmBlocoProtocoloDTO->getNumIdAndamento())){
$strResultado .= '<img src="' . PENIntegracao::getDiretorioImagens() . '/nao_iniciado.png" title="Em aberto" style="width:16px;" alt="Em aberto" />';
break;
Expand All @@ -272,22 +265,10 @@

$strResultado .= '<td align="center">'. "\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 .= '<a onclick="onCLickLinkDelete(\''
.$objSessaoSEI->assinarLink('controlador.php?acao=pen_tramita_em_bloco_protocolo_excluir&acao_origem='.$_GET['acao_origem'].'&acao_retorno='.$_GET['acao'].'&hdnInfraItensSelecionados='.$numIdBlocoProtocolo.'&id_bloco='.$_GET['id_bloco']).'\', this)" tabindex="'.PaginaSEI::getInstance()->getProxTabTabela().'"><img src="'.PaginaSEI::getInstance()->getIconeExcluir().'" title="Excluir processo" alt="Excluir processo" class="infraImg" /></a>&nbsp;';
}
Expand Down
6 changes: 0 additions & 6 deletions src/pen_tramite_bloco_listar.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,6 @@
$checkboxesEstados = [
'chkSinEstadoGerado' => TramiteEmBlocoRN::$TE_ABERTO,
'chkSinEstadoDisponibilizado' => TramiteEmBlocoRN::$TE_DISPONIBILIZADO,
'chkSinEstadoConcluidoParcialmente' => TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE,
'chkSinEstadoConcluido' => TramiteEmBlocoRN::$TE_CONCLUIDO
];

Expand Down Expand Up @@ -503,11 +502,6 @@ function onClickBtnExcluir() {
<label id="lblSinEstadoDisponibilizado" for="chkSinEstadoDisponibilizado" accesskey="" class="infraLabelCheckbox">Aguardando Processamento</label>
</div>

<div id="divSinEstadoConcluidoParcialmente" class="infraDivCheckbox">
<input type="checkbox" id="chkSinEstadoConcluidoParcialmente" <?php echo in_array(TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE, $arrEstadosSelecionados) || empty($arrEstadosSelecionados) ? "checked" : ""; ?> name="chkSinEstadoConcluidoParcialmente" class="infraCheckbox CheckboxEstado" <?= $objPaginaSEI->setCheckbox($strSinEstadoConcluidoParcialmente) ?> tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
<label id="lblSinEstadoConcluido" for="chkSinEstadoConcluidoParcialmente" accesskey="" class="infraLabelCheckbox">Concluído Parcialmente</label>
</div>

<div id="divSinEstadoConcluido" class="infraDivCheckbox">
<input type="checkbox" id="chkSinEstadoConcluido" <?php echo in_array(TramiteEmBlocoRN::$TE_CONCLUIDO, $arrEstadosSelecionados) || empty($arrEstadosSelecionados) ? "checked" : ""; ?> name="chkSinEstadoConcluido" class="infraCheckbox CheckboxEstado" <?= $objPaginaSEI->setCheckbox($strSinEstadoConcluido) ?> tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
<label id="lblSinEstadoConcluido" for="chkSinEstadoConcluido" accesskey="" class="infraLabelCheckbox">Concluído</label>
Expand Down
18 changes: 6 additions & 12 deletions src/pen_tramite_processo_em_bloco_cadastrar.php
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand All @@ -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,
Expand All @@ -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
Expand Down Expand Up @@ -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());
Expand Down Expand Up @@ -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;
Expand All @@ -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);
Expand All @@ -265,7 +259,7 @@

if ($validarPreCondicoesIncluir != false) {
$bolInclusaoErro = true;
$arrMensagensErros[] = $validarPreCondicoesIncluir;
$arrMensagensErros[] = $validarPreCondicoesIncluir;
}else{
$objInfraException = new InfraException();
$objExpedirProcedimentosRN = new ExpedirProcedimentoRN();
Expand Down
4 changes: 2 additions & 2 deletions src/rn/ExpedirProcedimentoRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
}
Expand Down Expand Up @@ -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);
}
Expand Down
Loading

0 comments on commit 20ab3e8

Please sign in to comment.