Commit 77e5f16b85d4f7ebf16ba79b98c63348fbefccbc

Authored by eduardo.batista
1 parent 28508d8d
Exists in master and in 1 other branch desenv

[Feat] Assinar bloco de assinatura.

Showing 2 changed files with 56 additions and 13 deletions   Show diff stats
controlador_ws.php
@@ -246,6 +246,20 @@ $app->group('/api/v1',function(){ @@ -246,6 +246,20 @@ $app->group('/api/v1',function(){
246 return $response->withJSON($rn->cadastrarAnotacaoBloco($dto)); 246 return $response->withJSON($rn->cadastrarAnotacaoBloco($dto));
247 }); 247 });
248 248
  249 + $this->post('/assinar/{bloco}', function($request, $response, $args){
  250 + //o- novo pacote 4
  251 + /** @var $request Slim\Http\Request */
  252 + $rn = new MdWsSeiBlocoRN();
  253 + return $response->withJSON($rn->apiAssinarBloco(
  254 + $request->getAttribute('route')->getArgument('bloco'),
  255 + $request->getParam('orgao'),
  256 + MdWsSeiRest::dataToIso88591($request->getParam('cargo')),
  257 + $request->getParam('login'),
  258 + $request->getParam('senha'),
  259 + $request->getParam('usuario')
  260 + ));
  261 + });
  262 +
249 })->add( new TokenValidationMiddleware()); 263 })->add( new TokenValidationMiddleware());
250 264
251 /** 265 /**
@@ -273,18 +287,6 @@ $app->group('/api/v1',function(){ @@ -273,18 +287,6 @@ $app->group('/api/v1',function(){
273 $dto->setDblIdDocumento($request->getParam('documento')); 287 $dto->setDblIdDocumento($request->getParam('documento'));
274 return $response->withJSON($rn->darCiencia($dto)); 288 return $response->withJSON($rn->darCiencia($dto));
275 }); 289 });
276 - $this->post('/assinar/bloco', function($request, $response, $args){  
277 - /** @var $request Slim\Http\Request */  
278 - $rn = new MdWsSeiDocumentoRN();  
279 - return $response->withJSON($rn->apiAssinarDocumentos(  
280 - $request->getParam('arrDocumento'),  
281 - $request->getParam('orgao'),  
282 - MdWsSeiRest::dataToIso88591($request->getParam('cargo')),  
283 - $request->getParam('login'),  
284 - $request->getParam('senha'),  
285 - $request->getParam('usuario')  
286 - ));  
287 - });  
288 $this->post('/assinar', function($request, $response, $args){ 290 $this->post('/assinar', function($request, $response, $args){
289 /** @var $request Slim\Http\Request */ 291 /** @var $request Slim\Http\Request */
290 $rn = new MdWsSeiDocumentoRN(); 292 $rn = new MdWsSeiDocumentoRN();
rn/MdWsSeiBlocoRN.php
@@ -26,6 +26,45 @@ class MdWsSeiBlocoRN extends InfraRN { @@ -26,6 +26,45 @@ class MdWsSeiBlocoRN extends InfraRN {
26 } 26 }
27 } 27 }
28 28
  29 +
  30 + /**
  31 + * Assina todos os documentos do bloco
  32 + * @param $idOrgao
  33 + * @param $strCargoFuncao
  34 + * @param $siglaUsuario
  35 + * @param $senhaUsuario
  36 + * @param $idUsuario
  37 + * @return array
  38 + */
  39 + public function apiAssinarBloco($idBloco, $idOrgao, $strCargoFuncao, $siglaUsuario, $senhaUsuario, $idUsuario)
  40 + {
  41 + try{
  42 + $objRelBlocoProtocoloDTO = new RelBlocoProtocoloDTO();
  43 + $objRelBlocoProtocoloDTO->setNumIdBloco($idBloco);
  44 + $objRelBlocoProtocoloDTO->setOrdNumSequencia(InfraDTO::$TIPO_ORDENACAO_ASC);
  45 +
  46 + $objRelBlocoProtocoloRN = new RelBlocoProtocoloRN();
  47 + $arrIdDocumentos = InfraArray::converterArrInfraDTO($objRelBlocoProtocoloRN->listarProtocolosBloco($objRelBlocoProtocoloDTO),'IdProtocolo');
  48 + if(!$arrIdDocumentos){
  49 + return MdWsSeiRest::formataRetornoSucessoREST('Nenhum documento para ser assinado neste bloco.');
  50 + }
  51 + $assinaturaDTO = new AssinaturaDTO();
  52 + $assinaturaDTO->setStrSiglaUsuario($siglaUsuario);
  53 + $assinaturaDTO->setStrSenhaUsuario($senhaUsuario);
  54 + $assinaturaDTO->setNumIdUsuario($idUsuario);
  55 + $assinaturaDTO->setNumIdOrgaoUsuario($idOrgao);
  56 + $assinaturaDTO->setStrCargoFuncao($strCargoFuncao);
  57 + $assinaturaDTO->setStrStaFormaAutenticacao(AssinaturaRN::$TA_SENHA);
  58 + $assinaturaDTO->setNumIdContextoUsuario(null);
  59 + $assinaturaDTO->setArrObjDocumentoDTO(InfraArray::gerarArrInfraDTO('DocumentoDTO','IdDocumento',$arrIdDocumentos));
  60 + $documentoRN = new DocumentoRN();
  61 + $documentoRN->assinarInterno($assinaturaDTO);
  62 + return MdWsSeiRest::formataRetornoSucessoREST('Documentos em bloco assinados com sucesso.');
  63 + }catch (Exception $e){
  64 + return MdWsSeiRest::formataRetornoErroREST($e);
  65 + }
  66 + }
  67 +
29 /** 68 /**
30 * Consultar Blocos 69 * Consultar Blocos
31 * @param BlocoDTO $blocoDTO 70 * @param BlocoDTO $blocoDTO
@@ -150,12 +189,14 @@ class MdWsSeiBlocoRN extends InfraRN { @@ -150,12 +189,14 @@ class MdWsSeiBlocoRN extends InfraRN {
150 $assinaturaDTOConsulta->setDblIdDocumento($relBlocoProtocoloDTO->getDblIdProtocolo()); 189 $assinaturaDTOConsulta->setDblIdDocumento($relBlocoProtocoloDTO->getDblIdProtocolo());
151 $assinaturaDTOConsulta->retStrNome(); 190 $assinaturaDTOConsulta->retStrNome();
152 $assinaturaDTOConsulta->retStrTratamento(); 191 $assinaturaDTOConsulta->retStrTratamento();
  192 + $assinaturaDTOConsulta->retNumIdUsuario();
153 $arrAssinatura = $assinaturaRN->listarRN1323($assinaturaDTOConsulta); 193 $arrAssinatura = $assinaturaRN->listarRN1323($assinaturaDTOConsulta);
154 /** @var AssinaturaDTO $assinaturaDTO */ 194 /** @var AssinaturaDTO $assinaturaDTO */
155 foreach($arrAssinatura as $assinaturaDTO){ 195 foreach($arrAssinatura as $assinaturaDTO){
156 $arrResultAssinatura[] = array( 196 $arrResultAssinatura[] = array(
157 'nome' => $assinaturaDTO->getStrNome(), 197 'nome' => $assinaturaDTO->getStrNome(),
158 - 'cargo' => $assinaturaDTO->getStrTratamento() 198 + 'cargo' => $assinaturaDTO->getStrTratamento(),
  199 + 'idUsuario' => $assinaturaDTO->getNumIdUsuario(),
159 ); 200 );
160 } 201 }
161 $anexoDTOConsulta = new AnexoDTO(); 202 $anexoDTOConsulta = new AnexoDTO();