query para retornar num dbgrid parcela atrasada cobrando juros de 0.0033% ao dia mais multa de 0.02% no delphi usando banco mysql

MySQL

Delphi

24/03/2017

//rotina para baixar a parcela selecionada
//essa é a programação que tenho mas ela só baixa a parcela e atualiza no caixa precisava de uma programação para checar na tabela se a prestação tem mais que
3 dias de atraso, caso alguém possa ajudar
//obs. não seria mais lógico eu mudar o lay-out da tela ?, essa programação vai num speedbuttom, agradeço desde já
   TB_baixarParcela.Active := True;
   TB_baixarParcela.Locate('parc_id', SQL_parcelasProntasparc_id.Value, []);
   TB_baixarParcela.Edit;

   TB_baixarParcelaparc_pago.Value := 'SIM';
   TB_baixarParcelaparc_data_pago.Value := Date;

   TB_baixarParcela.Post;

   ShowMessage('Parcela paga com sucesso !!');

   //lançar no caixa
    with dm.SQL_caixa do
    begin
      Close;
      SQL.Clear;
      SQL.Add('update caixa set caixa_valor = caixa_valor + :valor');
      SQL.Add('where caixa_data_abre = :data and caixa_usuario = :user');
      ParamByName('user').Value  := dm.SQL_usuariosuser_id.Value;
      ParamByName('data').Value  := Date;
      ParamByName('valor').Value := SQL_parcelasProntasparc_valor.Value;
      ExecSQL;
    end;
Marcos Albano

Marcos Albano

Curtidas 0

Respostas

Italo Pereira

Italo Pereira

24/03/2017

tenta assim:

if (data_vencimento > now) then
begin
if ((now - data_vencimento) > 3) then
begin
showmessage('tem mais de três dias');
end;
end;
GOSTEI 0
Programador Aloprado

Programador Aloprado

24/03/2017

Bom dia Marcos!

Só para ter certeza que eu entendi direito. No momento de dar a baixa na parcela você quer calcular o juros e a multa? Ou você quer fazer o calculo no momento de listar? Por que se for na listagem, era bom postar o código que faz a listagem.

Espero ter ajudado!
GOSTEI 0
Marcos Albano

Marcos Albano

24/03/2017

boa tarde programador, primeiramente obrigado pela ajuda, eu estou tentando retornar multa e juros na grid para o cliente visualizar, e sim ao selecionar na grid gostaria que os valores aparecessem, vou postar o que tentei fazer achei uma função power tentei usar ela mas foi em vão segue:
procedure TF_baixarParcelas.btn_pagarParcelaClick(Sender: TObject);
 var Juros, var1, var2 :Real;
 var diasAtraso :TDateTime;
begin
   //calculo de juros
   Juros := 0;
   var1  := 0;
   var2  := 0;
   diasAtraso:= TB_baixarParcelaparc_data_pago.Value - TB_baixarParcelaparc_vence.Value;

   if diasAtraso > 3 then
   begin
   var1 := (1+(0.02 * 0.0033));
   var2 := Power(var1, diasAtraso);
   Juros := (TB_baixarParcelaparc_valor.Value * var2) - TB_baixarParcelaparc_valor.Value;
   TB_baixarParcelaparc_juros.Value := Juros;
   //rotina para baixar a parcela selecionada

   TB_baixarParcela.Active := True;

   TB_baixarParcela.Locate(''parc_id'', SQL_parcelasProntasparc_id.Value, []);
   TB_baixarParcela.Edit;

   TB_baixarParcelaparc_pago.Value := ''SIM'';
   TB_baixarParcelaparc_data_pago.Value := Date;

   TB_baixarParcela.Post;

   ShowMessage(''Parcela paga com sucesso !!'');
   end
   else
   begin
  //rotina para baixar a parcela selecionada

   TB_baixarParcela.Active := True;

   TB_baixarParcela.Locate(''parc_id'', SQL_parcelasProntasparc_id.Value, []);
   TB_baixarParcela.Edit;

   TB_baixarParcelaparc_pago.Value := ''SIM'';
   TB_baixarParcelaparc_data_pago.Value := Date;

   TB_baixarParcela.Post;

   ShowMessage(''Parcela paga com sucesso !!'');
  end;

   //lançar no caixa
    with dm.SQL_caixa do
    begin
      Close;
      SQL.Clear;
      SQL.Add(''update caixa set caixa_valor = caixa_valor + :valor'');
      SQL.Add(''where caixa_data_abre = :data and caixa_usuario = :user'');
      ParamByName(''user'').Value  := dm.SQL_usuariosuser_id.Value;
      ParamByName(''data'').Value  := Date;
      ParamByName(''valor'').Value := SQL_parcelasProntasparc_valor.Value;
      ExecSQL;
    end;

    //===================================================================

   //atualização da sql
   SQL_parcelasProntas.Close;
   SQL_parcelasProntas.Open;
end; 
GOSTEI 0
Marcos Albano

Marcos Albano

24/03/2017

tentei dessa forma, mas acabei me perdendo no caminho, duvida, pra listar juros, parcela, vencto eu preciso de uma view para a grid?, e a programação está correta na tb_baixarparcela_valor?
se puder analisar eu agradeço
GOSTEI 0
POSTAR