Skip to content

Commit

Permalink
chore: adicionar correções pre-release (#458)
Browse files Browse the repository at this point in the history
* fix: corrigir verificação no envio de mutiplos processos

* chore: adicionar melhoria na descricao de inclusao

* chore: adicionar mensagem correta para tratamento de erros
  • Loading branch information
mrglaydson authored Mar 21, 2024
1 parent 817d9d4 commit 17305c7
Show file tree
Hide file tree
Showing 4 changed files with 85 additions and 30 deletions.
4 changes: 2 additions & 2 deletions src/pen_tramita_em_bloco_protocolo_listar.php
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@
case 'pen_tramita_em_bloco_protocolo_excluir':
try {

$arrStrIds = PaginaSEI::getInstance()->getArrStrItensSelecionados();
$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 TramitaEmBlocoProtocoloDTO();
$objTramiteEmBlocoProtocoloDTO->setNumId($arrStrIdComposto[0]);
Expand Down
47 changes: 28 additions & 19 deletions src/pen_tramite_em_bloco_cadastrar.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@

$objSessaoSEI = SessaoSEI::getInstance();
$objPaginaSEI = PaginaSEI::getInstance();
$objDebug = InfraDebug::getInstance();
$objInfraException = new InfraException();

$objPaginaSEI->salvarCamposPost(array('txtDescricao', 'hdnIdBloco'));

$strParametros = '';
if (isset($_GET['arvore'])) {
Expand All @@ -27,10 +27,8 @@
$objTramiteEmBlocoDTO = new TramiteEmBlocoDTO();

$strDesabilitar = '';

$arrComandos = array();
$bolCadastroOk = false;


switch ($_GET['acao']) {
case 'pen_tramite_em_bloco_cadastrar':
$strTitulo = 'Novo Trâmite em Bloco';
Expand All @@ -41,10 +39,18 @@
$objTramiteEmBlocoDTO->setStrStaTipo(TramiteEmBlocoRN::$TB_INTERNO);
$objTramiteEmBlocoDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual());
$objTramiteEmBlocoDTO->setNumIdUsuario(SessaoSEI::getInstance()->getNumIdUsuario());
$objTramiteEmBlocoDTO->setStrDescricao($_POST['txtDescricao']);
$objTramiteEmBlocoDTO->setStrDescricao(null);
$objTramiteEmBlocoDTO->setStrIdxBloco(null);
$objTramiteEmBlocoDTO->setStrStaEstado(TramiteEmBlocoRN::$TE_ABERTO);

if (isset($_POST['sbmCadastrarTramiteEmBloco'])) {
$strNovaDescricao = 'Novo Bloco';
$strDescricao = $objPaginaSEI->recuperarCampo('txtDescricao');
if ($strDescricao) {
$strNovaDescricao = $strDescricao;
}
$objTramiteEmBlocoDTO->setStrDescricao($strNovaDescricao);

try {
$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
$objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->cadastrar($objTramiteEmBlocoDTO);
Expand All @@ -62,23 +68,26 @@
$arrComandos[] = '<button type="submit" accesskey="S" name="sbmAlterarBloco" value="Salvar" class="infraButton"><span class="infraTeclaAtalho">S</span>alvar</button>';
$strDesabilitar = 'disabled="disabled"';

if (isset($_GET['id_bloco'])) {
$objTramiteEmBlocoDTO->setNumId($_GET['id_bloco']);
$objTramiteEmBlocoDTO->retTodos();
$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
$objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO);
if ($objTramiteEmBlocoDTO == null) {
throw new InfraException("Registro não encontrado.");
}
} else {
$objTramiteEmBlocoDTO->setNumId($_POST['hdnIdBloco']);
$objTramiteEmBlocoDTO->setStrDescricao($_POST['txtDescricao']);
$hdnIdBloco = $objPaginaSEI->recuperarCampo('hdnIdBloco');
$objTramiteEmBlocoDTO->setNumId($_GET['id_bloco'] ?: $hdnIdBloco);
$objTramiteEmBlocoDTO->retNumId();
$objTramiteEmBlocoDTO->retStrDescricao();
$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
$objTramiteEmBlocoDTO = $objTramiteEmBlocoRN->consultar($objTramiteEmBlocoDTO);

if ($objTramiteEmBlocoDTO == null) {
throw new InfraException("Registro não encontrado.");
}

$arrComandos[] = '<button type="button" accesskey="C" name="btnCancelar" id="btnCancelar" value="Cancelar" onclick="location.href=\'' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao'] . PaginaSEI::getInstance()->montarAncora($objTramiteEmBlocoDTO->getNumId())) . '\';" class="infraButton"><span class="infraTeclaAtalho">C</span>ancelar</button>';

if (isset($_POST['sbmAlterarBloco'])) {
try {
$strDescricao = $objPaginaSEI->recuperarCampo('txtDescricao');
if ($strDescricao) {
$objTramiteEmBlocoDTO->setStrDescricao($strDescricao);
}

$objTramiteEmBlocoRN = new TramiteEmBlocoRN();
$objTramiteEmBlocoRN->alterar($objTramiteEmBlocoDTO);
PaginaSEI::getInstance()->setStrMensagem('Trâmite em Bloco "' . $objTramiteEmBlocoDTO->getNumId() . '" alterado com sucesso.');
Expand Down Expand Up @@ -149,11 +158,11 @@ function inicializar(){
<p style="font-size: 1.0rem;">Atenção!! Cada bloco permite incluir e tramitar no máximo 100 processos.
<p>
<div id="divIdentificacao" class="infraAreaDados" style="height:5em;">
<label id="lblIdBloco" for="txtIdBloco" accesskey="" class="infraLabelObrigatorio">Número:</label>
<label id="lblIdBloco" for="txtIdBloco" class="infraLabelObrigatorio">Número:</label>
<input type="text" id="txtIdBloco" name="txtIdBloco" class="infraText" disabled="true" value="<?= $objTramiteEmBlocoDTO->getNumId(); ?>" tabindex="<?= PaginaSEI::getInstance()->getProxTabDados() ?>" />
</div>
<div id="divDescricao" class="infraAreaDados" style="height:10em;">
<label id="lblDescricao" for="txtDescricao" accesskey="" class="infraLabelOpcional">Descrição:</label>
<label id="lblDescricao" for="txtDescricao" class="infraLabelOpcional">Descrição:</label>
<textarea id="txtDescricao" name="txtDescricao" rows="<?= PaginaSEI::getInstance()->isBolNavegadorFirefox() ? '3' : '4' ?>" class="infraTextarea" onkeypress="return infraLimitarTexto(this,event,250);" tabindex="<?= PaginaSEI::getInstance()->getProxTabDados() ?>"><?= PaginaSEI::tratarHTML($objTramiteEmBlocoDTO->getStrDescricao()) ?></textarea>
</div>

Expand Down
34 changes: 28 additions & 6 deletions src/pen_tramite_processo_em_bloco_cadastrar.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,17 @@

if (isset($_POST['sbmCadastrarProcessoEmBloco'])) {
try {
if ($_POST['selBlocos'] == null) {
if ($idBlocoExterno == null) {
header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao']));
exit(0);
}

$tramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
$validar = $tramitaEmBlocoProtocoloRN->validarQuantidadeDeItensNoBloco($idBlocoExterno, [$_GET['id_procedimento']]);

if ($validar !== false) {
$objPaginaSEI->adicionarMensagem($validar, InfraPagina::$TIPO_MSG_ERRO);

header('Location: ' . SessaoSEI::getInstance()->assinarLink('controlador.php?acao=' . PaginaSEI::getInstance()->getAcaoRetorno() . '&acao_origem=' . $_GET['acao']));
exit(0);
}
Expand All @@ -58,7 +68,7 @@

$objTramiteEmBlocoProtocoloDTO->setNumId(null);
$objTramiteEmBlocoProtocoloDTO->setDblIdProtocolo($_GET['id_procedimento']);
$objTramiteEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($_POST['selBlocos']);
$objTramiteEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($idBlocoExterno);
$objTramiteEmBlocoProtocoloDTO->setStrIdxRelBlocoProtocolo($procedimento->getStrProtocoloProcedimentoFormatado());

$objTramiteEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
Expand Down Expand Up @@ -91,6 +101,16 @@
$sucesso = false;
$arrProtocolosOrigemProtocolo = explode(',', $strIdItensSelecionados);

$tramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
$validar = $tramitaEmBlocoProtocoloRN->validarQuantidadeDeItensNoBloco($idBlocoExterno, $arrProtocolosOrigemProtocolo);

if ($validar !== false) {
$objPaginaSEI->adicionarMensagem($validar, InfraPagina::$TIPO_MSG_ERRO);

header('Location: '.SessaoSEI::getInstance()->assinarLink('controlador.php?acao='.$_GET['acao'].'&acao_origem='.$_GET['acao']));
exit(0);
}

foreach ($arrProtocolosOrigemProtocolo as $idItensSelecionados) {

$tramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO();
Expand Down Expand Up @@ -200,14 +220,16 @@ function inicializar(){
<?php
$objPaginaSEI->montarBarraComandosSuperior($arrComandos);
$objPaginaSEI->abrirAreaDados('15em');
$padrao = null;
if (isset($arrMapIdBloco[$idBlocoExterno])) {
$padrao = $idBlocoExterno;
}
?>

<label id="lblBlocos" for="lblIdBloco" class="infraLabelObrigatorio">Blocos que estão em aberto:</label>
<select id="selBlocos" name="selBlocos" class="infraSelect">
<?php print InfraINT::montarSelectArray(null, 'Selecione', '', array_filter($arrMapIdBloco)); ?>
<?php print InfraINT::montarSelectArray(null, $padrao, $padrao, array_filter($arrMapIdBloco)); ?>
</select>

<input type="hidden" id="hdnIdBloco" name="hdnIdBloco" value="" />
<input type="hidden" id="hdnIdProtocolo" name="hdnIdProtocolo" tabindex="<?= PaginaSEI::getInstance()->getProxTabDados() ?>" value="<?= $arrProtocolosOrigem ? implode(',', $arrProtocolosOrigem) : '' ?>" />

<?php
Expand Down
30 changes: 27 additions & 3 deletions src/rn/TramitaEmBlocoProtocoloRN.php
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,6 @@ protected function excluirControlado(array $arrayObjDTO)

if ($tramiteEmBloco != null) {
$arrayExcluido[] = $objBD->excluir($objDTO);
} else {
return null;
}
} else {
$arrayExcluido[] = $objBD->excluir($objDTO);
Expand Down Expand Up @@ -273,21 +271,47 @@ protected function validarBlocoDeTramiteControlado($IdProtocolo)
$tramiteEmBlocoDTO->setStrStaEstado([
TramiteEmBlocoRN::$TE_ABERTO,
TramiteEmBlocoRN::$TE_DISPONIBILIZADO,
TramiteEmBlocoRN::$TE_CONCLUIDO_PARCIALMENTE,
], InfraDTO::$OPER_IN);
$tramiteEmBlocoDTO->retStrDescricao();
$tramiteEmBlocoDTO->retStrStaEstado();
$tramiteEmBlocoDTO->retNumId();

$tramiteEmBlocoRN = new TramiteEmBlocoRN();
$tramiteEmBloco = $tramiteEmBlocoRN->consultar($tramiteEmBlocoDTO);

if (!empty($tramiteEmBloco)) {
return "Prezado(a) usuário(a), o processo {$tramitaEmBloco->getStrIdxRelBlocoProtocolo()} encontra-se inserido no bloco de número {$tramiteEmBloco->getNumId()}. 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->getStrIdxRelBlocoProtocolo()} encontra-se inserido no bloco {$tramiteEmBloco->getNumId()} - {$tramiteEmBloco->getStrDescricao()}. Para continuar com essa ação é necessário que o processo seja removido do bloco em questão.";
}
}

return false;
}

public function validarQuantidadeDeItensNoBloco($dblIdbloco, $arrProtocolosOrigem)
{
$tramitaEmBlocoProtocoloDTO = new TramitaEmBlocoProtocoloDTO();
$tramitaEmBlocoProtocoloDTO->setNumIdTramitaEmBloco($dblIdbloco);
$tramitaEmBlocoProtocoloDTO->retNumIdTramitaEmBloco();
$tramitaEmBlocoProtocoloDTO->retStrIdxRelBlocoProtocolo();

$tramitaEmBlocoProtocoloRN = new TramitaEmBlocoProtocoloRN();
$arrTramitaEmBlocoProtocolo = $tramitaEmBlocoProtocoloRN->listar($tramitaEmBlocoProtocoloDTO);
$numRegistroBloco = count($arrTramitaEmBlocoProtocolo);
$numRegistroItens = count($arrProtocolosOrigem);

$numMaximoDeProcessos = 100;
if (!empty($numRegistroBloco) && $numRegistroBloco >= $numMaximoDeProcessos) {
return "Não é possível incluir mais que {$numMaximoDeProcessos} processos em um único bloco. O bloco selecionado já atingiu sua capacidade máxima.";
}

if ($numRegistroBloco+$numRegistroItens > $numMaximoDeProcessos) {
return "Não é possível incluir mais que {$numMaximoDeProcessos} processos em um único bloco. Por favor, reduza a quantidade de processos selecionados antes de prosseguir.";
}

return false;
}

/**
* Atualizar Bloco de tramite externo para concluído
*/
Expand Down

0 comments on commit 17305c7

Please sign in to comment.