diff --git a/sei/scripts/sei_atualizar_versao_modulo_correios.php b/sei/scripts/sei_atualizar_versao_modulo_correios.php index e7fd3de..64eced8 100644 --- a/sei/scripts/sei_atualizar_versao_modulo_correios.php +++ b/sei/scripts/sei_atualizar_versao_modulo_correios.php @@ -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: @@ -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); @@ -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); @@ -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); @@ -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) { @@ -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'); @@ -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 { diff --git a/sei/web/modulos/correios/CorreiosIntegracao.php b/sei/web/modulos/correios/CorreiosIntegracao.php index 8bc248e..3ea89b0 100644 --- a/sei/web/modulos/correios/CorreiosIntegracao.php +++ b/sei/web/modulos/correios/CorreiosIntegracao.php @@ -657,27 +657,27 @@ public function processarControladorAjax($strAcao) } break; - case 'md_cor_change_serv_postal': - $xml = ""; - if ( !empty( $_POST['idServPostal'] ) ) { - $objDTO = MdCorServicoPostalINT::getInfoServicoPostalPorId( $_POST['idServPostal'] ); - if ( $objDTO ) { - if ( $objDTO->getStrSinAnexarMidia() == 'S' ) { - $xml .= "S"; - } else { - $xml .= "N"; - } - } - } - $xml .= ""; - break; - - case 'md_cor_valida_arq_ext': - $xml = ""; - $xml .= MdCorServicoPostalINT::validaArqExt( $_POST ); - $xml .= ""; - - break; + case 'md_cor_change_serv_postal': + $xml = ""; + if ( !empty( $_POST['idServPostal'] ) ) { + $objDTO = MdCorServicoPostalINT::getInfoServicoPostalPorId( $_POST['idServPostal'] ); + if ( $objDTO ) { + if ( $objDTO->getStrSinAnexarMidia() == 'S' ) { + $xml .= "S"; + } else { + $xml .= "N"; + } + } + } + $xml .= ""; + break; + + case 'md_cor_valida_arq_ext': + $xml = ""; + $xml .= MdCorServicoPostalINT::validaArqExt( $_POST ); + $xml .= ""; + + break; } return $xml; diff --git a/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaINT.php b/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaINT.php index 306a70a..46f76d3 100644 --- a/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaINT.php +++ b/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaINT.php @@ -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') { @@ -506,6 +510,12 @@ public static function validaContatoPreeenchido($idContato, $bolEntrada = false) if(!$bolEntrada) { return "true"; } + } catch( Exception $e ){ + if ( $bolEntrada ) { + return $e->getMessage(); + } + return "false{$e->getMessage()}"; + } catch (SoapFault $soapFault) { if($bolEntrada){ return 'Problema ao acessar o Web Service dos Correios. Por Favor, tentar mais tarde.'; diff --git a/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaProtocoloAnexoINT.php b/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaProtocoloAnexoINT.php index 641674e..8861289 100644 --- a/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaProtocoloAnexoINT.php +++ b/sei/web/modulos/correios/int/MdCorExpedicaoSolicitadaProtocoloAnexoINT.php @@ -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'; } diff --git a/sei/web/modulos/correios/int/MdCorServicoPostalINT.php b/sei/web/modulos/correios/int/MdCorServicoPostalINT.php index 09c6143..dfae93c 100644 --- a/sei/web/modulos/correios/int/MdCorServicoPostalINT.php +++ b/sei/web/modulos/correios/int/MdCorServicoPostalINT.php @@ -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 = []; diff --git a/sei/web/modulos/correios/md_cor_expedicao_solicitada_cadastro_js.php b/sei/web/modulos/correios/md_cor_expedicao_solicitada_cadastro_js.php index 4d315a9..953fcca 100644 --- a/sei/web/modulos/correios/md_cor_expedicao_solicitada_cadastro_js.php +++ b/sei/web/modulos/correios/md_cor_expedicao_solicitada_cadastro_js.php @@ -484,10 +484,7 @@ function AddEventToSelect(elem, option) { } } - function OnNodeModified(event) { - - - } + function OnNodeModified(event) {} function OnNodeInserted(event) { var elemento = event.target; @@ -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; } @@ -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 += '
'; formato += '
'; formato += '
'; @@ -525,7 +524,7 @@ function OnNodeInserted(event) { formato += '
'; formato += '
'; formato += ' '; formato += ' '; formato += '
'; @@ -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'); @@ -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() { diff --git a/sei/web/modulos/correios/md_cor_extensao_midia_cadastro.php b/sei/web/modulos/correios/md_cor_extensao_midia_cadastro.php index 3c72b6f..517df4b 100644 --- a/sei/web/modulos/correios/md_cor_extensao_midia_cadastro.php +++ b/sei/web/modulos/correios/md_cor_extensao_midia_cadastro.php @@ -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]); @@ -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(); diff --git a/sip/scripts/sip_atualizar_versao_modulo_correios.php b/sip/scripts/sip_atualizar_versao_modulo_correios.php index 3d4ed65..5f76da0 100644 --- a/sip/scripts/sip_atualizar_versao_modulo_correios.php +++ b/sip/scripts/sip_atualizar_versao_modulo_correios.php @@ -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: @@ -635,8 +635,8 @@ protected function instalarv100() protected function instalarv200() { - - $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.0.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); + $nmVersao = '2.0.0'; + $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); $this->logar('INCLUINDO O ÍCONE DA EXPEDIÇÃO PELOS CORREIOS'); $objItemMenuRN = new ItemMenuRN(); @@ -647,16 +647,13 @@ protected function instalarv200() $objItemMenuDTO->setStrIcone('correios_logo.svg'); $objItemMenuRN->alterar($objItemMenuDTO); - $this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO'); - BancoSip::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 SIP'); + $this->atualizarNumeroVersao($nmVersao); } protected function instalarv210() { - - $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.1.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); + $nmVersao = '2.1.0'; + $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); $arr = $this->getArrNumIdSei(); $numIdPerfilSeiAdmin = $arr['numIdPerfilSei']; @@ -682,22 +679,40 @@ protected function instalarv210() $this->adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiExpedicao, 'md_cor_expedicao_solicitada_devolver_consultar'); $this->adicionarRecursoPerfil($numIdSistemaSei, $numIdPerfilSeiExpedicao, 'md_cor_expedicao_solicitada_devolver_alterar'); - $this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO'); - BancoSip::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 SIP'); + $this->atualizarNumeroVersao($nmVersao); } - protected function instalarv220() - { - $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO 2.2.0 DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); - - $this->logar('ATUALIZANDO PARÂMETRO ' . $this->nomeParametroModulo . ' NA TABELA infra_parametro PARA CONTROLAR A VERSÃO DO MÓDULO'); - BancoSip::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 SIP'); + protected function instalarv220() + { + $nmVersao = '2.2.0'; + $this->logar('EXECUTANDO A INSTALAÇÃO/ATUALIZAÇÃO DA VERSÃO '. $nmVersao .' DO ' . $this->nomeDesteModulo . ' NA BASE DO SIP'); + $this->atualizarNumeroVersao($nmVersao); + } + + + /** + * 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(BancoSIP::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 SIP'); + } + private function adicionarRecursoPerfil($numIdSistema, $numIdPerfil, $strNome, $strCaminho = null) {