add imbang duga api and lejeram api and fix round down
This commit is contained in:
@@ -3120,11 +3120,11 @@ class AdminPageController extends Controller
|
||||
$year = $current->year;
|
||||
$month = $tarikh->month;
|
||||
|
||||
$test = Gadai::on($cawangan['mysql'])
|
||||
->whereBetween('tempoh',[0.5,1])
|
||||
->where('sttebus','<>','')
|
||||
->whereYear('t_gadai',$current->year())
|
||||
->pluck('norujukan');
|
||||
// $test = Gadai::on($cawangan['mysql'])
|
||||
// ->whereBetween('tempoh',[0.5,1])
|
||||
// ->where('sttebus','<>','')
|
||||
// ->whereYear('t_gadai',$current->year())
|
||||
// ->pluck('norujukan');
|
||||
|
||||
$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")
|
||||
@@ -3143,6 +3143,7 @@ class AdminPageController extends Controller
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->where('transaction.trans_type','T')
|
||||
->where('onepercent','=',0)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$sum_keun_ansuran = Transaction::on('mysql7')
|
||||
@@ -3153,6 +3154,7 @@ class AdminPageController extends Controller
|
||||
})
|
||||
->whereIn('trans.norujukan',$get_norujukan)
|
||||
->where('transaction.trans_type','A')
|
||||
->where('onepercent','=',0)
|
||||
->sum('bayaran_keuntungan');
|
||||
|
||||
$total = $sum_keun_tebus + $sum_keun_ansuran;
|
||||
|
||||
@@ -361,13 +361,13 @@ class GadaiController extends Controller
|
||||
// $upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
|
||||
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
|
||||
|
||||
$upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP);
|
||||
// $upah_semasa_round = number_format($upahsemasa_raw,2);
|
||||
// $upah_semasa = substr($upah_semasa_round, 0, -1);
|
||||
// // $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa));
|
||||
// if(strpos($upah_semasa,',')){
|
||||
// $upah_semasa = str_replace(',','',$upah_semasa);
|
||||
// }
|
||||
// $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP);
|
||||
$upah_semasa_round = number_format($upahsemasa_raw,2);
|
||||
$upah_semasa = substr($upah_semasa_round, 0, -1);
|
||||
// $upah_semasa = floatval(preg_replace('/[^\d.]/', '', $upah_semasa));
|
||||
if(strpos($upah_semasa,',')){
|
||||
$upah_semasa = str_replace(',','',$upah_semasa);
|
||||
}
|
||||
return $upah_semasa;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Reports;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Services\Reports\OnePercentService as ReportOne;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class OnePercentController extends Controller
|
||||
{
|
||||
|
||||
public function getKeuntunganImbangDuga(string $kod_cawangan)
|
||||
{
|
||||
$reports = new ReportOne($kod_cawangan);
|
||||
$response = $reports->getTotalKeuntungan('B');
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getUjrahImbangDuga(string $kod_cawangan)
|
||||
{
|
||||
$reports = new ReportOne($kod_cawangan);
|
||||
$response = $reports->getTotalUjrah('B');
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getKeuntunganLejerAm(string $kod_cawangan,Request $request)
|
||||
{
|
||||
$reports = new ReportOne($kod_cawangan);
|
||||
$response = $reports->getTotalKeuntungan('L',$request->mula,$request->hingga);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
|
||||
public function getUjrahLejerAm(string $kod_cawangan,Request $request)
|
||||
{
|
||||
$reports = new ReportOne($kod_cawangan);
|
||||
$response = $reports->getTotalUjrah('L',$request->mula,$request->hingga);
|
||||
|
||||
return response()->json($response);
|
||||
}
|
||||
}
|
||||
@@ -59,12 +59,12 @@ class TebusController extends Controller
|
||||
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet;
|
||||
|
||||
$hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP);
|
||||
// $hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
||||
// $hargatebus = number_format($hargatebus,2);
|
||||
// if(strpos($hargatebus,',')){
|
||||
// $hargatebus = str_replace(',','',$hargatebus);
|
||||
// }
|
||||
// $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP);
|
||||
$hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
||||
$hargatebus = number_format($hargatebus,2);
|
||||
if(strpos($hargatebus,',')){
|
||||
$hargatebus = str_replace(',','',$hargatebus);
|
||||
}
|
||||
|
||||
return response()->json($hargatebus);
|
||||
}
|
||||
@@ -82,12 +82,12 @@ class TebusController extends Controller
|
||||
|
||||
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet;
|
||||
|
||||
$hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP);
|
||||
// $hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
||||
// $hargatebus = number_format($hargatebus,2);
|
||||
// if(strpos($hargatebus,',')){
|
||||
// $hargatebus = str_replace(',','',$hargatebus);
|
||||
// }
|
||||
// $hargatebus = round($harga_tebus,PHP_ROUND_HALF_UP);
|
||||
$hargatebus = bcdiv(round($harga_tebus,2),1,1);
|
||||
$hargatebus = number_format($hargatebus,2);
|
||||
if(strpos($hargatebus,',')){
|
||||
$hargatebus = str_replace(',','',$hargatebus);
|
||||
}
|
||||
|
||||
return $hargatebus;
|
||||
}
|
||||
@@ -117,15 +117,15 @@ class TebusController extends Controller
|
||||
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
|
||||
}
|
||||
|
||||
$upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP);
|
||||
// $upah_semasa_round = number_format($upahsemasa_raw,2);
|
||||
// if(strpos($upah_semasa_round,',')){
|
||||
// $upah_semasa_round = str_replace(',','',$upah_semasa_round);
|
||||
// }
|
||||
// $upah_semasa = substr($upah_semasa_round, 0, -1);
|
||||
// if(strpos($upah_semasa,',')){
|
||||
// $upah_semasa = str_replace(',','',$upah_semasa);
|
||||
// }
|
||||
// $upah_semasa = round($upahsemasa_raw,PHP_ROUND_HALF_UP);
|
||||
$upah_semasa_round = number_format($upahsemasa_raw,2);
|
||||
if(strpos($upah_semasa_round,',')){
|
||||
$upah_semasa_round = str_replace(',','',$upah_semasa_round);
|
||||
}
|
||||
$upah_semasa = substr($upah_semasa_round, 0, -1);
|
||||
if(strpos($upah_semasa,',')){
|
||||
$upah_semasa = str_replace(',','',$upah_semasa);
|
||||
}
|
||||
|
||||
return $upah_semasa;
|
||||
}
|
||||
@@ -156,15 +156,15 @@ class TebusController extends Controller
|
||||
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
|
||||
}
|
||||
|
||||
$upah_rebet = round($upahrebet_raw ,PHP_ROUND_HALF_UP);
|
||||
// $upah_rebet_round = number_format($upahrebet_raw,2);
|
||||
// if(strpos($upah_rebet_round,',')){
|
||||
// $upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
||||
// }
|
||||
// $upah_rebet = substr($upah_rebet_round, 0, -1);
|
||||
// if(strpos($upah_rebet,',')){
|
||||
// $upah_rebet = str_replace(',','',$upah_rebet);
|
||||
// }
|
||||
// $upah_rebet = round($upahrebet_raw ,PHP_ROUND_HALF_UP);
|
||||
$upah_rebet_round = number_format($upahrebet_raw,2);
|
||||
if(strpos($upah_rebet_round,',')){
|
||||
$upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
||||
}
|
||||
$upah_rebet = substr($upah_rebet_round, 0, -1);
|
||||
if(strpos($upah_rebet,',')){
|
||||
$upah_rebet = str_replace(',','',$upah_rebet);
|
||||
}
|
||||
|
||||
return $upah_rebet;
|
||||
}
|
||||
@@ -188,15 +188,15 @@ class TebusController extends Controller
|
||||
|
||||
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
|
||||
|
||||
$upah_rebet = round($upahrebet_raw,PHP_ROUND_HALF_UP);
|
||||
// $upah_rebet_round = number_format($upahrebet_raw,2);
|
||||
// if(strpos($upah_rebet_round,',')){
|
||||
// $upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
||||
// }
|
||||
// $upah_rebet = substr($upah_rebet_round, 0, -1);
|
||||
// if(strpos($upah_rebet,',')){
|
||||
// $upah_rebet = str_replace(',','',$upah_rebet);
|
||||
// }
|
||||
// $upah_rebet = round($upahrebet_raw,PHP_ROUND_HALF_UP);
|
||||
$upah_rebet_round = number_format($upahrebet_raw,2);
|
||||
if(strpos($upah_rebet_round,',')){
|
||||
$upah_rebet_round = str_replace(',','',$upah_rebet_round);
|
||||
}
|
||||
$upah_rebet = substr($upah_rebet_round, 0, -1);
|
||||
if(strpos($upah_rebet,',')){
|
||||
$upah_rebet = str_replace(',','',$upah_rebet);
|
||||
}
|
||||
|
||||
$total_untung_rebet = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('keuntungan_rebet');
|
||||
$total_untung_asal = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('bayaran_keuntungan');
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Reports;
|
||||
|
||||
use App\Cawangan;
|
||||
use App\CawanganDetail;
|
||||
use App\TransaksiKeuntungan;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class OnePercentService
|
||||
{
|
||||
|
||||
// `B` stands for balance sheet and `L` stands for Ledger
|
||||
|
||||
public function __construct($kod_cawangan)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public function getTotalKeuntungan($type = 'B',$start = '2023-12-14',$end = '2023-12-14') : Float{
|
||||
|
||||
if($type == 'B'){
|
||||
$keuntungan = TransaksiKeuntungan::on('mysql7')->sum('onepercent_rebet');
|
||||
}else if($type == 'L'){
|
||||
$keuntungan = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('tarikh_bayaran','>=',$start)
|
||||
->whereDate('tarikh_bayaran','<=',$end)
|
||||
->sum('onepercent_rebet');;
|
||||
}
|
||||
|
||||
return $keuntungan;
|
||||
}
|
||||
|
||||
public function getTotalUjrah($type = 'B',$start = '2023-12-14',$end = '2023-12-14') : Float{
|
||||
|
||||
|
||||
if($type == 'B'){
|
||||
$ujrah = TransaksiKeuntungan::on('mysql7')->sum('ujrah_rebet');
|
||||
// $ujrah = TransaksiKeuntungan::on('mysql7')->selectRaw('SUM(ujrah - ujrah_rebet) as total')
|
||||
// ->first();
|
||||
// $ujrah = $ujrah['total'];
|
||||
}else if($type == 'L'){
|
||||
$ujrah = TransaksiKeuntungan::on('mysql7')
|
||||
->whereDate('tarikh_bayaran','>=',$start)
|
||||
->whereDate('tarikh_bayaran','<=',$end)
|
||||
->sum('ujrah_rebet');;
|
||||
}
|
||||
|
||||
return $ujrah;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -8,5 +8,10 @@ $router->group(['prefix'=>'api/reports'], function () use ($router){
|
||||
$router->get('penebusan/{kod_cawangan}', ['uses' => 'PenebusanController@getLaporanCawangan']);
|
||||
$router->get('ansuran', ['uses' => 'AnsuranController@getSummaryLaporanAnsuran']);
|
||||
$router->get('ansuran/{kod_cawangan}', ['uses' => 'AnsuranController@getLaporanCawangan']);
|
||||
$router->get('onepercent/balance/{kod_cawangan}', ['uses' => 'OnePercentController@getKeuntunganImbangDuga']);
|
||||
$router->get('onepercent/ledger/{kod_cawangan}', ['uses' => 'OnePercentController@getKeuntunganLejerAm']);
|
||||
$router->get('ujrah/balance/{kod_cawangan}', ['uses' => 'OnePercentController@getUjrahImbangDuga']);
|
||||
$router->get('ujrah/ledger/{kod_cawangan}', ['uses' => 'OnePercentController@getUjrahLejerAm']);
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
<?php
|
||||
|
||||
use App\Services\Reports\OnePercentService as ReportOne;
|
||||
|
||||
|
||||
$report = new ReportOne('KB2');
|
||||
|
||||
$test = $report->getTotalKeuntungan('B');
|
||||
$test2 = $report->getTotalUjrah('B');
|
||||
|
||||
|
||||
dd($test,$test2);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user