fix imbangduga

This commit is contained in:
Hafifie PKB
2024-04-28 11:06:45 +08:00
parent 13890767dd
commit 5d2f5c53a5
6 changed files with 74 additions and 31 deletions
+2 -2
View File
@@ -3130,7 +3130,7 @@ class AdminPageController extends Controller
->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")
->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")
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
@@ -3596,7 +3596,7 @@ class AdminPageController extends Controller
->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")
->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")
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
+2 -2
View File
@@ -1257,7 +1257,7 @@ class LaporanController extends Controller
->whereNotNull('hargajualan')->having('result','=',1)->whereDate('t_gadai','>=',$request->mula)->whereDate('t_gadai','<=',$request->hingga)->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")
->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")
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
@@ -1276,7 +1276,7 @@ class LaporanController extends Controller
->whereNotNull('hargajualan')->pluck('norujukan');
$summation = Transaction::on('mysql7')
->selectRaw("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")
->selectRaw("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")
->leftJoin('transaksi_keuntungan as trans', function($join)
{
$join->on('transaction.norujukan', '=', 'trans.norujukan');
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Services\Reports\OnePercentService as ReportOne;
use App\TransaksiKeuntungan;
use Illuminate\Http\Request;
use Lcobucci\JWT\Signer\Rsa;
class OnePercentController extends Controller
{
@@ -18,10 +19,10 @@ class OnePercentController extends Controller
return response()->json($response);
}
public function getUjrahImbangDuga(string $kod_cawangan)
public function getUjrahImbangDuga(string $kod_cawangan,Request $request)
{
$reports = new ReportOne($kod_cawangan);
$response = $reports->getTotalUjrah('B');
$response = $reports->getTotalUjrah('B',$request->tarikh);
return response()->json($response);
}
+2 -4
View File
@@ -1527,8 +1527,6 @@ class TebusController extends Controller
->whereYear('t_jual','=',$current->year)
->sum('bakiupah');
dd($ansuran,$bukanansuran,$upahlelong);
$total = ($ansuran + $bukanansuran + $upahlelong);
}
@@ -1730,8 +1728,8 @@ class TebusController extends Controller
$join->on('transaction.created_at', '=', 'trans.tarikh_bayaran');
})
->whereIn('trans.norujukan',$get_norujukan)
->where('transaction.trans_type','T')
// ->where('trans.margin_semasa','=',0) //3.80
->where('transaction.trans_type','<>','A')
->where('trans.margin_semasa','=',0) //3.80
->sum('keuntungan_rebet');
$sum_keun_ansuran = Transaction::on('mysql7')
+32 -20
View File
@@ -62,7 +62,7 @@ class OnePercentService
}
public function getTotalKeuntungan($type = 'B',$start = '2023-12-14',$end = '2023-12-14') : Object{
public function getTotalKeuntungan($type = 'B',$start = '2023-12-14',$end = '2023-12-14') : Float{
if($type == 'B'){
if($start == null){
$akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1]])->sum('tunggakanonepercent');
@@ -79,11 +79,12 @@ class OnePercentService
->orderBy('sirig', 'ASC')
->get();
$test = $this->calculateTotalProfit($akrual,$start);
return response()->json($test);
$keuntungan = $this->calculateTotalProfit($akrual,$start);
$keuntungan = $keuntungan['onepercent'];
}
return $keuntungan;
}else if($type == 'L'){
$akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1],['t_update','>=',$start],['t_update','<=',$end]])->sum('tunggakanonepercent');
@@ -108,13 +109,33 @@ class OnePercentService
if($type == 'B'){
$akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1]])->sum('tunggakanujrah');
// $akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1]])->sum('tunggakanujrah');
$norujukan = Gadai::on($this->cawangan['mysql'])->where('sttebus','T')->where('tagbaru',1)->pluck('norujukan');
// $norujukan = Gadai::on($this->cawangan['mysql'])->where('sttebus','T')->where('tagbaru',1)->pluck('norujukan');
$ujrah = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan',$norujukan)
->sum('ujrah_rebet');
// $ujrah = TransaksiKeuntungan::on('mysql7')
// ->whereIn('norujukan',$norujukan)
// ->sum('ujrah_rebet');
if($start == null){
$akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1]])->sum('tunggakanujrah');
$norujukan = Gadai::on($this->cawangan['mysql'])->where('sttebus','T')->where('tagbaru',1)->pluck('norujukan');
$keuntungan = TransaksiKeuntungan::on('mysql7')
->whereIn('norujukan',$norujukan)
->sum('ujrah_rebet');
}else{
$akrual = Gadai::on($this->cawangan['mysql'])
->where([['tagpalsu','=',0],['t_gadai','<=',$start],['sttebus','=',''],['tagbaru',1]])
->orWhere([['tagbaru',1],['tagpalsu','=',0],['t_update','>',$start],['sttebus','!=',''],['t_gadai','<=',$start]])
->orderBy('t_gadai', 'ASC')
->orderBy('sirig', 'ASC')
->get();
$keuntungan = $this->calculateTotalProfit($akrual,$start);
$keuntungan = $keuntungan['ujrah'];
}
return $keuntungan;
}else if($type == 'L'){
$akrual = Gadai::on($this->cawangan['mysql'])->where([['sttebus',''],['tagbaru',1],['t_update','>=',$start],['t_update','<=',$end]])->sum('tunggakanujrah');
@@ -145,11 +166,6 @@ class OnePercentService
foreach ($chunk as $item) {
$trans_keun = TransaksiKeuntungan::on('mysql7')->where([['norujukan','=',$item->norujukan],['bayaran_pembiayaan','>=',0]])->whereDate('tarikh_bayaran','<=',$tarikh)->get();
$calculation = new V2Calculation();
// if($item->norujukan == 'KB2240115-0013')
// {
// dd($trans_keun);
// }
if($trans_keun->isNotEmpty()){
$bakipinjaman = $item->pinjaman;
@@ -181,11 +197,6 @@ class OnePercentService
$summationujrah += $ujrah;
$summationbkpjm += $item->pinjaman;
// if($item->norujukan == 'KB2240108-0020')
// {
// dd($item->bakipjm);
// }
array_push($array_test,['norujukan' => $item->norujukan,'ujrah' => $ujrah,'onepercent' => $onepercent,'pinjaman' => $item->pinjaman, 'bakipjm' => $item->pinjaman]);
}
$count++;
@@ -194,8 +205,9 @@ class OnePercentService
});
// return response()->json($array_test);
dd($summationonepercent,$summationujrah,$count,$summationbkpjm,$array_test);
dd('test');
// dd($summationonepercent,$summationujrah,$count,$summationbkpjm,$array_test);
// dd('test');
return ['onepercent' => $summationonepercent,'ujrah' => $summationujrah];
}
+33 -1
View File
@@ -310,7 +310,9 @@ class GadaiV2
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$baki_pinjaman,$current,$norujukan,$gadai,$baki_hargajualan,$lelong_tawarruq,$margin_semasa){
$margin_updated = ($baki_pinjaman / $gadai['nilaimarhun']) * 100;
$akrual = $this->kiraupahTawarruqStokAuditUjrahOnePercent($gadai['tempoh'],$gadai['tempohbayar'],$gadai['kadarujrah'],$gadai['bakipjm'],$gadai['nilaimarhun'],$margin_semasa);
$tempoh_gadai = $this->tempohTransactionGadai($gadai);
$akrual = $this->kiraupahTawarruqStokAuditUjrahOnePercent($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarujrah'],$gadai['bakipjm'],$gadai['nilaimarhun'],$margin_semasa);
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
'bakipjm' => $baki_pinjaman,
@@ -447,6 +449,36 @@ public function kiraupahTawarruqStokAuditUjrahOnePercent($tempoh,$tempohbayar,$k
return $arraypendapatan;
}
private function tempohTransactionGadai($gadai){
$tarikh_gadai = Carbon::parse($gadai['t_gadai']. ' 00:00:00');
$current = Carbon::now();
$tahun_gadai = $tarikh_gadai->year;
$bulan_gadai = $tarikh_gadai->month;
$hari_gadai = $tarikh_gadai->day;
$tahun_semasa = $current->year;
$bulan_semasa = $current->month;
$hari_semasa = $current->day;
if($hari_semasa >= $hari_gadai){
$beza_hari = $hari_semasa - $hari_gadai + 1;
}else if($hari_semasa < $hari_gadai){
$bulan_semasa = $bulan_semasa - 1;
$beza_hari = ($hari_semasa + 30) - $hari_gadai + 1;
}
$extensivemonth_gadai = 0;
if($beza_hari >= 1 && $beza_hari <= 15){
$extensivemonth_gadai = 0.5;
}else if($beza_hari >= 16){
$extensivemonth_gadai = 1;
}else{
$extensivemonth_gadai = 0;
}
$beza_tahun = $tahun_semasa - $tahun_gadai;
$beza_bulan = ($bulan_semasa + ($beza_tahun * 12)) - $bulan_gadai;
$tempoh_gadai = $beza_bulan + $extensivemonth_gadai;
return $tempoh_gadai;
}
}