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.

184 lines
5.8 KiB
JavaScript

import { saveconfig, dataJpinjam } from '{js}ts-postingulang-saveconfig.js?v={time}';
var objectForm = {
title: function () {
return 'Posting Simpanan'
},
table: "",
idform: "containerforms",
newkode: ``,
kode: 'kode',
pagin: false,
view: ['faktur', 'kodesp', 'tgl', 'faktur', 'kode', 'jumlah', 'keterangan'],
dataSelect: ["*"],
queryTemp: "SELECT {select} FROM dept || ORDER BY kode DESC",
validasiForm: ['kodetagihan', 'cash'],
viewonly: true,
noStartOrder: true,
oncreate: function () {
_setval('tgl', tanggal().normal);
var _ld = cssLoader();
AuditDevQuery(
'SELECT kode id, nama text FROM acc ORDER BY kode ASC'
+ '[;]'
+ 'SELECT * FROM mtagihan WHERE statusposting = 1'
+ '[;]'
+ 'SELECT * FROM jpinjam'
, function (d) {
let [acc, tagihan, jpinjam] = d;
jpinjam = jpinjam.filter(function (re) {
if (re.kode != 'PT') {
return re;
}
});
dataJpinjam.set(jpinjam);
window._mtagihan = tagihan;
if (typeof _setOption != 'undefined') {
if (typeof tagihan != 'undefined') {
_setOption('kodetagihan', removeDuplicate(_mtagihan, ['kodetagihan', 'kodetagihan']));
}
_setOption('cash', acc);
_setOption('cashin', acc);
if (Array.isArray(acc)) {
if (acc.length > 0) {
let secondAcc = acc[3].id;
let fistAcc = acc[2].id;
_setval('cash', secondAcc);
_setval('cashin', fistAcc);
}
}
}
_ld.remove();
table.draw(false);
});
},
onupdate: function (dt) {
globalThis['kode'].parent.setAttribute('readonly', true);
},
custcondition: function (a) {
return '';
},
onviewonly: saveconfig,
data: [
{
title: 'Kode Tagihan',
type: 'select',
name: 'kodetagihan',
row: 12,
line: 120,
data: [],
readonly: false,
action: function (a) {
$('#'+a.id).change(function(){
let val = $(this).val();
if(val){
let sql = `SELECT app, rekdebit , userlog, username FROM lap_bb WHERE posting = '${val}' GROUP BY app`
AuditDevQuery(sql, function(q){
let [usp] = q.cond('usp', 'app')
let [acc] = q.cond('acc', 'app')
$("#cash").val(usp.rekdebit ?usp.rekdebit : '').trigger('change')
$("#cashin").val(acc.rekdebit ? acc.rekdebit : '').trigger('change')
$("#kasir").val(acc.username ? acc.username : '')
$("#jam").val(acc.userlog ? acc.userlog.split(' ').pop() : '')
let [thn,bln,tgl] = acc.userlog.split(' ').shift().split("-");
$("#tgl").val(acc.userlog ? `${tgl}-${bln}-${thn}` : '')
})
}
})
},
},
{
title: 'Tgl. Transaksi',
type: 'date',
name: 'tgl',
row: 12,
line: 120,
readonly: false,
action: function () {
},
},
{
title: 'Bayar USP Dari',
type: 'select',
name: 'cash',
row: 12,
line: 120,
data: [],
readonly: false,
action: function () {
},
},
{
title: 'Bayar INDUK Dari',
type: 'select',
name: 'cashin',
row: 12,
line: 120,
data: [],
unfollow: true,
readonly: false,
action: function () {
},
},
{
title: 'Kasir',
type: 'text',
name: 'kasir',
row: 6,
readonly: true,
action: function () {
},
},
{
title: 'Jam',
type: 'text',
name: 'jam',
row: 6,
readonly: true,
action: function () {
},
}
],
onStarted : function(){
let hash = location.hash;
if(hash.indexOf('#') != -1){
let data = hash.split("#")
.pop()
.split("&").map(function(o){
let [name,value] = o.split('=');
return {
name: name,
value: value
}
});
let dataJson = {};
data.forEach((a)=>{
dataJson[a.name] = a.value;
})
let [{value}] = data.cond('tagihan','name')
AuditDevQuery(
'SELECT kode id, nama text FROM acc ORDER BY kode ASC'
+ '[;]'
+ 'SELECT * FROM mtagihan WHERE kodetagihan = "'+value+'"'
+ '[;]'
+ 'SELECT * FROM jpinjam'
,function(a){
let [acc, tagihan, jpinjam] = a;
window._mtagihan = tagihan;
dataJpinjam.set(jpinjam);
_setOption('cash', acc);
_setOption('cashin', acc);
_setOption('kodetagihan', removeDuplicate(_mtagihan, ['kodetagihan', 'kodetagihan']));
_setval('kodetagihan', dataJson.tagihan)
saveconfig(dataJson);
})
}
}
};