Commit 67f186617debfb09818dab6ad030f7cfa78a32e8
1 parent
3136c273
Exists in
master
and in
16 other branches
Correção de problema no envio da ordenação dos documentos modificados na árvore
Showing
2 changed files
with
82 additions
and
52 deletions
Show diff stats
pen_procedimento_expedir_validar.php
| ... | ... | @@ -3,7 +3,7 @@ |
| 3 | 3 | require_once dirname(__FILE__) . '/../../SEI.php'; |
| 4 | 4 | |
| 5 | 5 | session_start(); |
| 6 | - | |
| 6 | + | |
| 7 | 7 | //print_r($_POST); exit; |
| 8 | 8 | |
| 9 | 9 | |
| ... | ... | @@ -17,43 +17,43 @@ $objInfraException = new InfraException(); |
| 17 | 17 | |
| 18 | 18 | |
| 19 | 19 | try { |
| 20 | - | |
| 20 | + | |
| 21 | 21 | if(!array_key_exists('id_procedimento', $_GET) || empty($_GET['id_procedimento'])) { |
| 22 | 22 | throw new InfraException('Nenhum procedimento foi informado', 'Desconhecido'); |
| 23 | 23 | } |
| 24 | - | |
| 24 | + | |
| 25 | 25 | $dblIdProcedimento = $_GET['id_procedimento']; |
| 26 | 26 | |
| 27 | 27 | $objExpedirProcedimentosRN = new ExpedirProcedimentoRN(); |
| 28 | 28 | $objProcedimentoDTO = $objExpedirProcedimentosRN->consultarProcedimento($dblIdProcedimento); |
| 29 | - | |
| 29 | + | |
| 30 | 30 | if(empty($objProcedimentoDTO)) { |
| 31 | - throw new InfraException('Procedimento não foi localizado', 'Desconhecido'); | |
| 31 | + throw new InfraException('Procedimento não foi localizado', 'Desconhecido'); | |
| 32 | 32 | } |
| 33 | - | |
| 33 | + | |
| 34 | 34 | // Utilizamos o protocolo para criar um indice para separar os erros entre o |
| 35 | 35 | // processo e os seus processos apensados |
| 36 | 36 | $strProtocoloFormatado = $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado(); |
| 37 | - | |
| 37 | + | |
| 38 | 38 | $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); |
| 39 | - | |
| 39 | + | |
| 40 | 40 | //Consulta do ID Pai |
| 41 | 41 | $objRelProtocoloProtocoloDTO1 = new RelProtocoloProtocoloDTO(); |
| 42 | 42 | $objRelProtocoloProtocoloDTO1->setDblIdProtocolo1($dblIdProcedimento); |
| 43 | 43 | $objRelProtocoloProtocoloDTO1->setStrStaAssociacao(RelProtocoloProtocoloRN ::$TA_PROCEDIMENTO_ANEXADO); |
| 44 | 44 | $objRelProtocoloProtocoloDTO1->retDblIdProtocolo1(); |
| 45 | - | |
| 45 | + | |
| 46 | 46 | //Consulta do ID Filhos |
| 47 | 47 | $objRelProtocoloProtocoloDTO2 = new RelProtocoloProtocoloDTO(); |
| 48 | 48 | $objRelProtocoloProtocoloDTO2->setDblIdProtocolo2($dblIdProcedimento); |
| 49 | 49 | $objRelProtocoloProtocoloDTO2->setStrStaAssociacao(RelProtocoloProtocoloRN ::$TA_PROCEDIMENTO_ANEXADO); |
| 50 | 50 | $objRelProtocoloProtocoloDTO2->retDblIdProtocolo2(); |
| 51 | - | |
| 51 | + | |
| 52 | 52 | $numCount1 = $objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO1); |
| 53 | 53 | $numCount2 = $objRelProtocoloProtocoloRN->contarRN0843($objRelProtocoloProtocoloDTO2); |
| 54 | - | |
| 54 | + | |
| 55 | 55 | if ($numCount1 > 0 && $numCount2 > 0) { |
| 56 | - $objInfraException->adicionarValidacao('Esse processo está anexado a outro processo e possui outros em anexo, portanto não pode ser tramitado.', $strProtocoloFormatado); | |
| 56 | + $objInfraException->adicionarValidacao('Esse processo está anexado a outro processo e possui outros em anexo, portanto não pode ser tramitado.', $strProtocoloFormatado); | |
| 57 | 57 | } else { |
| 58 | 58 | if ($numCount1 > 0) { |
| 59 | 59 | $objInfraException->adicionarValidacao('Esse processo possuí outros em anexo, portanto não pode ser tramitado externamente.', $strProtocoloFormatado); |
| ... | ... | @@ -63,7 +63,7 @@ try { |
| 63 | 63 | $objInfraException->adicionarValidacao('Esse processo está anexado a outro processo, portanto não pode ser tramitado.', $strProtocoloFormatado); |
| 64 | 64 | } |
| 65 | 65 | } |
| 66 | - | |
| 66 | + | |
| 67 | 67 | if(!array_key_exists('txtProtocoloExibir', $_POST) || empty($_POST['txtProtocoloExibir'])) { |
| 68 | 68 | $objInfraException->adicionarValidacao('Informe o Protocolo', $strProtocoloFormatado); |
| 69 | 69 | } |
| ... | ... | @@ -71,7 +71,7 @@ try { |
| 71 | 71 | if(!array_key_exists('selRepositorioEstruturas', $_POST) || empty($_POST['selRepositorioEstruturas'])) { |
| 72 | 72 | $objInfraException->adicionarValidacao('Informe o Repositório de Estruturas Organizacionais', $strProtocoloFormatado); |
| 73 | 73 | } |
| 74 | - | |
| 74 | + | |
| 75 | 75 | if(!array_key_exists('hdnIdUnidade', $_POST) || empty($_POST['hdnIdUnidade'])) { |
| 76 | 76 | $objInfraException->adicionarValidacao('Informe Unidade de destino', $strProtocoloFormatado); |
| 77 | 77 | } |
| ... | ... | @@ -96,34 +96,31 @@ try { |
| 96 | 96 | $objExpedirProcedimentosRN->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO, $strProtocoloFormatado); |
| 97 | 97 | } |
| 98 | 98 | } |
| 99 | - } | |
| 100 | -} | |
| 101 | -catch(\InfraException $e) { | |
| 102 | - | |
| 103 | - $objInfraException->adicionarValidacao($e->getTraceAsString()); | |
| 99 | + } | |
| 100 | +} | |
| 101 | +catch(\InfraException $e) { | |
| 102 | + $strmensagemErro = InfraException::inspecionar($e); | |
| 103 | + $objInfraException->adicionarValidacao($strmensagemErro); | |
| 104 | + LogSEI::getInstance()->gravar($strmensagemErro); | |
| 104 | 105 | } |
| 105 | 106 | |
| 106 | 107 | |
| 107 | 108 | if($objInfraException->contemValidacoes()) { |
| 108 | 109 | |
| 109 | 110 | $arrErros = array(); |
| 110 | - | |
| 111 | 111 | foreach($objInfraException->getArrObjInfraValidacao() as $objInfraValidacao) { |
| 112 | - | |
| 113 | 112 | $strAtributo = $objInfraValidacao->getStrAtributo(); |
| 114 | - | |
| 115 | 113 | if(!array_key_exists($strAtributo, $arrErros)){ |
| 116 | 114 | $arrErros[$strAtributo] = array(); |
| 117 | 115 | } |
| 118 | 116 | $arrErros[$strAtributo][] = utf8_encode($objInfraValidacao->getStrDescricao()); |
| 119 | - } | |
| 120 | - | |
| 121 | - $arrResponse['erros'] = $arrErros; | |
| 117 | + } | |
| 118 | + | |
| 119 | + $arrResponse['erros'] = $arrErros; | |
| 122 | 120 | } |
| 123 | 121 | else { |
| 124 | - | |
| 125 | 122 | $arrResponse['sucesso'] = true; |
| 126 | -} | |
| 123 | +} | |
| 127 | 124 | |
| 128 | 125 | print json_encode($arrResponse); |
| 129 | -exit(0); | |
| 130 | 126 | \ No newline at end of file |
| 127 | +exit(0); | ... | ... |
rn/ExpedirProcedimentoRN.php
| ... | ... | @@ -1409,31 +1409,64 @@ class ExpedirProcedimentoRN extends InfraRN { |
| 1409 | 1409 | throw new InfraException('Parâmetro $idProcedimento não informado.'); |
| 1410 | 1410 | } |
| 1411 | 1411 | |
| 1412 | - $documentoDTO = new DocumentoDTO(); | |
| 1413 | - $documentoDTO->setDblIdProcedimento($idProcedimento); | |
| 1414 | - $documentoDTO->retStrDescricaoUnidadeGeradoraProtocolo(); | |
| 1415 | - $documentoDTO->retNumIdOrgaoUnidadeGeradoraProtocolo(); | |
| 1416 | - $documentoDTO->retStrSiglaUnidadeGeradoraProtocolo(); | |
| 1417 | - $documentoDTO->retStrStaNivelAcessoLocalProtocolo(); | |
| 1418 | - $documentoDTO->retStrProtocoloDocumentoFormatado(); | |
| 1419 | - $documentoDTO->retStrStaEstadoProtocolo(); | |
| 1420 | - $documentoDTO->retNumIdUsuarioGeradorProtocolo(); | |
| 1421 | - $documentoDTO->retStrStaProtocoloProtocolo(); | |
| 1422 | - $documentoDTO->retNumIdUnidadeResponsavel(); | |
| 1423 | - $documentoDTO->retStrDescricaoProtocolo(); | |
| 1424 | - $documentoDTO->retDtaGeracaoProtocolo(); | |
| 1425 | - $documentoDTO->retDblIdProcedimento(); | |
| 1426 | - $documentoDTO->retDblIdDocumento(); | |
| 1427 | - $documentoDTO->retStrNomeSerie(); | |
| 1428 | - $documentoDTO->retNumIdSerie(); | |
| 1429 | - $documentoDTO->retStrConteudoAssinatura(); | |
| 1430 | - $documentoDTO->retStrNumero(); | |
| 1431 | - $documentoDTO->retNumIdTipoConferencia(); | |
| 1432 | - $documentoDTO->retStrStaDocumento(); | |
| 1433 | - $documentoDTO->retNumIdHipoteseLegalProtocolo(); | |
| 1434 | - $documentoDTO->setOrdStrProtocoloDocumentoFormatado(InfraDTO::$TIPO_ORDENACAO_ASC); | |
| 1412 | + //Recupera toda a lista de documentos vinculados ao processo, considerando a ordenação definida pelo usuário | |
| 1413 | + $arrTipoAssociacao = array(RelProtocoloProtocoloRN::$TA_DOCUMENTO_ASSOCIADO, RelProtocoloProtocoloRN::$TA_DOCUMENTO_MOVIDO); | |
| 1414 | + $objRelProtocoloProtocoloDTO = new RelProtocoloProtocoloDTO(); | |
| 1415 | + $objRelProtocoloProtocoloDTO->retDblIdRelProtocoloProtocolo(); | |
| 1416 | + $objRelProtocoloProtocoloDTO->retDblIdProtocolo1(); | |
| 1417 | + $objRelProtocoloProtocoloDTO->retDblIdProtocolo2(); | |
| 1418 | + $objRelProtocoloProtocoloDTO->retStrStaAssociacao(); | |
| 1419 | + $objRelProtocoloProtocoloDTO->setStrStaAssociacao($arrTipoAssociacao, InfraDTO::$OPER_IN); | |
| 1420 | + $objRelProtocoloProtocoloDTO->setDblIdProtocolo1($idProcedimento); | |
| 1421 | + $objRelProtocoloProtocoloDTO->setOrdNumSequencia(InfraDTO::$TIPO_ORDENACAO_ASC); | |
| 1422 | + | |
| 1423 | + $objRelProtocoloProtocoloRN = new RelProtocoloProtocoloRN(); | |
| 1424 | + $arrObjRelProtocoloProtocoloDTO = $objRelProtocoloProtocoloRN->listarRN0187($objRelProtocoloProtocoloDTO); | |
| 1425 | + | |
| 1426 | + $arrIdDocumentos = array(); | |
| 1427 | + foreach($arrObjRelProtocoloProtocoloDTO as $objRelProtocoloProtocoloDTO) { | |
| 1428 | + if ($objRelProtocoloProtocoloDTO->getStrStaAssociacao()==RelProtocoloProtocoloRN::$TA_DOCUMENTO_ASSOCIADO || | |
| 1429 | + $objRelProtocoloProtocoloDTO->getStrStaAssociacao()==RelProtocoloProtocoloRN::$TA_DOCUMENTO_MOVIDO) { | |
| 1430 | + | |
| 1431 | + $arrIdDocumentos[] = $objRelProtocoloProtocoloDTO->getDblIdProtocolo2(); | |
| 1432 | + } | |
| 1433 | + } | |
| 1434 | + | |
| 1435 | + $objDocumentoDTO = new DocumentoDTO(); | |
| 1436 | + $objDocumentoDTO->retStrDescricaoUnidadeGeradoraProtocolo(); | |
| 1437 | + $objDocumentoDTO->retNumIdOrgaoUnidadeGeradoraProtocolo(); | |
| 1438 | + $objDocumentoDTO->retStrSiglaUnidadeGeradoraProtocolo(); | |
| 1439 | + $objDocumentoDTO->retStrStaNivelAcessoLocalProtocolo(); | |
| 1440 | + $objDocumentoDTO->retStrProtocoloDocumentoFormatado(); | |
| 1441 | + $objDocumentoDTO->retStrStaEstadoProtocolo(); | |
| 1442 | + $objDocumentoDTO->retNumIdUsuarioGeradorProtocolo(); | |
| 1443 | + $objDocumentoDTO->retStrStaProtocoloProtocolo(); | |
| 1444 | + $objDocumentoDTO->retNumIdUnidadeResponsavel(); | |
| 1445 | + $objDocumentoDTO->retStrDescricaoProtocolo(); | |
| 1446 | + $objDocumentoDTO->retDtaGeracaoProtocolo(); | |
| 1447 | + $objDocumentoDTO->retDblIdProcedimento(); | |
| 1448 | + $objDocumentoDTO->retDblIdDocumento(); | |
| 1449 | + $objDocumentoDTO->retStrNomeSerie(); | |
| 1450 | + $objDocumentoDTO->retNumIdSerie(); | |
| 1451 | + $objDocumentoDTO->retStrConteudoAssinatura(); | |
| 1452 | + $objDocumentoDTO->retStrNumero(); | |
| 1453 | + $objDocumentoDTO->retNumIdTipoConferencia(); | |
| 1454 | + $objDocumentoDTO->retStrStaDocumento(); | |
| 1455 | + $objDocumentoDTO->retNumIdHipoteseLegalProtocolo(); | |
| 1456 | + $objDocumentoDTO->setDblIdDocumento($arrIdDocumentos, InfraDTO::$OPER_IN); | |
| 1457 | + | |
| 1458 | + $arrObjDocumentoDTOBanco = $this->objDocumentoRN->listarRN0008($objDocumentoDTO); | |
| 1459 | + $arrObjDocumentoDTOIndexado = InfraArray::indexarArrInfraDTO($arrObjDocumentoDTOBanco, 'IdDocumento'); | |
| 1460 | + | |
| 1461 | + //Mantem ordenação definida pelo usuário | |
| 1462 | + $arrObjDocumentoDTO = array(); | |
| 1463 | + foreach($arrIdDocumentos as $dblIdDocumento){ | |
| 1464 | + if (isset($arrObjDocumentoDTOIndexado[$dblIdDocumento])){ | |
| 1465 | + $arrObjDocumentoDTO[$dblIdDocumento] = $arrObjDocumentoDTOIndexado[$dblIdDocumento]; | |
| 1466 | + } | |
| 1467 | + } | |
| 1435 | 1468 | |
| 1436 | - return $this->objDocumentoRN->listarRN0008($documentoDTO); | |
| 1469 | + return $arrObjDocumentoDTO; | |
| 1437 | 1470 | } |
| 1438 | 1471 | |
| 1439 | 1472 | /** | ... | ... |