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.

164 lines
5.3 KiB
JavaScript

export function crons() {
var f = Array.from(document.querySelectorAll('.form-s'));
if (f.length > 0) {
var v = [];
var s = 0;
var c = 5;
var n = [];
f = f.forEach(function (r) {
if ((s + 1) == c) {
if (r.getAttribute('num') != undefined) {
n.push({
name: r.name,
val: r.value.number()
});
v.push(n);
n = [];
s = 0;
} else {
n.push({
name: r.name,
val: r.value
});
v.push(n);
n = [];
s = 0;
};
} else {
if (r.getAttribute('num') != undefined) {
n.push({
name: r.name,
val: r.value.number()
});
s++;
} else {
n.push({
name: r.name,
val: r.value
});
s++;
};
};
});
// counterNum
var b1 = 0;
var b2 = 0;
v.forEach(function (ss) {
ss.forEach(function (j) {
if (j.name == 'debit') {
b1 += j.val;
};
if (j.name == 'kredit') {
b2 += j.val;
};
});
});
globalThis['debit'].parent.value = b1.currency(2);
globalThis['kredit'].parent.value = b2.currency(2);
var fv = v;
v = v.map(function (ss) {
var f = ss;
f.push({
name: 'kode',
val: globalThis['kode'].parent.value,
});
f.push({
name: 'keterangan',
val: globalThis['keterangan'].parent.value,
});
f.push({
name: 'tgl',
val: _getval('tgl'),
});
f.push({
name: 'username',
val: globalThis['username'].parent.value,
});
f.push({
name: 'app',
val: _getval('app'),
});
f.push({
name: 'userlog',
val: globalThis['userlog'].parent.value,
});
return f;
});
if (v.length > 0) {
var sn = v[0].map(function (e) {
return 'a.' + e.name;
}).join(',');
var mn = 'INSERT INTO bb (' + v[0].map(function (e) {
return e.name;
}).join(',') + ') \n';
var mu = 'SET ' + v[0].map(function (e) {
return 'a.' + e.name + ' = ' + 'b.' + e.name;
}).join(',') + ' \n';
var g = 'SELECT ' + sn + ' FROM (' + v.map(function (c) {
return ' \n SELECT ' + c.map(function (e) {
if (typeof e.val === 'string') {
return '"' + e.val.replace(/\"/g, "\\\"") + '" ' + e.name;
} else {
return '"' + e.val + '" ' + e.name;
}
}).join(', ') + '\n';
}).join("\n UNION ALL \n") + '\n )';
globalThis.insertS = mn + g + " a LEFT JOIN bb ON a.kode = bb.kode AND a.tr = bb.tr WHERE bb.kode IS NULL";
var upd = 'UPDATE bb a, (\n' + g + '\n a ) b ' + mu + " WHERE a.kode = b.kode AND a.tr = b.tr";
globalThis.updateS = upd;
} else {
globalThis.insertS = null;
globalThis.updateS = null;
}
var qw = fv.map(function (ss) {
var f = ss;
f.push({
name: 'table_name',
val: 'bb',
});
return f;
});
if (qw.length > 0) {
var sn = qw[0].map(function (e) {
return 'a.' + e.name;
}).join(',');
var mn = 'INSERT INTO lap_bb (' + qw[0].map(function (e) {
return e.name;
}).join(',') + ') \n';
var mu = 'SET ' + qw[0].map(function (e) {
return 'a.' + e.name + ' = ' + 'b.' + e.name;
}).join(',') + ' \n';
var g = 'SELECT ' + sn + ' FROM (' + qw.map(function (c) {
return ' \n SELECT ' + c.map(function (e) {
if (typeof e.val === 'string') {
return '"' + e.val.replace(/\"/g, "\\\"") + '" ' + e.name;
} else {
return '"' + e.val + '" ' + e.name;
};
}).join(', ') + '\n';
}).join("\n UNION ALL \n") + '\n )';
globalThis.insertSq = mn + g + " a LEFT JOIN lap_bb ON a.kode = lap_bb.kode AND a.tr = lap_bb.tr WHERE lap_bb.kode IS NULL";
var upd = 'UPDATE lap_bb a, (\n' + g + '\n a ) b ' + mu + " WHERE a.kode = b.kode AND a.tr = b.tr";
globalThis.updateSq = upd;
} else {
globalThis.insertSq = null;
globalThis.updateSq = null;
}
setTimeout(() => {
crons();
}, 100);
} else {
setTimeout(() => {
crons();
}, 100);
}
}