Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

  • Pelo tools, opção 3, o sistema deverá fazer a criação dos seguintes campos na tabela campo:
    • idconsulta: integer, nullable, FK para tabela consulta
    • idconexao: integer, nullable, FK para tabela conexao
    • sql: bytea, nullable
  • Pelo tools, opção 3, o sistema deverá fazer a criação dos seguintes campos na tabela pesquisapergunta:
    • idcampo: integer, nullable, FK para tabela campo

Menu consulta

  • A opção do menu "Cadastro > Dashboard > Consulta" deverá ser endereçado para "Cadastro > Geral > Consulta" visto que será dependência para campos adicionais, não somente de dashboards

Cadastro de campos adicionais

  • Na Web, Na tela de cadastro de campos adicionais gerais (Cadastro > Geral > Campos adicionais),
    • No campo "Contexto",
      • O sistema deverá adicionar nova opção selecionável de label "Formulário" e valor "FORM", que deverá ser persistido no campo campo.sglentidade
    • Quando selecionado o campo "Contexto" = "Formulário",
      • Quando selecionado o campo "Tipo de campo" = "Pesquisa em entidade"
        • O sistema deve mostrar nova opção selecionável no campo "Busca" de label "Entidade genérica" e valor "GENERICO" que deverá ser persistido no campo campo.nometabela
      • Quando selecionado o campo "Busca" = "Entidade genérica", os seguintes novos campos deverão ser exibidos abaixo do campo "Busca", sendo eles:
        • "Consulta": Campo de pesquisa, cujas opções selecionáveis serão resultado da consulta a seguir:
            • Bloco de código
              /* select idconexao as valorchave, descricao as labelvalor from consulta where idnativo = 1 */
          • O campo deverá ser persistido no campo campo.idconsulta
          • Ao lado do campo drop-down, o sistema deverá exibir botão de label "Configurações avançadas"
            • Quando o botão for clicado,
              • O sistema deverá tornar o campo "Consulta" não-editável
              • O sistema deverá exibir novos campos, sendo eles:
                • Base de dados": Campo de seleção (Drop-down), cujas opções selecionáveis serão resultado da consulta a seguir:
                    • Bloco de código
                      /* select idconexao as valorchave, descricao as labelvalor from conexao where idnativo = 1 */
                  • O campo deverá ser persistido no campo campo.idconexao
                • "Consulta SQL": text-area obrigatório
                  • O campo somente será obrigatório caso esteja visível
                  • Ao lado do campo, deverá ser exibido novo botão de label "Confirmar", de cor azul.
                    • Ao clicar em "Confirmar", o sistema deverá executar a select cadastrada no campo "Consulta SQL" e caso haja algum erro de sintaxe, o sistema deverá retornar a mensagem de erro do banco de dados em tela, em mensagem toast.
                      • Caso a consulta for executada com sucesso, o sistema deverá validar se os campos "chave" e "valor" foram campos resultantes da consulta acima,
                        • Caso não forem,
                          • O sistema deverá retornar a mensagem toast de erro: "Os campos chave e valor devem ser declarados na consulta"
                        • Caso forem
                          • O sistema deverá retornar mensagem toast de sucesso: "A consulta foi executada com sucesso"
                  • O campo deverá ser persistido no campo campo.sql

Cadastro de formulário

  • Na Web, Na tela de cadastro de formulários,
    • Na aba "Formulário"
      • Na seção de "Cadastro de perguntas"
        • No campo "Tipo da pergunta",
          • O sistema deverá adicionar nova opção selecionável de label "Campo adicional" e valor "ADIC" que deve ser persistido no campo pesquisapergunta.sglcomponente
        • Quando selecionado campo "Tipo da pergunta" = "Campo adicional",
          • O sistema deverá exibir campo de label "Campo adicional", campo drop down, cujas opções selecionáveis é o resultado da consulta a seguir:
            • Bloco de código
              select idcampo as chave, descricao as valor from campo where sglentidade = 'FORM' and idnativo = 1 and idcampotipo = (select idcampotipo from campotipo where sglcampotipo = 'PESENT')
            • O campo deverá ser persistido no campo pesquisapergunta.idcampo

Responder formulário

  • Na web, na tela de responder formulários
    • O sistema deverá implementar os novos tipos de pergunta do tipo "Campo adicional"
      • Para campos adicionais do tipo "PESENT" (Pesquisa em entidade), o sistema deverá mostrar o campo como campo de pesquisa (Chave e valor)
        • As opções selecionáveis serão o resultado da consulta persistida no campo campo.idconsulta > sql associado ao campo adicional do campo pesquisapergunta.idcampo
          • Caso não tenha valor cadastrado no campo acima, será resultado da consulta cadastrada no campo campo.sql
          • A grid de seleção dos registros deverá mostrar duas colunas "Chave" e "Valor" referentes aos campos da consulta chave e valor, respectivamente
      • O valor do campo deverá ser persistido no campo pesquisapergresulopcao.respostadescricao, com a chave da opção do campo adicional selecionado em tela
  • No Android, na tela de responder formulários
    • O sistema deverá implementar os novos tipos de pergunta do tipo "Campo adicional"
      • Para campos adicionais do tipo "PESENT" (Pesquisa em entidade), o sistema deverá mostrar o campo como campo de pesquisa (Chave e valor)
        • Especificamente no Android, visto que não é possível fazer consultas com sintaxe SQL no contexto offline
          • No momento da sincronização de dados
            • O sistema deverá preparar view ventidadegenerica com as seguintes colunas:
                • idcampo
                  • Referência do campo adicional do tipo "Pesquisa entidade" com consulta "Entidade genérica"
                • chave
                  • Será resultado do campo chave da consulta cadastrada no campo campo.idconsulta > sql
                    • Caso não tenha valor cadastrado no campo acima, será resultado do campo chave da consulta cadastrada no campo campo.sql
                • valor
                  • Será resultado do campo chave da consulta cadastrada no campo campo.idconsulta > sql
                    • Caso não tenha valor cadastrado no campo acima, será resultado do campo chave da consulta cadastrada no campo campo.sql
              • Dessa forma, o sistema já carregará previamente as opções selecionáveis de todos os campos adicionais de formulários, para que o contexto offline continue funcional
        • As opções selecionáveis serão o resultado da consulta da view ventidadegenerica, associada ao campo ventidadegenerica.idcampo
          • A grid de seleção dos registros deverá mostrar duas colunas "Chave" e "Valor" referentes aos campos da consulta chave e valor, respectivamente
      • O valor do campo deverá ser persistido no campo pesquisapergresulopcao.respostadescricao, com a chave da opção do campo adicional selecionado em tela

Visualizar formulário

  • Na web e Android, na tela de visualizar formulários
    • O sistema deverá implementar 
  • No Android, na tela de visualizar formulários