add tunggakan for onepercent and ujrah
This commit is contained in:
@@ -3216,57 +3216,10 @@ class GadaiController extends Controller
|
||||
}
|
||||
|
||||
foreach($cawangan as $cawangan_mysql){
|
||||
$all_gadai = Gadai::on($cawangan_mysql['mysql'])->whereNotIn('sttebus',['L','T'])->get();
|
||||
foreach($all_gadai as $gadai){
|
||||
if($gadai['t_update'] == null){
|
||||
$tarikh_update = Carbon::parse($gadai['t_gadai'].' '. $gadai['masa']);
|
||||
}else{
|
||||
$tarikh_update = Carbon::parse($gadai['t_update'].' 00:00:00' );
|
||||
}
|
||||
$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;
|
||||
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
|
||||
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
|
||||
'jbg' => $tempoh_gadai,
|
||||
'tempoh' => $tempoh_gadai,
|
||||
'tunggakan' => $upah_semasa
|
||||
));
|
||||
}
|
||||
$master = new MasterServices($cawangan_mysql['kodcaw']);
|
||||
$response = $master->updateJBGSemasa($request);
|
||||
}
|
||||
return response()->json('successful',200);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function PembiayaanBulanan(Request $request){
|
||||
|
||||
@@ -75,6 +75,12 @@ class MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function updateJBGSemasa(HttpRequest $request){
|
||||
$onepercent = new OnepercentEngine($this->cawangan);
|
||||
$response = $onepercent->updateJBGsemasa($request);
|
||||
return $response;
|
||||
}
|
||||
|
||||
/* End Gadaian */
|
||||
|
||||
/* Start Penebusan */
|
||||
|
||||
@@ -56,6 +56,12 @@ class OnePercent extends MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function updateJBGSemasa(HttpRequest $request){
|
||||
$gadai = new Version2Gadai($this->kodcaw,$this->cawangan_info);
|
||||
$response = $gadai->updateJBG($request);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getKadarUjrah(HttpRequest $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw',$request->kodcaw)->first();
|
||||
$onePercentServices = new Calculation();
|
||||
|
||||
@@ -41,6 +41,12 @@ class Tawarruq extends MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function updateJBGSemasa(HttpRequest $request){
|
||||
$gadai = new Version1Gadai($this->kodcaw,$this->cawangan_info);
|
||||
$response = $gadai->updateJBG($request);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getUpahSebenar($norujukan){
|
||||
$gadai = new Version1Gadai($this->kodcaw,$this->cawangan_info);
|
||||
$response = $gadai->kiraupahTawarruq($norujukan);
|
||||
|
||||
@@ -266,6 +266,61 @@ class GadaiV1
|
||||
return response()->json($update_gadai, 200);
|
||||
}
|
||||
|
||||
public function updateJBG(HttpRequest $request){
|
||||
$cawangan_mysql = $this->cawangan_info;
|
||||
$all_gadai = Gadai::on($cawangan_mysql['mysql'])->whereNotIn('sttebus',['L','T'])->get();
|
||||
foreach($all_gadai as $gadai){
|
||||
if($gadai['t_update'] == null){
|
||||
$tarikh_update = Carbon::parse($gadai['t_gadai'].' '. $gadai['masa']);
|
||||
}else{
|
||||
$tarikh_update = Carbon::parse($gadai['t_update'].' 00:00:00' );
|
||||
}
|
||||
$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;
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
|
||||
'jbg' => $tempoh_gadai,
|
||||
'tempoh' => $tempoh_gadai,
|
||||
'tunggakan' => $upah_semasa
|
||||
));
|
||||
}
|
||||
return response()->json('successful',200);
|
||||
}
|
||||
public function kiraupahTawarruqStokAudit($tempoh,$tempohbayar,$kadarupah,$bakipinjaman){
|
||||
$bilang_bln = $tempoh - $tempohbayar;
|
||||
$upahsemasa_raw = $bilang_bln * (($kadarupah/100 )* $bakipinjaman);
|
||||
$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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -323,6 +323,97 @@ class GadaiV2
|
||||
return response()->json("success",200);
|
||||
}
|
||||
|
||||
public function updateJBG(HttpRequest $request){
|
||||
$cawangan_mysql = $this->cawangan_info;
|
||||
$all_gadai = Gadai::on($cawangan_mysql['mysql'])->whereNotIn('sttebus',['L','T'])->get();
|
||||
foreach($all_gadai as $gadai){
|
||||
if($gadai['t_update'] == null){
|
||||
$tarikh_update = Carbon::parse($gadai['t_gadai'].' '. $gadai['masa']);
|
||||
}else{
|
||||
$tarikh_update = Carbon::parse($gadai['t_update'].' 00:00:00' );
|
||||
}
|
||||
$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;
|
||||
|
||||
if(isset($gadai['tagbaru'])){
|
||||
if($gadai['tagbaru'] == 1){
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAuditUjrahOnePercent($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['margin_semasa']);
|
||||
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
|
||||
'jbg' => $tempoh_gadai,
|
||||
'tempoh' => $tempoh_gadai,
|
||||
'tunggakan' => $upah_semasa['pendapatan'],
|
||||
'tunggakanujrah' => $upah_semasa['ujrah'],
|
||||
'tunggakanonepercent' => $upah_semasa['keuntungan'],
|
||||
));
|
||||
}
|
||||
else{
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
|
||||
'jbg' => $tempoh_gadai,
|
||||
'tempoh' => $tempoh_gadai,
|
||||
'tunggakan' => $upah_semasa,
|
||||
));
|
||||
}
|
||||
}else{
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
Gadai::on($cawangan_mysql['mysql'])->where('norujukan','=',$gadai['norujukan'])->update(array(
|
||||
'jbg' => $tempoh_gadai,
|
||||
'tempoh' => $tempoh_gadai,
|
||||
'tunggakan' => $upah_semasa,
|
||||
));
|
||||
}
|
||||
}
|
||||
return response()->json('successful',200);
|
||||
}
|
||||
public function kiraupahTawarruqStokAudit($tempoh,$tempohbayar,$kadarupah,$bakipinjaman){
|
||||
$bilang_bln = $tempoh - $tempohbayar;
|
||||
$upahsemasa_raw = $bilang_bln * (($kadarupah/100 )* $bakipinjaman);
|
||||
$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;
|
||||
}
|
||||
public function kiraupahTawarruqStokAuditUjrahOnePercent($tempoh,$tempohbayar,$kadarupah,$bakipinjaman,$nilaimarhun,$margin_semasa){
|
||||
$onepercentservices = new Calculation();
|
||||
$upah = $onepercentservices->kiraanKeuntunganRebet($bakipinjaman,$nilaimarhun,$kadarupah,$margin_semasa);
|
||||
$bilang_bln = $tempoh - $tempohbayar;
|
||||
$keuntungan_semasa = $bilang_bln * $upah['onepercent'];
|
||||
$ujrah_semasa = $bilang_bln * $upah['ujrah'];
|
||||
$pendapatan = $keuntungan_semasa + $ujrah_semasa;
|
||||
$arraypendapatan = [
|
||||
'keuntungan' => $keuntungan_semasa,
|
||||
'ujrah' => $ujrah_semasa,
|
||||
'pendapatan' => $pendapatan,
|
||||
];
|
||||
return $arraypendapatan;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddTunggakanToGadaiTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
/**
|
||||
*
|
||||
* @var object $db_connection
|
||||
*/
|
||||
|
||||
|
||||
public function getActiveDB(){
|
||||
$config_db = array_keys(config("database.connections"));
|
||||
|
||||
$db_connection = array_filter($config_db,function($connection){
|
||||
try{
|
||||
if($connection == 'mysql7')
|
||||
return false;
|
||||
|
||||
$db = DB::connection($connection)->getPdo();
|
||||
return true;
|
||||
} catch(\Exception $e){
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return $db_connection;
|
||||
}
|
||||
|
||||
public function up()
|
||||
{
|
||||
$db_connection = $this->getActiveDB();
|
||||
|
||||
foreach($db_connection as $dbase){
|
||||
Schema::connection($dbase)->table('gadai', function (Blueprint $table) {
|
||||
$table->decimal('tunggakanujrah', 9, 2);
|
||||
$table->decimal('tunggakanonepercent', 9, 2);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
$db_connection = $this->getActiveDB();
|
||||
|
||||
foreach($db_connection as $dbase){
|
||||
if (Schema::connection('mysql7')->hasColumn('tunggakanujrah','tunggakanonepercent')){
|
||||
Schema::connection($dbase)->table('gadai', function (Blueprint $table) {
|
||||
$table->dropColumn(['tunggakanujrah','tunggakanonepercent']);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user