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.
212 lines
8.8 KiB
PHP
212 lines
8.8 KiB
PHP
<?php
|
|
|
|
use NN\files;
|
|
use NN\Post;
|
|
use NN\Session;
|
|
use NN\Module\DB;
|
|
use NN\Module\DD;
|
|
use NN\Module\Help;
|
|
use NN\Module\Datatable;
|
|
use NN\Link;
|
|
use NN\Enc;
|
|
use NN\module\View;
|
|
|
|
class Kartupinjaman {
|
|
public static function datakartu($kode){
|
|
$kode = base64_decode($kode);
|
|
$thn = [
|
|
["id"=>"01","text"=>"Januari"],
|
|
["id"=>"02","text"=>"Februari"],
|
|
["id"=>"03","text"=>"Maret"],
|
|
["id"=>"04","text"=>"April"],
|
|
["id"=>"05","text"=>"Mei"],
|
|
["id"=>"06","text"=>"Juni"],
|
|
["id"=>"07","text"=>"Juli"],
|
|
["id"=>"08","text"=>"Agustus"],
|
|
["id"=>"09","text"=>"September"],
|
|
["id"=>"10","text"=>"Oktober"],
|
|
["id"=>"11","text"=>"November"],
|
|
["id"=>"12","text"=>"Desember"]
|
|
];
|
|
|
|
$user = DB::query_result_object_row("SELECT
|
|
a.nama
|
|
, a.telp
|
|
, b.lokasi unitkerja
|
|
FROM anggota a
|
|
LEFT JOIN munitkerja b ON b.kode = a.unitkerja
|
|
WHERE
|
|
a.kode = '$kode' ");
|
|
|
|
$jp = [
|
|
["id"=>"REG","text"=>"USP Reguler"]
|
|
,["id"=>"USP1","text"=>"USP 1 (Pembiayaan Elektronik)"]
|
|
,["id"=>"USP2","text"=>"USP 2 (Pembiayaan Sepeda Motor)"]
|
|
,["id"=>"USP3","text"=>"USP 3 (Pembiayaan Haji/ Umroh)"]
|
|
,["id"=>"KHUSUS","text"=>"USP KHUSUS"]
|
|
];
|
|
|
|
$ds = [];
|
|
|
|
foreach($jp as $jj){
|
|
$jj = (object) $jj;
|
|
$ds[$jj->id] = [];
|
|
foreach ($thn as $key => $th) {
|
|
$th = (object) $th;
|
|
$payb = DB::query_result_object_row("
|
|
SELECT
|
|
p.kode
|
|
, p.kodesp
|
|
, ifnull(sum(p.pokok + p.bunga),0) - ifnull(sum(m.bunga) + sum(m.pokok),0) awal
|
|
, ifnull(sum(m.bunga) + sum(m.pokok),0) total
|
|
, ifnull(sum(m.bunga),0) bunga
|
|
, ifnull(sum(m.pokok),0) pokok
|
|
FROM mpinjam p
|
|
LEFT JOIN (
|
|
SELECT mags.fkt, mags.kode, sum(mags.pokok) pokok, sum(mags.bunga) bunga FROM mags
|
|
LEFT JOIN mpinjam m ON mags.fkt = m.faktur
|
|
WHERE mags.kode = '$kode' AND mags.tgl < '".date('Y')."-$th->id-01' AND m.kodesp = '$jj->id'
|
|
) m ON p.faktur = m.fkt
|
|
WHERE p.kode = '$kode' AND p.tgl < '".date('Y')."-$th->id-01'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
|
|
$payc = DB::query_result_object_row("
|
|
SELECT
|
|
m.kode
|
|
, p.kodesp
|
|
, ifnull(sum(p.pokok ),0) - ifnull(sum(m.pokok),0) awal
|
|
, ifnull(sum(m.bunga) + sum(m.pokok),0) total
|
|
, ifnull(sum(m.bunga),0) bunga
|
|
, ifnull(sum(m.pokok),0) pokok
|
|
FROM
|
|
mpinjam p
|
|
LEFT JOIN (
|
|
SELECT mags.fkt, mags.kode, sum(mags.pokok) pokok, sum(mags.bunga) bunga FROM mags
|
|
LEFT JOIN mpinjam m ON mags.fkt = m.faktur
|
|
WHERE mags.kode = '$kode' AND mags.tgl <= '".date('Y-m-t', strtotime("'".date('Y')."-$th->id'") )."' AND m.kodesp = '$jj->id'
|
|
) m ON p.faktur = m.fkt
|
|
WHERE p.kode = '$kode'
|
|
AND p.tgl < '".date('Y')."-$th->id-".date("t",strtotime(date('Y')."-".$th->id))."'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
$pay = DB::query_result_object_row("
|
|
SELECT
|
|
m.kode,
|
|
p.kodesp,
|
|
ifnull( sum( p.pokok + p.bunga ), 0 ) baru,
|
|
ifnull( sum( ifnull(m.bunga,0) ) + sum( ifnull(m.pokok,0) ), 0 ) total,
|
|
ifnull( sum( ifnull(m.bunga,0) ), 0 ) bunga,
|
|
ifnull( sum( ifnull(m.pokok,0) ), 0 ) pokok
|
|
FROM
|
|
mpinjam p
|
|
LEFT JOIN (
|
|
SELECT mags.fkt, mags.kode, sum(mags.pokok) pokok, sum(mags.bunga) bunga FROM mags
|
|
LEFT JOIN mpinjam m ON mags.fkt = m.faktur
|
|
WHERE mags.kode = '$kode' AND mags.tgl <= '".date('Y-m-t', strtotime("'".date('Y')."-$th->id'") )."' AND m.kodesp = '$jj->id'
|
|
) m ON p.faktur = m.fkt
|
|
WHERE
|
|
p.kode = '$kode'
|
|
AND p.tgl LIKE '".date('Y')."-$th->id%'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
|
|
$now = date('Y')."-".$th->id;
|
|
$startDate = date("Y-m-01", strtotime($now));
|
|
$lastDate = date("Y-m-t", strtotime($now));
|
|
$lastDate2 = date("Y-m", strtotime($now));
|
|
|
|
$qrn = DB::query_result_object("
|
|
SELECT
|
|
ifnull(sum(p.pokok),0) sisa
|
|
FROM
|
|
mpinjam p
|
|
WHERE
|
|
p.kode = '$kode'
|
|
AND p.tgl LIKE '$now%'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
|
|
$qr = DB::query_result_object("
|
|
SELECT
|
|
ifnull(sum(p.pokok),0)
|
|
- ifnull(sum((SELECT sum(pokok) FROM mags WHERE fkt = p.faktur AND tgl < '$startDate')),0) sisa
|
|
FROM
|
|
mpinjam p
|
|
WHERE
|
|
p.kode = '$kode'
|
|
AND p.tgl < '$startDate'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
|
|
// echo "<br>---</br>";
|
|
// echo "
|
|
// SELECT
|
|
// ifnull(sum(p.pokok),0)
|
|
// - ifnull(sum((SELECT sum(pokok) FROM mags WHERE fkt = p.faktur)),0) sisa,
|
|
// ifnull(sum(( SELECT sum(pokok) FROM mags WHERE fkt = p.faktur AND tgl LIKE '$lastDate2%' )),0) bayar,
|
|
// ifnull(sum(( SELECT sum(bunga) FROM mags WHERE fkt = p.faktur AND tgl LIKE '$lastDate2%' )),0) bunga
|
|
// FROM
|
|
// mpinjam p
|
|
// WHERE
|
|
// p.kode = '$kode'
|
|
// AND p.tgl <= '$lastDate'
|
|
// AND p.kodesp = '$jj->id'
|
|
// ";
|
|
// echo "<br>---</br>";
|
|
|
|
$qr1 = DB::query_result_object("
|
|
SELECT
|
|
ifnull(sum(p.pokok),0)
|
|
- ifnull(sum((SELECT sum(pokok) FROM mags WHERE fkt = p.faktur AND tgl <= '$lastDate')),0) sisa,
|
|
ifnull(sum(( SELECT sum(pokok) FROM mags WHERE fkt = p.faktur AND tgl LIKE '$lastDate2%' )),0) bayar,
|
|
ifnull(sum(( SELECT sum(bunga) FROM mags WHERE fkt = p.faktur AND tgl LIKE '$lastDate2%' )),0) bunga
|
|
FROM
|
|
mpinjam p
|
|
WHERE
|
|
p.kode = '$kode'
|
|
AND p.tgl <= '$lastDate'
|
|
AND p.kodesp = '$jj->id'
|
|
");
|
|
|
|
$ds[$jj->id][$th->id] = [];
|
|
$ds[$jj->id][$th->id]['ke'] = '-';
|
|
$ds[$jj->id][$th->id]['awal'] = '-';
|
|
$ds[$jj->id][$th->id]['dibayar'] = (new self)->cekData($qr1, 'bayar');
|
|
$ds[$jj->id][$th->id]['jasa'] = (new self)->cekData($qr1, 'bunga');
|
|
$ds[$jj->id][$th->id]['baru'] = (new self)->cekData($qrn, 'sisa');
|
|
$ds[$jj->id][$th->id]['sisa'] = '-';
|
|
$ds[$jj->id][$th->id]['totke'] = '-';
|
|
$ds[$jj->id][$th->id]['totawal'] = (new self)->cekData($qr, 'sisa');
|
|
$ds[$jj->id][$th->id]['totdibayar'] = (new self)->cekData($qr1, 'bayar');
|
|
$ds[$jj->id][$th->id]['totjasa'] = (new self)->cekData($qr1, 'bunga');
|
|
$ds[$jj->id][$th->id]['totbaru'] = (new self)->cekData($qrn, 'sisa');
|
|
$ds[$jj->id][$th->id]['totsisa'] = (new self)->cekData($qr1, 'sisa');
|
|
}
|
|
}
|
|
|
|
$data = [
|
|
"no" => $user->kode,
|
|
"noinduk" => $user->kode,
|
|
"nama" => $user->nama,
|
|
"unitkerja" => $user->unitkerja,
|
|
"telp" => $user->telp,
|
|
"th" => date('Y', strtotime($user->telp)),
|
|
"data" => $ds,
|
|
];
|
|
if(count($_POST) == 0){
|
|
DD::view($data);
|
|
}else{
|
|
echo json_encode($data);
|
|
}
|
|
}
|
|
|
|
private function cekData ($data, $nilai){
|
|
if( count($data) > 0 ){
|
|
$data = (array) $data[0];
|
|
return $data[$nilai];
|
|
}
|
|
return 0;
|
|
}
|
|
}
|