O processamento dos 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:

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.

image01

A tabela “Payment” que se encontra numa Base de Dados MySQL

image02

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.

image03

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).

image04

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.

image05

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”.

image06

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.

image07

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.

image08

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.

image09

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.

image10

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”.

image11

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.

image12

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.

image13

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.

image14

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.

image15

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.

image16

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.

image17

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.

image18

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.

image19

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.  

image20

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.

image21

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:

image22

 

Você pode gostar de…

Conheça algumas bibliotecas externas para usar no seu projeto

Para você que se pergunta: "Quais tipos de bibliotecas posso utilizar dentro do Scriptcase ?", aqui...

Dicas de facilitadores para desenvolvedores – Parte II

Amigos, no post anterior mostrei algumas dicas para nós desenvolvedores. No post de hoje, venho co...

Dicas de facilitadores para desenvolvedores – Parte I

Veja Agora opções dentro do Scriptcase que funcionam como Facilitadores para Desenvolvedores utili...

Comente este post

Receba novos posts, ofertas e muito mais toda semana.