From 239cb1e343a05dffda6e57d5f40e143b7d57fd65 Mon Sep 17 00:00:00 2001 From: hafifierahman Date: Tue, 10 Jan 2023 11:01:38 +0800 Subject: [PATCH] fix latest issues --- app/Http/Controllers/AdminPageController.php | 251 +++++++++++++++++++ app/Http/Controllers/TebusController.php | 44 ++-- routes/web.php | 4 + 3 files changed, 285 insertions(+), 14 deletions(-) diff --git a/app/Http/Controllers/AdminPageController.php b/app/Http/Controllers/AdminPageController.php index 77fc20d..d86cbe7 100644 --- a/app/Http/Controllers/AdminPageController.php +++ b/app/Http/Controllers/AdminPageController.php @@ -44,6 +44,8 @@ use App\StokAudit10; use App\StokAudit11; use App\StokAudit12; use App\AuditCustomer; +use App\imbangdugalama; +use App\HapusKira; use DB; use DateTime; @@ -3223,4 +3225,253 @@ class AdminPageController extends Controller return response()->json($array_akru,200); } + + public function LaporanOnline(Request $request){ + + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first(); + + if($request->jenis == 'portal') + { + $online=GlDetail::on($cawangan['mysql']) + ->where('kodcaw','=',$request->kodcaw) + ->where([['tarikh','>=',$request->mula],['tarikh','<=',$request->hingga]]) + ->where('descpt','LIKE','SERAHAN BAYAR ONLINE%') + ->where('serahan','>',0) + ->orderby('tarikh','desc') + ->get(); + }else if($request->jenis == 'mobile'){ + + $online=GlDetail::on($cawangan['mysql']) + ->where('kodcaw','=',$request->kodcaw) + ->where([['tarikh','>=',$request->mula],['tarikh','<=',$request->hingga]]) + ->where('descpt','LIKE','Serahan Mobile Payment%') + ->where('serahan','>',0) + ->orderby('tarikh','desc') + ->get(); + }else{ + $online=GlDetail::on($cawangan['mysql']) + ->where('kodcaw','=',$request->kodcaw) + ->where([['tarikh','>=',$request->mula],['tarikh','<=',$request->hingga]]) + ->where('descpt','LIKE','SERAHAN LELONG ONLINE%') + ->where('teller','=','LELONG ONLINE') + ->where('serahan','>',0) + ->orderby('tarikh','desc') + ->get(); + } + + + return response()->json($online,200); + } + + public function calculationUntungTerkumpulAkru($kodcaw,Request $request) + { + $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); + + $current = new Carbon($request->tarikh); + + $daterequest = new Carbon($request->tarikh); + $daterequest->addDays(1); + + $total = 0; + + //Untung Rugi Terkumpul Sebelum 01.12.2013 + $utgrugilama = imbangdugalama::on($cawangan['mysql']) //--masuk + ->sum('untung_t'); + + //Yuran Ahli + $yuranTlama = imbangdugalama::on($cawangan['mysql']) + ->sum('yuran_t'); + + $yuranbaru = Customer::on('mysql7') + ->where('tarikhdaftar','>','2013-12-31') + ->whereYear('tarikhdaftar','<',$current->year) + ->sum('yuranahli'); + + //Caj Lelong + $lelong = Lelong::on($cawangan['mysql']) //--masuk + ->whereNotNull('t_jual') + ->where('t_jual','>','2013-12-31') + ->whereYear('t_jual','<',$current->year) + ->sum('cajlelong'); + + $cajlelonglama = imbangdugalama::on($cawangan['mysql']) + ->sum('cajlelong_t'); + + + //Upah Simpan Tebus + $upahsimpantebus = Tebus::on($cawangan['mysql']) //--masuk + ->where('t_tebus','>','2013-12-31') + ->whereYear('t_tebus','<',$current->year) + ->sum('upahdibayar'); + + //Upah Simpan Lelong + $upahsimpanlelong = Lelong::on($cawangan['mysql']) //--masuk + ->where('t_jual','>','2013-12-31') + ->whereYear('t_jual','<',$current->year) + ->sum('bakiupah'); + + //Upah Simpan Advansur + $upahsimpanansur = Advansur::on($cawangan['mysql']) //--masuk + ->whereYear('tarikh','<',$current->year) + ->sum('upahdibayar'); + + //Upah Tawarruq + + $keuntungan_data = TransaksiKeuntungan::on('mysql7') + ->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest) + ->whereYear('transaksi_keuntungan.tarikh_bayaran','<',$current->year) + ->where('kodcaw',$kodcaw) + ->pluck('norujukan'); + + $gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan', $keuntungan_data)->whereNull('hargajualan')->pluck('norujukan'); + + $upahsimpankeuntungansebelumtawarruq = TransaksiKeuntungan::on('mysql7') + ->where('tarikh_bayaran' ,'<=', $daterequest) + ->whereYear('tarikh_bayaran','<',$current->year) + ->whereIn('norujukan',$gadaiData) + ->sum('bayaran_keuntungan'); + + $upahsimpanlama = imbangdugalama::on($cawangan['mysql']) + ->sum('upah_t'); + + //GST Caj Lelong + $gstcajlelong = Lelong::on($cawangan['mysql']) //--masuk + ->where('t_jual','<=',$request->tarikh) + ->whereYear('t_jual','<',$current->year) + ->sum('gst_cl'); + + //Upah Hapus Kira + $upahhapuskira = HapusKira::on($cawangan['mysql']) + ->where('tarikh','>','2013-12-31') + ->whereYear('tarikh','<',$current->year) + ->sum('bakiupah'); + + $panjar1 = Panjar::on($cawangan['mysql']) + ->whereYear('tarikh','<',$current->year) + ->where('tag','=','1') + ->sum('bayaran'); + + $panjar2 = Panjar::on($cawangan['mysql']) + ->whereYear('tarikh','<',$current->year) + ->where('tag','=','2') + ->sum('bayaran'); + + $panjar3 = Panjar::on($cawangan['mysql']) + ->whereYear('tarikh','<',$current->year) + ->where('tag','=','3') + ->sum('bayaran'); + + $parameter = ($panjar1*-1) + ($panjar2*-1) + ($panjar3*-1); + + // $parameter = Parameter::on($cawangan['mysql']) //--masuk + // ->sum('sumpanjarlama'); + + //Keuntungan Tawarruq Sebenar + $keuntungansebenar = 0; + $dateSM = '2021-04-24'; + + $keuntungan_data = TransaksiKeuntungan::on('mysql7') + ->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh) + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM) + ->whereYear('tarikh_bayaran','<','2022') + ->where('kodcaw',$kodcaw) + ->pluck('norujukan'); + + + $gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan'); + + $keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan'); + + $keuntunganreducing_data = TransaksiKeuntungan::on('mysql7') + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09') + ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM) + ->whereYear('tarikh_bayaran','<','2022') + ->where('kodcaw',$kodcaw) + ->pluck('norujukan'); + + $gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntunganreducing_data)->whereNotNull('hargajualan')->pluck('norujukan'); + + $keuntunganreducing = TransaksiKeuntungan::on('mysql7') + ->whereIn('norujukan',$gadaiData) + ->whereDate('tarikh_bayaran' ,'<', '2021-06-09') + ->whereDate('tarikh_bayaran','>=', $dateSM) + ->sum('keuntungan_rebet'); + + $bukanansuran_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') + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh) + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09') + ->whereYear('tarikh_bayaran','<','2022') + ->where('trans.kodcaw',$kodcaw) + ->pluck('transaksi_keuntungan.norujukan'); + + $gadaiData = Gadai::on($cawangan['mysql']) + ->whereIn('norujukan',$bukanansuran_data) + ->whereNotNull('hargajualan') + ->pluck('norujukan'); + + $bukanansuran = TransaksiKeuntungan::on('mysql7') + ->whereIn('transaksi_keuntungan.norujukan',$gadaiData) + ->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->tarikh) + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09') + ->whereYear('transaksi_keuntungan.tarikh_bayaran','<','2022') + ->sum('transaksi_keuntungan.keuntungan_rebet'); + + $ansuran_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') + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<=', $request->tarikh) + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09') + ->whereYear('tarikh_bayaran','<','2022') + ->where('trans.kodcaw',$kodcaw) + ->pluck('transaksi_keuntungan.norujukan'); + + $gadaiData = Gadai::on($cawangan['mysql']) + ->whereIn('norujukan',$ansuran_data) + ->whereNotNull('hargajualan') + ->pluck('norujukan'); + + $ansuran = TransaksiKeuntungan::on('mysql7') + ->whereIn('transaksi_keuntungan.norujukan',$gadaiData) + ->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->tarikh) + ->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09') + ->whereYear('transaksi_keuntungan.tarikh_bayaran','<','2022') + ->sum('transaksi_keuntungan.bayaran_keuntungan'); + + $keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran); + + $previousYear = Carbon::now()->subYears(1); + $available_akru = AkruNet::on($cawangan['mysql']) + ->where('tahun',$previousYear->year) + ->sum('jumlah'); + + $total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru) + $parameter; + + if($kodcaw == '011229') + $total -= 45390.37; + + + return response()->json($total,200); + } } diff --git a/app/Http/Controllers/TebusController.php b/app/Http/Controllers/TebusController.php index 70e88f6..4c62edb 100644 --- a/app/Http/Controllers/TebusController.php +++ b/app/Http/Controllers/TebusController.php @@ -1731,7 +1731,7 @@ class TebusController extends Controller $upahlelong = Lelong::on($cawangan['mysql']) ->where([['t_jual','<=',$request->tarikh],['t_jual','>','2022-07-24']]) - ->whereYear('t_jual','=',$current->year) + ->whereYear('t_jual','=',$tarikhyear->year) ->sum('bakiupah'); @@ -2026,6 +2026,11 @@ class TebusController extends Controller if($year_generate == 2022 && $intmonth_sebelum > 4) { $result_audit_backdate = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate); + }else if($year_generate > 2022 && $intmonth_sekarang == 1){ + $previousYear = Carbon::now()->subYears(1); + $result_audit_backdate = $this->StokAuditGenerateTerakru('12',$cawangan,$previousYear->year); + }else{ + $result_audit_backdate = $this->StokAuditGenerateTerakru($month_sebelum,$cawangan,$year_generate); } $get_norujukan = Gadai::on($cawangan['mysql']) @@ -2060,26 +2065,36 @@ class TebusController extends Controller $total = $sum_keun_tebus + $sum_keun_ansuran; - $calculate_month = (int)$month_sekarang - $latest_month_akrunet->bulan; + if(!$determine_past->isToday()){ + $calculate_month = (int)$month_sekarang - $latest_month_akrunet->bulan; - if($calculate_month > 1){ - return 'ERR_MONTH_SEBELUM'; - }else if($calculate_month == 1){ - $jumlahakru = AkruNet::on($cawangan['mysql']) - ->sum('jumlah'); - }else if($calculate_month < 0){ - $jumlahakru = AkruNet::on($cawangan['mysql']) - ->where('bulan','<=',$intmonth_sekarang) - ->sum('jumlah'); + if($calculate_month > 1){ + return 'ERR_MONTH_SEBELUM'; + }else if($calculate_month == 1){ + $jumlahakru = AkruNet::on($cawangan['mysql']) + ->sum('jumlah'); + }else if($calculate_month < 0){ + $jumlahakru = AkruNet::on($cawangan['mysql']) + ->where('bulan','<=',$intmonth_sekarang) + ->sum('jumlah'); + + return response()->json($jumlahakru); + }else if($calculate_month == 0) + { + $jumlahakru = AkruNet::on($cawangan['mysql']) + ->where('bulan','<',$intmonth_sekarang) + ->sum('jumlah'); + } + }else{ + $calculate_month = 0; - return response()->json($jumlahakru); - }else if($calculate_month == 0) - { $jumlahakru = AkruNet::on($cawangan['mysql']) ->where('bulan','<',$intmonth_sekarang) + ->where('tahun', $current->year) ->sum('jumlah'); } + if($determine_past->isToday()) { $audit_now = Gadai::on($cawangan['mysql']) @@ -2105,6 +2120,7 @@ class TebusController extends Controller if($calculate_month <= 1){ $available_akru = AkruNet::on($cawangan['mysql']) ->where('bulan', (int)$month_sekarang) + ->where('tahun', $current->year) ->get()->toArray(); if(sizeof($available_akru) == 0) diff --git a/routes/web.php b/routes/web.php index da770ab..84f862e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -743,6 +743,10 @@ $router->group(['prefix'=>'admin'], function () use ($router){ $router->get('laporan/akrual/generateDaily',['uses'=>'LaporanController@GenerateDailyAkrual']); $router->get('laporan/akrual/generateMonthly',['uses'=>'LaporanController@GenerateMonthlyAkrual']); $router->get('laporan/akrual/insertImbangDuga',['uses'=>'LaporanController@InsertDailyImbangDuga']); + $router->get('laporan/akrual/UntungRugiTerkumpul/{kodcaw}',['uses' => 'AdminPageController@calculationUntungTerkumpulAkru']); + + $router->get('laporan/online',['uses'=>'AdminPageController@LaporanOnline']); + }); $router->group(['prefix'=>'lelong'], function () use ($router){