Commit 31c14f855234295d0134eb99937aa0c440a5c9c7

Authored by eduardo.batista
1 parent 8f5c786c
Exists in master and in 1 other branch desenv

[Feat] Finalizando problema de ordenação dos documentos.

Showing 1 changed file with 42 additions and 39 deletions   Show diff stats
rn/MdWsSeiDocumentoRN.php
@@ -17,46 +17,59 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -17,46 +17,59 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
17 protected function listarDocumentosProcessoConectado(DocumentoDTO $documentoDTOParam){ 17 protected function listarDocumentosProcessoConectado(DocumentoDTO $documentoDTOParam){
18 try{ 18 try{
19 $result = array(); 19 $result = array();
20 - $documentoDTOConsulta = new DocumentoDTO(); 20 + $relProtocoloProtocoloDTOConsulta = new RelProtocoloProtocoloDTO();
21 if(!$documentoDTOParam->isSetDblIdProcedimento()){ 21 if(!$documentoDTOParam->isSetDblIdProcedimento()){
22 throw new InfraException('O procedimento deve ser informado.'); 22 throw new InfraException('O procedimento deve ser informado.');
23 } 23 }
24 - $documentoDTOConsulta->setDblIdProcedimento($documentoDTOParam->getDblIdProcedimento()); 24 + $relProtocoloProtocoloDTOConsulta->setDblIdProtocolo1($documentoDTOParam->getDblIdProcedimento());
  25 + $relProtocoloProtocoloDTOConsulta->retStrSinCiencia();
  26 + $relProtocoloProtocoloDTOConsulta->retDblIdProtocolo1();
  27 + $relProtocoloProtocoloDTOConsulta->retDblIdProtocolo2();
  28 + $relProtocoloProtocoloDTOConsulta->retNumSequencia();
  29 + $relProtocoloProtocoloDTOConsulta->setOrdNumSequencia(InfraDTO::$TIPO_ORDENACAO_ASC);
25 if($documentoDTOParam->getNumMaxRegistrosRetorno()){ 30 if($documentoDTOParam->getNumMaxRegistrosRetorno()){
26 - $documentoDTOConsulta->setNumMaxRegistrosRetorno($documentoDTOParam->getNumMaxRegistrosRetorno()); 31 + $relProtocoloProtocoloDTOConsulta->setNumMaxRegistrosRetorno($documentoDTOParam->getNumMaxRegistrosRetorno());
27 }else{ 32 }else{
28 - $documentoDTOConsulta->setNumMaxRegistrosRetorno(10); 33 + $relProtocoloProtocoloDTOConsulta->setNumMaxRegistrosRetorno(10);
29 } 34 }
30 if(is_null($documentoDTOParam->getNumPaginaAtual())){ 35 if(is_null($documentoDTOParam->getNumPaginaAtual())){
31 - $documentoDTOConsulta->setNumPaginaAtual(0); 36 + $relProtocoloProtocoloDTOConsulta->setNumPaginaAtual(0);
32 }else{ 37 }else{
33 - $documentoDTOConsulta->setNumPaginaAtual($documentoDTOParam->getNumPaginaAtual()); 38 + $relProtocoloProtocoloDTOConsulta->setNumPaginaAtual($documentoDTOParam->getNumPaginaAtual());
  39 + }
  40 +
  41 + $relProtocoloProtocoloRN = new RelProtocoloProtocoloRN();
  42 + $ret = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta);
  43 + $arrDocumentos = array();
  44 + if($ret){
  45 + $documentoDTOConsulta = new DocumentoDTO();
  46 + $documentoDTOConsulta->retStrStaNivelAcessoLocalProtocolo();
  47 + $documentoDTOConsulta->retDblIdDocumento();
  48 + $documentoDTOConsulta->retStrStaProtocoloProtocolo();
  49 + $documentoDTOConsulta->retDblIdProcedimento();
  50 + $documentoDTOConsulta->retStrProtocoloDocumentoFormatado();
  51 + $documentoDTOConsulta->retStrNumero();
  52 + $documentoDTOConsulta->retStrNomeSerie();
  53 + $documentoDTOConsulta->retStrSiglaUnidadeGeradoraProtocolo();
  54 + $documentoDTOConsulta->retStrSiglaUnidadeGeradoraProtocolo();
  55 + $documentoDTOConsulta->retNumIdUnidadeGeradoraProtocolo();
  56 + $documentoDTOConsulta->retStrCrcAssinatura();
  57 + $documentoDTOConsulta->retStrStaEstadoProtocolo();
  58 + $documentoDTOConsulta->setDblIdDocumento(array_keys(InfraArray::indexarArrInfraDTO($ret,'IdProtocolo2')), InfraDTO::$OPER_IN);
  59 + $documentoBD = new DocumentoBD($this->getObjInfraIBanco());
  60 + $retDocumentos = $documentoBD->listar($documentoDTOConsulta);
  61 + /** @var DocumentoDTO $documentoDTOOrd */
  62 + foreach ($retDocumentos as $documentoDTOOrd){
  63 + $arrDocumentos[$documentoDTOOrd->getDblIdDocumento()] = $documentoDTOOrd;
  64 + }
34 } 65 }
35 - $documentoDTOConsulta->retStrStaNivelAcessoLocalProtocolo();  
36 - $documentoDTOConsulta->retDblIdDocumento();  
37 - $documentoDTOConsulta->retStrStaProtocoloProtocolo();  
38 - $documentoDTOConsulta->retDblIdProcedimento();  
39 - $documentoDTOConsulta->retStrProtocoloDocumentoFormatado();  
40 - $documentoDTOConsulta->retStrNumero();  
41 - $documentoDTOConsulta->retStrNomeSerie();  
42 - $documentoDTOConsulta->retStrSiglaUnidadeGeradoraProtocolo();  
43 - $documentoDTOConsulta->retStrSiglaUnidadeGeradoraProtocolo();  
44 - $documentoDTOConsulta->retNumIdUnidadeGeradoraProtocolo();  
45 - $documentoDTOConsulta->retStrCrcAssinatura();  
46 - $documentoDTOConsulta->retStrStaEstadoProtocolo();  
47 - $documentoDTOConsulta->setOrdDtaGeracaoProtocolo(InfraDTO::$TIPO_ORDENACAO_ASC);  
48 - $documentoDTOConsulta->setOrdDblIdProcedimento(InfraDTO::$TIPO_ORDENACAO_ASC);  
49 -  
50 - $documentoBD = new DocumentoBD($this->getObjInfraIBanco());  
51 - $ret = $documentoBD->listar($documentoDTOConsulta, true);  
52 - return $ret;  
53 66
54 $anexoRN = new AnexoRN(); 67 $anexoRN = new AnexoRN();
55 $observacaoRN = new ObservacaoRN(); 68 $observacaoRN = new ObservacaoRN();
56 $publicacaoRN = new PublicacaoRN(); 69 $publicacaoRN = new PublicacaoRN();
57 - $relProtocoloProtocoloRN = new RelProtocoloProtocoloRN();  
58 - /** @var DocumentoDTO $documentoDTO */  
59 - foreach($ret as $documentoDTO){ 70 + /** @var RelProtocoloProtocoloDTO $relProtocoloProtocoloDTO */
  71 + foreach($ret as $relProtocoloProtocoloDTO){
  72 + $documentoDTO = $arrDocumentos[$relProtocoloProtocoloDTO->getDblIdProtocolo2()];
60 $mimetype = null; 73 $mimetype = null;
61 $nomeAnexo = null; 74 $nomeAnexo = null;
62 $informacao = null; 75 $informacao = null;
@@ -96,17 +109,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -96,17 +109,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
96 $publicacaoDTOConsulta->setNumMaxRegistrosRetorno(1); 109 $publicacaoDTOConsulta->setNumMaxRegistrosRetorno(1);
97 $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta); 110 $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta);
98 $documentoPublicado = $resultPublicacao ? 'S' : 'N'; 111 $documentoPublicado = $resultPublicacao ? 'S' : 'N';
99 -  
100 - $relProtocoloProtocoloDTOConsulta = new RelProtocoloProtocoloDTO();  
101 - $relProtocoloProtocoloDTOConsulta->setDblIdProtocolo2($documentoDTO->getDblIdDocumento());  
102 - $relProtocoloProtocoloDTOConsulta->retStrSinCiencia();  
103 - $relProtocoloProtocoloDTOConsulta->setNumMaxRegistrosRetorno(1);  
104 - $resultRelProtProt = $relProtocoloProtocoloRN->listarRN0187($relProtocoloProtocoloDTOConsulta);  
105 - if($resultRelProtProt){  
106 - /** @var RelProtocoloProtocoloDTO $relProtocoloProtocoloDTO */  
107 - $relProtocoloProtocoloDTO = $resultRelProtProt[0];  
108 - $ciencia = $relProtocoloProtocoloDTO->getStrSinCiencia();  
109 - } 112 + $ciencia = $relProtocoloProtocoloDTO->getStrSinCiencia();
110 113
111 $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO); 114 $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO);
112 115
@@ -138,7 +141,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN { @@ -138,7 +141,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
138 ); 141 );
139 } 142 }
140 143
141 - return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $documentoDTOConsulta->getNumTotalRegistros()); 144 + return MdWsSeiRest::formataRetornoSucessoREST(null, $result, $relProtocoloProtocoloDTOConsulta->getNumTotalRegistros());
142 }catch (Exception $e){ 145 }catch (Exception $e){
143 return MdWsSeiRest::formataRetornoErroREST($e); 146 return MdWsSeiRest::formataRetornoErroREST($e);
144 } 147 }