Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- slidingRate: function(tenor, nilai, sukuBunga, tgl, dACode, siklus, grace) { //Untuk Menghitung Saldo Turunan
- var getDateNow = [];
- var angsuranPokok, angsuranBunga, totalAngsuran;
- var sisa = nilai,
- nilaiAwal = nilai;
- // var sumSisa = 0
- var nilaiBunga = Math.round(100 * nilaiAwal * sukuBunga / 100) / 100
- // var flatCount = [];
- var sumAngsuran = 0,
- sumBunga = 0;
- angsuranPokok = Math.round(100 * nilaiAwal * siklus / (tenor - grace)) / 100
- angsuranBunga = Math.round(100 * nilaiBunga * siklus / tenor) / 100
- var slidingRate = [];
- // var angsuranAwal = angsuran
- for (var i = 1; i <= (tenor / siklus); i++) {
- getDateNow = moment(String(tgl)).add((i * siklus), 'M').format('YYYY-MM-DD')
- if (i == (tenor / siklus)) {
- angsuranPokok = Math.round(100 * (nilaiAwal - sumAngsuran)) / 100
- angsuranBunga = Math.round(100 * (nilaiBunga - sumBunga)) / 100
- }
- // var number = angsuranPokok
- // var rest = number % 1000;
- //
- // if(rest > 500)
- // { number = number - rest + 1000; }
- // else
- // { number = number - rest; }
- //
- // if ((sisa - Math.round(number/100)*100) < angsuranPokok) {
- // number = sisa
- // }
- //
- // angsuranPokok = number
- // sisa = sisa - Math.round(number/100)*100
- sisa = sisa - angsuranPokok
- if (i < grace) {
- // totalAngsuran =
- }
- totalAngsuran = angsuranBunga + angsuranPokok
- sumAngsuran += angsuranPokok
- sumBunga += angsuranBunga
- if ((i % 12) == 0) {
- nilai = sisa
- }
- slidingRate.push({
- Sequence: i,
- Periode: getDateNow,
- DueDate: getDateNow,
- sisaPokok: sisa,
- SettValue: angsuranPokok,
- InterestVal: angsuranBunga,
- TotalBill: totalAngsuran,
- DACode: dACode
- })
- // angsuran += angsuranAwal
- }
- return slidingRate
- },
- flat: function(tenor, nilai, sukuBunga, tgl, dACode, siklus, grace) { // Untuk Menghitung Saldo Tetap
- var getDateNow = [];
- var angsuranPokok, angsuranBunga, totalAngsuran;
- var sisa = nilai,
- nilaiAwal = nilai;
- // var sumSisa = 0
- var nilaiBunga = Math.round(100 * nilaiAwal * sukuBunga / 100) / 100
- var flatCount = [];
- var sumAngsuran = 0,
- sumBunga = 0;
- angsuranPokok = Math.round(100 * nilaiAwal * siklus / tenor) / 100
- angsuranBunga = Math.round(100 * nilaiBunga * siklus / tenor) / 100
- for (var i = 1; i <= (tenor / siklus); i++) {
- getDateNow = moment(String(tgl)).add((i * siklus) + grace, 'M').format('YYYY-MM-DD')
- if (i == (tenor / siklus)) {
- angsuranPokok = Math.round(100 * (nilaiAwal - sumAngsuran)) / 100
- angsuranBunga = Math.round(100 * (nilaiBunga - sumBunga)) / 100
- }
- sisa = sisa - angsuranPokok
- totalAngsuran = angsuranBunga + angsuranPokok
- sumAngsuran += angsuranPokok
- sumBunga += angsuranBunga
- flatCount.push({
- Periode: getDateNow,
- DueDate: getDateNow,
- SettValue: angsuranPokok,
- InterestVal: angsuranBunga,
- TotalBill: totalAngsuran,
- sisa: Math.round(100 * sisa) / 100,
- Sequence: i,
- DACode: dACode
- })
- }
- return flatCount
- },
Advertisement
Add Comment
Please, Sign In to add comment