Commit a88d67fd325a954fa3c7b7b0268f4188f9d153c6
1 parent
31274e05
Exists in
master
and in
19 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 | ... | ... |