Skip to content

Commit

Permalink
Merge pull request #3 from anatelgovbr/correios_v2.2
Browse files Browse the repository at this point in the history
Última atualização da v2.2.0 dos Correios, antes da versão 2.3.0
  • Loading branch information
neijobson authored Dec 4, 2023
2 parents d6f9bd0 + 07a70a8 commit a844f2e
Show file tree
Hide file tree
Showing 8 changed files with 129 additions and 77 deletions.
57 changes: 37 additions & 20 deletions sei/scripts/sei_atualizar_versao_modulo_correios.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ protected function atualizarVersaoConectado()
$this->instalarv200();
case '2.0.0':
$this->instalarv210();
case '2.1.0':
$this->instalarv220();
case '2.1.0':
$this->instalarv220();
break;

default:
Expand Down Expand Up @@ -1078,11 +1078,11 @@ private function instalarv100()
$this->logar('INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 1.0.0 DO ' . $this->nomeDesteModulo . ' REALIZADA COM SUCESSO NA BASE DO SEI');
}


private function instalarv200()
{

$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO 2.0.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
$nmVersao = '2.0.0';
$objInfraParametro = new InfraParametro(BancoSEI::getInstance());
$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');

$objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
$objInfraMetaBD->setBolValidarIdentificador(true);
Expand All @@ -1091,16 +1091,14 @@ private function instalarv200()

$this->fixIndices($objInfraMetaBD, $arrTabelas);

$this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'2.0.0\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');

$this->logar('INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.0.0 DO ' . $this->nomeDesteModulo . ' REALIZADA COM SUCESSO NA BASE DO SEI');
$this->atualizarNumeroVersao($nmVersao);
}

private function instalarv210()
{
$nmVersao = '2.1.0';
$objInfraParametro = new InfraParametro(BancoSEI::getInstance());
$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO 2.1.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');

$objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
$objInfraMetaBD->setBolValidarIdentificador(true);
Expand Down Expand Up @@ -1243,15 +1241,13 @@ private function instalarv210()

$this->fixIndices($objInfraMetaBD, $arrTabelas);

$this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'2.1.0\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');

$this->logar('INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.1.0 DO ' . $this->nomeDesteModulo . ' REALIZADA COM SUCESSO NA BASE DO SEI');
$this->atualizarNumeroVersao($nmVersao);
}

protected function instalarv220(){
$nmVersao = '2.2.0';
$objInfraParametro = new InfraParametro(BancoSEI::getInstance());
$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO 2.2.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');
$this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSAO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SEI');

$objInfraMetaBD = new InfraMetaBD(BancoSEI::getInstance());
$objInfraMetaBD->setBolValidarIdentificador(true);
Expand All @@ -1262,11 +1258,8 @@ protected function instalarv220(){
$objInfraMetaBD->alterarColuna('md_cor_servico_postal', 'sin_anexar_midia', $objInfraMetaBD->tipoTextoFixo(1), 'not null');
$this->logar('COLUNA sin_anexar_midia criada, valor atualizado para \'N\' e, posteriormente, modificada para NOT NULL');

$this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');
BancoSEI::getInstance()->executarSql('UPDATE infra_parametro SET valor = \'2.2.0\' WHERE nome = \'' . $this->nomeParametroModulo . '\' ');

$this->logar('INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.2.0 DO ' . $this->nomeDesteModulo . ' REALIZADA COM SUCESSO NA BASE DO SEI');
}
$this->atualizarNumeroVersao($nmVersao);
}

protected function fixIndices(InfraMetaBD $objInfraMetaBD, $arrTabelas)
{
Expand All @@ -1278,6 +1271,7 @@ protected function fixIndices(InfraMetaBD $objInfraMetaBD, $arrTabelas)

InfraDebug::getInstance()->setBolDebugInfra(false);
}

private function retornarMaxIdEmailSistema()
{
$this->logar('BUSCANDO O PROXIMO ID DISPONIVEL NA TABELA EMAIL_SISTEMA');
Expand All @@ -1292,6 +1286,29 @@ private function retornarMaxIdEmailSistema()
return $this->$numMaxIdEmailSistemaSelect;
}

/**
* Atualiza o número de versão do módulo na tabela de parâmetro do sistema
*
* @param string $parStrNumeroVersao
* @return void
*/
private function atualizarNumeroVersao($parStrNumeroVersao) {
$this->logar('ATUALIZANDO PARÂMETRO '. $this->nomeParametroModulo .' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO');

$objInfraParametroDTO = new InfraParametroDTO();
$objInfraParametroDTO->setStrNome($this->nomeParametroModulo);
$objInfraParametroDTO->retTodos();
$objInfraParametroBD = new InfraParametroBD(BancoSEI::getInstance());
$arrObjInfraParametroDTO = $objInfraParametroBD->listar($objInfraParametroDTO);

foreach ($arrObjInfraParametroDTO as $objInfraParametroDTO) {
$objInfraParametroDTO->setStrValor($parStrNumeroVersao);
$objInfraParametroBD->alterar($objInfraParametroDTO);
}

$this->logar('INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO '. $parStrNumeroVersao .' DO '. $this->nomeDesteModulo .' REALIZADA COM SUCESSO NA BASE DO SEI');
}

}

try {
Expand Down
42 changes: 21 additions & 21 deletions sei/web/modulos/correios/CorreiosIntegracao.php
Original file line number Diff line number Diff line change
Expand Up @@ -657,27 +657,27 @@ public function processarControladorAjax($strAcao)
}
break;

case 'md_cor_change_serv_postal':
$xml = "<Documento>";
if ( !empty( $_POST['idServPostal'] ) ) {
$objDTO = MdCorServicoPostalINT::getInfoServicoPostalPorId( $_POST['idServPostal'] );
if ( $objDTO ) {
if ( $objDTO->getStrSinAnexarMidia() == 'S' ) {
$xml .= "<Retorno>S</Retorno>";
} else {
$xml .= "<Retorno>N</Retorno>";
}
}
}
$xml .= "</Documento>";
break;

case 'md_cor_valida_arq_ext':
$xml = "<Documento>";
$xml .= MdCorServicoPostalINT::validaArqExt( $_POST );
$xml .= "</Documento>";

break;
case 'md_cor_change_serv_postal':
$xml = "<Documento>";
if ( !empty( $_POST['idServPostal'] ) ) {
$objDTO = MdCorServicoPostalINT::getInfoServicoPostalPorId( $_POST['idServPostal'] );
if ( $objDTO ) {
if ( $objDTO->getStrSinAnexarMidia() == 'S' ) {
$xml .= "<Retorno>S</Retorno>";
} else {
$xml .= "<Retorno>N</Retorno>";
}
}
}
$xml .= "</Documento>";
break;

case 'md_cor_valida_arq_ext':
$xml = "<Documento>";
$xml .= MdCorServicoPostalINT::validaArqExt( $_POST );
$xml .= "</Documento>";

break;
}

return $xml;
Expand Down
10 changes: 10 additions & 0 deletions sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaINT.php
Original file line number Diff line number Diff line change
Expand Up @@ -303,6 +303,10 @@ public static function validaContatoPreeenchido($idContato, $bolEntrada = false)
$contatoDTO->setNumIdContato($id_contato);
$contatoDTO = $contatoRN->consultarRN0324($contatoDTO);

if ( is_null($contatoDTO) ) {
throw new InfraException('O Destinatário deste documento está com cadastro de Contato desativado. \n\nAcesse o botão de ação \"Consultar/Alterar Documento\" sobre o documento para trocar o Contato indicado como Destinatário por um contato ativo.');
}

self::validarDestinatarioIntimacaoEletronica($contatoDTO, $bolEntrada);

if ($contatoDTO->getStrSinEnderecoAssociado() == 'S') {
Expand Down Expand Up @@ -506,6 +510,12 @@ public static function validaContatoPreeenchido($idContato, $bolEntrada = false)
if(!$bolEntrada) {
return "<item><flag>true</flag><mensagem></mensagem></item>";
}
} catch( Exception $e ){
if ( $bolEntrada ) {
return $e->getMessage();
}
return "<item><flag>false</flag><mensagem>{$e->getMessage()}</mensagem></item>";

} catch (SoapFault $soapFault) {
if($bolEntrada){
return 'Problema ao acessar o Web Service dos Correios. Por Favor, tentar mais tarde.';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public static function retornaTipoMidiaExiste($idProtocolo, $bolRetornarXML = tr
if($objAnexoDTO) {
$arrDocumento = explode('.', $objAnexoDTO->getStrNome());
foreach ($arrObjMdCorExtensaoMidiaDTO as $objMdCorExtensaoMidiaDTO) {
if ($objMdCorExtensaoMidiaDTO->getStrNomeExtensao() == end($arrDocumento))
if ( strcasecmp( $objMdCorExtensaoMidiaDTO->getStrNomeExtensao() , end($arrDocumento) ) === 0 )
$existeExtensao = 'true';

}
Expand Down
2 changes: 1 addition & 1 deletion sei/web/modulos/correios/int/MdCorServicoPostalINT.php
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ public static function getInfoServicoPostalPorId( $id ){
}

public static function validaArqExt($arrParams){
$arrIdsProt = ( array_key_exists('arrIdsProt',$arrParams) && !empty( $arrParams['arrIdsProt'] ) ) ? $arrParams['arrIdsProt'] : null;
$arrIdsProt = ( array_key_exists('arrIdsProt',$arrParams) && !empty( $arrParams['arrIdsProt'] ) ) ? $arrParams['arrIdsProt'] : null;
$arrDescDoc = ( array_key_exists('arrDescDoc',$arrParams ) && !empty( $arrParams['arrDescDoc'] ) ) ? $arrParams['arrDescDoc'] : null;
$strPermiteGravarMidia = ( array_key_exists('strPermiteGravarMidia',$arrParams ) && !empty( $arrParams['strPermiteGravarMidia'] ) ) ? $arrParams['strPermiteGravarMidia'] : null;
$arrExibir = [];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -484,10 +484,7 @@ function AddEventToSelect(elem, option) {
}
}

function OnNodeModified(event) {


}
function OnNodeModified(event) {}

function OnNodeInserted(event) {
var elemento = event.target;
Expand All @@ -499,8 +496,7 @@ function OnNodeInserted(event) {
var options = document.getElementById('selProtocoloAnexo').options;
var existeTipoMidiaValido = verificarAnexoMidia(idCompleto);


for (i = 0; i < options.length; i++) {
for (let i = 0; i < options.length; i++) {
options[i].selected = false;
}

Expand All @@ -509,6 +505,9 @@ function OnNodeInserted(event) {
var checkImpressao = existeTipoMidiaValido == 'false' ? "checked='checked' " : "disabled='disabled'";
var checkMidia = existeTipoMidiaValido == 'true' ? "checked='checked'" : '';

let disabledMidia = '';
if ( servicoPostalPermiteAnexarMidia == 'N' ) disabledMidia = "disabled='disabled'";

formato += '<div class="row">';
formato += ' <div class="col-sm-12 col-md-12 col-lg-5 col-xl-5">';
formato += ' <div id="divRdoImpressao" class="infraDivRadio">';
Expand All @@ -525,7 +524,7 @@ function OnNodeInserted(event) {
formato += ' <div id="divRdoGravacao" class="infraDivRadio">';
formato += ' <div class="infraRadioDiv ">';
formato += ' <input type="radio" name="rdoFormato_' + id + '" id="rdoFormato_' + id + '"';
formato += ' value="<?php echo MdCorExpedicaoFormatoRN::$TP_FORMATO_MIDIA; ?>" '+checkMidia;
formato += ' value="<?php echo MdCorExpedicaoFormatoRN::$TP_FORMATO_MIDIA; ?>" '+ checkMidia + disabledMidia;
formato += ' class="infraRadioInput" onclick="impressaoMostrar(' + existeTipoMidiaValido + ')">';
formato += ' <label class="infraRadioLabel" for="rdoFormato_' + id + '"></label>';
formato += ' </div>';
Expand Down Expand Up @@ -750,12 +749,15 @@ function getSelectValues(select, selected) {
}

function removerProtocoloAnexo(valor) {
for (var i = 0, iLen = valor.length; i < iLen; i++) {
let iLen = valor.length;
for (let i = 0 ; i < iLen ; i++) {
valor[0].remove();
objTabelaDinamicaFormatos.removerLinha(objTabelaDinamicaFormatos.procuraLinha(valor[i].value));
}
}

function marcarChkDocumentoPossuiAnexo() {

var checkbox = document.getElementById('chkDocumentoPossuiAnexo');
var div1 = document.getElementById('divProtocoloAnexo');
var div2 = document.getElementById('divProtocoloAnexo2');
Expand All @@ -764,10 +766,17 @@ function marcarChkDocumentoPossuiAnexo() {
div1.style.display = 'block';
div2.style.display = 'block';
} else {
if ( document.querySelector('#selProtocoloAnexo').length > 0 ) {
let arrOpt = document.querySelector('#selProtocoloAnexo').options;
Array.from( arrOpt ).forEach( ( v , i ) => {
removerProtocoloAnexo( [v] );
objTabelaDinamicaFormatos.atualizaHdn();
});
objLupaProtocoloAnexo.atualizar();
}
div1.style.display = 'none';
div2.style.display = 'none';
}

}

function impressaoMostrar() {
Expand Down
7 changes: 4 additions & 3 deletions sei/web/modulos/correios/md_cor_extensao_midia_cadastro.php
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,10 @@
$objMdCorExtensaoMidiaRN = new MdCorExtensaoMidiaRN();

$arrObjMdCorExtensaoMidiaDTO = $objMdCorExtensaoMidiaRN->listar($objMdCorExtensaoMidiaDTO);

$bolMinimoUmRegistro = false;
foreach ($arrObjMdCorExtensaoMidiaDTO as $chave => $objMdCorExtensaoMidiaDTO) {
if (in_array($objMdCorExtensaoMidiaDTO->getNumIdArquivoExtensao(), $arrValuesExtensoes)) {
$bolMinimoUmRegistro = true;
$chaveArray = array_search($objMdCorExtensaoMidiaDTO->getNumIdArquivoExtensao(), $arrValuesExtensoes);
unset($arrObjMdCorExtensaoMidiaDTO[$chave]);
unset($arrValuesExtensoes[$chaveArray]);
Expand All @@ -56,8 +57,8 @@
$objMdCorExtensaoMidiaRN->excluir($arrObjMdCorExtensaoMidiaDTO);

//$objMdCorExtensaoMidiaRN->excluir($objMdCorExtensaoMidiaRN->listar($objMdCorExtensaoMidiaDTO));
if (!$arrValuesExtensoes) {
$objInfraException->adicionarValidacao('Informe pelo menos uma extensão para documento principal.');
if (!$bolMinimoUmRegistro) {
$objInfraException->adicionarValidacao('Informe pelo menos uma extensão que somente aceite Anexar Mídia.');
}
$objInfraException->lancarValidacoes();
$objMdCorExtensaoMidiaRN = new MdCorExtensaoMidiaRN();
Expand Down
Loading

0 comments on commit a844f2e

Please sign in to comment.