Skip to content

Commit

Permalink
feat: alteração de implementação devido a alinhamento com Pedro
Browse files Browse the repository at this point in the history
  • Loading branch information
Mauro1706 committed Jul 7, 2023
1 parent cd6a073 commit 87fe437
Show file tree
Hide file tree
Showing 3 changed files with 208 additions and 14 deletions.
3 changes: 3 additions & 0 deletions src/dto/PenOrgaoExternoDTO.php
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ public function montar() {
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DBL, 'Id', 'Id');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdOrgao', 'id_orgao');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Orgao', 'str_orgao');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'UnidadeRH', 'str_unidade_rh');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_NUM, 'IdEstrutaOrganizacional', 'id_estrutura');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'EstrutaOrganizacional', 'str_estrutura');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_DTH, 'Registro', 'dth_criacao');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'Ativo', 'sin_ativo');
$this->adicionarAtributoTabela(InfraDTO::$PREFIXO_STR, 'ExtenderSubUnidades', 'sin_extender_sub_unidades');
Expand Down
213 changes: 201 additions & 12 deletions src/pen_map_orgaos_externos_cadastrar.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,8 @@
throw new InfraException("A unidade atual não foi mapeada.");
}

$strNomeUnidadeDestino = $_POST['txtUnidade'];
$numIdOrgao = $_POST['hdnIdUnidade'];
$strNomeOrgaoDestino = $_POST['txtUnidade'];
$numIdRepositorio = $_POST['selRepositorioEstruturas'];
$txtRepositorioEstruturas = $_POST['txtRepositorioEstruturas'];
$numIdUnidadeOrigem = $objUnidadeDTO->getNumIdUnidadeRH();
Expand All @@ -53,10 +54,13 @@
case 'pen_map_orgaos_externos_salvar':
if (is_null($numIdRepositorio)) {
$objPaginaSEI->adicionarMensagem('selecione um repositório de destino.');
} elseif (is_null($numIdOrgao)) {
$objPaginaSEI->adicionarMensagem('o orgão não foi selecionado.');
} else {
$objPenOrgaoExternoDTO = new PenOrgaoExternoDTO();
$objPenOrgaoExternoDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual());
$objPenOrgaoExternoDTO->setNumIdOrgao($numIdRepositorio);
$objPenOrgaoExternoDTO->setNumIdOrgao($numIdOrgao);
$objPenOrgaoExternoDTO->setNumIdEstrutaOrganizacional($numIdRepositorio);
$objPenOrgaoExternoDTO->setNumMaxRegistrosRetorno(1);

$objPenOrgaoExternoRN = new PenOrgaoExternoRN();
Expand All @@ -70,24 +74,23 @@
$boolSinExtenderSubUnidades = !empty($boolSinExtenderSubUnidades) && $boolSinExtenderSubUnidades ? 'S' : 'N';
$objPenOrgaoExternoDTO = new PenOrgaoExternoDTO();
$objPenOrgaoExternoDTO->setNumIdUnidade($objSessaoSEI->getNumIdUnidadeAtual());
$objPenOrgaoExternoDTO->setNumIdOrgao($numIdRepositorio);
$objPenOrgaoExternoDTO->setStrOrgao($txtRepositorioEstruturas);
$objPenOrgaoExternoDTO->setDthRegistro(date('d/m/Y H:i:s'));
$objPenOrgaoExternoDTO->setNumIdOrgao($numIdOrgao);
$objPenOrgaoExternoDTO->setStrOrgao($strNomeOrgaoDestino);
$objPenOrgaoExternoDTO->setStrExtenderSubUnidades($boolSinExtenderSubUnidades);
$objPenOrgaoExternoDTO->setNumIdEstrutaOrganizacional($numIdRepositorio);
$objPenOrgaoExternoDTO->setStrEstrutaOrganizacional($txtRepositorioEstruturas);
$objPenOrgaoExternoDTO->setDthRegistro(date('d/m/Y H:i:s'));

$objPenOrgaoExternoRN = new PenOrgaoExternoRN();
$respObjPenOrgaoExternoDTO = $objPenOrgaoExternoRN->contar($objPenOrgaoExternoDTO);
if ($respObjPenOrgaoExternoDTO > 0) {
var_dump($respObjPenOrgaoExternoDTO);
exit;
}

$objPenOrgaoExternoRN = new PenOrgaoExternoRN();
$objPenOrgaoExternoRN->cadastrar($objPenOrgaoExternoDTO);

$objPaginaSEI->adicionarMensagem('Orgão externo cadastrado com sucesso.');
}

header('Location: '.$objSessaoSEI->assinarLink('controlador.php?acao=pen_map_orgaos_externos_cadastrar&acao_origem='.$_GET['acao'] . $strParametros));
exit(0);
break;
Expand All @@ -103,9 +106,6 @@
//Obter dados do repositório em que o SEI está registrado (Repositório de Origem)
$objPenParametroRN = new PenParametroRN();
$numIdRepositorioOrigem = $objPenParametroRN->getParametro('PEN_ID_REPOSITORIO_ORIGEM');

$motivosDeUrgencia = $objExpedirProcedimentosRN->consultarMotivosUrgencia();

$idRepositorioSelecionado = (isset($numIdRepositorio)) ? $numIdRepositorio : '';
$strItensSelRepositorioEstruturas = InfraINT::montarSelectArray('', 'Selecione', $idRepositorioSelecionado, $repositorios);

Expand Down Expand Up @@ -141,8 +141,13 @@
#lblRepositorioEstruturas {position:absolute;left:0%;top:0%;width:50%;}
#selRepositorioEstruturas {position:absolute;left:0%;top:38%;width:51%;}

#lblUnidades {position:absolute;left:0%;top:0%;}
#txtUnidade {left:0%;top:38%;width:50%;border:.1em solid #666;}
#imgLupaUnidades {position:absolute;left:52%;top:48%;}

.alinhamentoBotaoImput{position:absolute;left:0%;top:48%;width:85%;};

#btnIdUnidade {float: right;}
#imgPesquisaAvancada {
vertical-align: middle;
margin-left: 10px;
Expand All @@ -166,13 +171,41 @@
var objAutoCompletarEstrutura = null;
var objAutoCompletarProcedimentosApensados = null;

var objLupaUnidades = null;
var objLupaUnidadesAdministrativas = null;
var objLupaProcedimentosApensados = null;
var objJanelaExpedir = null;
var evnJanelaExpedir = null;

function inicializar() {
infraEfeitoTabelas();
var strMensagens = '<?php print str_replace("\n", '\n', $objPaginaSEI->getStrMensagens()); ?>';
if(strMensagens) {
alert(strMensagens);
}
objLupaUnidadesAdministrativas = new infraLupaSelect('selRepositorioEstruturas', 'hdnUnidadesAdministrativas', '<?= $strLinkUnidadesAdministrativasSelecao ?>');

objAutoCompletarEstrutura = new infraAjaxAutoCompletar('hdnIdUnidade', 'txtUnidade', '<?= $strLinkAjaxUnidade ?>', "Nenhuma unidade foi encontrada");
objAutoCompletarEstrutura.bolExecucaoAutomatica = false;
objAutoCompletarEstrutura.mostrarAviso = true;
objAutoCompletarEstrutura.limparCampo = false;
objAutoCompletarEstrutura.tempoAviso = 10000000;

objAutoCompletarEstrutura.prepararExecucao = function() {
var selRepositorioEstruturas = document.getElementById('selRepositorioEstruturas');
var parametros = 'palavras_pesquisa=' + document.getElementById('txtUnidade').value;
parametros += '&id_repositorio=' + selRepositorioEstruturas.options[selRepositorioEstruturas.selectedIndex].value
return parametros;
};

objAutoCompletarEstrutura.processarResultado = function(id, descricao, complemento) {
window.infraAvisoCancelar();
};

$('#btnIdUnidade').click(function() {
objAutoCompletarEstrutura.executar();
objAutoCompletarEstrutura.procurar();
});

//Botão de pesquisa avançada
$('#imgPesquisaAvancada').click(function() {
Expand All @@ -184,12 +217,157 @@ function inicializar() {
alert('Selecione um repositório de Estruturas Organizacionais');
}
});

document.getElementById('selRepositorioEstruturas').focus();
}

function validarCadastroAbrirRI0825() {
if (!infraSelectSelecionado('selUnidades')) {
alert('Informe as Unidades de Destino.');
document.getElementById('selUnidades').focus();
return false;
}

return true;
}

function selecionarUrgencia() {
var chkSinUrgenteEnabled = $('#chkSinUrgente').is(':checked');
$('#selMotivosUrgencia').prop('disabled', !chkSinUrgenteEnabled);

if (!chkSinUrgenteEnabled) {
infraSelectSelecionarItem('selMotivosUrgencia', '0');
$('#selMotivosUrgencia').addClass('infraReadOnly');
$('#divMotivosUrgencia').css('display', 'none');
} else {
$('#selMotivosUrgencia').removeClass('infraReadOnly');
$('#divMotivosUrgencia').css('display', 'block');
}
}

//Caso não tenha unidade encontrada
$(document).ready(function() {
$(document).on('click', '#txtUnidade', function() {
if ($(this).val() == "Unidade não Encontrada.") {
$(this).val('');
}
});
});

function selecionarRepositorio() {
var txtUnidade = $('#txtUnidade');
var selRepositorioEstruturas = $('#selRepositorioEstruturas');

var txtUnidadeEnabled = selRepositorioEstruturas.val() > 0;
txtUnidade.prop('disabled', !txtUnidadeEnabled);
$('#hdnIdUnidade').val('');
txtUnidade.val('');

if (!txtUnidadeEnabled) {
txtUnidade.addClass('infraReadOnly');
} else {
txtUnidade.removeClass('infraReadOnly');
$('#txtRepositorioEstruturas').val($("#selRepositorioEstruturas option:selected").text());
}
}

function avaliarPreCondicoes() {
var houveErros = document.getElementById('hdnErrosValidacao').value;
if (houveErros) {
infraDesabilitarCamposDiv(document.getElementById('divProtocoloExibir'));
infraDesabilitarCamposDiv(document.getElementById('divRepositorioEstruturas'));
infraDesabilitarCamposDiv(document.getElementById('divUnidades'));
infraDesabilitarCamposDiv(document.getElementById('divProcedimentosApensados'));
infraDesabilitarCamposDiv(document.getElementById('divSinUrgente'));
infraDesabilitarCamposDiv(document.getElementById('divMotivosUrgencia'));

var smbExpedir = document.getElementById('sbmExpedir');
smbExpedir.disabled = true;
smbExpedir.className += ' infraReadOnly';
}
}


function criarIFrameBarraProgresso() {

nomeIFrameEnvioProcesso = 'ifrEnvioProcesso';
var iframe = document.getElementById(nomeIFrameEnvioProcesso);
if (iframe != null) {
iframe.parentElement.removeChild(iframe);
}

var iframe = document.createElement('iframe');
iframe.id = nomeIFrameEnvioProcesso;
iframe.name = nomeIFrameEnvioProcesso;
iframe.setAttribute('frameBorder', '0');
iframe.setAttribute('scrolling', 'yes');

return iframe;
}

function exibirBarraProgresso(elemBarraProgresso) {
// Exibe camada de fundo da barra de progresso
var divFundo = document.createElement('div');
divFundo.id = 'divFundoBarraProgresso';
divFundo.className = 'infraFundoTransparente';
divFundo.style.visibility = 'visible';

var divAviso = document.createElement('div');
divAviso.id = 'divBarraProgresso';
divAviso.appendChild(elemBarraProgresso);
divFundo.appendChild(divAviso);

document.body.appendChild(divFundo);

redimencionarBarraProgresso();
infraAdicionarEvento(window, 'resize', redimencionarBarraProgresso);
}


function abrirBarraProgresso(form, action, largura, altura) {

if (typeof(form.onsubmit) == 'function' && !form.onsubmit()) {
return null;
}

iframe = criarIFrameBarraProgresso();
exibirBarraProgresso(iframe);

form.target = iframe.id;
form.action = action;
form.submit();
}


function redimencionarBarraProgresso() {
var divFundo = document.getElementById('divFundoBarraProgresso');
if (divFundo != null) {
divFundo.style.width = infraClientWidth() + 'px';
divFundo.style.height = infraClientHeight() + 'px';
}
}

function enviarForm(event) {
var button = jQuery(event.target);
var labelPadrao = button.html();

button.attr('disabled', 'disabled').html('Validando...');

var urlValidacao = '<?php print $objPaginaSEI->formatarXHTML($objSessaoSEI->assinarLink('controlador_ajax.php?acao_ajax=pen_procedimento_expedir_validar' . $strParametros)); ?>';
var objData = {};

jQuery.each(['txtProtocoloExibir', 'selRepositorioEstruturas', 'hdnIdUnidade'], function(index, name) {
var objInput = jQuery('#' + name);
objData[name] = objInput.val();
});

jQuery.ajax({
url: urlValidacao,
method: 'POST',
dataType: 'json',
data: objData
}).done(function() {
button.removeAttr('disabled').html(labelPadrao);
});
$('#txtRepositorioEstruturas').val($("#selRepositorioEstruturas option:selected").text());
}
</script>
Expand All @@ -211,6 +389,17 @@ function selecionarRepositorio() {
<input type="hidden" id="txtRepositorioEstruturas" name="txtRepositorioEstruturas" class="infraText" value="<?= $txtRepositorioEstruturas; ?>" />
</div>

<div id="divUnidades" class="infraAreaDados" style="height: 4.5em;">
<label id="lblUnidades" for="selUnidades" class="infraLabelObrigatorio">Orgão Destino:</label>
<div class="alinhamentoBotaoImput">
<input type="text" id="txtUnidade" name="txtUnidade" class="infraText infraReadOnly" disabled="disabled" placeholder="Digite o nome/sigla da unidade e pressione ENTER para iniciar a pesquisa rápida" value="<?= $strNomeOrgaoDestino ?>" tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" value="" />
<button id="btnIdUnidade" type="button" class="infraButton">Consultar</button>
<img id="imgPesquisaAvancada" src="imagens/organograma.gif" alt="Consultar organograma" title="Consultar organograma" class="infraImg" />
</div>

<input type="hidden" id="hdnIdUnidade" name="hdnIdUnidade" class="infraText" value="<?= $numIdOrgao; ?>" />
</div>

<div id="divSinExtenderSubUnidades" class="infraAreaDados" style="height: 4.5em;">
<input type="checkbox" id="chkSinExtenderSubUnidades" name="chkSinExtenderSubUnidades" class="infraCheckbox" <?= $objPaginaSEI->setCheckbox($boolSinExtenderSubUnidades) ?> tabindex="<?= $objPaginaSEI->getProxTabDados() ?>" />
<label id="lblSinExtenderSubUnidades" for="chkSinExtenderSubUnidades" class="infraLabelCheckbox">Extender para subunidades?</label>
Expand Down
6 changes: 4 additions & 2 deletions src/scripts/sei_atualizar_versao_modulo_pen.php
Original file line number Diff line number Diff line change
Expand Up @@ -2534,14 +2534,16 @@ protected function instalarV3040()
'id' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
'id_orgao' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
'str_orgao' => array($objMetaBD->tipoTextoVariavel(250), PenMetaBD::NNULLO),
'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
'id_estrutura' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
'str_estrutura' => array($objMetaBD->tipoTextoVariavel(250), PenMetaBD::NNULLO),
'sin_extender_sub_unidades' => array($objMetaBD->tipoTextoFixo(1), PenMetaBD::NNULLO, 'N'),
'sin_ativo' => array($objMetaBD->tipoTextoFixo(1), 'S'),
'id_unidade' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO),
'dth_criacao' => array($objMetaBD->tipoDataHora(), PenMetaBD::NNULLO)
),
'pk' => array('cols' => array('id')),
'fks' => array(
'unidade' => array('nome' => 'fk_md_pen_orgao_externo_unidade', 'cols' => array('id_unidade', 'id_unidade')),
'unidade' => array('nome' => 'fk_md_pen_mapeamento_orgao_externo', 'cols' => array('id_unidade', 'id_unidade')),
)
));

Expand Down

0 comments on commit 87fe437

Please sign in to comment.