Commit a88d67fd325a954fa3c7b7b0268f4188f9d153c6
1 parent
31274e05
Exists in
master
and in
21 other branches
Correção no e-mail e adaptação nas chamadas do serviço de consultar trâmite, pre…
…sentes no cancelamento do processo
Showing
3 changed files
with
97 additions
and
50 deletions
Show diff stats
dto/TramiteDTO.php
... | ... | @@ -18,11 +18,13 @@ class TramiteDTO extends InfraDTO { |
18 | 18 | |
19 | 19 | $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeUsuario', 'nome', 'usuario'); |
20 | 20 | $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_STR, 'NomeUnidade', 'nome', 'unidade'); |
21 | + $this->adicionarAtributoTabelaRelacionada(InfraDTO::$PREFIXO_NUM, 'IdProcedimento', 'id_procedimento', 'md_pen_processo_eletronico'); | |
21 | 22 | |
22 | 23 | $this->configurarPK('NumeroRegistro', InfraDTO::$TIPO_PK_INFORMADO); |
23 | 24 | $this->configurarPK('IdTramite', InfraDTO::$TIPO_PK_INFORMADO); |
24 | 25 | |
25 | 26 | $this->configurarFK('NumeroRegistro', 'md_pen_tramite', 'numero_registro', InfraDTO::$TIPO_FK_OBRIGATORIA); |
27 | + $this->configurarFK('NumeroRegistro', 'md_pen_processo_eletronico pe', 'pe.numero_registro'); | |
26 | 28 | $this->configurarFK('IdUsuario', 'usuario u', 'u.id_usuario'); |
27 | 29 | $this->configurarFK('IdUnidade', 'unidade u', 'u.id_unidade'); |
28 | 30 | } | ... | ... |
rn/ExpedirProcedimentoRN.php
... | ... | @@ -1016,7 +1016,7 @@ class ExpedirProcedimentoRN extends InfraRN { |
1016 | 1016 | $idSerieEmail = $objInfraParametro->getValor('ID_SERIE_EMAIL'); |
1017 | 1017 | $docEmailEnviado = $objDocumentoDTO->getNumIdSerie() == $idSerieEmail && $objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_FORMULARIO_AUTOMATICO ? true : false; |
1018 | 1018 | |
1019 | - if($objDocumentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_GERADO && !$docEmailEnviado) { | |
1019 | + if($objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO) { | |
1020 | 1020 | |
1021 | 1021 | $objEditorDTO = new EditorDTO(); |
1022 | 1022 | $objEditorDTO->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento()); |
... | ... | @@ -1036,8 +1036,8 @@ class ExpedirProcedimentoRN extends InfraRN { |
1036 | 1036 | $arrInformacaoArquivo['MIME_TYPE'] = 'text/html'; |
1037 | 1037 | $arrInformacaoArquivo['ID_ANEXO'] = null; |
1038 | 1038 | |
1039 | - } else if($objDocumentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO || $docEmailEnviado) { | |
1040 | - | |
1039 | + } else if($objDocumentoDTO->getStrStaProtocoloProtocolo() == ProtocoloRN::$TP_DOCUMENTO_RECEBIDO) { | |
1040 | + | |
1041 | 1041 | $objAnexoDTO = $this->consultarAnexo($objDocumentoDTO->getDblIdDocumento()); |
1042 | 1042 | |
1043 | 1043 | if(!isset($objAnexoDTO)){ |
... | ... | @@ -1086,8 +1086,23 @@ class ExpedirProcedimentoRN extends InfraRN { |
1086 | 1086 | $arrInformacaoArquivo['ID_ANEXO'] = $objAnexoDTO->getNumIdAnexo(); |
1087 | 1087 | $arrInformacaoArquivo['dadosComplementaresDoTipoDeArquivo'] = $strDadosComplementaresDoTipoDeArquivo; |
1088 | 1088 | |
1089 | - } else { | |
1090 | - throw new InfraException('Procedência do documento inválida.'); | |
1089 | + } | |
1090 | + else { | |
1091 | + | |
1092 | + $objDocumentoDTO2 = new DocumentoDTO(); | |
1093 | + $objDocumentoDTO2->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento()); | |
1094 | + $objDocumentoDTO2->setObjInfraSessao(SessaoSEI::getInstance()); | |
1095 | + $objDocumentoDTO2->setStrLinkDownload('controlador.php?acao=documento_download_anexo'); | |
1096 | + | |
1097 | + $objDocumentoRN = new DocumentoRN(); | |
1098 | + $strResultado = $objDocumentoRN->consultarHtmlFormulario($objDocumentoDTO2); | |
1099 | + | |
1100 | + $arrInformacaoArquivo['NOME'] = $strProtocoloDocumentoFormatado . ".html"; | |
1101 | + $arrInformacaoArquivo['CONTEUDO'] = $strResultado; | |
1102 | + $arrInformacaoArquivo['TAMANHO'] = strlen($strResultado); | |
1103 | + $arrInformacaoArquivo['MIME_TYPE'] = 'text/html'; | |
1104 | + $arrInformacaoArquivo['ID_ANEXO'] = null; | |
1105 | + | |
1091 | 1106 | } |
1092 | 1107 | |
1093 | 1108 | return $arrInformacaoArquivo; |
... | ... | @@ -2043,11 +2058,38 @@ class ExpedirProcedimentoRN extends InfraRN { |
2043 | 2058 | |
2044 | 2059 | protected function cancelarTramiteInternoControlado(ProtocoloDTO $objDtoProtocolo) { |
2045 | 2060 | |
2061 | + //Obtem o id_rh que representa a unidade no barramento | |
2062 | + $objInfraParametro = new InfraParametro($this->inicializarObjInfraIBanco()); | |
2063 | + $numIdRespositorio = $objInfraParametro->getValor('PEN_ID_REPOSITORIO_ORIGEM'); | |
2064 | + | |
2065 | + //Obtem os dados da unidade | |
2066 | + $objPenUnidadeDTO = new PenUnidadeDTO(); | |
2067 | + $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); | |
2068 | + $objPenUnidadeDTO->retNumIdUnidadeRH(); | |
2069 | + | |
2070 | + $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco()); | |
2071 | + $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); | |
2072 | + | |
2073 | + $objTramiteDTO = new TramiteDTO(); | |
2074 | + $objTramiteDTO->setNumIdProcedimento($objDtoProtocolo->retDblIdProtocolo()); | |
2075 | + $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); | |
2076 | + $objTramiteDTO->setNumMaxRegistrosRetorno(1); | |
2077 | + $objTramiteDTO->retNumIdTramite(); | |
2078 | + | |
2079 | + $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); | |
2080 | + $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); | |
2081 | + | |
2082 | + if(!$arrObjTramiteDTO){ | |
2083 | + return false; | |
2084 | + } | |
2085 | + | |
2086 | + $objTramiteDTO = $arrObjTramiteDTO[0]; | |
2087 | + | |
2046 | 2088 | //Armazena o id do protocolo |
2047 | 2089 | $dblIdProcedimento = $objDtoProtocolo->getDblIdProtocolo(); |
2048 | 2090 | |
2049 | - $tramites = $this->objProcessoEletronicoRN->consultarTramitesProtocolo($objDtoProtocolo->getStrProtocoloFormatado()); | |
2050 | - $tramite = $tramites ? array_pop($tramites) : null; | |
2091 | + $tramites = $this->objProcessoEletronicoRN->consultarTramites($objTramiteDTO->getNumIdTramite(), null, $objPenUnidadeDTO->getNumIdUnidadeRH(), null, null, $numIdRespositorio); | |
2092 | + $tramite = $tramites ? $tramites[0] : null; | |
2051 | 2093 | |
2052 | 2094 | if (!$tramite) { |
2053 | 2095 | throw new InfraException('Trâmite não encontrado para esse processo. '); | ... | ... |
rn/ProcessoEletronicoRN.php
... | ... | @@ -861,46 +861,7 @@ class ProcessoEletronicoRN extends InfraRN { |
861 | 861 | } |
862 | 862 | } |
863 | 863 | |
864 | - /** | |
865 | - * Consulta os tramites recusados | |
866 | - * | |
867 | - * @return array | |
868 | - */ | |
869 | - public function consultarTramitesRecusados($parNumIdRespositorio, $parNumIdEstrutura) { | |
870 | - try { | |
871 | - | |
872 | - $parametro = (object)array( | |
873 | - 'filtroDeConsultaDeTramites' => (object)array( | |
874 | - 'situacaoAtual' => 9, | |
875 | - 'remetente' => (object)array( | |
876 | - 'identificacaoDoRepositorioDeEstruturas' => $parNumIdRespositorio, | |
877 | - 'numeroDeIdentificacaoDaEstrutura' => $parNumIdEstrutura | |
878 | - ) | |
879 | - ) | |
880 | - ); | |
881 | - | |
882 | - $objTramitesEncontrados = $this->getObjPenWs()->consultarTramites($parametro); | |
883 | - | |
884 | - $arrObjTramite = array(); | |
885 | - | |
886 | - if (isset($objTramitesEncontrados->tramitesEncontrados)) { | |
887 | - | |
888 | - $arrObjTramite = $objTramitesEncontrados->tramitesEncontrados->tramite; | |
889 | - | |
890 | - if(!is_array($arrObjTramite)) { | |
891 | - $arrObjTramite = array($objTramitesEncontrados->tramitesEncontrados->tramite); | |
892 | - } | |
893 | - } | |
894 | - | |
895 | - return $arrObjTramite; | |
896 | - } | |
897 | - catch (\SoapFault $fault) { | |
898 | - throw new InfraException(InfraString::formatarJavaScript($this->tratarFalhaWebService($fault)), $fault); | |
899 | - } | |
900 | - catch (\Exception $e) { | |
901 | - throw new InfraException("Error Processing Request", $e); | |
902 | - } | |
903 | - } | |
864 | + | |
904 | 865 | |
905 | 866 | public function consultarTramites($parNumIdTramite = null, $parNumeroRegistro = null, $parNumeroUnidadeRemetente = null, $parNumeroUnidadeDestino = null, $parProtocolo = null, $parNumeroRepositorioEstruturas = null) |
906 | 867 | { |
... | ... | @@ -916,11 +877,13 @@ class ProcessoEletronicoRN extends InfraRN { |
916 | 877 | } |
917 | 878 | |
918 | 879 | if(!is_null($parNumeroUnidadeRemetente) && !is_null($parNumeroRepositorioEstruturas)){ |
880 | + $parametro->filtroDeConsultaDeTramites->remetente = new stdClass(); | |
919 | 881 | $parametro->filtroDeConsultaDeTramites->remetente->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas; |
920 | 882 | $parametro->filtroDeConsultaDeTramites->remetente->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeRemetente; |
921 | 883 | } |
922 | 884 | |
923 | 885 | if(!is_null($parNumeroUnidadeDestino) && !is_null($parNumeroRepositorioEstruturas)){ |
886 | + $parametro->filtroDeConsultaDeTramites->destinatario = new stdClass(); | |
924 | 887 | $parametro->filtroDeConsultaDeTramites->destinatario->identificacaoDoRepositorioDeEstruturas = $parNumeroRepositorioEstruturas; |
925 | 888 | $parametro->filtroDeConsultaDeTramites->destinatario->numeroDeIdentificacaoDaEstrutura = $parNumeroUnidadeDestino; |
926 | 889 | } |
... | ... | @@ -1027,9 +990,24 @@ class ProcessoEletronicoRN extends InfraRN { |
1027 | 990 | throw new InfraException(utf8_encode('O processo não esta com o estado com "Em Processamento" ou "Bloqueado"')); |
1028 | 991 | } |
1029 | 992 | |
993 | + $objTramiteDTO = new TramiteDTO(); | |
994 | + $objTramiteDTO->setNumIdProcedimento($objProtocoloDTO->retDblIdProtocolo()); | |
995 | + $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); | |
996 | + $objTramiteDTO->setNumMaxRegistrosRetorno(1); | |
997 | + $objTramiteDTO->retNumIdTramite(); | |
998 | + | |
999 | + $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); | |
1000 | + $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); | |
1001 | + | |
1002 | + if(!$arrObjTramiteDTO){ | |
1003 | + throw new InfraException('Trâmite não encontrado'); | |
1004 | + } | |
1005 | + | |
1006 | + $objTramiteDTO = $arrObjTramiteDTO[0]; | |
1007 | + | |
1030 | 1008 | $objFiltro = new stdClass(); |
1031 | 1009 | $objFiltro->filtroDeConsultaDeTramites = new stdClass(); |
1032 | - $objFiltro->filtroDeConsultaDeTramites->protocolo = $objProtocoloDTO->getStrProtocoloFormatado(); | |
1010 | + $objFiltro->filtroDeConsultaDeTramites->IDT = $objTramiteDTO->getNumIdTramite(); | |
1033 | 1011 | |
1034 | 1012 | $objResultado = $this->getObjPenWs()->consultarTramites($objFiltro); |
1035 | 1013 | |
... | ... | @@ -1392,9 +1370,11 @@ class ProcessoEletronicoRN extends InfraRN { |
1392 | 1370 | |
1393 | 1371 | public function isDisponivelCancelarTramite($strProtocolo = ''){ |
1394 | 1372 | |
1373 | + //Obtem o id_rh que representa a unidade no barramento | |
1395 | 1374 | $objInfraParametro = new InfraParametro($this->inicializarObjInfraIBanco()); |
1396 | 1375 | $numIdRespositorio = $objInfraParametro->getValor('PEN_ID_REPOSITORIO_ORIGEM'); |
1397 | 1376 | |
1377 | + //Obtem os dados da unidade | |
1398 | 1378 | $objPenUnidadeDTO = new PenUnidadeDTO(); |
1399 | 1379 | $objPenUnidadeDTO->setNumIdUnidade(SessaoSEI::getInstance()->getNumIdUnidadeAtual()); |
1400 | 1380 | $objPenUnidadeDTO->retNumIdUnidadeRH(); |
... | ... | @@ -1402,15 +1382,38 @@ class ProcessoEletronicoRN extends InfraRN { |
1402 | 1382 | $objGenericoBD = new GenericoBD($this->inicializarObjInfraIBanco()); |
1403 | 1383 | $objPenUnidadeDTO = $objGenericoBD->consultar($objPenUnidadeDTO); |
1404 | 1384 | |
1385 | + //Obtem os dados do último trâmite desse processo no barramento | |
1386 | + $objProtocoloDTO = new ProtocoloDTO(); | |
1387 | + $objProtocoloDTO->setStrProtocoloFormatado($strProtocolo); | |
1388 | + $objProtocoloDTO->retDblIdProtocolo(); | |
1389 | + | |
1390 | + $objProtocoloRN = new ProtocoloRN(); | |
1391 | + $objProtocoloDTO = $objProtocoloRN->consultarRN0186($objProtocoloDTO); | |
1392 | + | |
1393 | + $objTramiteDTO = new TramiteDTO(); | |
1394 | + $objTramiteDTO->setNumIdProcedimento($objProtocoloDTO->retDblIdProtocolo()); | |
1395 | + $objTramiteDTO->setOrd('Registro', InfraDTO::$TIPO_ORDENACAO_DESC); | |
1396 | + $objTramiteDTO->setNumMaxRegistrosRetorno(1); | |
1397 | + $objTramiteDTO->retNumIdTramite(); | |
1398 | + | |
1399 | + $objTramiteBD = new TramiteBD($this->getObjInfraIBanco()); | |
1400 | + $arrObjTramiteDTO = $objTramiteBD->listar($objTramiteDTO); | |
1401 | + | |
1402 | + if(!$arrObjTramiteDTO){ | |
1403 | + return false; | |
1404 | + } | |
1405 | + | |
1406 | + $objTramiteDTO = $arrObjTramiteDTO[0]; | |
1407 | + | |
1405 | 1408 | try { |
1406 | 1409 | |
1407 | 1410 | $parametro = (object)array( |
1408 | 1411 | 'filtroDeConsultaDeTramites' => (object)array( |
1412 | + 'IDT' => $objTramiteDTO->getNumIdTramite(), | |
1409 | 1413 | 'remetente' => (object)array( |
1410 | 1414 | 'identificacaoDoRepositorioDeEstruturas' => $numIdRespositorio, |
1411 | 1415 | 'numeroDeIdentificacaoDaEstrutura' => $objPenUnidadeDTO->getNumIdUnidadeRH() |
1412 | 1416 | ), |
1413 | - 'protocolo' => $strProtocolo | |
1414 | 1417 | ) |
1415 | 1418 | ); |
1416 | 1419 | |
... | ... | @@ -1422,7 +1425,7 @@ class ProcessoEletronicoRN extends InfraRN { |
1422 | 1425 | |
1423 | 1426 | $arrObjMetaTramite = !is_array($objMeta->tramitesEncontrados->tramite) ? array($objMeta->tramitesEncontrados->tramite) : $objMeta->tramitesEncontrados->tramite; |
1424 | 1427 | |
1425 | - $objMetaTramite = array_pop($arrObjMetaTramite); | |
1428 | + $objMetaTramite = $arrObjMetaTramite[0]; | |
1426 | 1429 | |
1427 | 1430 | switch($objMetaTramite->situacaoAtual){ |
1428 | 1431 | ... | ... |