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 17 protected function listarDocumentosProcessoConectado(DocumentoDTO $documentoDTOParam){
18 18 try{
19 19 $result = array();
20   - $documentoDTOConsulta = new DocumentoDTO();
  20 + $relProtocoloProtocoloDTOConsulta = new RelProtocoloProtocoloDTO();
21 21 if(!$documentoDTOParam->isSetDblIdProcedimento()){
22 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 30 if($documentoDTOParam->getNumMaxRegistrosRetorno()){
26   - $documentoDTOConsulta->setNumMaxRegistrosRetorno($documentoDTOParam->getNumMaxRegistrosRetorno());
  31 + $relProtocoloProtocoloDTOConsulta->setNumMaxRegistrosRetorno($documentoDTOParam->getNumMaxRegistrosRetorno());
27 32 }else{
28   - $documentoDTOConsulta->setNumMaxRegistrosRetorno(10);
  33 + $relProtocoloProtocoloDTOConsulta->setNumMaxRegistrosRetorno(10);
29 34 }
30 35 if(is_null($documentoDTOParam->getNumPaginaAtual())){
31   - $documentoDTOConsulta->setNumPaginaAtual(0);
  36 + $relProtocoloProtocoloDTOConsulta->setNumPaginaAtual(0);
32 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 67 $anexoRN = new AnexoRN();
55 68 $observacaoRN = new ObservacaoRN();
56 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 73 $mimetype = null;
61 74 $nomeAnexo = null;
62 75 $informacao = null;
... ... @@ -96,17 +109,7 @@ class MdWsSeiDocumentoRN extends DocumentoRN {
96 109 $publicacaoDTOConsulta->setNumMaxRegistrosRetorno(1);
97 110 $resultPublicacao = $publicacaoRN->listarRN1045($publicacaoDTOConsulta);
98 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 114 $podeVisualizarDocumento = $this->podeVisualizarDocumento($documentoDTO);
112 115  
... ... @@ -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 145 }catch (Exception $e){
143 146 return MdWsSeiRest::formataRetornoErroREST($e);
144 147 }
... ...