fix keuntungan sebenar

This commit is contained in:
Hafifie PKB
2024-08-10 16:01:17 +08:00
parent 97a4868f50
commit da177c9eb6
3 changed files with 99 additions and 40 deletions
+46 -12
View File
@@ -3143,23 +3143,57 @@ class AdminPageController extends Controller
/* Ansuran masuk dalam ni */
$get_norujukan_ansuran = 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','=',$year)
->whereMonth('t_gadai','<=',$month)
->where('sttebus','=','')
->where('tagbaru','=',1)
->pluck('norujukan');
$collection_trans = 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.kodcaw','=',$request->kodcaw)
->where('trans.trans_type','=','A')
->where('transaksi_keuntungan.margin_semasa','>','0')
->whereYear('transaksi_keuntungan.tarikh_bayaran','=',$year)
->whereMonth('transaksi_keuntungan.tarikh_bayaran','<=',$month)
->get();
$summation_ansuran = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$array_norujukan)->where('tagbaru',1)->get();
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
foreach ($collection_gadai as $gadai) {
if($gadai->norujukan === $trans->norujukan){
$t_gadai = Carbon::parse($gadai->t_gadai);
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
if ($t_gadai->month !== $t_bayaran->month) {
return false;
}
}
}
return true;
});
$summation_ansuran = $keuntungan_semasa_collection->sum('bayaran_keuntungan');
// $get_norujukan_ansuran = 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','=',$year)
// ->whereMonth('t_gadai','<=',$month)
// ->where('sttebus','=','')
// ->where('tagbaru','=',1)
// ->pluck('norujukan');
// $summation_ansuran = TransaksiKeuntungan::on('mysql7')
// ->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
$total = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
// $total = $sum_keuntungan + $sum_bayaran;
return response()->json($total);
}
+4 -12
View File
@@ -2938,18 +2938,11 @@ class GadaiController extends Controller
$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']])
->where([['gadai.t_update','>=',$request->mula],['gadai.t_update','<=',$request->hingga],['gadai.hargajualan','<>','NULL']])
->whereIn('gadai.sttebus', ['T', 'L'])
->sum('gadai.pinjaman');
$pembiayaanlelong = Lelong::on($cawangan['mysql'])
->join('gadai as gad','gad.norujukan','=','lelong.norujukan')
->where('gad.hargajualan','!=',null)
->where([['t_jual','>=',$request->mula],['t_jual','<=',$request->hingga]])
->sum('lelong.pinjaman');
$Tebus += $pembiayaanlelong;
$rekod_pinjamandiberi = ['Gadai' => $Gadai,'Tebus' => $Tebus];
@@ -3188,9 +3181,8 @@ class GadaiController extends Controller
$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]])
->whereIn('gadai.sttebus',['T','L'])
->where([['t_update','>=',$request->mula],['t_update','<=',$request->hingga]])
->groupBy('gadai.norujukan')
->get();
+49 -16
View File
@@ -278,7 +278,6 @@ class LaporanController extends Controller
$upahsimpankaunter = $keuntungan_kaunter + $upahtebus + $upahlelong + $upahansurKaunter + $total_keuntunganbukanansuran_kaunter;
// dd($keuntungan_kaunter,$upahtebus,$upahlelong,$upahansurKaunter,$total_keuntunganbukanansuran_kaunter,$upahsimpankaunter);
$keuntungansebenarkaunter = $total_keuntunganansuran_kaunter;
$upahsimpanonline = $upahansurOnline;
@@ -1254,10 +1253,9 @@ class LaporanController extends Controller
/* Start Keuntungan Sebenar Calculation */
$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)->whereDate('t_gadai','>=',$request->mula)->whereDate('t_gadai','<=',$request->hingga)->where('sttebus','<>','')->pluck('norujukan');
->whereNotNull('hargajualan')->having('result','=',1)->whereDate('t_update','>=',$request->mula)->whereDate('t_update','<=',$request->hingga)->where('sttebus','<>','')->pluck('norujukan');
$sum_keun = Transaction::on('mysql7')
->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) <> 'A' 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")
->selectRaw("trans.norujukan,SUM(CASE WHEN (transaction.trans_type) <> 'A' THEN (trans.keuntungan_rebet) ELSE 0 END) AS sum_keun,SUM(CASE WHEN (transaction.trans_type) = 'A' AND (trans.margin_semasa) = 0 THEN (trans.bayaran_keuntungan) ELSE 0 END) AS sum_bayaran")
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
@@ -1268,17 +1266,52 @@ class LaporanController extends Controller
$sum_keuntungan = ($sum_keun) ? $sum_keun[0]['sum_keun'] : 0;
$sum_bayaran = ($sum_keun) ? $sum_keun[0]['sum_bayaran'] : 0;
$get_norujukan_ansuran = 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)
->whereDate('t_gadai','>=',$request->mula)->whereDate('t_gadai','<=',$request->hingga)
->where('sttebus','=','')
->where('tagbaru','=',1)
->pluck('norujukan');
// $get_norujukan_ansuran = 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)
// ->whereDate('t_update','>=',$request->mula)->whereDate('t_update','<=',$request->hingga)
// ->where('sttebus','=','')
// ->where('tagbaru','=',1)
// ->pluck('norujukan');
$summation_ansuran = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
// $summation_ansuran = TransaksiKeuntungan::on('mysql7')
// ->whereIn('norujukan',$get_norujukan_ansuran)->sum('bayaran_keuntungan');
$collection_trans = 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.kodcaw','=',$request->kodcaw)
->where('trans.trans_type','=','A')
->where('transaksi_keuntungan.margin_semasa','>','0')
->whereDate('transaksi_keuntungan.tarikh_bayaran','>=',$request->mula)
->whereDate('transaksi_keuntungan.tarikh_bayaran','<=',$request->hingga)
->get();
$array_norujukan = $collection_trans->pluck('norujukan')->toArray();
$collection_gadai = Gadai::on($cawangan['mysql'])->whereIn('norujukan',$array_norujukan)->where('tagbaru',1)->get();
$keuntungan_semasa_collection = $collection_trans->filter(function ($trans) use ($collection_gadai) {
foreach ($collection_gadai as $gadai) {
if($gadai->norujukan === $trans->norujukan){
$t_gadai = Carbon::parse($gadai->t_gadai);
$t_bayaran = Carbon::parse($trans->tarikh_bayaran);
if ($t_gadai->month !== $t_bayaran->month) {
return false;
}
}
}
return true;
});
$summation_ansuran = $keuntungan_semasa_collection->sum('bayaran_keuntungan');
$total_keuntungan_sebenar = $sum_keuntungan + $sum_bayaran + $summation_ansuran;
/* End Keuntungan Sebenar Calculation */
@@ -1426,7 +1459,7 @@ class LaporanController extends Controller
$firstmonth_behind_extension = $firstmonth_behind->toDateString();
$firstmonth_behind_extension_end = $firstmonth_behind_end->toDateString();
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->where('version','v1')->get();
$tebuscontroller = new TebusController();
@@ -1580,7 +1613,7 @@ class LaporanController extends Controller
$firstmonth_behind_extension = $firstmonth_behind->toDateString();
$firstmonth_behind_extension_end = $firstmonth_behind_end->toDateString();
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->where('version','v1')->get();
$tebuscontroller = new TebusController();