Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Agro API Hub


Linha de Produto:

Linha PIMS

Segmento:

Agroindústria

Módulo:

Framework

Função:Todas
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DAGROFRAME-5415

02. SITUAÇÃO/REQUISITO

Criar métodos de execução das fórmulas  existentes nos serviços de mobilidade do TOTVS Agro Bioenergia.


Específicos:

    • Implementar um método para identificar o nome do fórmular e buscar na base tabela MOBILE_SERVICES
    • Identificar o tipo de fórmula a ser executada
      • SQL - Realizam um consulta no Banco de dados e retornam um valor.
      • SqlParam - Faz a consulta e gera um condição AND ou OR para o WHERE do Serviço
      • Const - Retornam um valor fixo, sem execução de qualquer consulta no banco
      • SqlTernario - Fórmulas com operador ternário, onde deve existir um nova consulta ou apenas retornar um valor de acordo com o resultado da primeira query
      • BeforeSql - Substitui o padrão antigo para as fórmulas e é executado antes da query principal
  •  
    • Implementar a execução da fórmula e a substituição do nome da formula pelo resultado da execução da fórmula

03. SOLUÇÃO

Foi desenvolvido métodos de identificação, formatação e execução das formulas com base no padrão já existente no Portal Mobilidade, para que tenha o menor impacto possível nos aplicativos de mobilidade do TOTVS Agro Bioenergia.

  • Padrão de Projeto Factory

Foi criada a Classe ExecutorStrategyFactory para gerenciar as instancias dos tipos de formulas existentes

  • Padrão de Projeto Strategy

Foi desenvolvida uma interface chamada ExecutorStrategy a qual todo tipo de formula deverá implementar o método execute() com sua própria logica.

    • Formato de cadastro das formulas
      • As formulas devem ser inseridas na Tabela MOBILE_SERVICES respeitando o seguinte padrão no valor a ser inserido na coluna query - [Tipo_Formula, Formula]. Por Exemplo:

["Sql", "Select nome FROM Usuario WHERE codigo = 1]

A exceção desse formato é o tipo SqlTernario que segue o seguinte padrão [SqlTernario, formula, condição, true, false]. Por Exemplo

["SqlTernario","Select MAX(codigo) FROM Usuario", 0, 1, "Select MAX(codigo)+1 FROM Usuario"]

No exemplo se o codigo for igual a Zero retorna 1 caso contrario retorna o ultimo codigo + 1


04. DEMAIS INFORMAÇÕES

Não se aplica.

05. ASSUNTOS RELACIONADOS

Arquitetura e Tecnologia - TOTVS Agro API Hub



  • Sem rótulos