diff --git a/controlador_ws.php b/controlador_ws.php index 835b2e8..7d42547 100644 --- a/controlador_ws.php +++ b/controlador_ws.php @@ -246,6 +246,20 @@ $app->group('/api/v1',function(){ return $response->withJSON($rn->cadastrarAnotacaoBloco($dto)); }); + $this->post('/assinar/{bloco}', function($request, $response, $args){ + //o- novo pacote 4 + /** @var $request Slim\Http\Request */ + $rn = new MdWsSeiBlocoRN(); + return $response->withJSON($rn->apiAssinarBloco( + $request->getAttribute('route')->getArgument('bloco'), + $request->getParam('orgao'), + MdWsSeiRest::dataToIso88591($request->getParam('cargo')), + $request->getParam('login'), + $request->getParam('senha'), + $request->getParam('usuario') + )); + }); + })->add( new TokenValidationMiddleware()); /** @@ -273,18 +287,6 @@ $app->group('/api/v1',function(){ $dto->setDblIdDocumento($request->getParam('documento')); return $response->withJSON($rn->darCiencia($dto)); }); - $this->post('/assinar/bloco', function($request, $response, $args){ - /** @var $request Slim\Http\Request */ - $rn = new MdWsSeiDocumentoRN(); - return $response->withJSON($rn->apiAssinarDocumentos( - $request->getParam('arrDocumento'), - $request->getParam('orgao'), - MdWsSeiRest::dataToIso88591($request->getParam('cargo')), - $request->getParam('login'), - $request->getParam('senha'), - $request->getParam('usuario') - )); - }); $this->post('/assinar', function($request, $response, $args){ /** @var $request Slim\Http\Request */ $rn = new MdWsSeiDocumentoRN(); diff --git a/rn/MdWsSeiBlocoRN.php b/rn/MdWsSeiBlocoRN.php index 4642759..6d8dbc3 100644 --- a/rn/MdWsSeiBlocoRN.php +++ b/rn/MdWsSeiBlocoRN.php @@ -26,6 +26,45 @@ class MdWsSeiBlocoRN extends InfraRN { } } + + /** + * Assina todos os documentos do bloco + * @param $idOrgao + * @param $strCargoFuncao + * @param $siglaUsuario + * @param $senhaUsuario + * @param $idUsuario + * @return array + */ + public function apiAssinarBloco($idBloco, $idOrgao, $strCargoFuncao, $siglaUsuario, $senhaUsuario, $idUsuario) + { + try{ + $objRelBlocoProtocoloDTO = new RelBlocoProtocoloDTO(); + $objRelBlocoProtocoloDTO->setNumIdBloco($idBloco); + $objRelBlocoProtocoloDTO->setOrdNumSequencia(InfraDTO::$TIPO_ORDENACAO_ASC); + + $objRelBlocoProtocoloRN = new RelBlocoProtocoloRN(); + $arrIdDocumentos = InfraArray::converterArrInfraDTO($objRelBlocoProtocoloRN->listarProtocolosBloco($objRelBlocoProtocoloDTO),'IdProtocolo'); + if(!$arrIdDocumentos){ + return MdWsSeiRest::formataRetornoSucessoREST('Nenhum documento para ser assinado neste bloco.'); + } + $assinaturaDTO = new AssinaturaDTO(); + $assinaturaDTO->setStrSiglaUsuario($siglaUsuario); + $assinaturaDTO->setStrSenhaUsuario($senhaUsuario); + $assinaturaDTO->setNumIdUsuario($idUsuario); + $assinaturaDTO->setNumIdOrgaoUsuario($idOrgao); + $assinaturaDTO->setStrCargoFuncao($strCargoFuncao); + $assinaturaDTO->setStrStaFormaAutenticacao(AssinaturaRN::$TA_SENHA); + $assinaturaDTO->setNumIdContextoUsuario(null); + $assinaturaDTO->setArrObjDocumentoDTO(InfraArray::gerarArrInfraDTO('DocumentoDTO','IdDocumento',$arrIdDocumentos)); + $documentoRN = new DocumentoRN(); + $documentoRN->assinarInterno($assinaturaDTO); + return MdWsSeiRest::formataRetornoSucessoREST('Documentos em bloco assinados com sucesso.'); + }catch (Exception $e){ + return MdWsSeiRest::formataRetornoErroREST($e); + } + } + /** * Consultar Blocos * @param BlocoDTO $blocoDTO @@ -150,12 +189,14 @@ class MdWsSeiBlocoRN extends InfraRN { $assinaturaDTOConsulta->setDblIdDocumento($relBlocoProtocoloDTO->getDblIdProtocolo()); $assinaturaDTOConsulta->retStrNome(); $assinaturaDTOConsulta->retStrTratamento(); + $assinaturaDTOConsulta->retNumIdUsuario(); $arrAssinatura = $assinaturaRN->listarRN1323($assinaturaDTOConsulta); /** @var AssinaturaDTO $assinaturaDTO */ foreach($arrAssinatura as $assinaturaDTO){ $arrResultAssinatura[] = array( 'nome' => $assinaturaDTO->getStrNome(), - 'cargo' => $assinaturaDTO->getStrTratamento() + 'cargo' => $assinaturaDTO->getStrTratamento(), + 'idUsuario' => $assinaturaDTO->getNumIdUsuario(), ); } $anexoDTOConsulta = new AnexoDTO(); -- libgit2 0.21.2