Histórico da Página
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 formulas existentes nos serviços de mobilidade do TOTVS Agro Bioenergia.
Específicos:
- Implementar um método para identificar o nome do formular e buscar na base tabela MOBILE_SERVICES
- Identificar o tipo de formula a ser executada
- SQL
- SqlParam
- Const
- SqlTernario
- BeforeSql
- Implementar a execução da formula e a substituição do nome da formula pelo resultado da execução da formula
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 formulasAs 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