Pular para o conteúdo principal

Fluxo de Usabilidade

1) Perfis de Usuário identificados no código

No sistema, a usabilidade do módulo de Certidões gira em torno de dois perfis principais:

  • Usuário Externo (Cliente/Cidadão)

    • Acessa o menu de serviços via menuServicos.json.
    • Pode iniciar um pedido em /distribuicaodocumentos/pedidocertidao.
    • Interage com as views /_pedidoCertidao.cshtml e /_pedidoCertidaoModal.cshtml.
    • Acompanha o status do pedido em telas de protocolo (área ProtocoloComarca).
  • Usuário Interno (Cartório/Funcionário)

    • Valida dados e documentos recebidos.
    • Interage com controllers da área DistribuicaoDocumentos (ex.: PedidoCertidaoController.cs).
    • Atua na emissão, impressão e assinatura de certidões (controlado pelo campo CertidaoImpressaAssinada em serviços auxiliares).

2) Caminho de Usabilidade do Cliente

  1. Acesso ao Menu

    • Arquivo: App.Web/menuServicos.json

    • Exemplo:

      { "Value": "distribuicaodocumentos/pedidocertidao" }
      { "Value": "distribuicaodocumentos/pedidocertidao?tipo=RCPJ" }
      { "Value": "certidaoregistro/index" }
    • O usuário inicia o processo clicando em uma dessas opções.

  2. Renderização do Formulário

    • Arquivo: Areas/ProtocoloComarca/Views/Pedidos/_pedidoCertidao.cshtml

    • Exemplo:

      <h3 data-bind="visible: ($root.pedidoCertidao() || $root.pedidoBusca())">Certidão:</h3>
      <div class="form-group" data-bind="visible: $root.registroPelaCentral() && !$root.geracaoCertidao()">
    • A tela mostra campos específicos para pedidos de certidão.

    • Condicionais definem se a certidão será gerada localmente ou via central.

  3. Seleção do Modelo de Certidão

    • Arquivo: Areas/ProtocoloComarca/Views/Pedidos/_pedidoCertidaoModal.cshtml

    • Exemplo:

      <a data-bind="click: $root.selecionarModeloCertidao, attr: { 'data-id': ModeloCertidaoId }" class="modelo-certidao-item">
    • O usuário escolhe o modelo de certidão (via Knockout.js).

    • O ID selecionado é enviado ao backend.

  4. Envio do Pedido

    • Controller: Areas/DistribuicaoDocumentos/Controllers/PedidoCertidaoController.cs
    • Responsável por receber os dados do formulário.
    • Cria instância de PedidoCertidao no domínio.
    • Aplica validações antes de salvar o pedido.
  5. Validação Externa

    • Configuração: App.Web/appSettings.sample.config

    • Endpoint:

      <add key="CDT_wsCertidaoUrl" value="http://187.9.202.226:8093/ConsultasIndices/CDT/TSMImagem/ValidarCertidao" />
    • O sistema faz chamada HTTP para validar a certidão junto ao serviço externo.

    • O retorno define se a certidão pode seguir para emissão.

  6. Emissão e Assinatura

    • Service auxiliar: FolhaRegistroService/App_Data/unica_folha.json

    • Exemplo:

      "CertidaoImpressaAssinada": false
    • O fluxo só é concluído após o status mudar para true, indicando que a certidão foi emitida e assinada digitalmente.

  7. Disponibilização ao Usuário

    • Após assinatura, a certidão é registrada como concluída.
    • Fica disponível para download/visualização no portal do usuário.

3) Caminho de Usabilidade do Cartório

  1. Acesso às Solicitações

    • Funcionário visualiza pedidos pendentes através dos controllers em Areas/DistribuicaoDocumentos/Controllers/.
  2. Validação Manual

    • Pode revisar anexos e dados antes de permitir emissão.
    • Em caso de divergência, pode cancelar ou devolver pedido.
  3. Emissão Local

    • Em casos específicos, o cartório gera a certidão diretamente.
    • Status é controlado pelo campo CertidaoImpressaAssinada.

Fluxo Usabilidade Consolidado

  • Cliente → inicia pedido via menu.
  • Sistema → renderiza formulário → coleta dados → envia ao controller.
  • Sistema → chama webservice de validação externa.
  • Cartório → analisa, valida e autoriza emissão.
  • Sistema → gera certidão → assina digitalmente → libera para o cliente.