You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

134 lines
6.0 KiB
JavaScript

import { pembulatan500 } from "{js}module-pembulatan500.js?v={time}";
export const pinjamanchange = function () {
var mags = bb.cond('mags', 'table_name');
var val = this.value;
try {
(function () {
var kode = val.split('/')[1];
if (mags.cond(kode, 'kode').length > 0) {
mags = mags.cond(kode, 'kode')[0].akundebet;
if (_getval('cash') == '') {
_setval('cash', mags);
};
}
})();
} catch (e) {
console.log(e);
}
var _ld = cssLoader();
window._fw = function (a = 'pokok', x = 'pk', c) {
if (_w == 'u') {
if (c != undefined) {
return `(SELECT ifnull((SELECT ${a} FROM mags WHERE faktur <> '${_getval('faktur')}' AND fkt = '${_getval('fkt')}' ORDER BY ${a} DESC LIMIT 1 ),0) + 1) ${x}`;
} else {
return `(SELECT ifnull((SELECT sum(${a}) FROM mags WHERE faktur <> '${_getval('faktur')}' AND fkt = '${_getval('fkt')}'),0)) ${x}`;
};
} else {
if (c != undefined) {
return `(SELECT ifnull((SELECT ${a} FROM mags WHERE fkt = '${_getval('fkt')}' ORDER BY ${a} DESC LIMIT 1 ),0) + 1) ${x}`;
} else {
return `(SELECT ifnull((SELECT sum(${a}) FROM mags WHERE fkt = '${_getval('fkt')}'),0)) ${x}`;
};
};
};
AuditDevQuery( `
SELECT * FROM (
SELECT
${_fw('ke', 'tt', 'c')},
${_fw('bunga', 'bg')},
${_fw('pokok', 'pk')},
m.*
FROM mpinjam m
WHERE m.faktur = '${val}' GROUP BY m.faktur
) a WHERE round((a.pokok + a.bunga) - (a.bg + a.pk)) <> 0
[;]
SELECT tgl FROM mags WHERE fkt = '${val}' ORDER BY tgl DESC LIMIT 1
[;]
SELECT sum(pokok) pokok, sum(bunga) bunga FROM mags WHERE fkt = '${val}'
`, function (v) {
if (v.length > 0) {
var t = v[1];
v = v[0];
console.log(v);
_ld.remove();
if (v.length > 0) {
try{
_setval('jml', v[0].jumlah.number(2).currency(0));
}catch(e){
}
if(typeof v[0].tr != "undefined"){
let trd = v[0].tr;
if (trd === 'G'){
_setval('statusbayar', 'Potong Gaji');
}else{
_setval('statusbayar', 'Non Gaji');
}
}
_setval('tglpj', tanggal(v[0].tgl).normal);
_setval('lama', v[0].lama.number(2).currency(0));
_setval('totang', v[0].angsuran.number(2).currency(0));
_setval('sisa', (v[0].pokok.number(2) - v[0].pk.number(2)).currency(0));
try {
_setval('agstgl', tanggal(t[0].tgl).normal);
} catch (err) {
console.log(err);
_setval('agstgl', tanggal(v[0].tgl).normal);
}
_setval('jasa', v[0].bungath.number(2).currency(2));
console.log(v[0].angsuran);
var pokok = (v[0].angsuran.number(2) / (1 + (v[0].bungath.number(2) / 100)));
var bunga = (v[0].angsuran.number(2) - (v[0].angsuran.number(2) / (1 + (v[0].bungath.number(2) / 100))));;
var sisa = (v[0].pokok.number(2) - v[0].pk.number(2));
var sisabunga = (v[0].bunga.number(2) - v[0].bg.number(2))
if (_w != "u") {
if (sisa < pokok) {
_setval('pokok', (sisa).currency(0));
_setval('shu', (sisa).currency(0));
} else {
pokok = Math.round(pokok);
_setval('pokok', pembulatan500(pokok).currency(0));
_setval('shu', pembulatan500(pokok).currency(0));
}
if (sisabunga < bunga) {
_setval('bunga', (sisabunga).currency(0));
} else {
bunga = Math.round(bunga);
_setval('bunga', (bunga).currency(0));
}
}
_setval('sisajasa', (v[0].bunga.number(2) - v[0].bg.number(2)).currency(0));
_setup('pokok', v[0].pokok.number(2) / v[0].lama.number(2));
_setup('bunga', v[0].bunga.number(2) / v[0].lama.number(2));
_setup('jasa', v[0].bungath.number(2) / 100);
_setup('angsuran', v[0].angsuran.number(2));
_setup('kodesp', v[0].kodesp);
_setup('kodebb', v[0].kodesp);
if (_getval('pokok').number() === 0) {
_setval('pokok', _setup('pokok').currency(0));
};
if (_getval('bunga').number() === 0) {
_setval('bunga', _setup('bunga').currency(0));
};
_setval('bayar',
(_getval('pokok').number()
+
_getval('bunga').number()
).currency(0)
);
var t1 = tanggal(tanggal(_getval('tglpj')).normal3).milisecond + tanggal().oneDayMilisecond;
var t2 = tanggal(_getval("tgl")).normal.split('-');
var t3 = t2[0] + '-' + t2[1] + '-' + _getval('tglpj').split('-')[2];
_setval('tgljt', t3);
_setup('jht', _getval('tglpj').split('-')[2]);
if (_w == 'c') {
_setval('ke', v[0].tt.number(2).currency(0));
};
}
} else {
_ld.remove();
}
}
)
}