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.
1155 lines
34 KiB
JavaScript
1155 lines
34 KiB
JavaScript
import { _Report } from '{js}lap-page-module.js?v={time}';
|
|
_fullScreen();
|
|
|
|
let pheader = [
|
|
[
|
|
{
|
|
text: 'NO INDUK',
|
|
rowspan:2,
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'normal',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'NAMA',
|
|
rowspan:2,
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'BELANJA WAJIB MASUK/ BAYAR/ SETOR',
|
|
colspan:14,
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'BELANJA WAJIB (yang sudah dibelanjakan)',
|
|
colspan:13,
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'SALDO BELANJA WAJIB ANGGOTA',
|
|
rowspan:2,
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'normal',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
],
|
|
[
|
|
{
|
|
text: 'AWAL TAHUN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JAN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'FEB',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'MAR',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'APR',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'MEI',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUL',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'AGT',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'SEP',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'OKT',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'NOV',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'DES',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUMLAH TH.BERJALAN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'normal',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JAN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'FEB',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'MAR',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'APR',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'MEI',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUL',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'AGT',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'SEP',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'OKT',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'NOV',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'DES',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'nowrap',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
,{
|
|
text: 'JUMLAH TH.BERJALAN',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
fontSize: '12px',
|
|
padding: '2px 8px',
|
|
whiteSpace: 'normal',
|
|
textAlign: 'center'
|
|
}
|
|
}
|
|
]
|
|
];
|
|
|
|
window.BukuBesar = _Report
|
|
.qr(`
|
|
SELECT a.*, (a.jthb1 + a.awal) sberjalan, a.awal + (a.jthb1 - a.jthb2) saldo FROM (
|
|
SELECT a.*,
|
|
a.n01
|
|
+ a.n02
|
|
+ a.n03
|
|
+ a.n04
|
|
+ a.n05
|
|
+ a.n06
|
|
+ a.n07
|
|
+ a.n08
|
|
+ a.n09
|
|
+ a.n10
|
|
+ a.n11
|
|
+ a.n12
|
|
jthb1
|
|
, a.m01
|
|
+ a.m02
|
|
+ a.m03
|
|
+ a.m04
|
|
+ a.m05
|
|
+ a.m06
|
|
+ a.m07
|
|
+ a.m08
|
|
+ a.m09
|
|
+ a.m10
|
|
+ a.m11
|
|
+ a.m12
|
|
jthb2
|
|
FROM (
|
|
SELECT
|
|
a.kode
|
|
, a.nama
|
|
, IF(a.keluar IS NULL , true, IF(year(a.keluar) >= {tahun} ,true, false ) ) status_keluar
|
|
, ifnull(ax.jumlah,0) awal
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '01', b.jumlah, 0),0)) n01
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '02', b.jumlah, 0),0)) n02
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '03', b.jumlah, 0),0)) n03
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '04', b.jumlah, 0),0)) n04
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '05', b.jumlah, 0),0)) n05
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '06', b.jumlah, 0),0)) n06
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '07', b.jumlah, 0),0)) n07
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '08', b.jumlah, 0),0)) n08
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '09', b.jumlah, 0),0)) n09
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '10', b.jumlah, 0),0)) n10
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '11', b.jumlah, 0),0)) n11
|
|
, sum(ifnull(if(b.ts = 'a' AND b.bln = '12', b.jumlah, 0),0)) n12
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '01', b.jumlah, 0),0)) m01
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '02', b.jumlah, 0),0)) m02
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '03', b.jumlah, 0),0)) m03
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '04', b.jumlah, 0),0)) m04
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '05', b.jumlah, 0),0)) m05
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '06', b.jumlah, 0),0)) m06
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '07', b.jumlah, 0),0)) m07
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '08', b.jumlah, 0),0)) m08
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '09', b.jumlah, 0),0)) m09
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '10', b.jumlah, 0),0)) m10
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '11', b.jumlah, 0),0)) m11
|
|
, sum(ifnull(if(b.ts = 'b' AND b.bln = '12', b.jumlah, 0),0)) m12
|
|
FROM anggota a
|
|
LEFT JOIN (
|
|
SELECT kode, sum(jumlah) jumlah FROM (
|
|
SELECT kode, lpad( month(tgl), 2,0) bln, sum(jumlah) jumlah FROM msimpan
|
|
WHERE kodesp = 'BW' AND tgl < '{tahun}-01-01'
|
|
GROUP BY kode, bln
|
|
UNION ALL
|
|
SELECT kodesc kode, lpad( month(tgl), 2,0) bln, sum(debet) * -1 jumlah FROM totsl
|
|
WHERE debet <> 0 AND tgl < '{tahun}-01-01' AND faktur NOT LIKE 'FS%'
|
|
GROUP BY kode
|
|
) a GROUP BY kode
|
|
) ax ON a.kode = ax.kode
|
|
LEFT JOIN
|
|
(
|
|
SELECT 'a' ts, kode, lpad( month(tgl), 2,0) bln, sum(jumlah) jumlah FROM msimpan
|
|
WHERE kodesp = 'BW' AND tgl LIKE '{tahun}%'
|
|
GROUP BY kode, bln
|
|
UNION ALL
|
|
SELECT 'b' ts, kodesc kode, lpad( month(tgl), 2,0) bln, sum(debet) jumlah FROM totsl
|
|
WHERE debet <> 0 AND tgl LIKE '{tahun}%' AND faktur NOT LIKE 'FS%'
|
|
GROUP BY kode, bln
|
|
) b ON a.kode = b.kode
|
|
{anggota}
|
|
GROUP BY a.kode
|
|
) a
|
|
) a WHERE status_keluar = true
|
|
`)
|
|
.debug(true)
|
|
.conf({
|
|
tahun: function (obj, e) {
|
|
if (obj.dataSum){
|
|
obj.dataSum = {}
|
|
}
|
|
return e.getVal('tahun');
|
|
}
|
|
, anggota: function (obj, e) {
|
|
return e.getVal('anggota') != '' ? ` WHERE a.kode = '${e.getVal('anggota') }'` : `` ;
|
|
}
|
|
})
|
|
.filterConf([
|
|
{
|
|
title: 'Anggota',
|
|
type: 'select',
|
|
name: 'anggota',
|
|
row: 3,
|
|
data: _json('anggota'),
|
|
readonly: false,
|
|
action: function () {
|
|
|
|
},
|
|
}
|
|
,{
|
|
title: 'Tahun',
|
|
type: 'text',
|
|
name: 'tahun',
|
|
row: 2,
|
|
readonly: false,
|
|
info: "Inputkan tahun kemudian submit",
|
|
action: function () {
|
|
|
|
},
|
|
}
|
|
])
|
|
.filterOnLoad(function (e, status) {
|
|
/*event action*/
|
|
if (status != false) {
|
|
e.setVal('tahun', tanggal().normal.split('-')[0]);
|
|
_id('tahun').addEventListener('keyup', delay(function(){
|
|
let val = this.value.match(/(\d+)/);
|
|
let c = this;
|
|
setTimeout(function(){
|
|
c.value = val[0];
|
|
},0)
|
|
},10),false)
|
|
}
|
|
})
|
|
.head(pheader)
|
|
.name([
|
|
{
|
|
name: 'kode',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
return a;
|
|
}
|
|
}
|
|
,{
|
|
name: 'nama',
|
|
css: {
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
return a;
|
|
}
|
|
}
|
|
,{
|
|
name: 'awal',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n01',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n02',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n03',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n04',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n05',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n06',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n07',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n08',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n09',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n10',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n11',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'n12',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'sberjalan',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm01',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm02',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm03',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm04',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm05',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm06',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm07',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm08',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm09',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm10',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm11',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'm12',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'jthb2',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
,{
|
|
name: 'saldo',
|
|
css: {
|
|
textAlign:'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
, custome: function (a, b, obj) {
|
|
let name = this.name;
|
|
if(!obj.dataSum){
|
|
obj.dataSum = {};
|
|
}
|
|
if(!obj.dataSum[name]){
|
|
obj.dataSum[name] = [];
|
|
}
|
|
obj.dataSum[name].push(a.number(2));
|
|
return a.number(2).currency(0);
|
|
}
|
|
}
|
|
])
|
|
.footer([
|
|
(function(){
|
|
let foo = [
|
|
{
|
|
text: 'Grand Total',
|
|
colspan: 2,
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
}
|
|
, {
|
|
name: 'awal',
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if(obj.dataSum){
|
|
if (obj.dataSum[name]){
|
|
return obj.dataSum[name].sum();
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
}
|
|
];
|
|
for (let z = 1; z <= 12; z++) {
|
|
foo.push({
|
|
name: 'n'+z.pad(2),
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if (obj.dataSum) {
|
|
if (obj.dataSum[name]) {
|
|
return obj.dataSum[name].sum().currency(0);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
})
|
|
};
|
|
foo.push({
|
|
name: 'sberjalan',
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if (obj.dataSum) {
|
|
if (obj.dataSum[name]) {
|
|
return obj.dataSum[name].sum().currency(0);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
});
|
|
for (let z = 1; z <= 12; z++) {
|
|
foo.push({
|
|
name: 'm' + z.pad(2),
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if (obj.dataSum) {
|
|
if (obj.dataSum[name]) {
|
|
return obj.dataSum[name].sum().currency(0);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
})
|
|
};
|
|
foo.push({
|
|
name: 'jthb2',
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if (obj.dataSum) {
|
|
if (obj.dataSum[name]) {
|
|
return obj.dataSum[name].sum().currency(0);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
});
|
|
foo.push({
|
|
name: 'saldo',
|
|
text: function (obj) {
|
|
let name = this.name;
|
|
if (obj.dataSum) {
|
|
if (obj.dataSum[name]) {
|
|
return obj.dataSum[name].sum().currency(0);
|
|
}
|
|
return 0;
|
|
}
|
|
return 0;
|
|
},
|
|
css: {
|
|
textAlign: 'right',
|
|
border: '1px solid #ddd',
|
|
padding: '2px 5px'
|
|
}
|
|
});
|
|
return foo;
|
|
})()
|
|
])
|
|
.call() |