Files
api_arrahn/app/Http/Controllers/GadaiController.php
T
e.arrahn 67df018a4f server
2022-01-02 12:59:01 +08:00

3387 lines
142 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Gadai;
use App\Marhun;
use App\Cawangan;
use App\Transaction;
use App\TransaksiKeuntungan;
use App\TransactionOnline;
use App\batalGadai;
use App\TuntutBaki;
use App\AnsRugi;
use App\Lelong;
use App\WTD;
use App\HapusKira;
use App\Tebus;
use App\Vault;
use App\Tunai;
use App\Komuditi;
use App\KawalanStokLama;
use App\KawalanStok;
use App\Moratorium;
use App\Audit;
use App\Customer;
use App\KomuditiPurchase;
use App\KomuditiTransaksi;
use App\Advansur;
use App\HistoryEmasSandaran;
use Illuminate\Http\Request;
use DB;
use Carbon\Carbon;
class GadaiController extends Controller
{
public function showAllGadais(){
return response()->json(Gadai::all());
}
public function gadaiTransactionByCawanganAndDay($cawangan_code,$date){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$cawangan_code)->first();
$gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$date)->orderBy('sirig', 'desc')->first();
return response()->json($gadaiTransaction);
}
public function showOneGadai($noic){
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('nokp','=',$noic)->get();
if(sizeof($gadai) != 0){
array_push($gadai_all,$gadai);
}
}
return response()->json($gadai_all);
}
public function searchGadaiOnline(Request $request){
$transaction_online = TransactionOnline::on('mysql7')->where([['norujukan',$request->norujukan],['status','PAID'],['update_status',0]])->first();
if($transaction_online){
return response()->json(true);
}else{
return response()->json(false);
}
}
public function showOneGadaiMobile($noic){
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('nokp','=',$noic)->get();
if(sizeof($gadai) != 0){
array_push($gadai_all,$gadai);
}
}
$senarai_cawangan = [];
foreach($gadai_all as $index=>$gadai_cawangan){
$cawangan_gadai = Cawangan::on('mysql7')->where('kodcaw','=',$gadai_cawangan[0]['kodcaw'])->first();
array_push($senarai_cawangan,['nama_cawangan'=>$cawangan_gadai['details_caw'],'kodcaw'=>$gadai_cawangan[0]['kodcaw']]);
}
return response()->json($senarai_cawangan);
}
public function showOneGadaiByNorujukan($norujukan){
$cawangan_all = Cawangan::on('mysql7')->get();
$gadai_all = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
if(sizeof($gadai) != 0){
array_push($gadai_all,$gadai);
}
}
return response()->json($gadai_all);
}
public function showOneGadaiByCawanganOnly($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where([['sttebus','=',''],['t_gadai','<=',$tarikh]])
->orWhere([['sttebus','<>',''],['t_update','>',$tarikh],['t_gadai','<=',$tarikh]])
->get();
return response()->json($gadai);
}
public function showOneGadaibyRujukanAndCawangan($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
return response()->json($gadai);
}
public function create($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->create([
'kodcaw'=>$kodcaw,
'norujukan' => $request->norujukan,
'nopelanggan' => $request->nopelanggan,
'nokp' => $request->nokp,
'sirig' => $request->sirig,
't_gadai' => $current->toDateString(),
'sttebus' => '',
'masa' =>$current->toTimeString()
]);
return response()->json($gadai, 201);
}
public function createold($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$t_matang = Carbon::now();
$t_matang = new Carbon();
$t_matang = $t_matang->addMonths(6)->subDays(1);
$t_kontrak = Carbon::now();
$t_kontrak = new Carbon();
$t_kontrak = $t_kontrak->addMonths(12)->subDays(1);
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->create([
'kodcaw'=>$kodcaw,
'norujukan' => $request->norujukan,
"prkod" => $request->prkod,
'nopelanggan' => $request->nopelanggan,
'nokp' => $request->nokp,
'sirig' => $request->sirig,
't_gadai' => $request->t_gadai,
'sttebus' => '',
'masa' =>$current->toTimeString(),
"nilaimarhun" => $request->nilaimarhun,
"n_marhuns" => $request->n_marhuns,
"berat" => $request->berat,
"pinjaman" => $request->pinjaman,
"telahbayar" => $request->telahbayar,
"upahtelahbyr" => $request->upahtelahbyr,
"cajtelahbyr" => $request->cajtelahbyr,
"ansuran" => $request->ansuran,
"ansupah" => $request->ansupah,
"kadarupah" => $request->kadarupah,
"t_matang" => $t_matang,
"t_matang1" => $t_kontrak,
"bakiupah" => $request->bakiupah,
"cajlain" => $request->cajlain,
"marhun" => $request->marhun,
"kuantiti" => $request->kuantiti,
"jbg" => 0.5,
"tempoh" => 0.5,
"kodgl" => $request->kodgl,
"taglel" => $request->taglel,
"jantina" => $request->jantina,
"penilai" => $request->penilai,
"namapenilai" => $request->namapenilai,
"namateller" => $request->namateller,
"tagserah" => $request->tagserah,
"namapelulus" => $request->namapelulus,
"percentpinj" => $request->percentpinj,
"jumtebus" => $request->jumtebus,
"upahnotis" => $request->upahnotis,
"upahdibayar" => $request->upahdibayar,
"semakbarcode" => $request->semakbarcode,
"historygadaian" => $request->historygadaian,
"idjompay" => $request->idjompay,
"bayarupahonline" => $request->bayarupahonline
]);
return response()->json($gadai, 201);
}
public function daftarGadaiMarhun($norujukan,Request $request){
$current = Carbon::now();
$current = new Carbon();
$t_matang = Carbon::now();
$t_matang = new Carbon();
$t_matang = $t_matang->addMonths(6)->subDays(1);
$t_kontrak = Carbon::now();
$t_kontrak = new Carbon();
$t_kontrak = $t_kontrak->addMonths(12)->subDays(1);
$margin_pinjam = $request->percentpinj *100;
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$request->kodcaw)
->first();
if($request->transaction == 'Ubah Gadai'){
$old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
}
$bil_marhun = Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->count();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'nilaimarhun' => $request->nilaimarhun,
'berat'=> $request->berat,
'pinjaman' => $request->pinjaman,
'kadarupah' => $request->kadarupah,
'marhun' => $request->marhun,
'percentpinj' => $margin_pinjam,
'teller' => $request->teller,
'bakipjm' => $request->pinjaman,
'bakiupah' => $request->upah6,
'jbg' => 0.5,
't_update' => $current->toDateString(),
'cetak' => 0,
'upah12' => $request->upah12,
'hargajualan' => $request->hargajualan,
'bakihargajualan' => $request->hargajualan,
'tagserah' => 0,
't_matang' => $t_matang,
't_matang1' => $t_kontrak,
'tempoh' => 0.5,
'kuantiti' => $bil_marhun,
'tagkomuditi' => 0,
'upahdibayar' => 0.00,
'tempohbayar' => 0.00,
'lelong_tawarruq' => 1
));
$new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$audit = new Audit();
$audit->users = $request->teller;
$audit->actions = $request->transaction;
$audit->norujukan = $norujukan;
$audit->new_data = $new_data;
if($request->transaction == 'Ubah Gadai'){
$audit->old_data = $old_data;
}
$audit->kodcaw = $request->kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
return response()->json($gadai, 200);
}
public function getTransactionByTarikh($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai_transaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$tarikh)->get();
return response()->json($gadai);
}
public function checkNorujukan(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where([['norujukan','=',$request->norujukan],['nokp','=',$request->nokp]])->first();
return response()->json($gadai);
}
public function updateOneGadaiByNorujukan($norujukan,$kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
''
));
return response()->json($gadai);
}
public function kiraupahTawarruq($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
$upah_semasa_round = number_format($upahsemasa_raw,2);
$upah_semasa = substr($upah_semasa_round, 0, -1);
$upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa));
return $upah_semasa;
}
public function kiraUpahRebet($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')
->where('kodcaw','=',$kodcaw)
->first();
$gadai_data = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->first();
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
$upah_rebet_round = number_format($upahrebet_raw,2);
$upah_rebet = (float)substr($upah_rebet_round, 0, -1);
$upah_rebet = floatval(preg_replace('/[^\d.]/', '', $upah_rebet));
return $upah_rebet;
}
public function updateGadaiMarhunOnline($kodcaw,$norujukan,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk');
$total_bayaran_semasa = $total_bayaran_prev + $request->bayaran;
if($total_bayaran_semasa >= $gadai['bakiupah']){
$lelong_tawarruq = 0;
}else{
$lelong_tawarruq = 1;
}
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bayaran;
$baki_bayaran = $request->bayaran - $upahsemasa;
$baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran;
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => 'online',
'kodcaw' => $kodcaw,
'duit_masuk' => $request->bayaran,
'created_at' => $current,
'bakiharga' => $baki_hargajualan,
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet,
'tarikh_bayaran'=> $current,
'kodcaw'=> $kodcaw
]);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'jbg' => 0,
't_update' => $current->toDateString(),
'bakihargajualan' => $baki_hargajualan
));
return response()->json($update_gadai, 200);
}
public function updateGadaiMarhunKaunter($kodcaw,$norujukan,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan);
$upahrebet = $this->kiraUpahRebet($kodcaw,$norujukan);
$total_bayaran_prev = Transaction::on('mysql7')->where([['norujukan','=',$norujukan],['trans_type','=','A']])->sum('duit_masuk');
$total_bayaran_semasa = $total_bayaran_prev + $request->bayaran;
if($total_bayaran_semasa >= $gadai['bakiupah']){
$lelong_tawarruq = 0;
}else{
$lelong_tawarruq = 1;
}
$old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bayaran;
$baki_bayaran = $request->bayaran - $upahsemasa;
$baki_pinjaman = $gadai['bakipjm'] - $baki_bayaran;
$transaction = Transaction::on('mysql7')->create([
'trans_type' => 'A',
'norujukan' => $norujukan,
'nokp' => $gadai['nokp'],
'teller' => $request->teller,
'kodcaw' => $kodcaw,
'duit_masuk' => $request->bayaran,
'created_at' => $current,
'bakiharga' => $baki_hargajualan,
]);
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
'norujukan' => $norujukan,
'bayaran_keuntungan' => $upahsemasa,
'bayaran_pembiayaan' => $baki_bayaran,
'keuntungan_rebet'=> $upahrebet,
'tarikh_bayaran'=> $current,
'kodcaw'=> $kodcaw
]);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
'jbg' => 0,
't_update' => $current->toDateString(),
'bakihargajualan' => $baki_hargajualan,
'tempohbayar' => $gadai['tempoh'],
'lelong_tawarruq' => $lelong_tawarruq
));
$new_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$audit = new Audit();
$audit->users = $request->teller;
$audit->actions = 'Bayaran Ansuran';
$audit->norujukan = $norujukan;
$audit->new_data = $new_data;
$audit->old_data = $old_data;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
return response()->json($update_gadai, 200);
}
public function getGadaianSemasa($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',0],
['pinjaman','!=',0.00]
])
->get();
return response()->json($gadai);
}
public function getGadaianBelumSerah($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',0]
])
->get();
return response()->json($gadai);
}
public function batalGadai($kodcaw, $norujukan,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$old_data = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
$audit = new Audit();
$audit->users = $request->teller;
$audit->actions = $request->transaction;
$audit->norujukan = $norujukan;
$audit->old_data = $old_data;
$audit->kodcaw = $request->kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
return response('Batal Berjaya', 200);
}
public function pembelianKomuditi($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'tagkomuditi' => 1
));
return response()->json($gadai,200);
}
public function cetakSAG($kodcaw,$norujukan,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'cetak' => 1,
'penilai' => $request->penilai
));
return response()->json($gadai,200);
}
public function serahMarhun($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'tagserah' => 1
));
return response()->json($gadai,200);
}
public function serahMarhunKhazanah($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',1],
['semakbarcode','!=','Lulus']
])
->get();
return response()->json($gadai);
}
public function barcodeScanTebus($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
$namaTeller=$gadai['tellernew'];
$update_gadai=Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)-> update(array(
'semakbarcode'=>'Tebus','tellernew'=>$namaTeller));
return response()->json($update_gadai,200);
}
public function barcodeScan($kodcaw,$norujukan){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$dahscan = Gadai::on($cawangan['mysql'])->where([['norujukan','=',$norujukan],['semakbarcode','Lulus']])->first();
if($dahscan){
return response()->json('scanned');
}else{
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update([
'semakbarcode'=>'Lulus'
]);
return response()->json('success');
}
}
public function checkSerahGadaian(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$rekod_gadaian = Gadai::on($cawangan['mysql'])->where('norujukan','=',$request->norujukan)->first();
if($rekod_gadaian['semakbarcode'] == 'Lulus'){
return response()->json('true');
}else{
return response()->json('false');
}
}
public function serahPetiBesi($kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$gadai = Gadai::on($cawangan['mysql'])
->where([
['t_gadai','=',$current->toDateString()],
['cetak','=',1],['tagserah','=',1],
['semakbarcode','=','Lulus']
])
->get();
return response()->json($gadai);
}
public function getLaporanGadai($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai_data = Gadai::on($cawangan['mysql'])->select('t_gadai','norujukan','nokp','semakbarcode','masa','berat','nilaimarhun','pinjaman','upah12','percentpinj','teller','nokp')
->where('t_gadai','=',$tarikh)
->orderBy('teller')
->orderBy('sirig')
->get();
$gadai = [];
if($gadai_data){
foreach($gadai_data as $index=>$gadaiData){
$customer_info = Customer::on('mysql7')->where('kplama','=',$gadaiData['nokp'])->orWhere('kpbaru','=',$gadaiData['nokp'])->first();
array_push($gadai,[
"t_gadai"=> $gadaiData['t_gadai'],
"norujukan"=> $gadaiData['norujukan'],
"nama"=> $customer_info['nama'],
"nokp"=> $gadaiData['nokp'],
"semakbarcode"=> $gadaiData['semakbarcode'],
"masa"=> $gadaiData['masa'],
"berat"=> $gadaiData['berat'],
"nilaimarhun"=> $gadaiData['nilaimarhun'],
"pinjaman"=> $gadaiData['pinjaman'],
"upah12"=> $gadaiData['upah12'],
"percentpinj"=> $gadaiData['percentpinj'],
"alamat1"=> $customer_info['alamat1'],
"teller"=> $gadaiData['teller']
]);
}
}
return response()->json($gadai);
}
public function getLaporanGadaiRange($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])
->where('t_gadai','>=',$request->mula)
->where('t_gadai','<=',$request->akhir)
->orderBy('teller')
->orderBy('t_gadai','asc')
->orderBy('sirig','asc')
->get();
return response()->json($gadai);
}
public function getLaporanBatalGadai($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = batalGadai::on($cawangan['mysql'])
->where('tarikh','=',$tarikh)
->orderBy('tarikh','desc')
->get();
return response()->json($gadai);
}
public function dashboardall($kodcaw){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$array_dashboard = [];
//Gadai Terkumpul
$gadai = Gadai::on($cawangan['mysql'])
// ->where('sttebus','=','')
->whereNull('hargajualan')
->whereYear('t_gadai','=',$current->year)
->sum('pinjaman');
$gadaitawarruq = Gadai::on($cawangan['mysql'])
// ->where('sttebus','=','')
->whereNotNull('hargajualan')
->whereYear('t_gadai','=',$current->year)
->sum('pinjaman');
$tebus = Tebus::on($cawangan['mysql'])
->leftJoin('gadai', 'gadai.norujukan', '=', 'tebus.norujukan')
->whereNull('gadai.hargajualan')
->whereYear('tebus.t_tebus','=',$current->year)
->sum('tebus.pinjaman');
$tebustawarruq = Tebus::on($cawangan['mysql'])
->leftJoin('gadai', 'gadai.norujukan', '=', 'tebus.norujukan')
->whereNotNull('gadai.hargajualan')
->whereYear('tebus.t_tebus','=',$current->year)
->sum('tebus.pinjaman');
$gadvar = $gadai + $gadaitawarruq;
$tebvar = $tebus + $tebustawarruq;
//Variasi
$variasi = $gadvar - $tebvar;
//Outstanding
$outstanding = Gadai::on($cawangan['mysql'])
->where('sttebus','=','')
->sum('pinjaman');
array_push($array_dashboard,["gadai" => $gadai,"gadaitawarruq" => $gadaitawarruq,"tebus" => $tebus,"tebustawarruq" => $tebustawarruq, "variasi" => $variasi, "outstanding" => $outstanding]);
return response()->json($array_dashboard);
}
public function GadaiTebusList($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$arrayharian = [];
$gadai = Gadai::on($cawangan['mysql'])
->where('t_gadai','=',$request->tarikh)
// ->where('sttebus','=','')
// ->where('teller','=',$request->teller)
->where('tagserah','=',1)
->orderBy('t_gadai')
->get();
$tebus = Tebus::on($cawangan['mysql'])
->where('t_tebus','=',$request->tarikh)
// ->where('jenistebus','!=','T')
// ->where('teller','=',$request->teller)
->where('tagterima','=',1)
->orderBy('t_tebus')
->get();
foreach($gadai as $index=>$g)
{
array_push($arrayharian,$g);
}
foreach($tebus as $index1=>$t)
{
array_push($arrayharian,$t);
}
return response()->json($arrayharian,200);
}
public function GadaiTebusListTeller($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$arrayharian = [];
$gadai = Gadai::on($cawangan['mysql'])
->where('t_gadai','=',$request->tarikh)
->where('teller','=',$request->teller)
->where('tagserah','=',1)
->orderBy('t_gadai')
->get();
$tebus = Tebus::on($cawangan['mysql'])
->where('t_tebus','=',$request->tarikh)
->where('teller','=',$request->teller)
->where('tagterima','=',1)
->orderBy('t_tebus')
->get();
foreach($gadai as $index=>$g)
{
array_push($arrayharian,$g);
}
foreach($tebus as $index1=>$t)
{
array_push($arrayharian,$t);
}
return response()->json($arrayharian,200);
}
public function gadaiRingkasanTerkumpul($kodcaw,Request $request){
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$array_terkumpul = [];
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman')
->where('t_gadai','<=',$request->tarikh)
->where('sttebus','=','')
// ->whereYear('t_gadai','=',$current->year)
->orderBy('t_gadai','desc')
->get();
// $tebus = Gadai::on($cawangan['mysql'])
// ->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman, SUM(bakiupah) as upahsimpan')
// ->where('t_gadai','<=',$request->tarikh)
// ->where('sttebus','=','T')
// // ->whereYear('t_gadai','=',$current->year)
// ->orderBy('t_gadai','desc')
// ->get();
$tebus = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman, SUM(bakiupah) as upahsimpan')
->where('t_tebus','<=',$request->tarikh)
->where('jenistebus','=','T')
// ->whereYear('t_gadai','=',$current->year)
->orderBy('t_tebus','desc')
->get();
$lelong = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman')
->where('t_gadai','<=',$request->tarikh)
->where('sttebus','=','L')
// ->whereYear('t_gadai','=',$current->year)
->orderBy('t_gadai','desc')
->get();
$lelongrugi = Gadai::on($cawangan['mysql'])
->where('t_gadai','<=',$request->tarikh)
->where('sttebus','=','L')
->where('baki', 'like', '-%')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
$lelongbaki = Gadai::on($cawangan['mysql'])
->where('t_gadai','<=',$request->tarikh)
->where('sttebus','=','L')
->where('baki', 'not like', '-%')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
$cajlelong = Lelong::on($cawangan['mysql'])
->where('t_jual','<=',$request->tarikh)
->sum('cajlelong');
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
->where('t_jual','<=',$request->tarikh)
->sum('bakiupah');
$terimarugilelong = AnsRugi::on($cawangan['mysql'])
->where('tarikh','<=',$request->tarikh)
->sum('bayaran');
$bayarlebihanlelong = TuntutBaki::on($cawangan['mysql'])
->where('tarikh','<=',$request->tarikh)
->sum('jumlah');
$hapuskira = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(gadai.nilaimarhun) as jumlahmarhun, SUM(gadai.pinjaman) as jumlahpinjaman')
->where('hapuskira.Tarikh','<=',$request->tarikh)
->rightJoin('gadai', 'gadai.norujukan', '=', 'hapuskira.norujukan')
->get();
$advansur = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman, SUM(bakiupah) as upahsimpan')
->where('t_tebus','<=',$request->tarikh)
->where('jenistebus','=','A')
->get();
array_push($array_terkumpul,["gadai" => $gadai,"tebus" => $tebus, "lelong" => $lelong,"lelongbaki" => $lelongbaki,"lelongrugi" => $lelongrugi,"bayarlebihanlelong" => $bayarlebihanlelong, "terimarugilelong" => $terimarugilelong, "cajlelong" => $cajlelong, "lelongupahsimpan" => $lelongupahsimpan,"hapuskira" => $hapuskira,"advansur" => $advansur]);
return response()->json($array_terkumpul);
}
public function gadaiRingkasanHarian($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$array_harian = [];
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman')
->where('t_gadai','=',$request->tarikh)
->orderBy('t_gadai')
->get();
$tebus = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman, SUM(bakiupah) as upahsimpan')
->where('t_tebus','=',$request->tarikh)
->where('jenistebus','=','T')
->orderBy('t_tebus')
->get();
$lelong = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman')
->where('t_gadai','=',$request->tarikh)
->where('sttebus','=','L')
->orderBy('t_gadai')
->get();
$lelongrugi = Gadai::on($cawangan['mysql'])
->where('t_gadai','=',$request->tarikh)
->where('sttebus','=','L')
->where('baki', 'like', '-%')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
$lelongbaki = Gadai::on($cawangan['mysql'])
->where('t_gadai','=',$request->tarikh)
->where('sttebus','=','L')
->where('baki', 'not like', '-%')
->rightJoin('lelong', 'gadai.norujukan', '=', 'lelong.norujukan')
->sum('baki');
$cajlelong = Lelong::on($cawangan['mysql'])
->where('t_jual','=',$request->tarikh)
->sum('cajlelong');
$lelongupahsimpan = Lelong::on($cawangan['mysql'])
->where('t_jual','=',$request->tarikh)
->sum('bakiupah');
$terimarugilelong = AnsRugi::on($cawangan['mysql'])
->where('tarikh','=',$request->tarikh)
->sum('bayaran');
$bayarlebihanlelong = TuntutBaki::on($cawangan['mysql'])
->where('tarikh','=',$request->tarikh)
->sum('jumlah');
$wtd = WTD::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(gadai.nilaimarhun) as jumlahmarhun, SUM(wtd.pinjaman) as jumlahpinjaman')
->where('wtd.tarikh','=',$request->tarikh)
->rightJoin('gadai', 'gadai.norujukan', '=', 'wtd.norujukan')
->get();
$hapuskira = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(gadai.nilaimarhun) as jumlahmarhun, SUM(gadai.pinjaman) as jumlahpinjaman')
->where('hapuskira.Tarikh','=',$request->tarikh)
->rightJoin('gadai', 'gadai.norujukan', '=', 'hapuskira.norujukan')
->get();
$advansur = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bilangan, SUM(nilaimarhun) as jumlahmarhun, SUM(pinjaman) as jumlahpinjaman, SUM(bakiupah) as upahsimpan')
->where('t_tebus','=',$request->tarikh)
->where('jenistebus','=','A')
->get();
array_push($array_harian,["gadai" => $gadai,"tebus" => $tebus, "lelong" => $lelong,"lelongbaki" => $lelongbaki,"lelongrugi" => $lelongrugi,"bayarlebihanlelong" => $bayarlebihanlelong, "terimarugilelong" => $terimarugilelong, "cajlelong" => $cajlelong, "lelongupahsimpan" => $lelongupahsimpan, "wtd" => $wtd,"hapuskira" => $hapuskira,"advansur" => $advansur]);
return response()->json($array_harian);
}
public function getLaporanAnsuran($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$dateans = new Carbon($request->tarikh);
$ansuran_data = Transaction::on('mysql7')
->select('transaction.norujukan','trans.tarikh_bayaran','transaction.nokp','transaction.kodcaw','transaction.trans_type','cust.nama','trans.bayaran_pembiayaan','transaction.duit_masuk','trans.bayaran_keuntungan','transaction.teller')
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->leftJoin('customer as cust', function($join)
{
$join->on('transaction.nokp', '=', 'cust.kpbaru');
$join->orOn('transaction.nokp', '=', 'cust.kplama');
})
->where('transaction.kodcaw','=',$kodcaw)
->where('transaction.trans_type','=','A')
->whereDate('transaction.created_at','=',$dateans)
->orderBy('transaction.teller')
->get();
$ansuran = [];
if($ansuran_data){
foreach($ansuran_data as $index=>$ansuranData){
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuranData['norujukan'])->first();
array_push($ansuran,[
"norujukan" => $ansuranData['norujukan'],
"tarikh_bayaran" => $ansuranData['tarikh_bayaran'],
"nokp" => $ansuranData['nokp'],
"kodcaw" => $ansuranData['kodcaw'],
"trans_type" => $ansuranData['trans_type'],
"nama" => $ansuranData['nama'],
"tempoh" => $gadai['tempoh'],
"bakipjm" => $gadai['bakipjm'],
"bayaran_pembiayaan" => $ansuranData['bayaran_pembiayaan'],
"duit_masuk" => $ansuranData['duit_masuk'],
"bayaran_keuntungan" => $ansuranData['bayaran_keuntungan'],
"teller" => $ansuranData['teller']
]);
}
}
return response()->json($ansuran);
}
public function getAnsuranSummary($kodcaw,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$dateans = new Carbon($request->tarikh);
$ansuranskaunter = Transaction::on('mysql7')
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.kodcaw','=',$kodcaw)
->where('transaction.trans_type','=','A')
->where('transaction.teller','<>','Online')
->whereDate('transaction.created_at','=',$dateans);
$ansuransonline = Transaction::on('mysql7')
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->where('transaction.kodcaw','=',$kodcaw)
->where('transaction.trans_type','=','A')
->where('transaction.teller','=','Online')
->whereDate('transaction.created_at','=',$dateans);
$keuntungankaunter = $ansuranskaunter->sum('trans.bayaran_keuntungan');
$pendahuluankaunter = $ansuranskaunter->sum('trans.bayaran_pembiayaan');
$bilangankaunter = $ansuranskaunter->count();
$keuntunganonline = $ansuransonline->sum('trans.bayaran_keuntungan');
$pendahuluanonline = $ansuransonline->sum('trans.bayaran_pembiayaan');
$bilanganonline = $ansuransonline->count();
$arrayansuran = ['totalpendahuluankaunter' => $pendahuluankaunter, 'totalkeuntungankaunter' => $keuntungankaunter, 'bilangankaunter' => $bilangankaunter,'totalpendahuluanonline' => $pendahuluanonline, 'totalkeuntunganonline' => $keuntunganonline, 'bilanganonline' => $bilanganonline];
return response()->json($arrayansuran,200);
}
public function updateHistoryGadai($kodcaw,$norujukan,Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$updatehistory = Gadai::on($cawangan['mysql'])
->where('norujukan','=',$norujukan)
->update(array(
'historygadaian' => $request->historygadaian
));
return response()->json($updatehistory,200);
}
public function getLaporanKawalanStok($kodcaw,$tarikh){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$array_kawalanstok = [];
////////////
///GADAI////
///////////
$gadai1 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','<',$tarikh)
->whereBetween('nilaimarhun', [1, 400.99])
->get();
$gadai2 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','<',$tarikh)
->whereBetween('nilaimarhun', [401, 2000.99])
->get();
$gadai3 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(*) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','<',$tarikh)
->whereBetween('nilaimarhun', [2001, 1000000])
->get();
$gadaiini1 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','=',$tarikh)
// ->whereBetween('nilaimarhun', [1, 400.99])
->where('nilaimarhun','>=',1)
->where('nilaimarhun','<=',400.99)
->get();
$gadaiini2 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','=',$tarikh)
// ->whereBetween('nilaimarhun', [401, 2000.99])
->where('nilaimarhun','>=',401)
->where('nilaimarhun','<=',2000.99)
->get();
$gadaiini3 = Gadai::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_gadai','=',$tarikh)
// ->whereBetween('nilaimarhun', [2001, 100000])
->where('nilaimarhun','>=',2001)
->where('nilaimarhun','<=',1000000)
->get();
// dd($gadaiini3);
////////////
///TEBUS////
///////////
$tebus1 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','<',$tarikh)
->where('nilaimarhun','>=',1)
->where('nilaimarhun','<=',400.99)
->get();
$tebus2 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','<',$tarikh)
->where('nilaimarhun','>=',401)
->where('nilaimarhun','<=',2000.99)
->get();
$tebus3 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','<',$tarikh)
->where('nilaimarhun','>=',2001)
->where('nilaimarhun','<=',1000000)
->get();
$tebusini1 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','=',$tarikh)
->where('nilaimarhun','>=',1)
->where('nilaimarhun','<=',400.99)
->get();
$tebusini2 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','=',$tarikh)
->where('nilaimarhun','>=',401)
->where('nilaimarhun','<=',2000.99)
->get();
$tebusini3 = Tebus::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_tebus','=',$tarikh)
->where('nilaimarhun','>=',2001)
->where('nilaimarhun','<=',1000000)
->get();
//////////////
///LELONG/////
/////////////
$lelong1 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','<',$tarikh)
->where('nilaimarhun','>=',1)
->where('nilaimarhun','<=',400.99)
->get();
$lelong2 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','<',$tarikh)
->where('nilaimarhun','>=',401)
->where('nilaimarhun','<=',2000.99)
->get();
$lelong3 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','<',$tarikh)
->where('nilaimarhun','>=',2001)
->where('nilaimarhun','<=',1000000)
->get();
$lelongini1 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','=',$tarikh)
->where('nilaimarhun','>=',1)
->where('nilaimarhun','<=',400.99)
->get();
$lelongini2 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','=',$tarikh)
->where('nilaimarhun','>=',401)
->where('nilaimarhun','<=',2000.99)
->get();
$lelongini3 = Lelong::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(pinjaman) AS pinj')
->where('t_jual','=',$tarikh)
->where('nilaimarhun','>=',2001)
->where('nilaimarhun','<=',1000000)
->get();
if($kodcaw == 'KB2')
{
// $kawalanstoklama = KawalanStokLama::on($cawangan['mysql'])
// ->get();
// foreach($kawalanstoklama as $indexgad => $gadaikawalanstok)
// {
// //Gadai
// $gad1 = $gadai1[0]['bil'] + intval($gadaikawalanstok['bilGad1']);
// $gad2 = $gadai2[0]['bil'] + intval($gadaikawalanstok['bilGad2']);
// $gad3 = $gadai3[0]['bil'] + intval($gadaikawalanstok['bilGad3']);
// $gadpinj1 = $gadai1[0]['pinj'] + floatval($gadaikawalanstok['pinjGad1']);
// $gadpinj2 = $gadai2[0]['pinj'] + floatval($gadaikawalanstok['pinjGad2']);
// $gadpinj3 = $gadai3[0]['pinj'] + floatval($gadaikawalanstok['pinjGad3']);
// $gadai1[0]['bil'] = $gad1;
// $gadai1[0]['pinj'] = $gadpinj1;
// $gadai2[0]['bil'] = $gad2;
// $gadai2[0]['pinj'] = $gadpinj2;
// $gadai3[0]['bil'] = $gad3;
// $gadai3[0]['pinj'] = $gadpinj3;
// //Tebus
// $teb1 = $tebus1[0]['bil'] + intval($gadaikawalanstok['bilTeb1']);
// $teb2 = $tebus2[0]['bil'] + intval($gadaikawalanstok['bilTeb2']);
// $teb3 = $tebus3[0]['bil'] + intval($gadaikawalanstok['bilTeb3']);
// $tebpinj1 = $tebus1[0]['pinj'] + floatval($gadaikawalanstok['pinjTeb1']);
// $tebpinj2 = $tebus2[0]['pinj'] + floatval($gadaikawalanstok['pinjTeb2']);
// $tebpinj3 = $tebus3[0]['pinj'] + floatval($gadaikawalanstok['pinjTeb3']);
// $tebus1[0]['bil'] = $teb1;
// $tebus1[0]['pinj'] = $tebpinj1;
// $tebus2[0]['bil'] = $teb2;
// $tebus2[0]['pinj'] = $tebpinj2;
// $tebus3[0]['bil'] = $teb3;
// $tebus3[0]['pinj'] = $tebpinj3;
// //Lelong
// $lel1 = $lelong1[0]['bil'] + intval($gadaikawalanstok['bilLel1']);
// $lel2 = $lelong2[0]['bil'] + intval($gadaikawalanstok['bilLel2']);
// $lel3 = $lelong3[0]['bil'] + intval($gadaikawalanstok['bilLel3']);
// $lelpinj1 = $lelong1[0]['pinj'] + floatval($gadaikawalanstok['pinjLel1']);
// $lelpinj2 = $lelong2[0]['pinj'] + floatval($gadaikawalanstok['pinjLel2']);
// $lelpinj3 = $lelong3[0]['pinj'] + floatval($gadaikawalanstok['pinjLel3']);
// $lelong1[0]['bil'] = $lel1;
// $lelong1[0]['pinj'] = $lelpinj1;
// $lelong2[0]['bil'] = $lel2;
// $lelong2[0]['pinj'] = $lelpinj2;
// $lelong3[0]['bil'] = $lel3;
// $lelong3[0]['pinj'] = $lelpinj3;
}
//////////////////
/////ANSURAN//////
//////////////////
$daterequest = new Carbon($tarikh);
$ansuran1_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.created_at','<',$daterequest)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
$ansuran1 = [];
$ansuran1 = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuran1_data)
// ->whereBetween('nilaimarhun', [1, 400.99])
->where([['nilaimarhun','>=',1],['nilaimarhun','<=',400.99],['sttebus',''],['hargajualan','<>','null']])
->orWhere([['nilaimarhun','>=',1],['nilaimarhun','<=',400.99],['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi1 = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran1)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->where('tarikh_bayaran' ,'<=', $daterequest)
->get();
// if($ansuran1_data){
// foreach($ansuran1_data as $index=>$ansuran1Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuran1Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 1 && $gadaiData['nilaimarhun'] <= 400.99){
// array_push($ansuran1,['bayaran_pembiayaan'=>$ansuran1Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuranharini1_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereDate('trans.created_at','=',$tarikh)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
// $ansuranharini1 = [];
// if($ansuranharini1_data){
// foreach($ansuranharini1_data as $index=>$ansuranharini1Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuranharini1Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 1 && $gadaiData['nilaimarhun'] <= 400.99){
// array_push($ansuranharini1,['bayaran_pembiayaan'=>$ansuranharini1Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuran1harini = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuranharini1_data)
// ->whereBetween('nilaimarhun', [1, 400.99])
->where([['nilaimarhun','>=',1],['nilaimarhun','<=',400.99],['sttebus',''],['hargajualan','<>','null']])
// ->orWhere([['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi1harini = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran1harini)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->get();
$ansuran2_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.created_at','<',$daterequest)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
// $ansuran2 = [];
// if($ansuran2_data){
// foreach($ansuran2_data as $index=>$ansuran2Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuran2Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 401 && $gadaiData['nilaimarhun'] <= 2000.99){
// array_push($ansuran2,['bayaran_pembiayaan'=>$ansuran2Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuran2 = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuran2_data)
// ->whereBetween('nilaimarhun', [401, 2000.99])
->where([['nilaimarhun','>=',401],['nilaimarhun','<=',2000.99],['sttebus',''],['hargajualan','<>','null']])
->orWhere([['nilaimarhun','>=',401],['nilaimarhun','<=',2000.99],['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi2 = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran2)
->where('tarikh_bayaran' ,'<=', $daterequest)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->get();
$ansuranharini2_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereDate('trans.created_at','=',$tarikh)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
// $ansuranharini2 = [];
// if($ansuranharini2_data){
// foreach($ansuranharini2_data as $index=>$ansuranharini2Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuranharini2Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 401 && $gadaiData['nilaimarhun'] <= 2000.99){
// array_push($ansuranharini2,['bayaran_pembiayaan'=>$ansuranharini2Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuran2harini = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuranharini2_data)
// ->whereBetween('nilaimarhun', [401, 2000.99])
->where([['nilaimarhun','>=',401],['nilaimarhun','<=',2000.99],['sttebus',''],['hargajualan','<>','null']])
// ->orWhere([['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi2harini = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran2harini)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->get();
$ansuran3_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.created_at','<',$daterequest)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
// $ansuran3 = [];
// if($ansuran3_data){
// foreach($ansuran3_data as $index=>$ansuran3Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuran3Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 2001 && $gadaiData['nilaimarhun'] <= 1000000){
// array_push($ansuran3,['bayaran_pembiayaan'=>$ansuran3Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuran3 = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuran3_data)
// ->whereBetween('nilaimarhun', [2001, 1000000])
->where([['nilaimarhun','>=',2001],['nilaimarhun','<=',1000000],['sttebus',''],['hargajualan','<>','null']])
->orWhere([['nilaimarhun','>=',2001],['nilaimarhun','<=',1000000],['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi3 = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran3)
->where('tarikh_bayaran' ,'<=', $daterequest)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->get();
$ansuranharini3_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereDate('trans.created_at','=',$tarikh)
->where('trans.trans_type','=','A')
->groupBy('trans.id')
->where('trans.kodcaw',$kodcaw)
->pluck('trans.norujukan');
// $ansuranharini3 = [];
// if($ansuranharini3_data){
// foreach($ansuranharini3_data as $index=>$ansuranharini3Data){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$ansuranharini3Data['norujukan'])->first();
// if($gadaiData){
// if($gadaiData['sttebus'] == '' && $gadaiData['nilaimarhun']>= 2001 && $gadaiData['nilaimarhun'] <= 1000000){
// array_push($ansuranharini3,['bayaran_pembiayaan'=>$ansuranharini3Data['bayaran_pembiayaan']]);
// }
// }
// }
// }
$ansuran3harini = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuranharini3_data)
// ->whereBetween('nilaimarhun', [2001, 1000000])
->where([['nilaimarhun','>=',2001],['nilaimarhun','<=',1000000],['sttebus',''],['hargajualan','<>','null']])
// ->orWhere([['sttebus','!=',''],['t_update','>',$tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi3harini = TransaksiKeuntungan::on('mysql7')
->selectRaw('COUNT(*) as bil, SUM(bayaran_pembiayaan) AS total')
->whereIn('norujukan',$ansuran3harini)
->where('kodcaw',$kodcaw)
->where('bayaran_pembiayaan','>',0)
->get();
##push in array##
$arrayans1 = ['bil' => $transaksi1[0]->bil, 'pinj' => $transaksi1[0]->total];
$arrayharinians1 = ['bil' => $transaksi1harini[0]->bil, 'pinj' => $transaksi1harini[0]->total];
$arrayans2 = ['bil' => $transaksi2[0]->bil, 'pinj' => $transaksi2[0]->total];
$arrayharinians2 = ['bil' => $transaksi2harini[0]->bil, 'pinj' => $transaksi2harini[0]->total];
$arrayans3 = ['bil' => $transaksi3[0]->bil, 'pinj' => $transaksi3[0]->total];
$arrayharinians3 = ['bil' => $transaksi3harini[0]->bil, 'pinj' => $transaksi3harini[0]->total];
//////////////////
///HAPUS KIRA/////
//////////////////
$hapuskira1 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','<',$tarikh)
->where('n_marhun','>=',1)
->where('n_marhun','<=',400.99)
->orderBy('tarikh')
->get();
$hapuskira2 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','<',$tarikh)
->where('n_marhun','>=',401)
->where('n_marhun','<=',2000.99)
->orderBy('tarikh')
->get();
$hapuskira3 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','<',$tarikh)
->where('n_marhun','>=',2001)
->where('n_marhun','<=',1000000)
->orderBy('tarikh')
->get();
$hapuskiraini1 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','=',$tarikh)
->where('n_marhun','>=',1)
->where('n_marhun','<=',400.99)
->orderBy('tarikh')
->get();
$hapuskiraini2 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','=',$tarikh)
->where('n_marhun','>=',401)
->where('n_marhun','<=',2000.99)
->orderBy('tarikh')
->get();
$hapuskiraini3 = HapusKira::on($cawangan['mysql'])
->selectRaw('COUNT(norujukan) AS bil, SUM(bakipjm) AS pinj')
->where('tarikh','=',$tarikh)
->where('n_marhun','>=',2001)
->where('n_marhun','<=',1000000)
->orderBy('tarikh')
->get();
array_push($array_kawalanstok,["gadai1" => $gadai1, "gadai2" => $gadai2, "gadai3" => $gadai3,"gadaiini1" => $gadaiini1, "gadaiini2" => $gadaiini2, "gadaiini3" => $gadaiini3]);
array_push($array_kawalanstok,["tebus1" => $tebus1, "tebus2" => $tebus2, "tebus3" => $tebus3,"tebusini1" => $tebusini1, "tebusini2" => $tebusini2, "tebusini3" => $tebusini3]);
array_push($array_kawalanstok,["lelong1" => $lelong1, "lelong2" => $lelong2, "lelong3" => $lelong3,"lelongini1" => $lelongini1, "lelongini2" => $lelongini2, "lelongini3" => $lelongini3]);
array_push($array_kawalanstok,["hapuskira1" => $hapuskira1, "hapuskira2" => $hapuskira2, "hapuskira3" => $hapuskira3,"hapuskiraini1" => $hapuskiraini1, "hapuskiraini2" => $hapuskiraini2, "hapuskiraini3" => $hapuskiraini3]);
array_push($array_kawalanstok,["ans1" => $arrayans1, "ans2" => $arrayans2, "ans3" => $arrayans3,"ansini1" => $arrayharinians1, "ansini2" => $arrayharinians2, "ansini3" => $arrayharinians3]);
return response()->json($array_kawalanstok);
}
public function showAllGadaiToday(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$lastweek = $current->subWeek()->toDateString();
$gadaiToday = 0;
$gadaiLastweek = 0;
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$harini)->sum('pinjaman');
$gadai_last_week = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$lastweek)->sum('pinjaman');
$gadaiLastweek += $gadai_last_week;
$gadaiToday += $gadai;
}
$diffGadaiPercent = 0;
if($gadaiLastweek != 0){
$diffGadaiPercent = (($gadaiToday - $gadaiLastweek)/$gadaiLastweek)*100;
}
$dataGadai = [];
array_push($dataGadai,['gadaiToday'=>$gadaiToday,'percentDiff'=>$diffGadaiPercent]);
return response()->json($dataGadai);
}
public function showAllTebusToday(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$lastweek = $current->subWeek()->toDateString();
$tebusToday = 0;
$tebusLastWeek = 0;
foreach($cawangan_all as $index=>$cawangan){
$tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$harini)->sum('bakipjm');
$tebus_last_week = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$lastweek)->sum('bakipjm');
$tebusToday += $tebus;
$tebusLastWeek += $tebus_last_week;
}
$diffTebusPercent = 0;
if($tebusLastWeek != 0){
$diffTebusPercent = (($tebusToday - $tebusLastWeek)/$tebusLastWeek)*100;
}
$dataTebus = [];
array_push($dataTebus,['tebusToday'=>$tebusToday,'percentDiff'=>$diffTebusPercent]);
return response()->json($dataTebus);
}
public function showAllVariasiToday(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$lastweek = $current->subWeek()->toDateString();
$tebusToday = 0;
$gadaiToday = 0;
$tebusLastWeek = 0;
$gadaiLastWeek = 0;
foreach($cawangan_all as $index=>$cawangan){
$tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$harini)->sum('bakipjm');
$gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$harini)->sum('pinjaman');
$gadai_last_week = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$lastweek)->sum('pinjaman');
$tebus_last_week = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$lastweek)->sum('bakipjm');
$tebusToday += $tebus;
$gadaiToday += $gadai;
$tebusLastWeek += $tebus_last_week;
$gadaiLastWeek += $gadai_last_week;
}
$variasiToday = $gadaiToday - $tebusToday;
$variasiLastWeek = $gadaiLastWeek - $tebusLastWeek;
$percentDiffVariasi = 0;
if($variasiLastWeek != 0){
$percentDiffVariasi = (($variasiToday - $variasiLastWeek)/$variasiLastWeek)*100;
}
$dataVariasi = [];
array_push($dataVariasi,['variasiToday'=>$variasiToday,'percentVariasi'=>$percentDiffVariasi]);
return response()->json($dataVariasi);
}
public function showAllUpahToday(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$lastweek = $current->subWeek()->toDateString();
$upahToday = 0;
$upahLastWeek = 0;
foreach($cawangan_all as $index=>$cawangan){
$upah_tebus_today = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$harini)->sum('bakiupah');
$upah_today = Advansur::on($cawangan['mysql'])->where('tarikh',$harini)->sum('upahDibayar');
$upah_tebus_lastweek = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$lastweek)->sum('bakiupah');
$upah_lastweek = Advansur::on($cawangan['mysql'])->where('tarikh',$lastweek)->sum('upahDibayar');
$upahToday = $upahToday + $upah_tebus_today + $upah_today;
$upahLastWeek = $upahLastWeek + $upah_tebus_lastweek + $upah_lastweek;
}
$ansuran_today = TransaksiKeuntungan::on('mysql7')->where([['tarikh_bayaran','>=',$harini . ' 00:00:00'],['tarikh_bayaran','<=',$harini . ' 23:59:59']])->sum('bayaran_keuntungan');
$ansuran_lastweek = TransaksiKeuntungan::on('mysql7')->where([['tarikh_bayaran','>=',$lastweek . ' 00:00:00'],['tarikh_bayaran','<=',$lastweek . ' 23:59:59']])->sum('bayaran_keuntungan');
$upahToday = $upahToday + $ansuran_today;
$upahLastWeek = $upahLastWeek + $ansuran_lastweek;
$diffUpah = 0;
if($upahLastWeek != 0){
$diffUpah = (($upahToday - $upahLastWeek)/$upahLastWeek)*100;
}
$upahData = [];
array_push($upahData,['upahToday'=>$upahToday,'percentDiff'=>$diffUpah]);
return response()->json($upahData);
}
public function showAllGadaiTerkumpul(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$gadaiTerkumpul = 0;
foreach($cawangan_all as $index=>$cawangan){
$gadaiterkumpul = Gadai::on($cawangan['mysql'])->where('sttebus','=','')->whereYear('t_gadai','=',$current->year)->get();
if(sizeof($gadaiterkumpul) != 0){
foreach($gadaiterkumpul as $gadaiterkumpulall)
{
$gadaiTerkumpul += $gadaiterkumpulall['pinjaman'];
}
}
}
return response()->json(number_format($gadaiTerkumpul,2));
}
public function showTebusTerkumpul(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$tebusTerkumpul = 0;
foreach($cawangan_all as $index=>$cawangan){
$tebus = Tebus::on('mysql6')->where('jenistebus','=','T')->whereYear('t_tebus','=',$current->year)->sum('pinjaman');
$tebusTerkumpul += $tebus;
}
return response()->json(number_format($tebusTerkumpul,2));
}
public function showUpahTerkumpul(){
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$upahTerkumpul = 0;
foreach($cawangan_all as $index=>$cawangan){
$upah = Tebus::on($cawangan['mysql'])->whereYear('t_tebus','=',$current->year)->get();
if(sizeof($upah) != 0){
foreach($upah as $upahall)
{
$upahTerkumpul += $upahall['bakiupah'];
}
}
}
return response()->json(number_format($upahTerkumpul,2));
}
public function outstandingSemasaCustomer($ic,$kodcaw){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$total_pembiayaan = 0;
$gadai = Gadai::on($cawangan['mysql'])->where([['nokp','=',$ic],['sttebus','=','']])->get();
if(is_array($gadai) || is_object($gadai)){
foreach($gadai as $index=>$gadai_detail){
if($gadai_detail['pinjaman'] != 0 || $gadai_detail['pinjaman'] != null){
$total_pembiayaan += $gadai_detail['bakipjm'];
}else{
$total_pembiayaan += $gadai_detail['pinjaman'];
}
}
}
return response()->json($total_pembiayaan);
}
public function outstandingSemasa()
{
$cawangan_all = Cawangan::on('mysql7')->get();
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$lastweek = $current->subWeek()->toDateString();
$outstandingSemasa = 0;
$outstandingLastWeek = 0;
foreach($cawangan_all as $index=>$cawangan){
$gadaiactivetawarruq = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['hargajualan','<>',null]])->sum('bakipjm');
$gadaiactivearrahn = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['hargajualan',null]])->sum('pinjaman');
$gadaiactivetawarruqLastWeek = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['hargajualan','<>',null],['t_gadai','<=',$lastweek]])->sum('bakipjm');
$gadaiactivearrahnLastWeek = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['hargajualan',null],['t_gadai','<=',$lastweek]])->sum('pinjaman');
$totalgadaiactive = $gadaiactivetawarruq + $gadaiactivearrahn;
$totalgadaiactiveLastWeek = $gadaiactivetawarruqLastWeek + $gadaiactivearrahnLastWeek;
$outstandingSemasa += $totalgadaiactive;
$outstandingLastWeek += $totalgadaiactiveLastWeek;
}
$percentDiffOutstanding = 0;
if($outstandingLastWeek != 0){
$percentDiffOutstanding = (($outstandingSemasa - $outstandingLastWeek)/$outstandingLastWeek)*100;
}
$dataOutstanding = [];
array_push($dataOutstanding,['outstandingToday'=>$outstandingSemasa,'percentOutstanding'=>$percentDiffOutstanding]);
return response()->json($dataOutstanding);
}
public function oneWeekData(){
$weekly = Carbon::now();
$weekly = new Carbon();
$cawangan_all = Cawangan::on('mysql7')->get();
$dataOneWeek = [];
for($i=0;$i<7;$i++){
if($i == 0){
$weekly_array_date = $weekly->subDays(0);
}else{
$weekly_array_date = $weekly->subDays(1);
}
array_push($dataOneWeek,['tarikh'=>$weekly_array_date->toDateString(),'totalpembiayaan'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0,'totalnilaimarhun'=>0,'onlinepayment'=>0,'hargaemas'=>0]);
}
foreach($dataOneWeek as $index=>$oneWeek){
$totalGadai = 0;
$totalTebus = 0;
$totalUpah = 0;
$totalKomoditi = 0;
$totalNilaiMarhun = 0;
$totalOnline = 0;
$upah = 0;
foreach($cawangan_all as $index2=>$cawangan){
$gadaiCawangan = Gadai::on($cawangan['mysql'])->where('t_gadai',$oneWeek['tarikh'])->sum('pinjaman');
$tebusCawangan = Tebus::on($cawangan['mysql'])->where('t_tebus',$oneWeek['tarikh'])->sum('bakipjm');
$upahTebusCawangan = Tebus::on($cawangan['mysql'])->where('t_tebus',$oneWeek['tarikh'])->sum('bakiupah');
$nilaiMarhunCawangan = Gadai::on($cawangan['mysql'])->where('t_gadai',$oneWeek['tarikh'])->sum('nilaimarhun');
$upahCawangan = Advansur::on($cawangan['mysql'])->where('tarikh',$oneWeek['tarikh'])->sum('upahDibayar');
$totalGadai += $gadaiCawangan;
$totalTebus += $tebusCawangan;
$totalNilaiMarhun += $nilaiMarhunCawangan;
$upah_cawangan = $upahTebusCawangan + $upahCawangan;
$upah += $upah_cawangan;
}
$totalOnline = TransactionOnline::on('mysql7')->where([['tarikh',$oneWeek['tarikh']],['status','PAID']])->sum('total_payment');
$totalKomoditi = KomuditiTransaksi::on('mysql7')->where('tarikh',$oneWeek['tarikh'])->sum('unit_komuditi');
$ansuran = TransaksiKeuntungan::on('mysql7')->join('transaction as trans', function($join){
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.teller','<>','Online')
->where([['transaksi_keuntungan.tarikh_bayaran','>=',$oneWeek['tarikh'] . ' 00:00:00'],['transaksi_keuntungan.tarikh_bayaran','<=',$oneWeek['tarikh'] . ' 23:59:59']])
->sum('bayaran_keuntungan');
$harga_emas = HistoryEmasSandaran::on('mysql7')->where([['t_efektif','<=',$oneWeek['tarikh']],['karat','22.0K']])->orderBy('t_efektif','desc')->first();
$totalUpah = $ansuran + $upah;
$dataOneWeek[$index]['totalpembiayaan'] = $totalGadai;
$dataOneWeek[$index]['totaltebus'] = $totalTebus;
$dataOneWeek[$index]['totalupah'] = $totalUpah;
$dataOneWeek[$index]['totalkomoditi'] = $totalKomoditi;
$dataOneWeek[$index]['totalnilaimarhun'] = $totalNilaiMarhun;
$dataOneWeek[$index]['onlinepayment'] = $totalOnline;
$dataOneWeek[$index]['hargaemas'] = $harga_emas['harga'];
}
return response()->json($dataOneWeek);
}
public function nilaiMarhunSemasa()
{
$cawangan_all = Cawangan::on('mysql7')->get();
$nilaiMarhunSemasa = 0;
foreach($cawangan_all as $index=>$cawangan){
$nilaiMarhunterkumpul = Gadai::on($cawangan['mysql'])->where('sttebus','=','')->sum('nilaimarhun');
$nilaiMarhunSemasa += $nilaiMarhunterkumpul;
}
return response()->json(number_format($nilaiMarhunSemasa,2));
}
public function petiBesiSemasa(){
$cawangan_all = Cawangan::on('mysql7')->get();
$jumlahPetibesi = 0;
$peti_besi = [];
foreach($cawangan_all as $index=>$cawangan){
$petibesi = Vault::on($cawangan['mysql'])->orderBy('tarikh','desc')->first();
array_push($peti_besi,['cawangan'=>$cawangan['details_caw'],'bakipeti'=>$petibesi['bakieod']]);
$jumlahPetibesi += $petibesi['bakieod'];
}
$data = ['totalvault'=>$jumlahPetibesi,'petibesicawangan'=>$peti_besi];
return response()->json($data);
}
public function prestasiCawangan(Request $request){
if($request->tarikh == null){
$current = Carbon::now();
$current = new Carbon();
$tarikh = $current->toDateString();
}else{
$tarikh = $request->tarikh;
}
$cawangan_all = Cawangan::on('mysql7')->get();
$prestasi_cawangan = [];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$tarikh)->sum('pinjaman');
$tebus = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$tarikh)->sum('pinjaman');
$outstanding = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$tarikh],['sttebus','=','']])->sum('pinjaman');
$nilaiMarhun = Gadai::on($cawangan['mysql'])->where([['t_gadai','=',$tarikh],['sttebus','=','']])->sum('nilaimarhun');
$upah = Tebus::on($cawangan['mysql'])->where('t_tebus','=',$tarikh)->sum('bakiupah');
array_push($prestasi_cawangan,['cawangan'=>$cawangan['details_caw'],'nilai_marhun'=>(float)$nilaiMarhun,'outstanding'=>(float)$outstanding,'gadai'=>(float)$gadai,'tebus'=>(float)$tebus,'upah'=>(float)$upah,'tarikh'=>$tarikh]);
}
return response()->json($prestasi_cawangan);
}
public function petiBesiCawangan(Request $request){
if($request->tarikh == null){
$current = Carbon::now();
$current = new Carbon();
$tarikh = $current->toDateString();
}else{
$tarikh = $request->tarikh;
}
$cawangan_all = Cawangan::on('mysql7')->get();
$petibesi_cawangan = [];
foreach($cawangan_all as $index=>$cawangan){
$petibesi = Vault::on($cawangan['mysql'])->where('Tarikh','=',$tarikh)->first();
if(is_array($petibesi) || is_object($petibesi)){
array_push($petibesi_cawangan,['cawangan'=>$cawangan['details_caw'],'petibesi'=>$petibesi['bakieod'],'tarikh'=>$tarikh]);
}else{
array_push($petibesi_cawangan,['cawangan'=>$cawangan['details_caw'],'petibesi'=>0,'tarikh'=>$tarikh]);
}
}
return response()->json($petibesi_cawangan);
}
public function GadaiHapus($kodcaw,$norujukan,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
$tebus = Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('t_tebus','desc')->first();
$tunai=Tunai::on($cawangan['mysql'])->where([['kodcaw','=',$kodcaw],['tarikh','=',$current->toDateString()],['kodlaluan','=',$request->kodlaluan]])
->orderBy('tarikh','desc')
->first();
$keluar=$tunai['keluar'];
$baki=$tunai['baki'];
$masuk=$tunai['masuk'];
$bakiawal=$tunai['bakiawal'];
$pendahuluan=$tunai['tambah'];
$serahan=$tunai['kurang'];
$totalmasuk = 0;
$bakiakhir = 0;
$totalkeluar = 0;
$audit = new Audit();
$audit->users = $request->kodlaluan;
$audit->actions = 'Hapus Gadai';
$audit->norujukan = $norujukan;
$audit->old_data = $gadai;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
if($gadai[0]['historygadaian'] != "0" && $gadai[0]['historygadaian'] != '')
{
if($tebus['tagterima'] == 1)
{
if($tebus['jenistebus'] == 'P')
{
$totalkeluar = $keluar - ($tebus['addpinjaman'] + $tebus['pinjaman']);
$totalmasuk = $masuk - ($tebus['bakiupah'] + $tebus['pinjaman']);
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
$bakiakhir = $baki - $tebus['bakiupah'] + $tebus['addpinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
}else{
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
// $bakiakhir = $bakiawal - $totalkeluar + $totalmasuk + $pendahuluan - $serahan;
if($tebus['jenistebus'] == 'S')
$bakiakhir = $baki - $tebus['bakipjm'];
// dd($totalmasuk,$totalkeluar,$bakiakhir);
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
}
}else{
$bakiakhir = $baki;
if($tebus['jenistebus'] == 'P')
{
$bakiakhir = $bakiakhir - $tebus['bakiupah'] + $tebus['addpinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}else{
$totalmasuk = $masuk - ($tebus['pinjaman']+$tebus['bakiupah']);
$totalkeluar = $keluar - (($tebus['pinjaman'] + $tebus['bakiupah']) - $tebus['bakipjm']);
if($tebus['jenistebus'] == 'S')
$bakiakhir = ($bakiakhir - $tebus['bakipjm']);
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}
}
Gadai::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->update(['sttebus' => '']);
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$gadai[0]['historygadaian'])->orderBy('id', 'desc')->limit(1)->delete();
Tebus::on($cawangan['mysql'])->where('norujukan','=',$gadai[0]['historygadaian'])->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
$gadaiDouble = Gadai::on($cawangan['mysql'])->where([['historygadaian',$gadai[0]['historygadaian']],['norujukan','<>',$gadai[0]['historygadaian']]])->pluck('norujukan');
if($gadaiDouble){
Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiDouble)->delete();
$this->batalKomuditi($gadai[0]['historygadaian'],$cawangan['mysql']);
}
return response('Deleted Successfully', 200);
}
else
{
if($gadai[0]['semakbarcode'] == 'Lulus')
{
$totalkeluar = $keluar - $gadai[0]['pinjaman'];
$bakiakhir = $baki;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $totalkeluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}else{
$bakiakhir = $baki;
$bakiakhir += $gadai[0]['pinjaman'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
}
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
Marhun::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
return response('Deleted Successfully', 200);
}
}
public function batalKomuditi($norujukan,$cawangan_mysql){
$gadaiDouble = Gadai::on($cawangan_mysql)->where([['historygadaian',$norujukan],['norujukan','<>',$norujukan]])->pluck('norujukan');
$komuditi_current = KomuditiPurchase::on('mysql7')->orderBy('created_at','desc')->first();
$transaksi_asal = KomuditiTransaksi::on('mysql7')->whereIn('norujukan','=',$gadaiDouble)->sum('unit_komuditi');
$update_unit = $unit_current + $transaksi_asal['unit_komuditi'];
$update_komuditi = KomuditiPurchase::on('mysql7')->where('id','=',$komuditi_current['id'])->update([
'unit_komuditi' => $update_unit
]);
$komuditi_transaksi = KomuditiTransaksi::on('mysql7')->whereIn('norujukan',$gadaiDouble)->delete();
return 'success';
}
public function TebusHapus($kodcaw,$norujukan,Request $request)
{
$current = Carbon::now();
$current = new Carbon();
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$tebus = Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->get();
$gadai = Gadai::on($cawangan['mysql'])->where([['sttebus',''],['historygadaian',$norujukan]])->first();
$tunai=Tunai::on($cawangan['mysql'])->where([['kodcaw','=',$kodcaw],['tarikh','=',$current->toDateString()],['kodlaluan','=',$request->kodlaluan]])
->orderBy('tarikh','desc')
->first();
$keluar=$tunai['keluar'];
$baki=$tunai['baki'];
$masuk=$tunai['masuk'];
$bakiawal=$tunai['bakiawal'];
$pendahuluan=$tunai['tambah'];
$serahan=$tunai['kurang'];
$totalmasuk = 0;
$bakiakhir = $baki;
$totalkeluar = 0;
if($gadai){
return response('Bukan-Tebus', 200);
}else{
$audit = new Audit();
$audit->users = $request->kodlaluan;
$audit->actions = 'Hapus Tebus';
$audit->norujukan = $norujukan;
$audit->old_data = $gadai;
$audit->kodcaw = $kodcaw;
$audit->created_at = $current;
$audit->updated_at = $current;
$audit->save();
if($tebus[0]['tagterima'] == 1)
{
if($tebus[0]['jenistebus'] == 'T')
{
$totalmasuk = $masuk - $tebus[0]['bakipjm'];
// $bakiakhir = $bakiawal-$keluar+$totalmasuk+$pendahuluan-$serahan;
$bakiakhir = $baki - $tebus[0]['bakipjm'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $totalmasuk,
'baki' => $bakiakhir
));
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
return response('Deleted Successfully', 200);
}
else
return response('Bukan-Tebus', 200);
}else{
if($tebus[0]['jenistebus'] == 'T')
{
$bakiakhir = $bakiakhir - $tebus[0]['bakipjm'];
$updatetunai=Tunai::on($cawangan['mysql'])->where( [['tarikh','=', $current->toDateString()],['kodlaluan','=', $request->kodlaluan] ])->
update(array(
'keluar' => $keluar,
'masuk' => $masuk,
'baki' => $bakiakhir
));
Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(['sttebus' => '']);
Tebus::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->delete();
TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
Transaction::on('mysql7')->where('norujukan','=',$norujukan)->orderBy('id', 'desc')->limit(1)->delete();
return response('Deleted Successfully', 200);
}
else
return response('Bukan-Tebus', 200);
}
}
}
public function senaraiLelong($kodcaw,Request $request){
if($request->tarikh == null){
$current = Carbon::now();
$current = new Carbon();
$tarikh_lelong = $current;
}else{
$tarikh_lelong = Carbon::parse($request->tarikh.' 00:00:00' );
}
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$gadai_aktif = Gadai::on($cawangan['mysql'])->whereNotIn('sttebus',['L','T'])->get();
$senarai_lelong =[];
foreach($gadai_aktif as $index=>$gadai){
$jbg_lelong = $gadai['jbg'];
$baki_upah = $gadai['bakiupah'];
if($jbg_lelong >= 9 || $baki_upah != 0){
array_push($senarai_lelong,$senarai_lelong);
}
}
return response()->json($senarai_lelong);
}
public function percent(){
$cawangan_all = Cawangan::on('mysql7')->get();
$total_gadaian_cawangan = 0;
$array_cawangan = [];
$current = Carbon::now();
$current = new Carbon();
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['t_gadai','=',$current->toDateString()]])->sum('pinjaman');
array_push($array_cawangan,['cawangan'=>$cawangan['details_caw'],'total_gadai'=>$gadai]);
$total_gadaian_cawangan += $gadai;
}
$array_percentage=[];
foreach($cawangan_all as $index=>$cawangan){
if($array_cawangan[$index]['total_gadai'] == 0){
$percentage = 0;
}else{
$percentage = ($array_cawangan[$index]['total_gadai']/$total_gadaian_cawangan)*100;
}
array_push($array_percentage,['cawangan'=>$cawangan['details_caw'],'percentage_gadai'=>number_format($percentage,2)]);
}
$count_cawangan = sizeof($cawangan_all);
for($i=0;$i<$count_cawangan;$i++){
$percent_cawangan = $array_percentage[$i]['percentage_gadai'];
for($b=0;$b<$count_cawangan;$b++){
if($percent_cawangan > $array_percentage[$b]['percentage_gadai']){
$temp = $array_percentage[$i];
$array_percentage[$i] = $array_percentage[$b];
$array_percentage[$b] = $temp;
}
}
}
return response()->json($array_percentage);
}
public function percentTop5(){
$cawangan_all = Cawangan::on('mysql7')->get();
$total_gadaian_cawangan = 0;
$array_cawangan = [];
$current = Carbon::now();
$current = new Carbon();
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['t_gadai','=',$current->toDateString()]])->sum('pinjaman');
array_push($array_cawangan,['cawangan'=>$cawangan['details_caw'],'total_gadai'=>$gadai]);
$total_gadaian_cawangan += $gadai;
}
$array_percentage=[];
$count_cawangan = sizeof($cawangan_all);
for($i=0;$i<$count_cawangan;$i++){
$percent_cawangan = $array_cawangan[$i]['total_gadai'];
for($b=0;$b<$count_cawangan;$b++){
if($percent_cawangan > $array_cawangan[$b]['total_gadai']){
$temp = $array_cawangan[$i];
$array_cawangan[$i] = $array_cawangan[$b];
$array_cawangan[$b] = $temp;
}
}
}
$array_top5=[];
$total_top5 = 0;
for($i=0;$i<5;$i++){
$total_top5 += $array_cawangan[$i]['total_gadai'];
array_push($array_top5,$array_cawangan[$i]);
}
foreach($array_top5 as $index=>$top5){
if($top5['total_gadai'] == 0){
$percentage = 0;
}else{
$percentage = ($top5['total_gadai']/$total_top5)*100;
}
array_push($array_percentage,['cawangan'=>$top5['cawangan'],'percentage_gadai'=>number_format($percentage,2)]);
}
// dd($array_percentage);
return response()->json($array_percentage);
}
public function totalPinjamanGadaian(){
$cawangan_all = Cawangan::on('mysql7')->get();
$total_gadaian_cawangan = 0;
$array_cawangan = [];
$current = Carbon::now();
$current = new Carbon();
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->where([['sttebus','=',''],['t_gadai','=',$current->toDateString()]])->sum('pinjaman');
array_push($array_cawangan,['cawangan'=>$cawangan['details_caw'],'total_gadai'=>$gadai]);
$total_gadaian_cawangan += $gadai;
}
//sorting
$count_cawangan = sizeof($cawangan_all);
for($i=0;$i<$count_cawangan;$i++){
$percent_cawangan = $array_cawangan[$i]['total_gadai'];
for($b=0;$b<$count_cawangan;$b++){
if($percent_cawangan > $array_cawangan[$b]['total_gadai']){
$temp = $array_cawangan[$i];
$array_cawangan[$i] = $array_cawangan[$b];
$array_cawangan[$b] = $temp;
}
}
}
return response()->json($array_cawangan);
}
public function bilanganTransaksi(Request $request){
$cawangan_all = Cawangan::on('mysql7')->get();
$penggadai_all = [];
$current = Carbon::now();
$current = new Carbon();
$weekly = Carbon::now();
$weekly = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$yearly = Carbon::now();
$yearly = new Carbon();
$weekly_array = Carbon::now();
$weekly_array = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$yearly_array = Carbon::now();
$yearly_array = new Carbon();
$array_totalup = [];
if($request->method == 'daily'){
array_push($array_totalup,['tarikh'=>$current->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0,'totalkomoditi'=>0]);
}
if($request->method == 'weekly'){//weekly
for($i=0;$i<7;$i++){
if($i == 0){
$weekly_array_date = $weekly->subDays(0);
}else{
$weekly_array_date = $weekly->subDays(1);
}
array_push($array_totalup,['tarikh'=>$weekly_array_date->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]);
}
}
if($request->method == 'monthly'){
for($i=0;$i<12;$i++){
if($i == 0){
$monthly_array_date = $monthly_array->startOfMonth()->subMonths(0);
}else{
$monthly_array_date = $monthly_array->startOfMonth()->subMonths(1);
}
array_push($array_totalup,['tarikh'=>$monthly_array_date->year.'-'.sprintf("%02d", $monthly_array_date->month),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]);
}
}
if($request->method == 'yearly'){
for($i=0;$i<5;$i++){
if($i == 0){
$yearly_array_date = $yearly_array->startOfYear()->subYears(0);
}else{
$yearly_array_date = $yearly_array->startOfYear()->subYears(1);
}
array_push($array_totalup,['tarikh'=>sprintf("%04d",$yearly_array_date->year),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]);
}
}
$weekly_date = $weekly->subDays(6)->toDateString();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$yearly_date = $yearly->startOfYear()->subYears(4)->toDateString();
foreach($cawangan_all as $index => $cawangan){
if($request->method == 'daily'){
$gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect('t_gadai')->groupBy('t_gadai')->where('t_gadai','=',$current->toDateString())->orderBy('t_gadai','desc')->get();
$tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect('t_tebus')->groupBy('t_tebus')->where('t_tebus','=',$current->toDateString())->orderBy('t_tebus','desc')->get();
// $pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase')
// ->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->get();
}elseif($request->method == 'weekly'){
$gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect('t_gadai')->groupBy('t_gadai')->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$weekly_date]])->orderBy('t_gadai','desc')->get();
$tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect('t_tebus')->groupBy('t_tebus')->where([['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$weekly_date]])->orderBy('t_tebus','desc')->get();
// $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase')
// ->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$weekly_date]])->orderBy('created_at','desc')->get();
}elseif($request->method == 'monthly'){
$gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y%m')"))->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$monthly_date]])->orderBy('t_gadai','desc')->get();
$tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y-%m") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y%m')"))->where([['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$monthly_date]])->orderBy('t_tebus','desc')->get();
// $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y-%m") as date_purchase'))
// ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y%m')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$monthly_date]])
// ->orderBy('created_at','desc')->get();
}elseif($request->method == 'yearly'){
$gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y')"))->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$yearly_date]])->orderBy('t_gadai','desc')->get();
// dd($gadai);
$tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y')"))->where([['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$yearly_date]])->orderBy('t_tebus','desc')->get();
// $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y") as date_purchase'))
// ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$yearly_date]])
// ->orderBy('created_at','desc')->get();
}
//komoditi
if($request->method == 'daily'){
$pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase')
->where([['transaction_type','=','Beli Komoditi'],['date_purchase','=',$current->toDateString()]])->orderBy('created_at','desc')->get();
}elseif($request->method == 'weekly')
{
$pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase')
->where([['transaction_type','=','Beli Komoditi'],['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$weekly_date]])->orderBy('created_at','desc')->get();
}elseif($request->method == 'monthly')
{
$pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql7')->raw('DATE_FORMAT(date_purchase, "%Y-%m") as date_purchase'))
->groupBy(DB::connection('mysql7')->raw("DATE_FORMAT(date_purchase,'%Y%m')"))->where([['transaction_type','=','Beli Komoditi'],['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$monthly_date]])
->orderBy('created_at','desc')->get();
}elseif($request->method == 'yearly')
{
$pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql7')->raw('DATE_FORMAT(date_purchase, "%Y") as date_purchase'))
->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y')"))->where([['transaction_type','=','Beli Komoditi'],['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$yearly_date]])
->orderBy('created_at','desc')->get();
}
foreach($array_totalup as $array_index=>$totalup){
foreach($gadai as $indexgadai=>$gadai_detail){
if($totalup['tarikh'] == $gadai_detail['t_gadai']){
$total_gadai = $totalup['totalgadai'];
$total_gadai += $gadai_detail['totalpinjaman'];
$array_totalup[$array_index]['totalgadai'] = $total_gadai;
}
}
foreach($tebus as $indextebus=>$tebus_detail){
if($totalup['tarikh'] == $tebus_detail['t_tebus']){
$total_tebus = $totalup['totaltebus'];
$total_tebus += $tebus_detail['totaltebus'];
$array_totalup[$array_index]['totaltebus'] = $total_tebus;
$total_upah = $totalup['totalupah'];
$total_upah += $tebus_detail['totalupah'];
$array_totalup[$array_index]['totalupah'] = $total_upah;
}
}
}
}
foreach($array_totalup as $array_index=>$totalup)
{
foreach($pembeliankomuditi as $indextebus=>$pembeliankomuditi_detail){
if($totalup['tarikh'] == $pembeliankomuditi_detail['date_purchase']){
$jumlahkomoditi = $totalup['totalkomoditi'];
$jumlahkomoditi += $pembeliankomuditi_detail['totalkomoditi'];
$array_totalup[$array_index]['totalkomoditi'] = $jumlahkomoditi;
}
}
}
return response()->json($array_totalup);
}
public function statistikGadaian(){
$current = Carbon::now();
$current = new Carbon();
$cawangan_all = Cawangan::on('mysql7')->get();
$array_total = ['total_sag'=>0,'total_customer'=>0];
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])->selectRaw('COUNT(norujukan) AS totalsag,COUNT(DISTINCT nokp) as totalcustomer')->where('t_gadai','=',$current->toDateString())->get();
$total_sag = $array_total['total_sag'];
$total_sag += $gadai[0]['totalsag'];
$totalcustomer = $array_total['total_customer'];
$totalcustomer += $gadai[0]['totalcustomer'];
$array_total['total_sag'] = $total_sag;
$array_total['total_customer'] = $totalcustomer;
}
return response()->json($array_total);
}
public function carian_AgingBulanan($kodcaw,$tarikh,$num)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$db=$cawangan['mysql'];
$gadai_aging=DB::connection($db)->select("SELECT count(norujukan) as a,sum(pinjaman)as b From gadai where (((period_diff(date_format('".$tarikh."', '%Y%m'), date_format(t_gadai, '%Y%m')))+1)=".$num.") and((sttebus='' and t_gadai<='".$tarikh."') or (sttebus!='' and t_update>'".$tarikh."'and t_gadai<='".$tarikh."'))");
return response()->json($gadai_aging);
}
public function carian_agingLebih12_Bulan($kodcaw,$tarikh)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$db=$cawangan['mysql'];
$gadai_aging=DB::connection($db)->select("SELECT count(norujukan) as a,sum(pinjaman)as b From gadai where (((period_diff(DATE_FORMAT('".$tarikh."', '%Y%m'), date_format(t_gadai, '%Y%m')))+1)>'12') and((sttebus='' and t_gadai<='".$tarikh."') or (sttebus!='' and t_update>'".$tarikh."' and t_gadai<='".$tarikh."'))");
return response()->json($gadai_aging);
}
public function carian_Seluruh_AgingBulanan($kodcaw,$tarikh)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
$db=$cawangan['mysql'];
$gadai_aging=DB::connection($db)->select("SELECT kodcaw,count(norujukan) as a,sum(pinjaman)as b,((period_diff(date_format('".$tarikh."', '%Y%m'), date_format(t_gadai, '%Y%m')))+1) AS bln From gadai where ((sttebus='' and t_gadai<='".$tarikh."') or (sttebus!='' and t_update>'".$tarikh."' and t_gadai<='".$tarikh."'))");
return response()->json($gadai_aging);
}
public function rekodGadaian(Request $request){
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$rekod_gadaian = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$request->tarikh)->get();
return response()->json($rekod_gadaian);
}
public function CalculationPinjamanDiberi($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$tarikhtawarruq = '';
switch ($kodcaw) {
case 'KB2':
$tarikhtawarruq = '2021-04-13';
break;
case 'WCY':
$tarikhtawarruq = '2021-05-04';
break;
case '1STOP':
$tarikhtawarruq = '2021-05-09';
break;
case '020301':
$tarikhtawarruq = '2021-05-18';
break;
case 'ALS':
$tarikhtawarruq = '2021-05-24';
break;
case 'WB':
$tarikhtawarruq = '2021-05-24';
break;
case 'APM':
$tarikhtawarruq = '2021-06-08';
break;
case 'ARM':
$tarikhtawarruq = '2021-06-08';
break;
case '020306':
$tarikhtawarruq = '2021-06-08';
break;
case '010311':
$tarikhtawarruq = '2021-06-13';
break;
case 'GC':
$tarikhtawarruq = '2021-06-13';
break;
case 'JLI':
$tarikhtawarruq = '2021-06-13';
break;
case '010621':
$tarikhtawarruq = '2021-06-15';
break;
case 'ARP':
$tarikhtawarruq = '2021-06-15';
break;
case '010621':
$tarikhtawarruq = '2021-06-21';
break;
case '010136':
$tarikhtawarruq = '2021-06-20';
break;
case '011235':
$tarikhtawarruq = '2021-06-21';
break;
case '011227':
$tarikhtawarruq = '2021-06-21';
break;
case '010620':
$tarikhtawarruq = '2021-06-21';
break;
case '010617':
$tarikhtawarruq = '2021-06-21';
break;
case '010915':
$tarikhtawarruq = '2021-06-22';
break;
case '011228':
$tarikhtawarruq = '2021-06-22';
break;
case '010219':
$tarikhtawarruq = '2021-06-22';
break;
case '011229':
$tarikhtawarruq = '2021-06-22';
break;
case '011230':
$tarikhtawarruq = '2021-06-23';
break;
case '011013':
$tarikhtawarruq = '2021-06-23';
break;
case '011412':
$tarikhtawarruq = '2021-06-23';
break;
case '011234':
$tarikhtawarruq = '2021-06-28';
break;
case '020303':
$tarikhtawarruq = '2021-06-29';
break;
case '010618':
$tarikhtawarruq = '2021-06-29';
break;
case '011231':
$tarikhtawarruq = '2021-06-23';
break;
case '011232':
$tarikhtawarruq = '2021-06-28';
break;
case '011233':
$tarikhtawarruq = '2021-06-28';
break;
}
$rekod_emaspalsu = Gadai::on($cawangan['mysql'])
->where('tagpalsu','=',1)
->where([['t_gadai','<=',$request->tarikh],['sttebus','=','']])
->sum('pinjaman');
$rekod_pinjamandiberi = Gadai::on($cawangan['mysql'])
->where('tagpalsu','=',0)
->where([['t_gadai','<=',$tarikhtawarruq],['sttebus','=','']])
->orWhere([['sttebus','!=',''],['t_update','>',$request->tarikh],['t_gadai','<=',$tarikhtawarruq]])
->sum('pinjaman');
// if($kodcaw === '011232')
// {
// $rekod_pinjamandiberi -= 282;
// }
$array_rekodemas = ['pinjamankoop' => $rekod_pinjamandiberi,'emaspalsu' => $rekod_emaspalsu];
return response()->json($array_rekodemas);
}
public function CalculationPinjamanDiberiLejer($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$tarikhtawarruq = '';
switch ($kodcaw) {
case 'KB2':
$tarikhtawarruq = '2021-04-13';
break;
case 'WCY':
$tarikhtawarruq = '2021-05-04';
break;
case '1STOP':
$tarikhtawarruq = '2021-05-09';
break;
case '020301':
$tarikhtawarruq = '2021-05-18';
break;
case 'ALS':
$tarikhtawarruq = '2021-05-24';
break;
case 'WB':
$tarikhtawarruq = '2021-05-24';
break;
case 'APM':
$tarikhtawarruq = '2021-06-08';
break;
case 'ARM':
$tarikhtawarruq = '2021-06-08';
break;
case '020306':
$tarikhtawarruq = '2021-06-08';
break;
case '010311':
$tarikhtawarruq = '2021-06-13';
break;
case 'GC':
$tarikhtawarruq = '2021-06-13';
break;
case 'JLI':
$tarikhtawarruq = '2021-06-13';
break;
case '010621':
$tarikhtawarruq = '2021-06-15';
break;
case 'ARP':
$tarikhtawarruq = '2021-06-15';
break;
case '010621':
$tarikhtawarruq = '2021-06-21';
break;
case '010136':
$tarikhtawarruq = '2021-06-20';
break;
case '011235':
$tarikhtawarruq = '2021-06-21';
break;
case '011227':
$tarikhtawarruq = '2021-06-21';
break;
case '010620':
$tarikhtawarruq = '2021-06-21';
break;
case '010617':
$tarikhtawarruq = '2021-06-21';
break;
case '010915':
$tarikhtawarruq = '2021-06-22';
break;
case '011228':
$tarikhtawarruq = '2021-06-22';
break;
case '010219':
$tarikhtawarruq = '2021-06-22';
break;
case '011230':
$tarikhtawarruq = '2021-06-23';
break;
case '011229':
$tarikhtawarruq = '2021-06-22';
break;
case '011013':
$tarikhtawarruq = '2021-06-23';
break;
case '011412':
$tarikhtawarruq = '2021-06-23';
break;
case '011234':
$tarikhtawarruq = '2021-06-28';
break;
case '020303':
$tarikhtawarruq = '2021-06-29';
break;
case '010618':
$tarikhtawarruq = '2021-06-29';
break;
case '011231':
$tarikhtawarruq = '2021-06-23';
break;
case '011232':
$tarikhtawarruq = '2021-06-28';
break;
case '011233':
$tarikhtawarruq = '2021-06-28';
break;
}
$gadai = Gadai::on($cawangan['mysql'])
->where('tagpalsu','=',0)
->where([['t_gadai','<=',$tarikhtawarruq]])
->where([['t_gadai','>=',$request->mula],['t_gadai','<=',$request->hingga]])
->sum('pinjaman');
$tebus = Gadai::on($cawangan['mysql'])
->join('tebus as teb','teb.norujukan','=','gadai.norujukan')
->where('gadai.tagpalsu','=',0)
->where([['gadai.t_gadai','<=',$tarikhtawarruq],['gadai.sttebus','=','T']])
->where([['teb.t_tebus','>=',$request->mula],['teb.t_tebus','<=',$request->hingga]])
->sum('teb.pinjaman');
$pembiayaanlelong = Lelong::on($cawangan['mysql'])
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga]])
->sum('pinjaman');
$tebus = $tebus + $pembiayaanlelong;
$array_rekodemas = ['Gadai' => $gadai,'Tebus' => $tebus];
return response()->json($array_rekodemas);
}
public function CalculationPembiayaanTawarruq($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$rekod_pinjamandiberi = Gadai::on($cawangan['mysql'])
->where('tagpalsu','=',0)
->where([['t_gadai','<=',$request->tarikh],['sttebus','=',''],['hargajualan','<>','NULL']])
->orWhere([['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh],['hargajualan','<>','null']])
->sum('pinjaman');
return response()->json($rekod_pinjamandiberi);
}
public function CalculationPembiayaanTawarruqLejer($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$Gadai = Gadai::on($cawangan['mysql'])->where([['t_gadai','>=',$request->mula],['t_gadai','<=',$request->hingga],['hargajualan','<>','NULL']])->sum('pinjaman');
$Tebus = Gadai::on($cawangan['mysql'])
->join('tebus as teb','teb.norujukan','=','gadai.norujukan')
->where('gadai.tagpalsu','=',0)
->where([['teb.t_tebus','>=',$request->mula],['teb.t_tebus','<=',$request->hingga],['gadai.sttebus','=','T'],['gadai.hargajualan','<>','NULL']])
->sum('gadai.pinjaman');
$rekod_pinjamandiberi = ['Gadai' => $Gadai,'Tebus' => $Tebus];
return response()->json($rekod_pinjamandiberi);
}
public function CalculationKeuntungan($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$datetawarruq = new Carbon('2021-04-14');
$daterequest = new Carbon($request->tarikh);
$daterequest->addDays(1);
$current = Carbon::now();
$current = new Carbon();
$keuntungan = Gadai::on($cawangan['mysql'])
->where('t_gadai','<=',$request->tarikh)
->where('hargajualan','<>','null')
->orWhere([['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh],['t_gadai','>=','2021-04-14']])
->whereNotNull('upah12')
->sum('upah12');
//$transaksi_data = TransaksiKeuntungan::on('mysql7')
//->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
//->whereYear('tarikh_bayaran','=',$current->year)
//->get();
$transaksi_data = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.trans_type','=','A')
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
->get();
$transaksi = 0;
if($transaksi_data){
foreach($transaksi_data as $index=>$transaksiData){
$gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$transaksiData['norujukan'])->whereNotNull('hargajualan')->first();
if($gadaiData){
$transaksi += $transaksiData['bayaran_keuntungan'];
}
}
}
$totalkeuntungan = $keuntungan - $transaksi;
return response()->json($totalkeuntungan,200);
}
public function CalculationKeuntunganLejer($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$current = Carbon::now();
$current = new Carbon();
$keuntungan = Gadai::on($cawangan['mysql'])
->where('t_gadai','>=',$request->mula)
->where('t_gadai','<=',$request->hingga)
->where('hargajualan','<>','null')
->orWhere([['t_update','>',$request->mula],['sttebus','!=',''],['t_gadai','>=',$request->mula],['t_gadai','<=',$request->hingga],['t_gadai','>=','2021-04-14']])
->whereNotNull('upah12')
->sum('upah12');
$ansuran_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.trans_type','=','A')
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', $request->mula)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->hingga)
->whereYear('tarikh_bayaran','=',$current->year)
->where('trans.kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('bayaran_keuntungan');
->get();
$ansuran = 0;
if($ansuran_data){
foreach($ansuran_data as $index=>$ansuranData){
$gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$ansuranData['norujukan']],['hargajualan','<>',null]])->first();
if($gadaiData){
$ansuran += $ansuranData['bayaran_keuntungan'];
}
}
}
$arraykeuntungan = ["totalkeuntungan" => $keuntungan,"ansuran" => floatval($ansuran)];
//$totalkeuntungan = $keuntungan;
return response()->json($arraykeuntungan,200);
}
public function CalculationBayaranPendahuluan($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$datetawarruq = new Carbon('2021-04-14');
$daterequest = new Carbon($request->tarikh);
$daterequest->addDays(1);
$current = Carbon::now();
$current = new Carbon();
$transaksi_data = TransaksiKeuntungan::on('mysql7')
->where('tarikh_bayaran' ,'<=', $daterequest)
->where('kodcaw',$request->kodcaw)
->pluck('norujukan');
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$transaksi_data)
->where([['sttebus',''],['hargajualan','<>','null']])
->orWhere([['sttebus','!=',''],['t_update','>',$request->tarikh],['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan',$gadaiData)
->where('tarikh_bayaran' ,'<=', $daterequest)
->sum('bayaran_pembiayaan');
// $transaksi_data = TransaksiKeuntungan::on('mysql7')
// // ->select('norujukan','tarikh_bayaran')
// ->where('tarikh_bayaran' ,'<=', $daterequest)
// // ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
// // ->where([['db2.sttebus','=',''],['db2.hargajualan','<>','null'],['tarikh_bayaran' ,'<=', $daterequest]])
// // ->orWhere([['db2.sttebus','!=',''],['db2.t_update','>',$request->tarikh],['db2.hargajualan','<>','null'],['tarikh_bayaran' ,'<=', $daterequest]])
// // ->sum('bayaran_pembiayaan');
// ->pluck('norujukan');
// // ->get();
// $transaksi = 0;
// if($transaksi_data){
// foreach($transaksi_data as $index=>$transaksiData){
// $gadaiData = Gadai::on($cawangan['mysql'])->where('norujukan',$transaksiData['norujukan'])->first();
// if($gadaiData && (($gadaiData['sttebus'] == '' && $gadaiData['hargajualan'] != null) || ($gadaiData['sttebus'] != '' && $gadaiData['t_update'] > $request->tarikh && $gadaiData['hargajualan'] != null))){
// $transaksi += $transaksiData['bayaran_pembiayaan'];
// }
// }
// }
return response($transaksi);
}
public function CalculationBayaranPendahuluanLejer($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$datetawarruq = new Carbon('2021-04-14');
$datemula = new Carbon($request->mula);
$datemula->addDays(1);
$datehingga = new Carbon($request->hingga);
$datehingga->addDays(1);
$current = Carbon::now();
$current = new Carbon();
// $arraylejer = array();
// $transaksi_data = TransaksiKeuntungan::on('mysql7')
// ->where([['tarikh_bayaran' ,'>=', $datemula],['tarikh_bayaran' ,'<=', $datehingga]])
// ->where('kodcaw',$kodcaw)
// ->pluck('norujukan');
// $gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$transaksi_data)
// ->where([['sttebus',''],['hargajualan','<>','null']])
// ->orWhere([['sttebus','!=',''],['t_update','>',$request->mula],['hargajualan','<>','null']])
// ->pluck('norujukan');
// $transaksi = TransaksiKeuntungan::on('mysql7')
// ->whereIn('norujukan',$gadaiData)
// ->where([['tarikh_bayaran' ,'>=', $datemula],['tarikh_bayaran' ,'<=', $datehingga]])
// ->sum('bayaran_pembiayaan');
$from = date($request->mula);
$to = date($request->hingga);
$transaksi_data = TransaksiKeuntungan::on('mysql7')
// ->where([['tarikh_bayaran' ,'>=', $datemula],['tarikh_bayaran' ,'<=', $datehingga]])
->whereDate('tarikh_bayaran','<=', $request->hingga)
->whereDate('tarikh_bayaran','>=', $request->mula)
->where('kodcaw',$kodcaw)
->pluck('norujukan');
$transaksi_kredit_gadai = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$transaksi_data)
//->join('tebus as t','gadai.norujukan','=','t.norujukan')
->where([['hargajualan','<>','null']])
->pluck('norujukan');
$transaksi_kredit = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->whereIn('transaksi_keuntungan.norujukan',$transaksi_kredit_gadai)
->where('trans.trans_type','=','A')
->whereDate('tarikh_bayaran','<=', $request->hingga)
->whereDate('tarikh_bayaran','>=', $request->mula)
// ->whereBetween('tarikh_bayaran',[$from,$to])
->sum('bayaran_pembiayaan');
//$transaksi_kredit = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
// ->where([['db2.sttebus','=',''],['db2.hargajualan','<>','null'],['tarikh_bayaran' ,'>=', $datemula],['tarikh_bayaran' ,'<=', $datehingga]])
// ->sum('bayaran_pembiayaan');
//dd($transaksi_kredit);
$tebus = Gadai::on($cawangan['mysql'])
->select('gadai.norujukan','gadai.hargajualan','gadai.bakihargajualan')
->join('tebus as t','gadai.norujukan','=','t.norujukan')
->where('gadai.sttebus','T')
->where([['t_tebus','>=',$request->mula],['t_tebus','<=',$request->hingga]])
->groupBy('gadai.norujukan')
->get();
$arraytebus = array();
foreach($tebus as $index => $t)
{
if($t['hargajualan'] != $t['bakihargajualan'])
{
array_push($arraytebus,$t['norujukan']);
}
}
//dd($arraytebus);
$transaksi_debit = TransaksiKeuntungan::on('mysql7')
->leftJoin('transaction as trans', function($join)
{
$join->on('transaksi_keuntungan.norujukan', '=', 'trans.norujukan');
$join->on('transaksi_keuntungan.tarikh_bayaran', '=', 'trans.created_at');
})
->where('trans.trans_type','=','A')
->whereIn('trans.norujukan',$arraytebus)
->sum('bayaran_pembiayaan');
$arraylejer = ["keluar" => $transaksi_debit,"masuk" => $transaksi_kredit];
return response($arraylejer);
}
public function LaporanAuditAktif($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$audit = Gadai::on($cawangan['mysql'])
->where([['tagpalsu','=',0],['t_gadai','<=',$request->tarikh],['sttebus','=','']])
->orWhere([['tagpalsu','=',0],['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
->orderBy('t_gadai', 'ASC')
->orderBy('sirig', 'ASC');
$rekodaudit = $audit->get();
$totalrekod = $audit->sum('pinjaman');
$totalberat = $audit->sum('berat');
$totalnilaimarhun = $audit->sum('nilaimarhun');
$arrayrekod = ['rekod' => $rekodaudit, 'total' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun];
return response()->json($arrayrekod,200);
}
public function LaporanAuditTakAktif($kodcaw,Request $request)
{
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
$audit = Gadai::on($cawangan['mysql'])
->where([['t_gadai','<=',$request->tarikh],['sttebus','=','']])
->orWhere([['t_update','>',$request->tarikh],['sttebus','!=',''],['t_gadai','<=',$request->tarikh]])
->orderBy('t_gadai', 'ASC')
->orderBy('sirig', 'ASC');
$rekodaudit = $audit->get();
$totalrekod = $audit->sum('pinjaman');
$totalberat = $audit->sum('berat');
$totalnilaimarhun = $audit->sum('nilaimarhun');
$arrayrekod = ['rekod' => $rekodaudit, 'total' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun];
return response()->json($arrayrekod,200);
}
public function updateJBGsemasa(){
$cawangan = Cawangan::on('mysql7')->get();
$current = Carbon::now();
foreach($cawangan as $cawangan_mysql){
$all_gadai = Gadai::on($cawangan_mysql['mysql'])->whereNotIn('sttebus',['L','T'])->get();
foreach($all_gadai as $gadai){
if($gadai['t_update'] == null){
$tarikh_update = Carbon::parse($gadai['t_gadai'].' '. $gadai['masa']);
}else{
$tarikh_update = Carbon::parse($gadai['t_update'].' 00:00:00' );
}
$tarikh_gadai = Carbon::parse($gadai['t_gadai']. ' 00:00:00');
$diff_gadai = date_diff($tarikh_gadai,$current);
$year_gadai = $diff_gadai->format("%y") * 12;
$month_gadai = $diff_gadai->format("%m");
$days_gadai = $diff_gadai->format("%d");
$days_gadai = $days_gadai + 1;
if($days_gadai >= 1 && $days_gadai <= 15){
$extensivemonth_gadai = 0.5;
}
else if($days_gadai >= 16){
$extensivemonth_gadai = 1;
}
$tempoh_gadai = $year_gadai + $month_gadai + $extensivemonth_gadai;
$diff = date_diff($tarikh_update,$current);
$year = $diff->format("%y") * 12;
$month = $diff->format("%m");
$days = $diff->format("%d");
$days = $days + 1;
if($days >= 1 && $days <= 15){
$extensivemonth = 0.5;
}
else if($days >= 16){
$extensivemonth = 1;
}
$tempoh_update = $year + $month + $extensivemonth;
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
'jbg' => $tempoh_gadai,
'tempoh' => $tempoh_gadai
));
}
}
return response()->json('successful',200);
}
public function PembiayaanBulanan(Request $request){
$current = Carbon::now();
$current = new Carbon();
$monthly = Carbon::now();
$monthly = new Carbon();
$monthly_array = Carbon::now();
$monthly_array = new Carbon();
$monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString();
$cawangan_all = Cawangan::on('mysql7')->get();
$arraybulanan = [];
$array_totalup = [];
for($i=0;$i<12;$i++){
if($i == 0){
$monthly_array_date = $monthly_array->startOfMonth()->subMonths(0);
}else{
$monthly_array_date = $monthly_array->startOfMonth()->subMonths(1);
}
if($monthly_array_date->year === $current->year)
{
switch($monthly_array_date->month){
case 1: $namabulan = 'Jan';
break;
case 2: $namabulan = 'Feb';
break;
case 3: $namabulan = 'Mac';
break;
case 4: $namabulan = 'Apr';
break;
case 5: $namabulan = 'Mei';
break;
case 6: $namabulan = 'Jun';
break;
case 7: $namabulan = 'Jul';
break;
case 8: $namabulan = 'Aug';
break;
case 9: $namabulan = 'Sep';
break;
case 10: $namabulan = 'Okt';
break;
case 11: $namabulan = 'Nov';
break;
case 12: $namabulan = 'Dis';
}
array_push($array_totalup,['tarikh'=>$monthly_array_date->year.'-'.sprintf("%02d", $monthly_array_date->month),'namabulan'=>$namabulan,'pembiayaan'=>0,'bayaran'=>0]);
}
}
foreach($cawangan_all as $index=>$cawangan){
$gadai = Gadai::on($cawangan['mysql'])
->selectRaw('SUM(pinjaman) AS totalpinjaman')
->addSelect(DB::connection($cawangan['mysql'])
->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))
->groupBy(DB::connection($cawangan['mysql'])
->raw("DATE_FORMAT(t_gadai,'%Y%m')"))
->whereYear('t_gadai',2021)
->where([['nokp','=',$request->icno],['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$monthly_date]])
->orderBy('t_gadai','desc')
->get();
foreach($array_totalup as $array_index=>$totalup){
foreach($gadai as $indexgadai=>$gadai_detail){
if($totalup['tarikh'] == $gadai_detail['t_gadai']){
$total_gadai = $totalup['pembiayaan'];
$total_gadai += $gadai_detail['totalpinjaman'];
$array_totalup[$array_index]['pembiayaan'] = $total_gadai;
}
}
}
}
$bayaran = Transaction::on('mysql7')->selectRaw('SUM(duit_masuk) AS totalbayaran')
->addSelect(DB::connection('mysql7')
->raw('DATE_FORMAT(created_at, "%Y-%m") as created_at'))
->groupBy(DB::connection('mysql7')
->raw("DATE_FORMAT(created_at,'%Y%m')"))
->where([['nokp','=',$request->icno],['created_at','<=',$current->toDateString()],['created_at','>=',$monthly_date]])
->orderBy('created_at','desc')
->get();
foreach($array_totalup as $array_index=>$totalup){
foreach($bayaran as $indexbayaran=>$bayaran_detail){
if($totalup['tarikh'] == $bayaran_detail['created_at']){
$total_bayaran = $totalup['bayaran'];
$total_bayaran += $bayaran_detail['totalbayaran'];
$array_totalup[$array_index]['bayaran'] = $total_bayaran;
}
}
}
// asort($array_totalup);
return response()->json($array_totalup);
}
public function hapusGadaiNull(){
$cawangan_all = Cawangan::on('mysql7')->get();
foreach($cawangan_all as $index=>$cawangan){
$gadaiData = Gadai::on($cawangan['mysql'])->where([['nilaimarhun',null],['pinjaman',null]])->orWhere([['nilaimarhun',0.00],['pinjaman',0.00]])->pluck('norujukan');
$deleteMarhun = Marhun::on($cawangan['mysql'])->whereIn('norujukan',$gadaiData)->delete();
$deleteGadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$gadaiData)->delete();
}
}
public function KomoditiDashboard(){
$current = Carbon::now();
$current = new Carbon();
$harini = $current->toDateString();
$totalKomoditi = Komuditi::on('mysql7')->where([['date_purchase',$harini],['transaction_type','Beli Komoditi']])->sum('unit_komuditi');
$totalKomoditiJual = Komuditi::on('mysql7')->where([['date_purchase',$harini],['transaction_type','Jual Komoditi']])->sum('unit_komuditi');
$totalUse = KomuditiTransaksi::on('mysql7')->where('tarikh',$harini)->sum('unit_komuditi');
$bakiKomoditi = $totalKomoditi - $totalKomoditiJual - $totalUse;
$percentUse = 0;
if($totalKomoditi != 0){
$percentUse = ($totalUse/($totalKomoditi-$totalKomoditiJual))*100;
}
$dataKomoditi = [];
array_push($dataKomoditi,['totalKomoditi'=>$totalKomoditi,'bakiKomoditi'=>$bakiKomoditi,'percentUse'=>$percentUse]);
return response()->json($dataKomoditi);
}
}