Advertisement
om20020

Muhamad Ihsan

Dec 14th, 2021 (edited)
1,270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 7.55 KB | None | 0 0
  1. procedure StringToCurr(AText:String):Currency;
  2. begin
  3.   AText  := StringReplace(AText,FormatSettings.ThousandSeparator,'',[rfReplaceAll]);
  4.   Result := StrToCurrDef(AText,0);
  5. end;
  6.  
  7. procedure TFRM_TRANSAKSI_PEMINJAMAN_TUNAI.BTN_SIMPANClick(Sender: TObject);
  8. var
  9.   jk,satuan : Integer;
  10.   jk2,satuan2 : Integer;
  11.   x : Integer;
  12.   z : Integer;
  13.   tgl: TDate;
  14.   tgl2: TDate;
  15.   tot_pokok,bunga,jml,sisa_angsu: Currency;
  16.   tot_pokok2,bunga2,jml2,sisa_angsu2: Currency;
  17.   saldo_bulanan : Currency;
  18.  
  19. begin
  20.  
  21.   IF BTN_EDIT.Caption = 'BATAL : F2' THEN
  22.   BEGIN
  23.     DM.ADO_QRY_JADWAL_ANGSURAN_TUNAI.Close;
  24.     DM.ADO_QRY_JADWAL_ANGSURAN_TUNAI.SQL.Text := 'SELECT * FROM tbl_jadwal_angsuran_tunai '
  25.                         +'WHERE NOMOR_REKENING LIKE '+QuotedStr('%'+ EDT_NOMOR_REKENING.Text+'%')+'';
  26.     DM.ADO_QRY_JADWAL_ANGSURAN_TUNAI.Open;
  27.     DM.ADO_CMD.CommandText := 'DELETE FROM tbl_jadwal_angsuran_tunai WHERE NOMOR_REKENING = '+QuotedStr(EDT_NOMOR_REKENING.Text)+'';
  28.     DM.ADO_CMD.Execute;
  29.  
  30.     WITH DM.ADO_QRY_DATA_TRANSAKSI_PINJAMAN_TUNAI DO
  31.     begin
  32.       Edit;
  33.       FieldByName('NOMOR_REGESTRASI').AsString     := EDT_NOMOR_REGESTRASI.Text;
  34.       FieldByName('TGL_REGESTRASI').AsDateTime     := DTP_TGL_REGESTRASI.Date;
  35.       FieldByName('TGL_AKHIR_ANGSURAN').AsDateTime := DTP_TGL_AKHIR_ANGSURAN.Date;
  36.       FieldByName('NOMOR_REKENING').AsString       := EDT_NOMOR_REKENING.Text;
  37.       FieldByName('NAMA_NASABAH').AsString         := EDT_NAMA_NASABAH.Text;
  38.       FieldByName('ALAMAT_NASABAH').AsString       := EDT_ALAMAT_NASABAH.Text;
  39.       FieldByName('JENIS_PINJAMAN').AsString       := CMB_JENIS_PINJAMAN.Text;
  40.       FieldByName('SALDO_AWAL').AsCurrency         := StringToCurr(EDT_SALDO_AWAL.Text);
  41.       FieldByName('SISA_ANGSURAN').AsCurrency      := StringToCurr(EDT_SISA_ANGSURAN.Text);
  42.       FieldByName('SUKU_BUNGA').AsCurrency         := StringToCurr(EDT_SUKU_BUNGA.Text);
  43.       FieldByName('JANGKA_WAKTU').AsCurrency       := StringToCurr(EDT_JUMLAH_PERIODE.Text);
  44.       FieldByName('PRIODE_ANGSURAN').AsString      := EDT_PERIODE_ANGSURAN.Text;
  45.       FieldByName('PERHITUNGAN_BUNGA').AsString    := CMB_PERHITUNGAN_BUNGA.Text;
  46.       FieldByName('NO_PBKB').AsString              := EDT_NOMOR_BPKB.Text;
  47.       FieldByName('RODA').AsString                 := EDT_RODA.Text;
  48.       FieldByName('MEREK_TIPE').AsString           := EDT_MERK_TIPE.Text;
  49.       FieldByName('NO_RANGKA').AsString            := EDT_NOMOR_RANGKA.Text;
  50.       FieldByName('NO_MESIN').AsString             := EDT_NOMOR_MESIN.Text;
  51.       FieldByName('NO_POLISI').AsString            := EDT_NOMOR_POLISI.Text;
  52.       FieldByName('TAHUN_PERAKITAN').AsString      := EDT_TAHUN_PEMBUATAN.Text;
  53.       FieldByName('NAMA_PEMILIK').AsString         := EDT_NAMA_PEMILIK.Text;
  54.       FieldByName('NILAI_KENDARAAN').AsCurrency    := StringToCurr(EDT_NILAI_KENDARAAN.Text);
  55.       FieldByName('NO_SERTIFIKAT_TANAH').AsString  := EDT_NOMOR_SURAT_TANAH.Text;
  56.       FieldByName('ALAMAT_JALAN').AsString         := EDT_ALAMAT_TANAH.Text;
  57.       FieldByName('KELURAHAN').AsString            := EDT_KELURAHAN.Text;
  58.       FieldByName('DISITRIK').AsString             := EDT_DISITRIK.Text;
  59.       FieldByName('KABUPATEN').AsString            := EDT_KABUPATEN.Text;
  60.       FieldByName('PROVINSI').AsString             := EDT_PROVINSI.Text;
  61.       FieldByName('LUAS_TANAH').AsString           := EDT_LUAS_TANAH.Text;
  62.       FieldByName('ATAS_NAMA').AsString            := EDT_ATAS_NAMA.Text;
  63.       FieldByName('JABATAN').AsString              := EDT_JABATAN.Text;
  64.       FieldByName('ALAMAT_TANAH').AsString         := EDT_ALAMAT_TANAH.Text;
  65.       FieldByName('NILAI_JUAL_TANAH').AsCurrency   := StringToCurr(EDT_NILAI_TANAH.Text);
  66.       FieldByName('JENIS_BARANG').AsString         := EDT_JENIS_BARANG.Text;
  67.       FieldByName('KETERANGAN_BARANG').AsString    := EDT_KETERANGAN.Text;
  68.       FieldByName('NILAI_BARANG').AsCurrency       := StringToCurr(EDT_NILAI_BARANG.Text);
  69.       FieldByName('STATUS_ANGSURAN').AsString      := EDT_STATUS_ANGSURAN.Text;
  70.       TBlobField(FieldByName('PHOTO').LoadFromStream(Stream1);
  71.       Stream1.Free;
  72.       Post;
  73.     end; //WITH
  74.  //======================================================================================================
  75.    for x := 1 to jk do
  76.    begin
  77.    DM.ADO_QRY_JADWAL_ANGSURAN_TUNAI.Append;
  78.    IF CMB_JENIS_PINJAMAN.ItemIndex = 0 THEN
  79.    BEGIN
  80.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAINOMOR_REKENING.AsString := EDT_NOMOR_REKENING.Text;
  81.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAINAMA_NASABAH.AsString := EDT_NAMA_NASABAH.Text;
  82.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAISTATUS_ANGSURAN.AsString := EDT_STATUS_ANGSURAN.Text;
  83.  
  84.      tot_pokok:= StrToFloat(HapusKoma(EDT_SALDO_AWAL.Text))/ StrToInt(HapusKoma(EDT_JUMLAH_PERIODE.Text));
  85.      bunga:= StrToFloat(HapusKoma(EDT_SALDO_AWAL.Text)) * StrToInt(HapusKoma(EDT_SUKU_BUNGA.Text))/100 /        
  86.              StrToInt(HapusKoma(EDT_JUMLAH_PERIODE.Text));
  87.      sisa_angsu:= sisa_angsu-tot_pokok;
  88.  
  89.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAIJML_POKOK.AsFloat := tot_pokok;
  90.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAIBUNGA.AsFloat := bunga;
  91.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAISISA.AsFloat := sisa_angsu;
  92.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAIJUMLAH.AsFloat := DM.ADO_QRY_JADWAL_ANGSURAN_TUNAIJML_POKOK.AsFloat+bunga;
  93.    END;
  94.  
  95.    if CMB_JENIS_PINJAMAN.ItemIndex = 0 then
  96.    begin
  97.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAITANGGAL.AsDateTime  := StrToDate(DateToStr(IncMonth(tgl,x)));
  98.      DM.ADO_QRY_JADWAL_ANGSURAN_TUNAISTATUS_ANGSURAN.AsString  := EDT_STATUS_ANGSURAN.Text;
  99.    END ELSE
  100.      if CMB_JENIS_PINJAMAN.ItemIndex = 1 then
  101.      begin
  102.        DM.ADO_QRY_JADWAL_ANGSURAN_TUNAITANGGAL.AsDateTime  := StrToDate(DateToStr(IncWeek(tgl,x)));
  103.        DM.ADO_QRY_JADWAL_ANGSURAN_TUNAISTATUS_ANGSURAN.AsString  := EDT_STATUS_ANGSURAN.Text;
  104.      END ELSE
  105.        if CMB_JENIS_PINJAMAN.ItemIndex = 2 then
  106.        begin
  107.          DM.ADO_QRY_JADWAL_ANGSURAN_TUNAITANGGAL.AsDateTime  := StrToDate(DateToStr(IncDay(tgl,x)));
  108.          DM.ADO_QRY_JADWAL_ANGSURAN_TUNAISTATUS_ANGSURAN.AsString  := EDT_STATUS_ANGSURAN.Text;
  109.        END;
  110.    DM.ADO_QRY_JADWAL_ANGSURAN_TUNAI.Post;
  111.  end;
  112.  
  113. //UPDATE  SALDO AKUN======================================================================
  114.  
  115.   IF CMB_JENIS_PINJAMAN.Text = 'PEMBIAYAAN BULANAN' THEN
  116.   BEGIN
  117.     IF StringToCurr(EDT_SISA_ANGSURAN.Text) > StringToCurr(EDT_SISA_SALDO_AKUN.Text) then
  118.     BEGIN
  119.       IF DM.ADO_QRY_MASTER_AKUN.Locate('NAMA_AKUN',CMB_JENIS_PINJAMAN.Text,[loCaseInsensitive]) THEN
  120.       BEGIN
  121.         saldo_bulanan:=StringToCurr(EDT_SISA_ANGSURAN.Text)+ StringToCurr(EDT_SISA_SALDO_AKUN.Text);
  122.         DM.ADO_CMD.CommandText := 'UPDATE tbl_master_akun SET SISA_SALDO ='+CurrToStr(saldo_bulanan)
  123.                                  +' WHERE NAMA_AKUN='+QuotedStr(CMB_JENIS_PINJAMAN.Text);
  124.         DM.ADO_CMD.Execute;
  125.       END ELSE
  126.         IF StringToCurr(EDT_SISA_ANGSURAN.Text) < StringToCurr(EDT_SISA_SALDO_AKUN.Text) then
  127.         BEGIN
  128.           IF DM.ADO_QRY_MASTER_AKUN.Locate('NAMA_AKUN',CMB_JENIS_PINJAMAN.Text,[loCaseInsensitive]) THEN
  129.           BEGIN
  130.             saldo_bulanan:= StringToCurr(EDT_SISA_ANGSURAN.Text)-StringToCurr(EDT_SISA_SALDO_AKUN.Text);
  131.             DM.ADO_CMD.CommandText := 'UPDATE tbl_master_akun SET SISA_SALDO ='+CurrToStr(saldo_bulanan)
  132.                                      +' WHERE AMA_AKUN='+QuotedStr(CMB_JENIS_PINJAMAN.Text);
  133.             DM.ADO_CMD.Execute;
  134.           END;
  135.         END;
  136.  
  137.     BTN_EDITClick(Sender);
  138.     FormActivate(Sender);
  139.     FormCreate(Sender);
  140.     MessageDlg('TERIMA KASIH DATA ANDA TELAH KAMI PERBAIKI DIDALAM DATABASE KAMI',mtInformation,[mbOK],0);
  141.   END;
  142. end;
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement