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 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 263 })->add( new TokenValidationMiddleware());
250 264  
251 265 /**
... ... @@ -273,18 +287,6 @@ $app->group('/api/v1',function(){
273 287 $dto->setDblIdDocumento($request->getParam('documento'));
274 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 290 $this->post('/assinar', function($request, $response, $args){
289 291 /** @var $request Slim\Http\Request */
290 292 $rn = new MdWsSeiDocumentoRN();
... ...
rn/MdWsSeiBlocoRN.php
... ... @@ -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 69 * Consultar Blocos
31 70 * @param BlocoDTO $blocoDTO
... ... @@ -150,12 +189,14 @@ class MdWsSeiBlocoRN extends InfraRN {
150 189 $assinaturaDTOConsulta->setDblIdDocumento($relBlocoProtocoloDTO->getDblIdProtocolo());
151 190 $assinaturaDTOConsulta->retStrNome();
152 191 $assinaturaDTOConsulta->retStrTratamento();
  192 + $assinaturaDTOConsulta->retNumIdUsuario();
153 193 $arrAssinatura = $assinaturaRN->listarRN1323($assinaturaDTOConsulta);
154 194 /** @var AssinaturaDTO $assinaturaDTO */
155 195 foreach($arrAssinatura as $assinaturaDTO){
156 196 $arrResultAssinatura[] = array(
157 197 'nome' => $assinaturaDTO->getStrNome(),
158   - 'cargo' => $assinaturaDTO->getStrTratamento()
  198 + 'cargo' => $assinaturaDTO->getStrTratamento(),
  199 + 'idUsuario' => $assinaturaDTO->getNumIdUsuario(),
159 200 );
160 201 }
161 202 $anexoDTOConsulta = new AnexoDTO();
... ...