Commit ce667e82f4ccc920632a50c63606563d81463f55
1 parent
81d62914
Exists in
master
and in
21 other branches
[Fixed #38] Padronização do formato de envio de documento sem link do Número SEI
Showing
1 changed file
with
249 additions
and
212 deletions
Show diff stats
rn/ExpedirProcedimentoRN.php
@@ -117,150 +117,147 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -117,150 +117,147 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
117 | return $this->objProcessoEletronicoRN->consultarMotivosUrgencia(); | 117 | return $this->objProcessoEletronicoRN->consultarMotivosUrgencia(); |
118 | } | 118 | } |
119 | 119 | ||
120 | - public function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) | ||
121 | - { | 120 | + public function expedirProcedimentoControlado(ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) |
121 | + { | ||
122 | + $numIdTramite = 0; | ||
123 | + try { | ||
124 | + //Valida Permissão | ||
125 | + SessaoSEI::getInstance()->validarAuditarPermissao('pen_procedimento_expedir',__METHOD__, $objExpedirProcedimentoDTO); | ||
126 | + $dblIdProcedimento = $objExpedirProcedimentoDTO->getDblIdProcedimento(); | ||
122 | 127 | ||
123 | - $numIdTramite = 0; | 128 | + $this->barraProgresso->exibir(); |
129 | + //Valida regras de negócio | ||
130 | + $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_VALIDACAO); | ||
131 | + $this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_VALIDACAO); | ||
124 | 132 | ||
125 | - try { | ||
126 | - //Valida Permissão | ||
127 | - SessaoSEI::getInstance()->validarAuditarPermissao('pen_procedimento_expedir',__METHOD__, $objExpedirProcedimentoDTO); | ||
128 | - $dblIdProcedimento = $objExpedirProcedimentoDTO->getDblIdProcedimento(); | 133 | + $objInfraException = new InfraException(); |
134 | + //Carregamento dos dados de processo e documento para validação e envio externo | ||
135 | + $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento); | ||
136 | + $objProcedimentoDTO->setArrObjDocumentoDTO($this->listarDocumentos($dblIdProcedimento)); | ||
137 | + $objProcedimentoDTO->setArrObjParticipanteDTO($this->listarInteressados($dblIdProcedimento)); | ||
138 | + $this->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO); | ||
139 | + $this->validarParametrosExpedicao($objInfraException, $objExpedirProcedimentoDTO); | ||
129 | 140 | ||
130 | - $this->barraProgresso->exibir(); | ||
131 | - //Valida regras de negócio | ||
132 | - $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_VALIDACAO); | ||
133 | - $this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_VALIDACAO); | ||
134 | - | ||
135 | - $objInfraException = new InfraException(); | ||
136 | - //Carregamento dos dados de processo e documento para validação e envio externo | ||
137 | - $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento); | ||
138 | - $objProcedimentoDTO->setArrObjDocumentoDTO($this->listarDocumentos($dblIdProcedimento)); | ||
139 | - $objProcedimentoDTO->setArrObjParticipanteDTO($this->listarInteressados($dblIdProcedimento)); | ||
140 | - $this->validarPreCondicoesExpedirProcedimento($objInfraException, $objProcedimentoDTO); | ||
141 | - $this->validarParametrosExpedicao($objInfraException, $objExpedirProcedimentoDTO); | ||
142 | //Apresentao da mensagens de validao na janela da barra de progresso | 141 | //Apresentao da mensagens de validao na janela da barra de progresso |
143 | - if($objInfraException->contemValidacoes()){ | ||
144 | - $this->barraProgresso->mover(0); | ||
145 | - $this->barraProgresso->setStrRotulo('Erro durante validação dos dados do processo.'); | ||
146 | - $objInfraException->lancarValidacoes(); | ||
147 | - } | 142 | + if($objInfraException->contemValidacoes()){ |
143 | + $this->barraProgresso->mover(0); | ||
144 | + $this->barraProgresso->setStrRotulo('Erro durante validação dos dados do processo.'); | ||
145 | + $objInfraException->lancarValidacoes(); | ||
146 | + } | ||
148 | 147 | ||
149 | - $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_PROCEDIMENTO); | ||
150 | - $this->barraProgresso->setStrRotulo(sprintf(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_PROCEDIMENTO, $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())); | ||
151 | - //Construo dos cabecalho para envio do processo | ||
152 | - $objCabecalho = $this->construirCabecalho($objExpedirProcedimentoDTO); | 148 | + $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_PROCEDIMENTO); |
149 | + $this->barraProgresso->setStrRotulo(sprintf(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_PROCEDIMENTO, $objProcedimentoDTO->getStrProtocoloProcedimentoFormatado())); | ||
153 | 150 | ||
154 | - //Construo do processo para envio | ||
155 | - $objProcesso = $this->construirProcesso($dblIdProcedimento, $objExpedirProcedimentoDTO->getArrIdProcessoApensado()); | 151 | + //Construo dos cabecalho para envio do processo |
152 | + $objCabecalho = $this->construirCabecalho($objExpedirProcedimentoDTO); | ||
156 | 153 | ||
157 | - try { | 154 | + //Construo do processo para envio |
155 | + $objProcesso = $this->construirProcesso($dblIdProcedimento, $objExpedirProcedimentoDTO->getArrIdProcessoApensado()); | ||
158 | 156 | ||
157 | + try { | ||
158 | + $param = new stdClass(); | ||
159 | + $param->novoTramiteDeProcesso = new stdClass(); | ||
160 | + $param->novoTramiteDeProcesso->cabecalho = $objCabecalho; | ||
161 | + $param->novoTramiteDeProcesso->processo = $objProcesso; | ||
162 | + $novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param); | ||
163 | + $numIdTramite = $novoTramite->dadosTramiteDeProcessoCriado->IDT; | ||
159 | 164 | ||
160 | - $param = new stdClass(); | ||
161 | - $param->novoTramiteDeProcesso = new stdClass(); | ||
162 | - $param->novoTramiteDeProcesso->cabecalho = $objCabecalho; | ||
163 | - $param->novoTramiteDeProcesso->processo = $objProcesso; | ||
164 | - $novoTramite = $this->objProcessoEletronicoRN->enviarProcesso($param); | ||
165 | - $numIdTramite = $novoTramite->dadosTramiteDeProcessoCriado->IDT; | 165 | + } catch (\Exception $e) { |
166 | + throw new InfraException("Error Processing Request", $e); | ||
167 | + } | ||
166 | 168 | ||
167 | - } catch (\Exception $e) { | ||
168 | - throw new InfraException("Error Processing Request", $e); | ||
169 | - } | 169 | + $this->atualizarPenProtocolo($dblIdProcedimento); |
170 | 170 | ||
171 | - $this->atualizarPenProtocolo($dblIdProcedimento); | ||
172 | - if (isset($novoTramite->dadosTramiteDeProcessoCriado)) { | ||
173 | - $objTramite = $novoTramite->dadosTramiteDeProcessoCriado; | ||
174 | - $this->objProcedimentoAndamentoRN->setOpts($objTramite->NRE, $objTramite->IDT, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO), $dblIdProcedimento); | ||
175 | - try { | 171 | + if (isset($novoTramite->dadosTramiteDeProcessoCriado)) { |
172 | + $objTramite = $novoTramite->dadosTramiteDeProcessoCriado; | ||
173 | + $this->objProcedimentoAndamentoRN->setOpts($objTramite->NRE, $objTramite->IDT, ProcessoEletronicoRN::obterIdTarefaModulo(ProcessoEletronicoRN::$TI_PROCESSO_ELETRONICO_PROCESSO_EXPEDIDO), $dblIdProcedimento); | ||
176 | 174 | ||
177 | - $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Envio do metadados do processo', 'S')); | ||
178 | - $idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $objProcesso->idProcedimentoSEI); | 175 | + try { |
176 | + $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Envio do metadados do processo', 'S')); | ||
177 | + $idAtividadeExpedicao = $this->bloquearProcedimentoExpedicao($objExpedirProcedimentoDTO, $objProcesso->idProcedimentoSEI); | ||
179 | 178 | ||
179 | + $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso( | ||
180 | + $objProcesso->idProcedimentoSEI, | ||
181 | + $objTramite->NRE, | ||
182 | + $objTramite->IDT, | ||
183 | + ProcessoEletronicoRN::$STA_TIPO_TRAMITE_ENVIO, | ||
184 | + $objTramite->dataHoraDeRegistroDoTramite, | ||
185 | + $objExpedirProcedimentoDTO->getNumIdRepositorioOrigem(), | ||
186 | + $objExpedirProcedimentoDTO->getNumIdUnidadeOrigem(), | ||
187 | + $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), | ||
188 | + $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), | ||
189 | + $objProcesso, | ||
190 | + $objTramite->ticketParaEnvioDeComponentesDigitais, | ||
191 | + $objTramite->componentesDigitaisSolicitados); | ||
180 | 192 | ||
181 | - $this->objProcessoEletronicoRN->cadastrarTramiteDeProcesso( | ||
182 | - $objProcesso->idProcedimentoSEI, | ||
183 | - $objTramite->NRE, | ||
184 | - $objTramite->IDT, | ||
185 | - ProcessoEletronicoRN::$STA_TIPO_TRAMITE_ENVIO, | ||
186 | - $objTramite->dataHoraDeRegistroDoTramite, | ||
187 | - $objExpedirProcedimentoDTO->getNumIdRepositorioOrigem(), | ||
188 | - $objExpedirProcedimentoDTO->getNumIdUnidadeOrigem(), | ||
189 | - $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), | ||
190 | - $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), | ||
191 | - $objProcesso, | ||
192 | - $objTramite->ticketParaEnvioDeComponentesDigitais, | ||
193 | - $objTramite->componentesDigitaisSolicitados); | ||
194 | 193 | ||
194 | + $this->objProcessoEletronicoRN->cadastrarTramitePendente($objTramite->IDT, $idAtividadeExpedicao); | ||
195 | + //error_log('TRAMITE: ' . print_r($objTramite, true)); | ||
196 | + //error_log('before enviarComponentesDigitais'); | ||
195 | 197 | ||
196 | - $this->objProcessoEletronicoRN->cadastrarTramitePendente($objTramite->IDT, $idAtividadeExpedicao); | ||
197 | - //error_log('TRAMITE: ' . print_r($objTramite, true)); | ||
198 | - //error_log('before enviarComponentesDigitais'); | 198 | + //TODO: Erro no BARRAMENTO: Processo no pode ser enviado se possuir 2 documentos iguais(mesmo hash) |
199 | + //TODO: Melhoria no barramento de servios. O mtodo solicitar metadados no deixa claro quais os componentes digitais que | ||
200 | + //precisam ser baixados. No cenrio de retorno de um processo existente, a nica forma consultar o status do trâmite para | ||
201 | + //saber quais precisam ser baixados. O processo poderia ser mais otimizado se o retorno nos metadados j informasse quais os | ||
202 | + //componentes precisam ser baixados, semelhante ao que ocorre no enviarProcesso onde o barramento informa quais os componentes | ||
203 | + //que precisam ser enviados | ||
199 | 204 | ||
200 | - //TODO: Erro no BARRAMENTO: Processo no pode ser enviado se possuir 2 documentos iguais(mesmo hash) | ||
201 | - //TODO: Melhoria no barramento de servios. O mtodo solicitar metadados no deixa claro quais os componentes digitais que | ||
202 | - //precisam ser baixados. No cenrio de retorno de um processo existente, a nica forma consultar o status do trâmite para | ||
203 | - //saber quais precisam ser baixados. O processo poderia ser mais otimizado se o retorno nos metadados j informasse quais os | ||
204 | - //componentes precisam ser baixados, semelhante ao que ocorre no enviarProcesso onde o barramento informa quais os componentes | ||
205 | - //que precisam ser enviados | 205 | + $this->enviarComponentesDigitais($objTramite->NRE, $objTramite->IDT, $objProcesso->protocolo); |
206 | + //error_log('after enviarComponentesDigitais'); | ||
207 | + //$strNumeroRegistro, $numIdTramite, $strProtocolo | ||
208 | + //error_log('==========================>>>>' . print_r($objTramite, true)); | ||
206 | 209 | ||
207 | - $this->enviarComponentesDigitais($objTramite->NRE, $objTramite->IDT, $objProcesso->protocolo); | ||
208 | - //error_log('after enviarComponentesDigitais'); | ||
209 | - //$strNumeroRegistro, $numIdTramite, $strProtocolo | ||
210 | - //error_log('==========================>>>>' . print_r($objTramite, true)); | 210 | + //TODO: Ao enviar o processo e seus documentos, necessrio bloquear os documentos para alterao |
211 | + //pois eles j foram visualizados | ||
212 | + //$objDocumentoRN = new DocumentoRN(); | ||
213 | + //$objDocumentoRN->bloquearConsultado($objDocumentoRN->consultarRN0005($objDocumentoDTO)); | ||
211 | 214 | ||
212 | - //TODO: Ao enviar o processo e seus documentos, necessrio bloquear os documentos para alterao | ||
213 | - //pois eles j foram visualizados | ||
214 | - //$objDocumentoRN = new DocumentoRN(); | ||
215 | - //$objDocumentoRN->bloquearConsultado($objDocumentoRN->consultarRN0005($objDocumentoDTO)); | ||
216 | 215 | ||
216 | + //TODO: Implementar o registro de auditoria, armazenando os metadados xml enviados para o PEN | ||
217 | 217 | ||
218 | - //TODO: Implementar o registro de auditoria, armazenando os metadados xml enviados para o PEN | ||
219 | 218 | ||
220 | - //return ; | 219 | + # $this->enviarDocProdimentoTramite(); |
220 | + // $this->gravarAuditoria(__METHOD__ , $objExpedirProcedimentoDTO->getDblIdProcedimento()); | ||
221 | + //$this->bloquearProcesso($objExpedirProcedimentoDTO->getDblIdProcedimento()); | ||
222 | + #$this->enviarDocProdimentoTramite(); | ||
223 | + //return array('mensagem' => 'Processo em expedio!', 'retorno' => 1); | ||
221 | 224 | ||
222 | - # $this->enviarDocProdimentoTramite(); | ||
223 | - // $this->gravarAuditoria(__METHOD__ , $objExpedirProcedimentoDTO->getDblIdProcedimento()); | ||
224 | - //$this->bloquearProcesso($objExpedirProcedimentoDTO->getDblIdProcedimento()); | ||
225 | - #$this->enviarDocProdimentoTramite(); | ||
226 | - //return array('mensagem' => 'Processo em expedio!', 'retorno' => 1); | 225 | + //TODO: Alterar atualizao para somente apresentar ao final de todo o trâmite |
226 | + $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_CONCLUSAO); | ||
227 | + $this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_CONCLUSAO); | ||
227 | 228 | ||
228 | - //TODO: Alterar atualizao para somente apresentar ao final de todo o trâmite | ||
229 | - $this->barraProgresso->mover(ProcessoEletronicoINT::NEE_EXPEDICAO_ETAPA_CONCLUSAO); | ||
230 | - $this->barraProgresso->setStrRotulo(ProcessoEletronicoINT::TEE_EXPEDICAO_ETAPA_CONCLUSAO); | 229 | + // @join_tec US008.06 (#23092) |
230 | + $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Concluído envio dos componentes do processo', 'S')); | ||
231 | 231 | ||
232 | - // @join_tec US008.06 (#23092) | ||
233 | - $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Concluído envio dos componentes do processo', 'S')); | 232 | + $this->receberReciboDeEnvio($objTramite->IDT); |
233 | + } | ||
234 | + catch (\Exception $e) { | ||
235 | + //@TODO: Melhorar essa estrutura | ||
236 | + //Realiza o desbloqueio do processo | ||
237 | + try{ $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI); } catch (InfraException $ex) { } | ||
238 | + | ||
239 | + //@TODO: Melhorar essa estrutura | ||
240 | + //Realiza o cancelamento do tramite | ||
241 | + try{ | ||
242 | + if($numIdTramite != 0){ | ||
243 | + $this->objProcessoEletronicoRN->cancelarTramite($numIdTramite); | ||
244 | + } | ||
245 | + } catch (InfraException $ex) { } | ||
246 | + | ||
247 | + $this->registrarAndamentoExpedicaoAbortada($objProcesso->idProcedimentoSEI); | ||
248 | + | ||
249 | + // @join_tec US008.06 (#23092) | ||
250 | + $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Concluído envio dos componentes do processo', 'N')); | ||
251 | + throw $e; | ||
252 | + } | ||
253 | + } | ||
234 | 254 | ||
235 | - $this->receberReciboDeEnvio($objTramite->IDT); | 255 | + } catch (\Exception $e) { |
256 | + throw new InfraException('Falha de comunicação com o serviços de integração. Por favor, tente novamente mais tarde.', $e); | ||
236 | } | 257 | } |
237 | - catch (\Exception $e) { | ||
238 | - //@TODO: Melhorar essa estrutura | ||
239 | - //Realiza o desbloqueio do processo | ||
240 | - try{ | ||
241 | - $this->desbloquearProcessoExpedicao($objProcesso->idProcedimentoSEI); | ||
242 | - } catch (InfraException $ex) { } | ||
243 | - | ||
244 | - //@TODO: Melhorar essa estrutura | ||
245 | - //Realiza o cancelamento do tramite | ||
246 | - try{ | ||
247 | - if($numIdTramite != 0){ | ||
248 | - $this->objProcessoEletronicoRN->cancelarTramite($numIdTramite); | ||
249 | - } | ||
250 | - } catch (InfraException $ex) { } | 258 | + } |
251 | 259 | ||
252 | - $this->registrarAndamentoExpedicaoAbortada($objProcesso->idProcedimentoSEI); | ||
253 | 260 | ||
254 | - // @join_tec US008.06 (#23092) | ||
255 | - $this->objProcedimentoAndamentoRN->cadastrar(ProcedimentoAndamentoDTO::criarAndamento('Concluído envio dos componentes do processo', 'N')); | ||
256 | - throw $e; | ||
257 | - } | ||
258 | - } | ||
259 | - | ||
260 | - } catch (\Exception $e) { | ||
261 | - throw new InfraException('Falha de comunicação com o serviços de integração. Por favor, tente novamente mais tarde.', $e); | ||
262 | - } | ||
263 | - } | ||
264 | 261 | ||
265 | private function registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcesso) | 262 | private function registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcesso) |
266 | { | 263 | { |
@@ -322,90 +319,85 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -322,90 +319,85 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
322 | $this->registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcessoApensado); | 319 | $this->registrarAndamentoExpedicaoProcesso($objExpedirProcedimentoDTO, $objProcessoApensado); |
323 | } | 320 | } |
324 | } | 321 | } |
325 | - | ||
326 | - | ||
327 | } | 322 | } |
328 | 323 | ||
329 | - private function construirCabecalho(ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) | ||
330 | - { | ||
331 | - if(!isset($objExpedirProcedimentoDTO)){ | ||
332 | - throw new InfraException('Parâmetro $objExpedirProcedimentoDTO não informado.'); | ||
333 | - } | 324 | + private function construirCabecalho(ExpedirProcedimentoDTO $objExpedirProcedimentoDTO) |
325 | + { | ||
326 | + if(!isset($objExpedirProcedimentoDTO)){ | ||
327 | + throw new InfraException('Parâmetro $objExpedirProcedimentoDTO não informado.'); | ||
328 | + } | ||
334 | 329 | ||
335 | - //Obtenção do nmero de registro eletrônico do processo | ||
336 | - $strNumeroRegistro = null; | ||
337 | - $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); | ||
338 | - $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); | ||
339 | - $objProcessoEletronicoDTO->setDblIdProcedimento($objExpedirProcedimentoDTO->getDblIdProcedimento()); | 330 | + //Obtenção do número de registro eletrônico do processo |
331 | + $strNumeroRegistro = null; | ||
332 | + $objProcessoEletronicoBD = new ProcessoEletronicoBD($this->getObjInfraIBanco()); | ||
333 | + $objProcessoEletronicoDTO = new ProcessoEletronicoDTO(); | ||
334 | + $objProcessoEletronicoDTO->setDblIdProcedimento($objExpedirProcedimentoDTO->getDblIdProcedimento()); | ||
340 | //TODO: Tratar situao de quando localizado dois registros para o mesmo processo | 335 | //TODO: Tratar situao de quando localizado dois registros para o mesmo processo |
341 | - $objProcessoEletronicoDTO->setNumMaxRegistrosRetorno(1); | ||
342 | - $objProcessoEletronicoDTO->setOrd('IdProcedimento', InfraDTO::$TIPO_ORDENACAO_DESC); | ||
343 | - $objProcessoEletronicoDTO->retStrNumeroRegistro(); | ||
344 | - | ||
345 | - $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); | ||
346 | - if(isset($objProcessoEletronicoDTO)) { | ||
347 | - $strNumeroRegistro = $objProcessoEletronicoDTO->getStrNumeroRegistro(); | ||
348 | - } | ||
349 | - | ||
350 | - // Consultar se processo eletrônico existe no PEN algum trâmite CANCELADO, caso | ||
351 | - // sim deve ser gerada uma nova NRE, pois a atual ser recusada pelo PEN quando | ||
352 | - // for enviado | ||
353 | - /* if(!InfraString::isBolVazia($strNumeroRegistro)) { | ||
354 | - $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites(null, $strNumeroRegistro); | ||
355 | - if(!empty($arrObjTramite) && is_array($arrObjTramite) && count($arrObjTramite) === 1) { | ||
356 | - $objTramite = current($arrObjTramite); | ||
357 | - if($objTramite->situacaoAtual == ProcessoeletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO || $objTramite->situacaoAtual == ProcessoeletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO){ | ||
358 | - $strNumeroRegistro = null; | ||
359 | - } | 336 | + $objProcessoEletronicoDTO->setNumMaxRegistrosRetorno(1); |
337 | + $objProcessoEletronicoDTO->setOrd('IdProcedimento', InfraDTO::$TIPO_ORDENACAO_DESC); | ||
338 | + $objProcessoEletronicoDTO->retStrNumeroRegistro(); | ||
339 | + | ||
340 | + $objProcessoEletronicoDTO = $objProcessoEletronicoBD->consultar($objProcessoEletronicoDTO); | ||
341 | + if(isset($objProcessoEletronicoDTO)) { | ||
342 | + $strNumeroRegistro = $objProcessoEletronicoDTO->getStrNumeroRegistro(); | ||
360 | } | 343 | } |
361 | - } */ | ||
362 | 344 | ||
345 | + // Consultar se processo eletrônico existe no PEN algum trâmite CANCELADO, caso | ||
346 | + // sim deve ser gerada uma nova NRE, pois a atual ser recusada pelo PEN quando | ||
347 | + // for enviado | ||
348 | + /* if(!InfraString::isBolVazia($strNumeroRegistro)) { | ||
349 | + $arrObjTramite = $this->objProcessoEletronicoRN->consultarTramites(null, $strNumeroRegistro); | ||
350 | + if(!empty($arrObjTramite) && is_array($arrObjTramite) && count($arrObjTramite) === 1) { | ||
351 | + $objTramite = current($arrObjTramite); | ||
352 | + if($objTramite->situacaoAtual == ProcessoeletronicoRN::$STA_SITUACAO_TRAMITE_CANCELADO || $objTramite->situacaoAtual == ProcessoeletronicoRN::$STA_SITUACAO_TRAMITE_RECUSADO){ | ||
353 | + $strNumeroRegistro = null; | ||
354 | + } | ||
355 | + } | ||
356 | + } */ | ||
357 | + | ||
358 | + return $this->objProcessoEletronicoRN->construirCabecalho( | ||
359 | + $strNumeroRegistro, | ||
360 | + $objExpedirProcedimentoDTO->getNumIdRepositorioOrigem(), | ||
361 | + $objExpedirProcedimentoDTO->getNumIdUnidadeOrigem(), | ||
362 | + $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), | ||
363 | + $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), | ||
364 | + $objExpedirProcedimentoDTO->getBolSinUrgente(), | ||
365 | + $objExpedirProcedimentoDTO->getNumIdMotivoUrgencia(), | ||
366 | + false /*obrigarEnvioDeTodosOsComponentesDigitais*/ | ||
367 | + ); | ||
368 | + } | ||
363 | 369 | ||
364 | - return $this->objProcessoEletronicoRN->construirCabecalho( | ||
365 | - //TODO: Desabilitado consulta do NRE para questes de teste | ||
366 | - $strNumeroRegistro, | ||
367 | - $objExpedirProcedimentoDTO->getNumIdRepositorioOrigem(), | ||
368 | - $objExpedirProcedimentoDTO->getNumIdUnidadeOrigem(), | ||
369 | - $objExpedirProcedimentoDTO->getNumIdRepositorioDestino(), | ||
370 | - $objExpedirProcedimentoDTO->getNumIdUnidadeDestino(), | ||
371 | - $objExpedirProcedimentoDTO->getBolSinUrgente(), | ||
372 | - $objExpedirProcedimentoDTO->getNumIdMotivoUrgencia(), | ||
373 | - false /*obrigarEnvioDeTodosOsComponentesDigitais*/); | 370 | + private function construirProcesso($dblIdProcedimento, $arrIdProcessoApensado = null) |
371 | + { | ||
372 | + if(!isset($dblIdProcedimento)){ | ||
373 | + throw new InfraException('Parâmetro $dblIdProcedimento não informado.'); | ||
374 | + } | ||
374 | 375 | ||
375 | - } | 376 | + //TODO: Passar dados do ProcedimentoDTO via parâmetro j carregado anteriormente |
377 | + $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento); | ||
378 | + $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalEnvioRN(); | ||
379 | + | ||
380 | + $objProcesso = new stdClass(); | ||
381 | + $objProcesso->protocolo = utf8_encode($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado()); | ||
382 | + $objProcesso->nivelDeSigilo = $this->obterNivelSigiloPEN($objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo()); | ||
383 | + $objProcesso->processoDeNegocio = utf8_encode($objProcedimentoDTO->getStrNomeTipoProcedimento()); | ||
384 | + $objProcesso->descricao = utf8_encode($objProcedimentoDTO->getStrDescricaoProtocolo()); | ||
385 | + $objProcesso->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($objProcedimentoDTO->getDtaGeracaoProtocolo()); | ||
386 | + if($objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){ | ||
387 | + $objProcesso->hipoteseLegal = new stdClass(); | ||
388 | + $objProcesso->hipoteseLegal->identificacao = $objPenRelHipoteseLegalRN->getIdHipoteseLegalPEN($objProcedimentoDTO->getNumIdHipoteseLegalProtocolo()); | ||
389 | + } | ||
376 | 390 | ||
377 | - private function construirProcesso($dblIdProcedimento, $arrIdProcessoApensado = null) | ||
378 | - { | 391 | + $this->atribuirProdutorProcesso($objProcesso, $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(), $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo()); |
392 | + $this->atribuirDataHoraDeRegistro($objProcesso, $objProcedimentoDTO->getDblIdProcedimento()); | ||
393 | + $this->atribuirDocumentos($objProcesso, $dblIdProcedimento); | ||
394 | + $this->atribuirDadosInteressados($objProcesso, $dblIdProcedimento); | ||
395 | + $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado); | ||
379 | 396 | ||
380 | - if(!isset($dblIdProcedimento)){ | ||
381 | - throw new InfraException('Parâmetro $dblIdProcedimento não informado.'); | 397 | + $objProcesso->idProcedimentoSEI = $dblIdProcedimento; |
398 | + return $objProcesso; | ||
382 | } | 399 | } |
383 | 400 | ||
384 | - //TODO: Passar dados do ProcedimentoDTO via parâmetro j carregado anteriormente | ||
385 | - $objProcedimentoDTO = $this->consultarProcedimento($dblIdProcedimento); | ||
386 | - $objPenRelHipoteseLegalRN = new PenRelHipoteseLegalEnvioRN(); | ||
387 | - $objProcesso = new stdClass(); | ||
388 | - $objProcesso->protocolo = utf8_encode($objProcedimentoDTO->getStrProtocoloProcedimentoFormatado()); | ||
389 | - $objProcesso->nivelDeSigilo = $this->obterNivelSigiloPEN($objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo()); | ||
390 | - $objProcesso->processoDeNegocio = utf8_encode($objProcedimentoDTO->getStrNomeTipoProcedimento()); | ||
391 | - $objProcesso->descricao = utf8_encode($objProcedimentoDTO->getStrDescricaoProtocolo()); | ||
392 | - $objProcesso->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($objProcedimentoDTO->getDtaGeracaoProtocolo()); | ||
393 | - if($objProcedimentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){ | ||
394 | - $objProcesso->hipoteseLegal = new stdClass(); | ||
395 | - $objProcesso->hipoteseLegal->identificacao = $objPenRelHipoteseLegalRN->getIdHipoteseLegalPEN($objProcedimentoDTO->getNumIdHipoteseLegalProtocolo()); | ||
396 | - } | ||
397 | - $this->atribuirProdutorProcesso($objProcesso, | ||
398 | - $objProcedimentoDTO->getNumIdUsuarioGeradorProtocolo(), | ||
399 | - $objProcedimentoDTO->getNumIdUnidadeGeradoraProtocolo()); | ||
400 | - $this->atribuirDataHoraDeRegistro($objProcesso, $objProcedimentoDTO->getDblIdProcedimento()); | ||
401 | - | ||
402 | - $this->atribuirDocumentos($objProcesso, $dblIdProcedimento); | ||
403 | - $this->atribuirDadosInteressados($objProcesso, $dblIdProcedimento); | ||
404 | - $this->adicionarProcessosApensados($objProcesso, $arrIdProcessoApensado); | ||
405 | - $objProcesso->idProcedimentoSEI = $dblIdProcedimento; | ||
406 | - return $objProcesso; | ||
407 | - } | ||
408 | - | ||
409 | //TODO: Implementar mapeamento de atividades que sero enviadas para barramento (semelhante Protocolo Integrado) | 401 | //TODO: Implementar mapeamento de atividades que sero enviadas para barramento (semelhante Protocolo Integrado) |
410 | private function atribuirDadosHistorico($objProcesso, $dblIdProcedimento) | 402 | private function atribuirDadosHistorico($objProcesso, $dblIdProcedimento) |
411 | { | 403 | { |
@@ -828,6 +820,7 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -828,6 +820,7 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
828 | if($documentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){ | 820 | if($documentoDTO->getStrStaNivelAcessoLocalProtocolo() == ProtocoloRN::$NA_RESTRITO){ |
829 | $documento->hipoteseLegal = new stdClass(); | 821 | $documento->hipoteseLegal = new stdClass(); |
830 | $documento->hipoteseLegal->identificacao = $objPenRelHipoteseLegalRN->getIdHipoteseLegalPEN($documentoDTO->getNumIdHipoteseLegalProtocolo()); | 822 | $documento->hipoteseLegal->identificacao = $objPenRelHipoteseLegalRN->getIdHipoteseLegalPEN($documentoDTO->getNumIdHipoteseLegalProtocolo()); |
823 | + //TODO: Adicionar nome da hipótese legal atribuida ao documento | ||
831 | } | 824 | } |
832 | $documento->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($documentoDTO->getDtaGeracaoProtocolo()); | 825 | $documento->dataHoraDeProducao = $this->objProcessoEletronicoRN->converterDataWebService($documentoDTO->getDtaGeracaoProtocolo()); |
833 | $documento->produtor = new stdClass(); | 826 | $documento->produtor = new stdClass(); |
@@ -846,7 +839,7 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -846,7 +839,7 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
846 | $documento->produtor->unidade->tipo = self::STA_TIPO_PESSOA_ORGAOPUBLICO; | 839 | $documento->produtor->unidade->tipo = self::STA_TIPO_PESSOA_ORGAOPUBLICO; |
847 | //TODO: Informar dados da estrutura organizacional (estruturaOrganizacional) | 840 | //TODO: Informar dados da estrutura organizacional (estruturaOrganizacional) |
848 | } | 841 | } |
849 | - $documento->produtor->numeroDeIdentificacao = $documentoDTO->getStrProtocoloDocumentoFormatado(); | 842 | + $documento->produtor->numeroDeIdentificacao = $documentoDTO->getStrProtocoloDocumentoFormatado(); //TODO: Avaliar se informação está correta |
850 | 843 | ||
851 | $this->atribuirDataHoraDeRegistro($documento, $documentoDTO->getDblIdProcedimento(), $documentoDTO->getDblIdDocumento()); | 844 | $this->atribuirDataHoraDeRegistro($documento, $documentoDTO->getDblIdProcedimento(), $documentoDTO->getDblIdDocumento()); |
852 | //TODO: Implementar mapeamento de espécies documentais | 845 | //TODO: Implementar mapeamento de espécies documentais |
@@ -958,8 +951,6 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -958,8 +951,6 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
958 | 951 | ||
959 | private function atribuirComponentesDigitais($objDocumento, DocumentoDTO $objDocumentoDTO) | 952 | private function atribuirComponentesDigitais($objDocumento, DocumentoDTO $objDocumentoDTO) |
960 | { | 953 | { |
961 | - | ||
962 | - | ||
963 | if(!isset($objDocumento)){ | 954 | if(!isset($objDocumento)){ |
964 | throw new InfraException('Parâmetro $objDocumento não informado.'); | 955 | throw new InfraException('Parâmetro $objDocumento não informado.'); |
965 | } | 956 | } |
@@ -973,11 +964,22 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -973,11 +964,22 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
973 | if(!isset($arrInformacaoArquivo) || count($arrInformacaoArquivo) == 0){ | 964 | if(!isset($arrInformacaoArquivo) || count($arrInformacaoArquivo) == 0){ |
974 | throw new InfraException('Erro durante obtenção de informações sobre o componente digital do documento {$objDocumentoDTO->getStrProtocoloDocumentoFormatado()}.'); | 965 | throw new InfraException('Erro durante obtenção de informações sobre o componente digital do documento {$objDocumentoDTO->getStrProtocoloDocumentoFormatado()}.'); |
975 | } | 966 | } |
976 | - //TODO: Revisar tal implementao para atender a gerao de hash de arquivos grandes | 967 | + |
977 | $strAlgoritmoHash = self::ALGORITMO_HASH_DOCUMENTO; | 968 | $strAlgoritmoHash = self::ALGORITMO_HASH_DOCUMENTO; |
978 | $strConteudoAssinatura = $arrInformacaoArquivo['CONTEUDO']; | 969 | $strConteudoAssinatura = $arrInformacaoArquivo['CONTEUDO']; |
979 | $hashDoComponenteDigital = hash($strAlgoritmoHash, $strConteudoAssinatura, true); | 970 | $hashDoComponenteDigital = hash($strAlgoritmoHash, $strConteudoAssinatura, true); |
980 | $hashDoComponenteDigital = base64_encode($hashDoComponenteDigital); | 971 | $hashDoComponenteDigital = base64_encode($hashDoComponenteDigital); |
972 | + | ||
973 | + //Busca registro de tramitações anteriores para este componente digital para identificar se o Barramento do PEN já havia registrado o hash do documento gerado da | ||
974 | + //forma antiga, ou seja, considerando o link do Número SEI. Este link foi removido para manter o padrão de conteúdo de documentos utilizado pelo SEI para assinatura | ||
975 | + //Para não bloquear os documentos gerados anteriormente, aqueles já registrados pelo Barramento com o hash antigo deverão manter a geração de conteúdo anteriormente utilizada. | ||
976 | + $objComponenteDigital = $this->consultarComponenteDigital($objDocumentoDTO->getDblIdDocumento()); | ||
977 | + $hashDoComponenteDigitalAnterior = (isset($objComponenteDigital)) ? $objComponenteDigital->getStrHashConteudo() : null; | ||
978 | + if(isset($hashDoComponenteDigitalAnterior) && ($hashDoComponenteDigitalAnterior <> $hashDoComponenteDigital)){ | ||
979 | + $hashDoComponenteDigital = $arrInformacaoArquivo['CONTEUDO_LEGADO']; | ||
980 | + } | ||
981 | + | ||
982 | + //TODO: Revisar tal implementao para atender a gerao de hash de arquivos grandes | ||
981 | $objDocumento->componenteDigital = new stdClass(); | 983 | $objDocumento->componenteDigital = new stdClass(); |
982 | $objDocumento->componenteDigital->ordem = 1; | 984 | $objDocumento->componenteDigital->ordem = 1; |
983 | $objDocumento->componenteDigital->nome = utf8_encode($arrInformacaoArquivo["NOME"]); | 985 | $objDocumento->componenteDigital->nome = utf8_encode($arrInformacaoArquivo["NOME"]); |
@@ -1081,10 +1083,22 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -1081,10 +1083,22 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
1081 | $objDocumento->componenteDigital->assinaturaDigital[] = $objAssinaturaDigital; | 1083 | $objDocumento->componenteDigital->assinaturaDigital[] = $objAssinaturaDigital; |
1082 | } | 1084 | } |
1083 | 1085 | ||
1084 | - | ||
1085 | return $objDocumento; | 1086 | return $objDocumento; |
1086 | } | 1087 | } |
1087 | 1088 | ||
1089 | + | ||
1090 | + private function consultarComponenteDigital($parDblIdDocumento) | ||
1091 | + { | ||
1092 | + $objComponenteDigitalDTO = new ComponenteDigitalDTO(); | ||
1093 | + $objComponenteDigitalDTO->setDblIdDocumento($parDblIdDocumento); | ||
1094 | + $objComponenteDigitalDTO->setNumMaxRegistrosRetorno(1); | ||
1095 | + $objComponenteDigitalDTO->setOrd('IdTramite', InfraDTO::$TIPO_ORDENACAO_DESC); | ||
1096 | + $objComponenteDigitalDTO->retTodos(); | ||
1097 | + | ||
1098 | + $objComponenteDigitalBD = new ComponenteDigitalBD($this->getObjInfraIBanco()); | ||
1099 | + return $objComponenteDigitalBD->consultar($objComponenteDigitalDTO); | ||
1100 | + } | ||
1101 | + | ||
1088 | private function obterDadosArquivo(DocumentoDTO $objDocumentoDTO) | 1102 | private function obterDadosArquivo(DocumentoDTO $objDocumentoDTO) |
1089 | { | 1103 | { |
1090 | 1104 | ||
@@ -1100,27 +1114,12 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -1100,27 +1114,12 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
1100 | $docEmailEnviado = $objDocumentoDTO->getNumIdSerie() == $idSerieEmail && $objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_FORMULARIO_AUTOMATICO ? true : false; | 1114 | $docEmailEnviado = $objDocumentoDTO->getNumIdSerie() == $idSerieEmail && $objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_FORMULARIO_AUTOMATICO ? true : false; |
1101 | 1115 | ||
1102 | if($objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO) { | 1116 | if($objDocumentoDTO->getStrStaDocumento() == DocumentoRN::$TD_EDITOR_INTERNO) { |
1117 | + $strConteudoAssinatura = $this->obterConteudoInternoAssinatura($objDocumentoDTO->getDblIdDocumento()); | ||
1118 | + $strConteudoAssinaturaLegado = $this->obterConteudoInternoAssinatura($objDocumentoDTO->getDblIdDocumento(), true); | ||
1103 | 1119 | ||
1104 | - $objEditorDTO = new EditorDTO(); | ||
1105 | - $objEditorDTO->setDblIdDocumento($objDocumentoDTO->getDblIdDocumento()); | ||
1106 | - $objEditorDTO->setNumIdBaseConhecimento(null); | ||
1107 | - $objEditorDTO->setStrSinCabecalho('S'); | ||
1108 | - $objEditorDTO->setStrSinRodape('S'); | ||
1109 | - $objEditorDTO->setStrSinIdentificacaoVersao('S'); | ||
1110 | - $objEditorDTO->setStrSinProcessarLinks('S'); | ||
1111 | - | ||
1112 | - $numVersaoAtual = intval(str_replace('.', '', SEI_VERSAO)); | ||
1113 | - $numVersaoCarimboObrigatorio = intval(str_replace('.', '', self::VERSAO_CARIMBO_PUBLICACAO_OBRIGATORIO)); | ||
1114 | - if ($numVersaoAtual >= $numVersaoCarimboObrigatorio) { | ||
1115 | - $objEditorDTO->setStrSinCarimboPublicacao('N'); | ||
1116 | - } | ||
1117 | - | ||
1118 | - $objEditorRN = new EditorRN(); | ||
1119 | - $strConteudoAssinatura = $objEditorRN->consultarHtmlVersao($objEditorDTO); | ||
1120 | - | ||
1121 | - //$strConteudoAssinatura = $objDocumentoDTO->getStrConteudoAssinatura(); | ||
1122 | $arrInformacaoArquivo['NOME'] = $strProtocoloDocumentoFormatado . ".html"; | 1120 | $arrInformacaoArquivo['NOME'] = $strProtocoloDocumentoFormatado . ".html"; |
1123 | $arrInformacaoArquivo['CONTEUDO'] = $strConteudoAssinatura; | 1121 | $arrInformacaoArquivo['CONTEUDO'] = $strConteudoAssinatura; |
1122 | + $arrInformacaoArquivo['CONTEUDO_LEGADO'] = $strConteudoAssinaturaLegado; | ||
1124 | $arrInformacaoArquivo['TAMANHO'] = strlen($strConteudoAssinatura); | 1123 | $arrInformacaoArquivo['TAMANHO'] = strlen($strConteudoAssinatura); |
1125 | $arrInformacaoArquivo['MIME_TYPE'] = 'text/html'; | 1124 | $arrInformacaoArquivo['MIME_TYPE'] = 'text/html'; |
1126 | $arrInformacaoArquivo['ID_ANEXO'] = null; | 1125 | $arrInformacaoArquivo['ID_ANEXO'] = null; |
@@ -1199,6 +1198,46 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -1199,6 +1198,46 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
1199 | return $arrInformacaoArquivo; | 1198 | return $arrInformacaoArquivo; |
1200 | } | 1199 | } |
1201 | 1200 | ||
1201 | + | ||
1202 | + /** | ||
1203 | + * Método de obtenção do conteúdo do documento interno para envio e cálculo de hash | ||
1204 | + * | ||
1205 | + * Anteriormente, os documentos enviados para o Barramento de Serviços do PEN continham o link para o número SEI do documento. | ||
1206 | + * Este link passou a não ser mais considerado pois é uma informação dinâmica e pertinente apenas quando o documento é visualizado | ||
1207 | + * dentro do sistema SEI. Quando o documento é tramitado externamente, este link não possui mais sentido. | ||
1208 | + * | ||
1209 | + * Para tratar esta transição entre os formatos de documentos, existe o parâmetro $bolFormatoLegado para indicar qual formato deverá | ||
1210 | + * ser utilizado na montagem dos metadados para envio. * | ||
1211 | + * | ||
1212 | + * @param Double $parDblIdDocumento Identificador do documento | ||
1213 | + * @param boolean $bolFormatoLegado Flag indicando se a forma antiga de recuperação de conteúdo para envio deverá ser utilizada | ||
1214 | + * @return String Conteúdo completo do documento para envio | ||
1215 | + */ | ||
1216 | + private function obterConteudoInternoAssinatura($parDblIdDocumento, $bolFormatoLegado=false) | ||
1217 | + { | ||
1218 | + $objEditorDTO = new EditorDTO(); | ||
1219 | + $objEditorDTO->setDblIdDocumento($parDblIdDocumento); | ||
1220 | + $objEditorDTO->setNumIdBaseConhecimento(null); | ||
1221 | + $objEditorDTO->setStrSinCabecalho('S'); | ||
1222 | + $objEditorDTO->setStrSinRodape('S'); | ||
1223 | + $objEditorDTO->setStrSinIdentificacaoVersao('N'); | ||
1224 | + | ||
1225 | + if($bolFormatoLegado) { | ||
1226 | + $objEditorDTO->setStrSinIdentificacaoVersao('S'); | ||
1227 | + $objEditorDTO->setStrSinProcessarLinks('S'); | ||
1228 | + } | ||
1229 | + | ||
1230 | + $numVersaoAtual = intval(str_replace('.', '', SEI_VERSAO)); | ||
1231 | + $numVersaoCarimboObrigatorio = intval(str_replace('.', '', self::VERSAO_CARIMBO_PUBLICACAO_OBRIGATORIO)); | ||
1232 | + if ($numVersaoAtual >= $numVersaoCarimboObrigatorio) { | ||
1233 | + $objEditorDTO->setStrSinCarimboPublicacao('N'); | ||
1234 | + } | ||
1235 | + | ||
1236 | + $objEditorRN = new EditorRN(); | ||
1237 | + return $objEditorRN->consultarHtmlVersao($objEditorDTO); | ||
1238 | + } | ||
1239 | + | ||
1240 | + | ||
1202 | private function obterTipoDeConteudo($strMimeType) | 1241 | private function obterTipoDeConteudo($strMimeType) |
1203 | { | 1242 | { |
1204 | if(!isset($strMimeType)){ | 1243 | if(!isset($strMimeType)){ |
@@ -1532,8 +1571,6 @@ class ExpedirProcedimentoRN extends InfraRN { | @@ -1532,8 +1571,6 @@ class ExpedirProcedimentoRN extends InfraRN { | ||
1532 | $arrInformacaoArquivo = $this->obterDadosArquivo($objDocumentoDTO); | 1571 | $arrInformacaoArquivo = $this->obterDadosArquivo($objDocumentoDTO); |
1533 | $dadosDoComponenteDigital->conteudoDoComponenteDigital = new SoapVar($arrInformacaoArquivo['CONTEUDO'], XSD_BASE64BINARY); | 1572 | $dadosDoComponenteDigital->conteudoDoComponenteDigital = new SoapVar($arrInformacaoArquivo['CONTEUDO'], XSD_BASE64BINARY); |
1534 | 1573 | ||
1535 | - | ||
1536 | - | ||
1537 | try { | 1574 | try { |
1538 | //Enviar componentes digitais | 1575 | //Enviar componentes digitais |
1539 | $parametros = new stdClass(); | 1576 | $parametros = new stdClass(); |