O processamento de dados pode ser realizado a nível de Base de Dados com procedimentos armazenados, Triggers, Funções e outros; ou a nível Aplicação. Dependendo do quão grande seja o volume de dados a ser manuseado e da interação que o usuário deve ter, uma ou outra pode se sobressair como melhor opção.
O processamento de dados que mostraremos como exemplo é o realizado a nível Aplicação, para o mesmo vamos adotar certos parâmetros da Base de Dados.
Por outro lado o usuário irá inserir outros parâmetros para assim completar o cálculo e inserir o resultado na Base de Dados.
Utilizaremos as seguintes Macros Scriptcase para facilitar nosso trabalho:
- SC_LOOKUP http://www.scriptcase.net/docs/en_us/v81/scriptcase-macros/scriptcase-macros#sc_lookup
- SC_EXEC_SQL http://www.scriptcase.net/docs/en_us/v81/scriptcase-macros/scriptcase-macros#sc_exec_sql
Quanto a estrutura da Base de Dados, temos duas tabelas que são descritas abaixo:
Quanto a estrutura da Base de Dados, temos duas tabelas que são descritas abaixo:
A tabela “Parameter” que se encontra em uma Base de Dados PostgreSQL.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image01.png)
A tabela “Payment” que se encontra numa Base de Dados MySQL
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image02.png)
O processo que faremos busca calcular a taxa de juros que o usuário terá que pagar tendo como base a quantidade desejada e a quantidade de parcelas (meses) que deseja para desenvolvê-lo.
Dentro da tabela “Parameter” temos a taxa de juros que o usuário pagará com base na quantidade de meses que escolha na nossa aplicação.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image03.png)
Já dentro do nosso projeto no Scriptcase criamos as conexões que vamos precisar para consultar a tabela em PostgreSQL (conn_Parameter) e assim inserir na tabela MySQL (conn_Sales).
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image04.png)
Em seguida criamos uma aplicação do tipo controle de forma a adicionar os campo que desejamos mostrar ao usuário e assim realizar o processo que irá calcular quanto ele deverá pagar e quanto pagará cada mês incluindo já os juros.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image05.png)
O passo seguinte é criar os campos necessários para que o usuário adicione seu nome, quantidade desejada e quantidade de parcelas. Ao possuir esses dados nossa aplicação realizará uma consulta a tabela Parameter e retornará a taxa de juros a ser aplicada para a quantidade de parcelas selecionada e o total a ser pago.
De acordo com o passo anterior, a aplicação terá 5 (cinco) campos, para (…) clicamos em Control -> Campos -> “Novo Campo”, adicionamos a quantidade de campos a ser criados e clicamos em “Seguinte”.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image06.png)
Inserimos os dados para cada campo
Usuário:
- Tipo: Texto
- Nome: User
- Etiqueta: User
Quantidade:
- Tipo: Decimal
- Nome: Amount
- Etiqueta: Amount
Quantidade de Ações (Meses):
- Tipo: Select
- Nome: Months
- Etiqueta: Months
Juros Pagos:
- Tipo: Decimal
- Nome: Interest
- Etiqueta: Interest
Total a devolver:
- Tipo: Decimal
- Nome: Total
- Etiqueta: Total
Por último clicamos em “Criar” para guardar as configurações de cada campo criado.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image07.png)
O passo seguinte é marcar os campos de Usuário, Quantidade e Meses como requeridos; os campos de taxa de juros e total a ser devolvido apenas como de leitura, fazemos isso a partir da opção localizada em Control – Editar Campos.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image08.png)
No campo {Months} devemos mostrar os meses disponíveis para que o usuário possa escolher em quantos meses deseja devolver o valor, por isso havíamos selecionado o tipo de campo SELECT.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image09.png)
De forma a mostrar os dados deve-se configurar a seção “Edição de Lookup” primeiramente indicando em “Escolha a conexão” a conexão a base de dados que queremos utilizar para obter os dados. Em seguida clicamos em “Criar Select” e escolhemos a tabela em questão, o id e o campo a mostrar.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image10.png)
Com isso já temos finalizada a parte visual e podemos começar a trabalhar com os processos.
Obter taxa de juros a aplicar:
Na seção Programação -> Métodos PHP clicamos em “Novo Método”, o indicamos o nome que queremos dá (no nosso exemplo “ObtainParameter”) e clicar em “Criar”.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image11.png)
Uma vez que temos a janela de codificação aberta, para evitar ter que escrever todo o código que necessitamos podemos inserir o código de exemplo que mais se aproxima a nosso objetivo. Como podem observar na imagem seguinte, utilizamos o código de “Selecting fields from another table” (Selecionando campos de outra tabela) que utiliza a macro SC_LOOKUP e realizamos as modificações com base na mesma.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image12.png)
Ao código que Scriptcase nos oferece, modificamos a sentença SQL que irá obter os meses e o juros relacionado, além de adicionar como filtro o campo {Months} que faz referência ao mês escolhido pelo usuário em nossa aplicação.
Os parâmetros que a macro SC_LOOKUP recebe são:
- Nome do Dataset a ser criado (no exemplo rsMonth)
- Setença SQL (no exemplo a sentença está armazenada na variável $check_sql).
- Conexão a Base de Dados a ser utilizada (no exemplo requerimos conectarnos ao Postgres, a conexão deve ser conn_Parameter).
O passo seguinte é renomear as variáveis e campos a ser atribuídos assim que retorne os valores da macro e os armazene dentro do Dataset (rsMonth).
Criamos uma variável de seção ([NumofMonths]) de forma a armazenar a quantidade de parcelas ou mês escolhido, já que o campo {Months} tem o id da tabela.
Também atribuímos ao campo {interest} a taxa de juros que se aplicará de acordo com o mês que o usuário escolheu.
No caso da consultar não retornar valores, vamos atribuir valores por defeito e assim prevemos qualquer mal funcionamento não comtemplado.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image13.png)
Calcular quantidade total com os juros:
Para isso não é necessário realizar consultas a Base de Dados, já que atribuímos os valores anteriormente obtidos aos campos de nossa aplicação.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image14.png)
Já tendo as duas funções PHP que nos permitirão realizar os cálculos desejados, nos resta chamá-los quando o usuário mude a quantidade e/o quantidade de meses desejados. Conseguimos fazer isso utilizando os Eventos Ajax e escolhendo o evento desejado, no nosso caso o evento é o “onChange” o que permitirá realizar o cálculo ante qualquer modificação.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image15.png)
Selecionamos o campo deseja {Amount} e o evento onChange, clicamos em “Criar Evento” para que nos permita edita-lo. Dentro adicionamos a chamada a ambas funções para que realize ambos processos.
O mesmo repetimos com o campo {Months} para que atualize os dados cada vez que mude a quantidade de meses.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image16.png)
O último passo é codificar o evento de maneira a inserir os pagamentos que o usuário deverá realizar tendo em conta os meses e o total das parcelas com juros a ser pagos ao longo desse período.
Para isso primeiro calculamos e atribuímos a variável se sessão o total que deverá pagar cada mês.
Com um ciclo for deveremos recorrer o processo de inserção tantas vezes como os meses que tenha selecionado o usuário.
Na imagem seguinte se pode ver que também temos um código de exemplo para a inserção. Tomando esse código como base, atualizamos os dados do nome da tabela e colunas segundo nossa estrutura. Fazemos tudo isso dentro de um bucle if que nos permitirá controlar que não se trate da última parcela.
Os parâmetros que recebem a macro SC_EXEC_SQL utilizada para a inserção são:
- Sentença SQL (no exemplo a sentença está armazenada na variável $insert_sql).
- Conexão a Base de Dados a ser utilizada (no exemplo a tabela Payment está no MySQL, assim a conexão deve ser conn_Sales).
Vale mencionar que esta macro nos permite executar qualquer instrução SQL no Servidor de Base de Dados, o que é muito útil inclusive para executar procedimentos armazenados ou tarefas de manutenção.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image17.png)
Para a última cota daremos um tratamento especial devido a que o arredondamento da divisão algumas vezes pode não ser exato, o que ocasionaria que o total a ser pago a soma de cotas não sejam iguais.
De maneira a conseguir que a soma das cotas e o total a ser pago sejam iguais aplicamos a última cota a diferença entre o total a ser pago e a soma de cota previamente inseridas.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image18.png)
Logo após terminar de escrever o código, se já executamos, veremos uma tela branca solicitando que atribuímos um valor as variáveis utilizadas na aplicação.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image19.png)
Dado o fato de que nossas variáveis são para uso internet e não esperamos recebê-las, devemos mudar o tipo de variável a “Saída”. Com isso evitaremos que a execução da aplicação volte a ser solicitada.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image20.png)
Agora sim, ao executar nos deve ser mostrado uma aplicação similar a da imagem seguinte onde nos solicitará adicionar Usuário, Quantidade e selecionar a quantidade de meses.
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image21.png)
Ao clicar no botão de confirmação o processo deverá inserir dentro da tabela Payment uma linha por cata cota que o usuário deve pagar, assim como vemos na imagem seguinte:
![](https://www.scriptcaseblog.com.br/wp-content/uploads/2017/03/image22.png)
Visite nosso blog e veja mais conteúdos!
Você pode gostar também…