fix imbangduga slow and fix untung rugi terkumpul

This commit is contained in:
Hafifie PKB
2024-01-02 23:15:11 +08:00
parent 7c990969fe
commit 559c5d05ca
4 changed files with 192 additions and 168 deletions
+4 -3
View File
@@ -3629,9 +3629,11 @@ class AdminPageController extends Controller
$keuntungansebenar = ($keuntungan + $keuntunganreducing + $ansuran + $bukanansuran);
$previousYear = Carbon::now()->subYears(1);
$get_norujukan = Gadai::on($cawangan['mysql'])
->selectRaw("norujukan,CASE WHEN (YEAR(t_gadai) = YEAR(t_update) and MONTH(t_gadai) = MONTH(t_update)) THEN '1' ELSE '0' END AS result")
->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','=','2022')->where('sttebus','<>','')->pluck('norujukan');
->whereNotNull('hargajualan')->having('result','=',1)->whereYear('t_gadai','>=','2022')->whereYear('t_gadai','<=',$previousYear)->where('sttebus','<>','')->pluck('norujukan');
$sum_keun = Transaction::on('mysql7')
->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) = 'T' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
@@ -3647,9 +3649,8 @@ class AdminPageController extends Controller
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran;
$previousYear = Carbon::now()->subYears(1);
$available_akru = AkruNet::on($cawangan['mysql'])
->where('tahun',$previousYear->year)
->where('tahun','<=',$previousYear->year)
->sum('jumlah');
$total = ($utgrugilama + $lelong + $upahsimpantebus + $upahsimpanlelong + $upahsimpanansur + $gstcajlelong + $keuntungansebenar + $upahsimpankeuntungansebelumtawarruq + $available_akru + $total_keuntungan_sebenar) + $parameter;
+33 -17
View File
@@ -2964,27 +2964,43 @@ class GadaiController extends Controller
//->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();
if($cawangan['zone'] == 1){
$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');
})
->join($cawangan['db_name'] . 'gadai as gad', 'gad.norujukan','=','trans.norujukan')
->where('trans.trans_type','=','A')
->where('transaksi_keuntungan.tarikh_bayaran' ,'<=', $daterequest)
->sum('transaksi_keuntungan.bayaran_keuntungan');
$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_data;
}else{
$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;
$totalkeuntungan = $keuntungan - $transaksi;
}
return response()->json($totalkeuntungan,200);
}
+2 -2
View File
@@ -186,7 +186,7 @@ class MarhunController extends Controller
$marhun = Marhun::on($cawangan['mysql'])
->select('marhun.norujukan','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai')
->rightJoin('gadai', 'gadai.norujukan', '=', 'marhun.norujukan')
->rightJoin('customer', 'customer.kpbaru', '=', 'gadai.nokp')
->rightJoin('online_arrahn.customer as customer', 'customer.kpbaru','=','gadai.nokp')
->where('marhun.t_gadai','=',$tarikh)
->orderBy('marhun.t_gadai')
->get();
@@ -204,7 +204,7 @@ class MarhunController extends Controller
$marhun = Marhun::on($cawangan['mysql'])
->select('marhun.norujukan','gadai.sttebus','gadai.pinjaman','gadai.nokp','customer.nama','marhun.marhun','marhun.nota','marhun.berat','marhun.karat','marhun.harga','marhun.n_marhun','marhun.t_gadai')
->rightJoin('gadai', 'gadai.norujukan', '=', 'marhun.norujukan')
->rightJoin('customer', 'customer.kpbaru', '=', 'gadai.nokp')
->rightJoin('online_arrahn.customer as customer', 'customer.kpbaru','=','gadai.nokp')
->where('marhun.t_gadai','<=',$tarikh)
->whereYear('marhun.t_gadai','=',$current->year)
->where('gadai.sttebus','=','')
+153 -146
View File
@@ -1229,162 +1229,169 @@ class TebusController extends Controller
}else{
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('bayaran_keuntungan');
// ->get();
->pluck('norujukan');
//ps. Fix sementara je ni.
if($cawangan['zone'] == 1){
$keuntungan = TransaksiKeuntungan::on('mysql7')
->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('transaksi_keuntungan.kodcaw',$request->kodcaw)
->whereNotNull('db2.hargajualan')
->sum('keuntungan_rebet');
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
$keuntunganreducing = TransaksiKeuntungan::on('mysql7')
->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('transaksi_keuntungan.kodcaw',$request->kodcaw)
->whereNotNull('db2.hargajualan')
->sum('keuntungan_rebet');
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
$bukanansuran = 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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
->whereNotNull('db2.hargajualan')
->sum('keuntungan_rebet');
// $keuntungan = 0;
// if($keuntungan_data){
// foreach($keuntungan_data as $index=>$keuntunganData){
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganData['norujukan']],['hargajualan','<>',null]])->first();
// if($gadaiData){
// $keuntungan += $keuntunganData['bayaran_keuntungan'];
// }
// }
// }
$ansuran = 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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
->whereNotNull('db2.hargajualan')
->sum('bayaran_keuntungan');
// dd($keuntungan);
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('keuntungan_rebet');
// ->get();
->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');
// $keuntunganreducing = 0;
// if($keuntunganreducing_data){
// foreach($keuntunganreducing_data as $index=>$keuntunganreducingData){
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$keuntunganreducingData['norujukan']],['hargajualan','<>',null]])->first();
// if($gadaiData){
// $keuntunganreducing += $keuntunganreducingData['keuntungan_rebet'];
// }
// }
// }
// dd($keuntunganreducing);
$bukanansuran_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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('keuntungan_rebet');
// ->get();
->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','=',$tarikhyear->year)
->sum('transaksi_keuntungan.keuntungan_rebet');
// $bukanansuran = 0;
// if($bukanansuran_data){
// foreach($bukanansuran_data as $index=>$bukanansuranData){
// $gadaiData = Gadai::on($cawangan['mysql'])->where([['norujukan',$bukanansuranData['norujukan']],['hargajualan','<>',null]])->first();
// if($gadaiData){
// $bukanansuran += $bukanansuranData['keuntungan_rebet'];
// }
// }
// }
// dd($bukanansuran);
$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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('bayaran_keuntungan');
// ->get();
->pluck('transaksi_keuntungan.norujukan');
$gadaiData = Gadai::on($cawangan['mysql'])
->whereIn('norujukan',$ansuran_data)
->whereNotNull('hargajualan')
}else{
$keuntungan_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran', '<=', $request->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('bayaran_keuntungan');
// ->get();
->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','=',$tarikhyear->year)
->sum('transaksi_keuntungan.bayaran_keuntungan');
$gadaiData = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$keuntungan_data)->whereNotNull('hargajualan')->pluck('norujukan');
// $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'];
// }
// }
// }
$keuntungan = TransaksiKeuntungan::on('mysql7')->whereIn('norujukan',$gadaiData)->sum('bayaran_keuntungan');
// dd($ansuran);
$keuntunganreducing_data = TransaksiKeuntungan::on('mysql7')
// ->join($cawangan['db_name'].'.gadai as db2','transaksi_keuntungan.norujukan','=','db2.norujukan')
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'<', '2021-06-09')
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('keuntungan_rebet');
// ->get();
->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')
// ->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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('keuntungan_rebet');
// ->get();
->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','=',$tarikhyear->year)
->sum('transaksi_keuntungan.keuntungan_rebet');
$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->tarikh)
->whereDate('transaksi_keuntungan.tarikh_bayaran' ,'>=', '2021-06-09')
// ->whereDate('transaksi_keuntungan.tarikh_bayaran','>=', $dateSM)
->whereYear('tarikh_bayaran','=',$tarikhyear->year)
->where('trans.kodcaw',$request->kodcaw)
// ->whereNotNull('db2.hargajualan')
// ->sum('bayaran_keuntungan');
// ->get();
->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','=',$tarikhyear->year)
->sum('transaksi_keuntungan.bayaran_keuntungan');
}
$upahlelong = Lelong::on($cawangan['mysql'])
->where([['t_jual','<=',$request->tarikh],['t_jual','>','2022-07-24']])
->whereYear('t_jual','=',$tarikhyear->year)