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.
440 lines
15 KiB
PHTML
440 lines
15 KiB
PHTML
@php
|
|
use NN\CookieHandler as Cookie;
|
|
use NN\Module\DB;
|
|
use NN\Module\View;
|
|
@endphp
|
|
<script>
|
|
const acc = JSON.parse(_id('acc').innerHTML);
|
|
_fullScreen();
|
|
$(document).ready(function(){
|
|
window.BukuBesar = _Report
|
|
.qr(`
|
|
{query}
|
|
`)
|
|
.debug(true)
|
|
.filterConf([
|
|
{
|
|
title: 'Transaksi',
|
|
type: 'select',
|
|
name: 'transaksi',
|
|
textonly: true,
|
|
row: 4,
|
|
data: [
|
|
{
|
|
id: 'mts',
|
|
text: 'Transaksi Keuangan (Kas In, Kas Out, Beban)'
|
|
}
|
|
,{
|
|
id: 'bb',
|
|
text: 'Transaksi Jurnal Memorial'
|
|
}
|
|
,{
|
|
id: 'mpinjam',
|
|
text: 'Transaksi Pinjaman'
|
|
}
|
|
,{
|
|
id: 'mags',
|
|
text: 'Transaksi Angsuran'
|
|
}
|
|
,{
|
|
id: 'msimpan',
|
|
text: 'Transaksi Simpanan'
|
|
}
|
|
],
|
|
info: 'Menampikan data transaksi mana yang akan di posting',
|
|
readonly: false,
|
|
action: function () {
|
|
|
|
},
|
|
}
|
|
,{
|
|
title: 'Tanggal Mulai',
|
|
type: 'date',
|
|
name: 'startdate',
|
|
row: 4,
|
|
nomax: true,
|
|
info: 'Tanggal akhir data ditampilkan',
|
|
readonly: false,
|
|
action: function () {
|
|
|
|
},
|
|
}
|
|
,{
|
|
title: 'Tanggal Akhir',
|
|
type: 'date',
|
|
name: 'enddate',
|
|
row: 4,
|
|
nomax: true,
|
|
info: 'Tanggal akhir data ditampilkan',
|
|
readonly: false,
|
|
action: function () {
|
|
|
|
},
|
|
}
|
|
])
|
|
.customeButton(function(element, obj){
|
|
element.child(
|
|
el('p').css('font-style', 'italic').text('Untuk update jurnal silahkan setting filter dulu tunggu data di tampilkan kemudian klik tombol posting jurnal dibawah')
|
|
);
|
|
element.child(
|
|
el('button').class("btn btn-clear btn-sm")
|
|
.child(
|
|
el('i').class('ft-upload-cloud').css('margin-right', '5px')
|
|
)
|
|
.child(
|
|
el('span').text('Posting jurnal')
|
|
)
|
|
.click(function(){
|
|
var t = `DELETE FROM lap_bb WHERE table_name = "${_id('transaksi').value}" `;
|
|
var qr = obj.data.qrData.ToInsert('lap_bb');
|
|
if(
|
|
_id('transaksi').value == 'mpinjam'
|
|
){
|
|
qr = obj.data.qrData.removeItemObject('pokok')
|
|
.removeItemObject('bunga')
|
|
.removeItemObject('kodesp')
|
|
.ToInsert('lap_bb');
|
|
}
|
|
if(
|
|
_id('transaksi').value == 'mags'
|
|
){
|
|
qr = obj.data.qrData.removeItemObject('pokok')
|
|
.removeItemObject('bunga')
|
|
.removeItemObject('kodesp')
|
|
.removeItemObject('fkt')
|
|
.ToInsert('lap_bb');
|
|
}
|
|
if(
|
|
_id('transaksi').value == 'msimpan'
|
|
){
|
|
qr = obj.data.qrData.removeItemObject('pokok')
|
|
.removeItemObject('bunga')
|
|
.removeItemObject('kodesp')
|
|
.removeItemObject('fkt')
|
|
.removeItemObject('jumlah')
|
|
.ToInsert('lap_bb');
|
|
}
|
|
var _ld = cssLoader();
|
|
console.log(qr);
|
|
AuditDevQuery(t+" [;] "+qr, function(d){
|
|
_ld.remove();
|
|
Swal('Info', 'Update jurnal berhasil', 'info');
|
|
});
|
|
})
|
|
)
|
|
})
|
|
.filterOnLoad(function(e, status){
|
|
/*event action*/
|
|
e.change('app', function(){
|
|
var acc = _master('acc','acc');
|
|
acc = acc.cond(this.value, 'app');
|
|
if(acc.length > 0){
|
|
e.setOption('akun', acc);
|
|
e.setVal('akun', acc[0].id);
|
|
return false;
|
|
}
|
|
return false;
|
|
});
|
|
if(status != false){
|
|
e.setVal('startdate', moment().startOf('year').format('YYYY-MM-DD'));
|
|
e.setVal('enddate', moment().endOf('year').format('YYYY-MM-DD'));
|
|
e.setVal('app', 'usp');
|
|
}
|
|
})
|
|
.custData(function(a){
|
|
if(
|
|
_id('transaksi').value == 'mpinjam'
|
|
|| _id('transaksi').value == 'mags'
|
|
|| _id('transaksi').value == 'msimpan'
|
|
){
|
|
let z = a[0];
|
|
let v = a[1];
|
|
let f = [];
|
|
v.forEach( function(w){
|
|
let y = z.cond(w.kode, 'kodesp');
|
|
let ty = [].concat(y).map(function(c){
|
|
let u = c;
|
|
let debit = c[w.debet];
|
|
let kredit = c[w.kredit];
|
|
u.rekdebit = w.rekdebit;
|
|
if(c.cash != undefined){
|
|
u.rekdebit = c.cash;
|
|
}
|
|
u.rekkredit = w.rekkredit;
|
|
u.debit = debit;
|
|
u.kredit = kredit;
|
|
return u;
|
|
}).map(function(h){
|
|
if(h.cash != undefined){
|
|
delete h.cash;
|
|
}
|
|
return h;
|
|
}).slice();
|
|
console.log(y);
|
|
f = f.concat(y);
|
|
});
|
|
console.log(f);
|
|
return f;
|
|
};
|
|
return a;
|
|
})
|
|
.conf({
|
|
query: function(obj, e){
|
|
var t = e.getVal('transaksi');
|
|
var h = '';
|
|
if(t === 'mts'){
|
|
h = `
|
|
SELECT
|
|
kode
|
|
, ket keterangan
|
|
, tr
|
|
, tgl
|
|
, if(dk = 'D', cash, akun) rekdebit
|
|
, jumlah debit
|
|
, if(dk = 'K', cash, akun) rekkredit
|
|
, jumlah kredit
|
|
, username
|
|
, userlog
|
|
, app
|
|
, 'mts' table_name
|
|
FROM mts
|
|
`
|
|
}
|
|
if(t === 'bb'){
|
|
h = `
|
|
SELECT
|
|
bb.kode, totbb.keterangan ,tr, bb.tgl,rekdebit, bb.debit, rekkredit, bb.kredit, bb.username, bb.userlog, bb.app, 'bb' table_name
|
|
FROM bb
|
|
LEFT JOIN totbb ON totbb.kode = bb.kode
|
|
`
|
|
}
|
|
if(t === 'mpinjam'){
|
|
h = `
|
|
SELECT * FROM (
|
|
SELECT
|
|
faktur kode
|
|
, keterangan
|
|
, if(tr = 'L', 'NON', kodesp) kodesp
|
|
, tgl
|
|
, \`user\` username
|
|
, userlog
|
|
, 'usp' app
|
|
, pokok
|
|
, bunga
|
|
, 'mpinjam' table_name
|
|
FROM mpinjam
|
|
) a [;]
|
|
SELECT table_name, kode, akundebet rekdebit, kodedebet debet, akunkredit rekkredit, kodekredit kredit FROM setbb WHERE table_name = 'mpinjam'
|
|
`
|
|
}
|
|
if(t === 'mags'){
|
|
h = `
|
|
SELECT if(m.tr = 'L', 'NON', m.kodesp) kodesp, a.* FROM (
|
|
SELECT
|
|
faktur kode
|
|
, fkt
|
|
, keterangan
|
|
, tgl
|
|
, \`user\` username
|
|
, userlog
|
|
, 'usp' app
|
|
, pokok
|
|
, bunga
|
|
, cash
|
|
, 'mags' table_name
|
|
FROM mags
|
|
) a LEFT JOIN mpinjam m ON m.faktur = a.fkt [;]
|
|
SELECT table_name, kode, akundebet rekdebit, kodedebet debet, akunkredit rekkredit, kodekredit kredit FROM setbb WHERE table_name = 'mags'
|
|
`
|
|
}
|
|
if(t === 'msimpan'){
|
|
h = `
|
|
SELECT a.* FROM (
|
|
SELECT
|
|
faktur kode
|
|
, kodesp
|
|
, keterangan
|
|
, tgl
|
|
, username
|
|
, userlog
|
|
, 'usp' app
|
|
, jumlah
|
|
, cash
|
|
, 'msimpan' table_name
|
|
FROM msimpan
|
|
) a [;]
|
|
SELECT table_name, kode, akundebet rekdebit, kodedebet debet, akunkredit rekkredit, kodekredit kredit FROM setbb WHERE table_name = 'msimpan'
|
|
`
|
|
}
|
|
return h;
|
|
}
|
|
})
|
|
.head([
|
|
[
|
|
{
|
|
text:'Tanggal',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'center'
|
|
}
|
|
}
|
|
,{
|
|
text:'Faktur',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'center'
|
|
}
|
|
}
|
|
,{
|
|
text:'Keterangan',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'center'
|
|
}
|
|
}
|
|
, {
|
|
text:'Akun Debit',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'right'
|
|
}
|
|
}
|
|
, {
|
|
text:'Debit',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'right'
|
|
}
|
|
}
|
|
, {
|
|
text:'Akun Kredit',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'right'
|
|
}
|
|
}
|
|
, {
|
|
text:'Kredit',
|
|
css: {
|
|
borderBottom: '1px solid #ddd',
|
|
whiteSpace: 'nowrap',
|
|
textAlign:'right'
|
|
}
|
|
}
|
|
]
|
|
])
|
|
.name([
|
|
{
|
|
name: 'tgl',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
}
|
|
,custome : function(a){
|
|
return tanggal(a).sekarang;
|
|
}
|
|
}
|
|
,{
|
|
name: 'kode',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
}
|
|
,custome : function(a){
|
|
if(a != undefined){
|
|
return a;
|
|
}
|
|
return '';
|
|
}
|
|
}
|
|
,{
|
|
name: 'keterangan',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
}
|
|
,custome : function(a, b){
|
|
if(a == '' && b.kode.toLoweCase().indexOf('cash/in') != -1){
|
|
return 'Transaksi kas masuk';
|
|
}
|
|
if(a == '' && b.kode.toLoweCase().indexOf('cash/out') != -1){
|
|
return 'Transaksi kas keluar';
|
|
}
|
|
if(a == '' && b.kode.toLoweCase().indexOf('war/expense') != -1){
|
|
return 'Transaksi biaya';
|
|
}
|
|
return a;
|
|
}
|
|
}
|
|
,{
|
|
name: 'rekdebit',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
}
|
|
,custome : function(a){
|
|
if(a != undefined){
|
|
return a;
|
|
}
|
|
return '';
|
|
}
|
|
}
|
|
,{
|
|
name: 'debit',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
textAlign:'right'
|
|
}
|
|
, custome: function(a,b,obj){
|
|
if(obj.dataStore['debit'] == undefined){
|
|
obj.dataStore['debit'] = [];
|
|
}
|
|
obj.dataStore['debit'].push(a.number(2));
|
|
return 'Rp. '+a.number(2).currency(0)
|
|
}
|
|
}
|
|
,{
|
|
name: 'rekkredit',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
padding: '0 8px',
|
|
}
|
|
,custome : function(a){
|
|
if(a != undefined){
|
|
return a;
|
|
}
|
|
return '';
|
|
}
|
|
}
|
|
,{
|
|
name: 'kredit',
|
|
css: {
|
|
borderBottom:'1px solid #ddd',
|
|
whiteSpace:'nowrap',
|
|
textAlign:'right'
|
|
}
|
|
, custome: function(a,b,obj){
|
|
if(obj.dataStore['kredit'] == undefined){
|
|
obj.dataStore['kredit'] = [];
|
|
}
|
|
obj.dataStore['kredit'].push(a.number(2));
|
|
return 'Rp. '+a.number(2).currency(0)
|
|
}
|
|
}
|
|
])
|
|
.call()
|
|
})
|
|
</script> |