diff --git a/src/pen_map_envio_parcial_cadastrar.php b/src/pen_map_envio_parcial_cadastrar.php index 9152a7f63..5f4530150 100644 --- a/src/pen_map_envio_parcial_cadastrar.php +++ b/src/pen_map_envio_parcial_cadastrar.php @@ -46,6 +46,12 @@ exit(0); } + if (empty($_POST['hdnIdUnidade']) || empty($_POST['txtUnidade']) || $_POST['txtUnidade'] == "0") { + $objPaginaSEI->adicionarMensagem('O Órgao não foi selecionado.', InfraPagina::$TIPO_MSG_ERRO); + header('Location: ' . $objSessaoSEI->assinarLink('controlador.php?acao=' . $acao . '&acao_=' . $_GET['acao_'])); + exit(0); + } + $numIdUnidadePen = $_POST['hdnIdUnidade']; $strUnidadePen = $_POST['txtUnidade']; $numIdRepositorio = $_POST['selRepositorioEstruturas']; @@ -74,15 +80,8 @@ $objDTO = new PenRestricaoEnvioComponentesDigitaisDTO(); $objDTO->setNumIdEstrutura($numIdRepositorio); $objDTO->setStrStrEstrutura($txtRepositorioEstruturas); - - if (!empty($numIdUnidadePen)) { - $objDTO->setNumIdUnidadePen($numIdUnidadePen); - $objDTO->setStrStrUnidadePen($strUnidadePen); - } - - if (empty($numIdUnidadePen)) { - $objDTO->setNumIdUnidadePen(null); - } + $objDTO->setNumIdUnidadePen($numIdUnidadePen); + $objDTO->setStrStrUnidadePen($strUnidadePen); $messagem = TITULO_PAGINA . " cadastrado com sucesso."; if (!empty($_GET['Id'])) { diff --git a/src/pen_map_envio_parcial_listar.php b/src/pen_map_envio_parcial_listar.php index da0e2ddcb..6aee18e13 100644 --- a/src/pen_map_envio_parcial_listar.php +++ b/src/pen_map_envio_parcial_listar.php @@ -146,15 +146,13 @@ . ''; $strResultado .= '' - . (!empty($objPenRestricaoEnvioComponentesDigitaisDTO->getNumIdUnidadePen()) - ? $objPenRestricaoEnvioComponentesDigitaisDTO->getNumIdUnidadePen() - : '--') + . $objPenRestricaoEnvioComponentesDigitaisDTO->getNumIdUnidadePen() . ''; + $strResultado .= '' - . (!empty($objPenRestricaoEnvioComponentesDigitaisDTO->getStrStrUnidadePen()) - ? $objPenRestricaoEnvioComponentesDigitaisDTO->getStrStrUnidadePen() - : '--') + . $objPenRestricaoEnvioComponentesDigitaisDTO->getStrStrUnidadePen() . ''; + $strResultado .= ''; if ($objSessaoSEI->verificarPermissao('pen_map_envio_parcial_atualizar')) { diff --git a/src/rn/ExpedirProcedimentoRN.php b/src/rn/ExpedirProcedimentoRN.php index 1389ba4fa..a6c93fc69 100755 --- a/src/rn/ExpedirProcedimentoRN.php +++ b/src/rn/ExpedirProcedimentoRN.php @@ -522,18 +522,6 @@ private function construirCabecalho(ExpedirProcedimentoDTO $objExpedirProcedimen */ private function enviarApenasComponentesDigitaisPendentes($numIdRepositorioDestino, $numIdUnidadeDestino) { - $objEnvioParcialDTO = new PenRestricaoEnvioComponentesDigitaisDTO(); - $objEnvioParcialDTO->retNumIdEstrutura(); - $objEnvioParcialDTO->retNumIdUnidadePen(); - $objEnvioParcialDTO->setNumIdEstrutura($numIdRepositorioDestino); - $objEnvioParcialDTO->setNumIdUnidadePen(null); - - $objEnvioParcialRN = new PenRestricaoEnvioComponentesDigitaisRN(); - $objEnvioParcialDTO = $objEnvioParcialRN->consultar($objEnvioParcialDTO); - if (!is_null($objEnvioParcialDTO)) { - return true; - } - $objEnvioParcialDTO = new PenRestricaoEnvioComponentesDigitaisDTO(); $objEnvioParcialDTO->retNumIdEstrutura(); $objEnvioParcialDTO->retNumIdUnidadePen(); diff --git a/src/rn/ProcessoEletronicoRN.php b/src/rn/ProcessoEletronicoRN.php index 795a6bb4f..c19e332e5 100755 --- a/src/rn/ProcessoEletronicoRN.php +++ b/src/rn/ProcessoEletronicoRN.php @@ -261,18 +261,17 @@ public function listarRepositoriosDeEstruturas() * @throws InfraException */ public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura, $bolRetornoRaw = false) - { + { try { + $parametros = new stdClass(); + $parametros->filtroDeEstruturas = new stdClass(); + $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; + $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura; + $parametros->filtroDeEstruturas->apenasAtivas = false; - $parametros = new stdClass(); - $parametros->filtroDeEstruturas = new stdClass(); - $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; - $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura; - $parametros->filtroDeEstruturas->apenasAtivas = false; - - $result = $this->tentarNovamenteSobErroHTTP(function($objPenWs) use ($parametros) { - return $objPenWs->consultarEstruturas($parametros); - }); + $result = $this->tentarNovamenteSobErroHTTP(function ($objPenWs) use ($parametros) { + return $objPenWs->consultarEstruturas($parametros); + }); if ($result->estruturasEncontradas->totalDeRegistros == 1) { $arrObjEstrutura = is_array($result->estruturasEncontradas->estrutura) ? $result->estruturasEncontradas->estrutura : array($result->estruturasEncontradas->estrutura); @@ -284,31 +283,29 @@ public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificac if ($bolRetornoRaw !== false) { if (isset($objEstrutura->hierarquia) && isset($objEstrutura->hierarquia->nivel)) { if (!is_array($objEstrutura->hierarquia->nivel)) { - $objEstrutura->hierarquia->nivel = array($objEstrutura->hierarquia->nivel); + $objEstrutura->hierarquia->nivel = array($objEstrutura->hierarquia->nivel); } foreach ($objEstrutura->hierarquia->nivel as &$objNivel) { - $objNivel->nome = utf8_decode($objNivel->nome); + $objNivel->nome = utf8_decode($objNivel->nome); } } - return $objEstrutura; - } - else { - $objEstruturaDTO = new EstruturaDTO(); - $objEstruturaDTO->setNumNumeroDeIdentificacaoDaEstrutura($objEstrutura->numeroDeIdentificacaoDaEstrutura); - $objEstruturaDTO->setStrNome($objEstrutura->nome); - $objEstruturaDTO->setStrSigla($objEstrutura->sigla); - $objEstruturaDTO->setBolAtivo($objEstrutura->ativo); - $objEstruturaDTO->setBolAptoParaReceberTramites($objEstrutura->aptoParaReceberTramites); - $objEstruturaDTO->setStrCodigoNoOrgaoEntidade($objEstrutura->codigoNoOrgaoEntidade); - return $objEstruturaDTO; + return $objEstrutura; + } else { + $objEstruturaDTO = new EstruturaDTO(); + $objEstruturaDTO->setNumNumeroDeIdentificacaoDaEstrutura($objEstrutura->numeroDeIdentificacaoDaEstrutura); + $objEstruturaDTO->setStrNome($objEstrutura->nome); + $objEstruturaDTO->setStrSigla($objEstrutura->sigla); + $objEstruturaDTO->setBolAtivo($objEstrutura->ativo); + $objEstruturaDTO->setBolAptoParaReceberTramites($objEstrutura->aptoParaReceberTramites); + $objEstruturaDTO->setStrCodigoNoOrgaoEntidade($objEstrutura->codigoNoOrgaoEntidade); + return $objEstruturaDTO; } } - } - catch (Exception $e) { - $mensagem = "Falha na obtenção de unidades externas"; - $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); - throw new InfraException($mensagem, $e, $detalhes); + } catch (Exception $e) { + $mensagem = "Falha na obtenção de unidades externas"; + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); + throw new InfraException($mensagem, $e, $detalhes); } } @@ -323,31 +320,25 @@ public function consultarEstrutura($idRepositorioEstrutura, $numeroDeIdentificac public function consultarEstruturasPorEstruturaPai($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura = null, $bolRetornoRaw = false) { try { - $parametros = new stdClass(); - $parametros->filtroDeEstruturasPorEstruturaPai = new stdClass(); - $parametros->filtroDeEstruturasPorEstruturaPai->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; - - if(!is_null($numeroDeIdentificacaoDaEstrutura)){ - $parametros->filtroDeEstruturasPorEstruturaPai->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura; + $estruturasUnidades = null; + if (is_null($numeroDeIdentificacaoDaEstrutura)) { + $estruturasUnidades = $this->validarRestricaoUnidadesCadastradas($idRepositorioEstrutura); } - $parametros->filtroDeEstruturasPorEstruturaPai->apenasAtivas = true; - $result = $this->tentarNovamenteSobErroHTTP(function($objPenWs) use ($parametros) { - return $objPenWs->consultarEstruturasPorEstruturaPai($parametros); - }); - - $estruturasUnidades = is_array($result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura) ? $result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura : array($result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura); + if (is_null($estruturasUnidades)) { + $estruturasUnidades = $this->buscarEstruturasPorEstruturaPai($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura); + } - //Cria um array com os nomes da unidades para realizar a ordenação das mesmas - $nomesUnidades = []; + //Cria um array com os nomes da unidades para realizar a ordenação das mesmas + $nomesUnidades = []; foreach ($estruturasUnidades as $estrutura) { $nomesUnidades[] = $estrutura->nome; } - //Ordena as unidades pelo nome - array_multisort($nomesUnidades, SORT_ASC, $estruturasUnidades); + //Ordena as unidades pelo nome + array_multisort($nomesUnidades, SORT_ASC, $estruturasUnidades); - return $estruturasUnidades; + return $estruturasUnidades; } catch (Exception $e) { $mensagem = "Falha na obtenção de unidades externas"; @@ -356,66 +347,148 @@ public function consultarEstruturasPorEstruturaPai($idRepositorioEstrutura, $num } } - public function listarEstruturas($idRepositorioEstrutura, $nome = '', $numeroDeIdentificacaoDaEstruturaRaizDaConsulta = null, - $nomeUnidade = null, $siglaUnidade = null, $offset = null, $registrosPorPagina = null, $parBolPermiteRecebimento = null, $parBolPermiteEnvio = null) - { - $arrObjEstruturaDTO = array(); - - try{ - $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT); - if(!$idRepositorioEstrutura) { - throw new InfraException("Repositório de Estruturas inválido"); - } - + /** + * Verifica se o repositório de estruturas possui limitação de repositórios/unidades mapeadas + * + * @param $idRepositorioEstrutura + * @return array|null + */ + private function validarRestricaoUnidadesCadastradas($idRepositorioEstrutura) + { + //Verificar limitação de repositórios/unidades mapeadas + $arrEstruturasCadastradas = null; + try { + $objUnidadeDTO = new PenUnidadeDTO(); + $objUnidadeDTO->retNumIdUnidadeRH(); + $objUnidadeDTO->retNumIdUnidade(); + $objUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); + + $objUnidadeRN = new UnidadeRN(); + $objUnidadeDTO = $objUnidadeRN->consultarRN0125($objUnidadeDTO); + + $objPenUnidadeRestricaoDTO = new PenUnidadeRestricaoDTO(); + $objPenUnidadeRestricaoDTO->setNumIdUnidade($objUnidadeDTO->getNumIdUnidade()); + $objPenUnidadeRestricaoDTO->setNumIdUnidadeRH($objUnidadeDTO->getNumIdUnidadeRH()); + $objPenUnidadeRestricaoDTO->setNumIdUnidadeRestricao($idRepositorioEstrutura); + $objPenUnidadeRestricaoDTO->setNumIdUnidadeRHRestricao(null, InfraDTO::$OPER_DIFERENTE); + $objPenUnidadeRestricaoDTO->retNumIdUnidadeRHRestricao(); + $objPenUnidadeRestricaoDTO->retStrNomeUnidadeRHRestricao(); + + $objPenUnidadeRestricaoRN = new PenUnidadeRestricaoRN(); + $restricaoCadastrada = $objPenUnidadeRestricaoRN->contar($objPenUnidadeRestricaoDTO); + $restricaoCadastrada = $restricaoCadastrada > 0; + + if ($restricaoCadastrada) { + $arrEstruturasCadastradas = array(); + $arrEstruturas = $objPenUnidadeRestricaoRN->listar($objPenUnidadeRestricaoDTO); $parametros = new stdClass(); $parametros->filtroDeEstruturas = new stdClass(); $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; $parametros->filtroDeEstruturas->apenasAtivas = true; + foreach ($arrEstruturas as $unidade) { + if ($unidade->getNumIdUnidadeRHRestricao() != null) { + $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = $unidade->getNumIdUnidadeRHRestricao(); + $result = $this->tentarNovamenteSobErroHTTP(function ($objPenWs) use ($parametros) { + return $objPenWs->consultarEstruturas($parametros); + }); + + if ($result->estruturasEncontradas->totalDeRegistros == 0) { + continue; + } - if(!is_null($numeroDeIdentificacaoDaEstruturaRaizDaConsulta)){ - $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstruturaRaizDaConsulta = $numeroDeIdentificacaoDaEstruturaRaizDaConsulta; - }else{ - $nome = trim($nome); - if(is_numeric($nome)) { - $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome); - } else { - $parametros->filtroDeEstruturas->nome = utf8_encode($nome); + if ($result->estruturasEncontradas->totalDeRegistros > 1) { + foreach ($result->estruturasEncontradas->estrutura as $value) { + $arrEstruturasCadastradas[] = $value; + } + } else { + $arrEstruturasCadastradas[] = $result->estruturasEncontradas->estrutura; + } + } } } + } catch (Exception $e) { + } - if(!is_null($siglaUnidade)){ - $parametros->filtroDeEstruturas->sigla = $siglaUnidade; - } + return $arrEstruturasCadastradas; + } - if(!is_null($nomeUnidade)){ - $parametros->filtroDeEstruturas->nome = utf8_encode($nomeUnidade); - } + /** + * Busca estruturas por estrutura pai + * + * @param $idRepositorioEstrutura + * @param null|string $numeroDeIdentificacaoDaEstrutura + * @return array + */ + private function buscarEstruturasPorEstruturaPai($idRepositorioEstrutura, $numeroDeIdentificacaoDaEstrutura = null) + { + $parametros = new stdClass(); + $parametros->filtroDeEstruturasPorEstruturaPai = new stdClass(); + $parametros->filtroDeEstruturasPorEstruturaPai->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; - if(!is_null($registrosPorPagina) && !is_null($offset)){ - $parametros->filtroDeEstruturas->paginacao = new stdClass(); - $parametros->filtroDeEstruturas->paginacao->registroInicial = $offset; - $parametros->filtroDeEstruturas->paginacao->quantidadeDeRegistros = $registrosPorPagina; - } + if(!is_null($numeroDeIdentificacaoDaEstrutura)){ + $parametros->filtroDeEstruturasPorEstruturaPai->numeroDeIdentificacaoDaEstrutura = $numeroDeIdentificacaoDaEstrutura; + } - if(!is_null($parBolPermiteRecebimento) && $parBolPermiteRecebimento === true){ - $parametros->filtroDeEstruturas->permiteRecebimento = true; - } + $parametros->filtroDeEstruturasPorEstruturaPai->apenasAtivas = true; + $result = $this->tentarNovamenteSobErroHTTP(function($objPenWs) use ($parametros) { + return $objPenWs->consultarEstruturasPorEstruturaPai($parametros); + }); + + return is_array($result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura) + ? $result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura + : array($result->estruturasEncontradasNoFiltroPorEstruturaPai->estrutura); + } - if(!is_null($parBolPermiteEnvio) && $parBolPermiteEnvio === true){ - $parametros->filtroDeEstruturas->permiteEnvio = true; + public function listarEstruturas( + $idRepositorioEstrutura, + $nome = '', + $numeroDeIdentificacaoDaEstruturaRaizDaConsulta = null, + $nomeUnidade = null, + $siglaUnidade = null, + $offset = null, + $registrosPorPagina = null, + $parBolPermiteRecebimento = null, + $parBolPermiteEnvio = null + ) { + $arrObjEstruturaDTO = array(); + + try { + $idRepositorioEstrutura = filter_var($idRepositorioEstrutura, FILTER_SANITIZE_NUMBER_INT); + if (!$idRepositorioEstrutura) { + throw new InfraException("Repositório de Estruturas inválido"); } - $result = $this->tentarNovamenteSobErroHTTP(function($objPenWs) use ($parametros) { - return $objPenWs->consultarEstruturas($parametros); - }); + $totalDeRegistros = 0; + $estruturasUnidades = null; + if (is_null($numeroDeIdentificacaoDaEstruturaRaizDaConsulta) || empty($numeroDeIdentificacaoDaEstruturaRaizDaConsulta)) { + $estruturasUnidades = $this->validarRestricaoUnidadesCadastradas($idRepositorioEstrutura); + $totalDeRegistros = is_null($estruturasUnidades) ? 0 : count($estruturasUnidades); + } - if($result->estruturasEncontradas->totalDeRegistros > 0) { + if (is_null($estruturasUnidades)) { + $result = $this->buscarListaEstruturas(array( + [ + 'idRepositorioEstrutura' => $idRepositorioEstrutura, + 'nome' => $nome, + 'numeroDeIdentificacaoDaEstruturaRaizDaConsulta' => $numeroDeIdentificacaoDaEstruturaRaizDaConsulta, + 'nomeUnidade' => $nomeUnidade, + 'siglaUnidade' => $siglaUnidade, + 'offset' => $offset, + 'registrosPorPagina' => $registrosPorPagina, + 'parBolPermiteRecebimento' => $parBolPermiteRecebimento, + 'parBolPermiteEnvio' => $parBolPermiteEnvio + ] + )); - if(!is_array($result->estruturasEncontradas->estrutura)) { - $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura); + $totalDeRegistros = $result->estruturasEncontradas->totalDeRegistros; + if ($totalDeRegistros > 0 && !is_array($result->estruturasEncontradas->estrutura)) { + $result->estruturasEncontradas->estrutura = array($result->estruturasEncontradas->estrutura); } + $estruturasUnidades = $result->estruturasEncontradas->estrutura; + } - foreach ($result->estruturasEncontradas->estrutura as $estrutura) { + if ($totalDeRegistros > 0) { + foreach ($estruturasUnidades as $estrutura) { $item = new EstruturaDTO(); $item->setNumNumeroDeIdentificacaoDaEstrutura($estrutura->numeroDeIdentificacaoDaEstrutura); $item->setStrNome(utf8_decode($estrutura->nome)); @@ -423,27 +496,73 @@ public function listarEstruturas($idRepositorioEstrutura, $nome = '', $numeroDeI $item->setBolAtivo($estrutura->ativo); $item->setBolAptoParaReceberTramites($estrutura->aptoParaReceberTramites); $item->setStrCodigoNoOrgaoEntidade($estrutura->codigoNoOrgaoEntidade); - $item->setNumTotalDeRegistros($result->estruturasEncontradas->totalDeRegistros); + $item->setNumTotalDeRegistros($totalDeRegistros); - if(!empty($estrutura->hierarquia->nivel)) { + if (!empty($estrutura->hierarquia->nivel)) { $array = array(); - foreach($estrutura->hierarquia->nivel as $nivel) { + foreach ($estrutura->hierarquia->nivel as $nivel) { $array[] = utf8_decode($nivel->sigla); } $item->setArrHierarquia($array); } - $arrObjEstruturaDTO[] = $item; + $arrObjEstruturaDTO[] = $item; } } - } catch (Exception $e) { - $mensagem = "Falha na obtenção de unidades externas"; - $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); - throw new InfraException($mensagem, $e, $detalhes); + $mensagem = "Falha na obtenção de unidades externas"; + $detalhes = InfraString::formatarJavaScript($this->tratarFalhaWebService($e)); + throw new InfraException($mensagem, $e, $detalhes); + } + + return $arrObjEstruturaDTO; + } + + private function buscarListaEstruturas( + $idRepositorioEstrutura, + $filtro = array() + ) { + $parametros = new stdClass(); + $parametros->filtroDeEstruturas = new stdClass(); + $parametros->filtroDeEstruturas->identificacaoDoRepositorioDeEstruturas = $idRepositorioEstrutura; + $parametros->filtroDeEstruturas->apenasAtivas = true; + + if (!is_null($filtro['numeroDeIdentificacaoDaEstruturaRaizDaConsulta'])) { + $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstruturaRaizDaConsulta = $filtro['numeroDeIdentificacaoDaEstruturaRaizDaConsulta']; + } else { + $nome = trim($filtro['nome']); + if (is_numeric($nome)) { + $parametros->filtroDeEstruturas->numeroDeIdentificacaoDaEstrutura = intval($nome); + } else { + $parametros->filtroDeEstruturas->nome = utf8_encode($nome); + } + } + + if (!is_null($filtro['siglaUnidade'])) { + $parametros->filtroDeEstruturas->sigla = $filtro['siglaUnidade']; + } + + if (!is_null($filtro['nomeUnidade'])) { + $parametros->filtroDeEstruturas->nome = utf8_encode($filtro['nomeUnidade']); + } + + if (!is_null($filtro['registrosPorPagina']) && !is_null($filtro['offset'])) { + $parametros->filtroDeEstruturas->paginacao = new stdClass(); + $parametros->filtroDeEstruturas->paginacao->registroInicial = $filtro['offset']; + $parametros->filtroDeEstruturas->paginacao->quantidadeDeRegistros = $filtro['registrosPorPagina']; + } + + if (!is_null($filtro['parBolPermiteRecebimento']) && $filtro['parBolPermiteRecebimento'] === true) { + $parametros->filtroDeEstruturas->permiteRecebimento = true; + } + + if (!is_null($filtro['parBolPermiteEnvio']) && $filtro['parBolPermiteEnvio'] === true) { + $parametros->filtroDeEstruturas->permiteEnvio = true; } - return $arrObjEstruturaDTO; + return $this->tentarNovamenteSobErroHTTP(function ($objPenWs) use ($parametros) { + return $objPenWs->consultarEstruturas($parametros); + }); } public function listarEstruturasAutoCompletar( diff --git a/src/scripts/sei_atualizar_versao_modulo_pen.php b/src/scripts/sei_atualizar_versao_modulo_pen.php index 320713889..b2820d347 100755 --- a/src/scripts/sei_atualizar_versao_modulo_pen.php +++ b/src/scripts/sei_atualizar_versao_modulo_pen.php @@ -2765,8 +2765,8 @@ protected function instalarV3060() 'id_comp_digitais' => array($objMetaBD->tipoNumeroGrande(), PenMetaBD::NNULLO), 'id_estrutura' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), 'str_estrutura' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::NNULLO), - 'id_unidade_pen' => array($objMetaBD->tipoNumero(), PenMetaBD::SNULLO), - 'str_unidade_pen' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::SNULLO), + 'id_unidade_pen' => array($objMetaBD->tipoNumero(), PenMetaBD::NNULLO), + 'str_unidade_pen' => array($objMetaBD->tipoTextoGrande(), PenMetaBD::NNULLO), ), 'pk' => array('cols' => array('id_comp_digitais')), 'uk' => array('id_estrutura', 'id_unidade_pen'),