separation of tawarruq and onepercent
This commit is contained in:
@@ -36,7 +36,7 @@ use App\StokAudit11;
|
||||
use App\StokAudit12;
|
||||
|
||||
use App\AkruNet;
|
||||
use App\Services\OnePercentServices;
|
||||
use App\Services\MasterServices;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
@@ -46,247 +46,73 @@ use Carbon\Carbon;
|
||||
class TebusController extends Controller
|
||||
{
|
||||
public function tebusTawarruq($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$jeniskeuntungan = ($gadai_data['tagbaru'] == 1) ? 'onepercent' : 'asal';
|
||||
|
||||
$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);
|
||||
}
|
||||
return response()->json($hargatebus);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function hargaTebusTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->hargaTebusTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
$rounded = $hargatebus - $harga_tebus;
|
||||
Log::info([$harga_tebus,$rebet]);
|
||||
$arrayharga = ['harga' => $hargatebus, 'rounded' => $rounded];
|
||||
|
||||
return $arrayharga;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraupahTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$onepercentservices = new OnePercentServices();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraUpahTawarruq($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
if($gadai_data['tempoh'] >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $gadai_data['tempoh'];
|
||||
}
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
if($jeniskeuntungan == 'onepercent'){
|
||||
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
|
||||
$upahsemasa_raw = $bilang_bln * $upah['keuntungan'];
|
||||
}else{
|
||||
$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);
|
||||
}
|
||||
|
||||
return $upah_semasa;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraUpahRebet($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$onepercentservices = new OnePercentServices();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraupahRebet($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
if($gadai_data['tempoh'] >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $gadai_data['tempoh'];
|
||||
}
|
||||
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
if($jeniskeuntungan == 'onepercent'){
|
||||
$upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
$upahrebet_raw = $bilang_bln * $upah['keuntungan'];
|
||||
}else{
|
||||
$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);
|
||||
// }
|
||||
|
||||
return $upahrebet_raw;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraUpahRebetSebenar($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
if($gadai_data['tempoh'] >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $gadai_data['tempoh'];
|
||||
}
|
||||
|
||||
$bilang_bln = $gadai_data['tempoh'] - $gadai_data['tempohbayar'];
|
||||
|
||||
$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);
|
||||
}
|
||||
|
||||
$total_untung_rebet = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('keuntungan_rebet');
|
||||
$total_untung_asal = TransaksiKeuntungan::on('mysql7')->where('norujukan','=',$norujukan)->sum('bayaran_keuntungan');
|
||||
$beza_keuntungan = $total_untung_asal - $total_untung_rebet;
|
||||
|
||||
$keuntungan_rebet_sebenar = $upah_rebet - $beza_keuntungan;
|
||||
return $keuntungan_rebet_sebenar;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function upahTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->upahTawarruq($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
$upah_semasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
return response()->json(number_format($upah_semasa,2));
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function upahRebetTawarruq($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->upahRebetTawarruq($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
return response()->json(number_format($upah_rebet,2));
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusSeparuhTawarruq($kodcaw,$norujukan,Request $request){
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusSeparuhTawarruq($kodcaw,$norujukan,$request);
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upahsemasa = $this->kiraupahTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
|
||||
$array_recno_marhun = $request->array_recno;
|
||||
|
||||
$margin_pembiayaan = round(($gadai_data['bakipjm']/$gadai_data['nilaimarhun'])*100,2);
|
||||
// $margin_pembiayaan = round(($gadai_data['bakipjm']/$request->hargasemasa)*100,2);
|
||||
|
||||
$nilai_marhun = $gadai_data['nilaimarhun'];
|
||||
$total_harga_tebus = 0;
|
||||
foreach($array_recno_marhun as $recno){
|
||||
$marhun = Marhun::on($cawangan['mysql'])->where([['recno','=',$recno],['norujukan','=',$norujukan]])->first();
|
||||
|
||||
$harga_tebus = ($margin_pembiayaan/100)*$marhun['n_marhun'];
|
||||
|
||||
$total_harga_tebus += $harga_tebus;
|
||||
}
|
||||
|
||||
$total_harga_tebus_round = round($total_harga_tebus,2);
|
||||
|
||||
$totalhargatebus = substr($total_harga_tebus_round, 0, -1);
|
||||
|
||||
return response()->json($totalhargatebus);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusNotTawarruq($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upah_semasa = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$harga_tebus = $upah_semasa + $gadai_data['pinjaman'];
|
||||
|
||||
return response()->json($harga_tebus);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function hargaTebusNotTawarruq($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->hargaTebusNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upah_semasa = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$harga_tebus = $upah_semasa + $gadai_data['pinjaman'];
|
||||
|
||||
return $harga_tebus;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getMoratorium(){
|
||||
@@ -300,424 +126,52 @@ class TebusController extends Controller
|
||||
}
|
||||
|
||||
public function kiraUpahNotTawarruq($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upahtelahbayar = Advansur::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->sum('upahdibayar');
|
||||
|
||||
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
||||
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
||||
$margin_kadarupah = 80;
|
||||
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
||||
|
||||
$bln_mora = Moratorium::first();
|
||||
|
||||
$upah_sebenar = $upah_asal - $rebet;
|
||||
$bln_upah = $gadai_data['tempoh'];
|
||||
if($bln_upah > $bln_mora['bln_mora']){
|
||||
$bln_upah = $bln_mora['bln_mora'];
|
||||
}
|
||||
$upahsemasa = $upah_sebenar * $bln_upah;
|
||||
$upah_semasa = bcdiv(round($upahsemasa,2),1,1);
|
||||
$upah_semasa = number_format($upah_semasa,2);
|
||||
if(strpos($upah_semasa,',')){
|
||||
$upah_semasa = str_replace(',','',$upah_semasa);
|
||||
}
|
||||
$upah_semasa = (float)$upah_semasa - $upahtelahbayar;
|
||||
|
||||
if($upah_semasa <= 0){
|
||||
$upah_semasa = 0;
|
||||
}
|
||||
|
||||
return $upah_semasa;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function upahNotTawarruq($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->upahNotTawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upahtelahbayar = Advansur::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->sum('upahdibayar');
|
||||
|
||||
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
||||
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
||||
$margin_kadarupah = 80;
|
||||
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
||||
|
||||
$bln_mora = Moratorium::first();
|
||||
|
||||
$upah_sebenar = $upah_asal - $rebet;
|
||||
$bln_upah = $gadai_data['tempoh'];
|
||||
if($bln_upah > $bln_mora['bln_mora']){
|
||||
$bln_upah = $bln_mora['bln_mora'];
|
||||
}
|
||||
$upahsemasa = $upah_sebenar * $bln_upah;
|
||||
$upah_semasa = bcdiv(round($upahsemasa,2),1,1);
|
||||
$upah_semasa = number_format($upah_semasa,2);
|
||||
if(strpos($upah_semasa,',')){
|
||||
$upah_semasa = str_replace(',','',$upah_semasa);
|
||||
}
|
||||
$upah_semasa = (float)$upah_semasa - $upahtelahbayar;
|
||||
|
||||
if($upah_semasa <= 0){
|
||||
$upah_semasa = 0;
|
||||
}
|
||||
|
||||
return response()->json($upah_semasa);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusSeparuhNotTawarruq($kodcaw,$norujukan,Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusSeparuhNotTawarruq($kodcaw,$norujukan,$request);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
||||
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
||||
$margin_kadarupah = 80;
|
||||
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
||||
|
||||
$upah_sebenar = $upah_asal - $rebet;
|
||||
|
||||
$upah_semasa = bcdiv(round($upah_sebenar * $gadai_data['jbg'],2),1,1);
|
||||
$upah_semasa = (float)number_format($upah_semasa,2);
|
||||
|
||||
$array_recno_marhun = $request->array_recno;
|
||||
|
||||
$margin_pembiayaan = round(($gadai_data['pinjaman']/$gadai_data['nilaimarhun'])*100,2);
|
||||
|
||||
$nilai_marhun = $gadai_data['nilaimarhun'];
|
||||
$total_harga_tebus = 0;
|
||||
foreach($array_recno_marhun as $recno){
|
||||
$marhun = Marhun::on($cawangan['mysql'])->where([['recno','=',$recno],['norujukan','=',$norujukan]])->first();
|
||||
|
||||
$harga_tebus = ($margin_pembiayaan/100)*$marhun['n_marhun'];
|
||||
|
||||
$total_harga_tebus += $harga_tebus;
|
||||
}
|
||||
|
||||
// $total_harga_tebus += $upah_semasa;
|
||||
|
||||
return response()->json($total_harga_tebus);
|
||||
return $response;
|
||||
}
|
||||
|
||||
function rebet($kodcaw,$norujukan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->rebet($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upah_asal = $gadai_data['nilaimarhun'] / 100 * $gadai_data['kadarupah'];
|
||||
$margin_pinjaman = $gadai_data['pinjaman'] / $gadai_data['nilaimarhun'] * 100;
|
||||
$margin_kadarupah = 80;
|
||||
|
||||
$rebet = ($margin_kadarupah-$margin_pinjaman)/$margin_kadarupah * $upah_asal;
|
||||
|
||||
return floatval(number_format($rebet,2));
|
||||
return $response;
|
||||
}
|
||||
|
||||
function rebetselepastawarruq($kodcaw,$norujukan,$jeniskeuntungan){
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->rebetselepastawarruq($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$transaction_keuntungan = TransaksiKeuntungan::on('mysql7')
|
||||
->where('norujukan','=',$norujukan)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan,$jeniskeuntungan);
|
||||
|
||||
$rebet_raw =$gadai_data['upah12'] - $transaction_keuntungan - $upah_rebet;
|
||||
// dd($gadai_data['upah12'],$transaction_keuntungan,$upah_rebet,$jeniskeuntungan,$rebet_raw);
|
||||
// $rebet_round = bcdiv(round($rebet_raw,2),1,1);
|
||||
// $rebet_round = number_format($rebet_round,2);
|
||||
|
||||
// if(strpos($rebet_round,',')){
|
||||
// $rebet_round = str_replace(',','',$rebet_round);
|
||||
// }
|
||||
// $rebet = substr($rebet_round, 0, -1);
|
||||
|
||||
return $rebet_raw;
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusUpdate($kodcaw,$norujukan,Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusUpdate($kodcaw,$norujukan,$request);
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
if($request->jenisbayarantebus == "tawarruq"){
|
||||
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
}
|
||||
else if($request->jenisbayarantebus == "nottawarruq")
|
||||
{
|
||||
$rebet = $this->rebet($kodcaw,$norujukan);
|
||||
}
|
||||
else{
|
||||
$rebet = 0;
|
||||
}
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
|
||||
$ujrah=0;$onepercent=0;$rounded=0;
|
||||
if($gadai['hargajualan'] == null){
|
||||
$harga_tebus = $this->hargaTebusNotTawarruq($kodcaw,$norujukan);
|
||||
$upah_tebus = $this->kiraUpahNotTawarruq($kodcaw,$norujukan);
|
||||
$upah_rebet = 0;
|
||||
$upah_rebet_sebenar = 0;
|
||||
}else{
|
||||
$harga_tebus = $this->hargaTebusTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
$upah_tebus = $this->kiraupahTawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
$upah_rebet = $this->kiraUpahRebetSebenar($kodcaw,$norujukan);
|
||||
$upah_rebet_sebenar = $harga_tebus['harga'] - $gadai['bakipjm'];
|
||||
|
||||
if($request->jeniskeuntungan == 'onepercent'){
|
||||
$array_onepercent = $this->kiraupahUjrahOnePercent($kodcaw,$norujukan);
|
||||
$array_onepercent_rebet = $this->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan);
|
||||
$margin_semasa = ($gadai['bakipjm']/$gadai['nilaimarhun']) * 100;
|
||||
$ujrah = $array_onepercent['ujrah'];
|
||||
$onepercent = $array_onepercent['onepercent'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$create_tebus = Tebus::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $norujukan,
|
||||
'nopelanggan' => $request->nopelanggan,
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => $request->jenistebus,
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => $gadai['tempoh'],
|
||||
'kadarupah' => $gadai['kadarupah'],
|
||||
'nilaimarhun' => $gadai['nilaimarhun'],
|
||||
'pinjaman' => $gadai['pinjaman'],
|
||||
'ansuran' => 0.00,
|
||||
'addpinjaman' => $request->addpinjaman,
|
||||
'bakipjm' => $harga_tebus['harga'],
|
||||
'bakiupah' => $upah_tebus,
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => $request->nowakil,
|
||||
'rebate' => $rebet,
|
||||
'marhuntebus' => $request->marhun,
|
||||
'historygadaian' => $norujukan,
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => $request->teller,
|
||||
'ujrah' => $ujrah,
|
||||
'onepercent' => $onepercent,
|
||||
]);
|
||||
|
||||
$create_inoutmar = InOutMar::on($cawangan['mysql'])->create([
|
||||
'tarikh' => $current->toDateString(),
|
||||
'masa' => $current->toTimeString(),
|
||||
'norujukan' => $norujukan,
|
||||
'nm' => $request->nilai_marhun,
|
||||
'pkd' => $request->teller,
|
||||
'drp' => $request->teller,
|
||||
'bln' => $current->month,
|
||||
'thn' => $current->year,
|
||||
'tag' => 0,
|
||||
'jenistebus' => $request->jenistebus,
|
||||
'namateller' => $request->teller
|
||||
]);
|
||||
|
||||
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
|
||||
'norujukan' => $norujukan,
|
||||
'bayaran_keuntungan' => $upah_tebus,
|
||||
'bayaran_pembiayaan' => $gadai['bakipjm'],
|
||||
'keuntungan_rebet' => $upah_rebet_sebenar,
|
||||
'tarikh_bayaran'=> $current,
|
||||
'kodcaw'=> $kodcaw,
|
||||
'ujrah' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['ujrah'] : 0,
|
||||
'ujrah_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent_rebet['ujrah'] : 0,
|
||||
'onepercent' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent['onepercent'] : 0,
|
||||
'onepercent_rebet' => ($request->jeniskeuntungan == 'onepercent') ? $array_onepercent_rebet['onepercent'] : 0,
|
||||
'margin_semasa' => ($request->jeniskeuntungan == 'onepercent') ? $margin_semasa : 0,
|
||||
'tempoh' => $gadai['tempoh'],
|
||||
'beza_tempoh' => ($gadai['tempoh'] - $gadai['tempohbayar']),
|
||||
'rounded' => $harga_tebus['rounded'],
|
||||
]);
|
||||
|
||||
if($request->jenistebus == 'P'){
|
||||
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bakiupah;
|
||||
$transaction = Transaction::on('mysql7')->create([
|
||||
'trans_type' => $request->jenistebus,
|
||||
'norujukan' => $norujukan,
|
||||
'nokp' => $gadai['nokp'],
|
||||
'teller' => $request->teller,
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $request->bakiupah,
|
||||
'created_at' => $current,
|
||||
'bakiharga' => $baki_hargajualan,
|
||||
]);
|
||||
}else{
|
||||
$baki_hargajualan = $gadai['bakihargajualan'] - $request->bakipinjaman;
|
||||
$transaction = Transaction::on('mysql7')->create([
|
||||
'trans_type' => $request->jenistebus,
|
||||
'norujukan' => $norujukan,
|
||||
'nokp' => $gadai['nokp'],
|
||||
'teller' => $request->teller,
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $harga_tebus['harga'],
|
||||
'created_at' => $current,
|
||||
'bakiharga' => $baki_hargajualan,
|
||||
'nowakil' => (int)$request->nowakil,
|
||||
'duitpelanggan' => isset($request->duitpelanggan) ? $request->duitpelanggan : 0,
|
||||
'bakipelanggan' => $request->bakipelanggan
|
||||
]);
|
||||
}
|
||||
|
||||
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
'sttebus' => "T",
|
||||
't_update' => $current->toDateString(),
|
||||
));
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->teller;
|
||||
if($request->jenistebus == 'P'){
|
||||
$audit->actions = "Tambah Pembiayaan";
|
||||
}else if($request->jenistebus == 'S'){
|
||||
$audit->actions = "Tebus Separuh";
|
||||
}else if($request->jenistebus == 'T'){
|
||||
$audit->actions = "Tebus Penuh";
|
||||
}
|
||||
$audit->norujukan = $norujukan;
|
||||
$audit->new_data = $create_tebus;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($update_gadai, 201);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function tebusUpdateAutoTawarruq($kodcaw,$norujukan,Request $request){
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->tebusUpdateAutoTawarruq($kodcaw,$norujukan,$request);
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first();
|
||||
|
||||
if($request->jenisbayarantebus == "tawarruq")
|
||||
{
|
||||
$rebet = $this->rebetselepastawarruq($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
}
|
||||
else if($request->jenisbayarantebus == "nottawarruq")
|
||||
{
|
||||
$rebet = $this->rebet($kodcaw,$norujukan);
|
||||
}
|
||||
else{
|
||||
$rebet = 0;
|
||||
}
|
||||
|
||||
$gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->first();
|
||||
|
||||
$update_gadai = Gadai::on($cawangan['mysql'])->where('norujukan','=',$norujukan)->update(array(
|
||||
'sttebus' => "T",
|
||||
't_update' => $current->toDateString(),
|
||||
));
|
||||
|
||||
$upah_rebet = $this->kiraUpahRebet($kodcaw,$norujukan,$request->jeniskeuntungan);
|
||||
|
||||
$create_tebus = Tebus::on($cawangan['mysql'])->create([
|
||||
'kodcaw'=> $kodcaw,
|
||||
'norujukan'=> $norujukan,
|
||||
'nopelanggan' => $request->nopelanggan,
|
||||
'jenisbyr' => "TN",
|
||||
'jenistebus' => $request->jenistebus,
|
||||
'glcode' => "0",
|
||||
't_tebus' => $current->toDateString(),
|
||||
'jbg' => $request->jbg,
|
||||
'kadarupah' => $request->kadarupah,
|
||||
'nilaimarhun' => $request->nilai_marhun,
|
||||
'pinjaman' => $request->pinjaman,
|
||||
'ansuran' => $request->ansuran,
|
||||
'addpinjaman' => $request->addpinjaman,
|
||||
'bakipjm' => $request->bakipinjaman,
|
||||
'bakiupah' => $request->bakiupah,
|
||||
'terima' => "*",
|
||||
'kodgl' => "0",
|
||||
'nowakil' => $request->nowakil,
|
||||
'rebate' => $rebet,
|
||||
'marhuntebus' => $request->marhun,
|
||||
'historygadaian' => $request->historygadaian,
|
||||
'tarikhbyrn' => $current->toDateString(),
|
||||
'teller' => $request->teller
|
||||
]);
|
||||
|
||||
$create_inoutmar = InOutMar::on($cawangan['mysql'])->create([
|
||||
'tarikh' => $current->toDateString(),
|
||||
'masa' => $current->toTimeString(),
|
||||
'norujukan' => $norujukan,
|
||||
'nm' => $request->nilai_marhun,
|
||||
'pkd' => $request->teller,
|
||||
'drp' => $request->teller,
|
||||
'bln' => $current->month,
|
||||
'thn' => $current->year,
|
||||
'tag' => 0,
|
||||
'jenistebus' => $request->jenistebus,
|
||||
'namateller' => $request->teller
|
||||
]);
|
||||
|
||||
$bayaran_pembiayaan = $request->totalbayaran - $request->bakiupah;
|
||||
|
||||
$transaction_upah = TransaksiKeuntungan::on('mysql7')->create([
|
||||
'norujukan' => $norujukan,
|
||||
'bayaran_keuntungan' => $request->bakiupah,
|
||||
'bayaran_pembiayaan' => $bayaran_pembiayaan,
|
||||
'keuntungan_rebet' => 0,
|
||||
'tarikh_bayaran'=> $current,
|
||||
'kodcaw'=> $kodcaw
|
||||
]);
|
||||
|
||||
$transaction = Transaction::on('mysql7')->create([
|
||||
'trans_type' => $request->jenistebus,
|
||||
'norujukan' => $norujukan,
|
||||
'nokp' => $gadai['nokp'],
|
||||
'teller' => $request->teller,
|
||||
'kodcaw' => $kodcaw,
|
||||
'duit_masuk' => $request->totalbayaran,
|
||||
'created_at' => $current,
|
||||
'bakiharga' => 0,
|
||||
'duitpelanggan' => $request->bayaranpelanggan,
|
||||
'bakipelanggan' => $request->bakipelanggan
|
||||
]);
|
||||
|
||||
$audit = new Audit();
|
||||
$audit->users = $request->teller;
|
||||
$audit->actions = "Auto Tawarruq";
|
||||
$audit->norujukan = $norujukan;
|
||||
$audit->new_data = $create_tebus;
|
||||
$audit->kodcaw = $kodcaw;
|
||||
$audit->created_at = $current;
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
return response()->json($update_gadai, 201);
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function getLaporanTebus($kodcaw,$tarikh){
|
||||
@@ -2103,7 +1557,7 @@ class TebusController extends Controller
|
||||
return response(0);
|
||||
}
|
||||
|
||||
public function removeUpahLamaToday($kodcaw,$norujukan)
|
||||
public function removeUpahLamaToday($kodcaw,$norujukan,Request $request)
|
||||
{
|
||||
$current = Carbon::now();
|
||||
$current = new Carbon();
|
||||
@@ -2383,95 +1837,17 @@ class TebusController extends Controller
|
||||
}
|
||||
|
||||
public function kiraupahUjrahOnePercent($kodcaw,$norujukan){
|
||||
$onepercentservices = new OnePercentServices();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraupahUjrahOnePercent($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
if($gadai_data['tempoh'] >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $gadai_data['tempoh'];
|
||||
}
|
||||
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
$array_upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['percentpinj']);
|
||||
$ujrah = $bilang_bln * $array_upah['ujrah'];
|
||||
$onepercent = $bilang_bln * $array_upah['onepercent'];
|
||||
$onepercent_semasa = $onepercent;
|
||||
$ujrah_semasa = $ujrah;
|
||||
|
||||
// $ujrah_semasa_round = number_format($ujrah,2);
|
||||
// if(strpos($ujrah_semasa_round,',')){
|
||||
// $ujrah_semasa_round = str_replace(',','',$ujrah_semasa_round);
|
||||
// }
|
||||
// $ujrah_semasa = substr($ujrah_semasa_round, 0, -1);
|
||||
// if(strpos($ujrah_semasa,',')){
|
||||
// $ujrah_semasa = str_replace(',','',$ujrah_semasa);
|
||||
// }
|
||||
|
||||
// $onepercent_semasa_round = number_format($onepercent,2);
|
||||
// if(strpos($onepercent_semasa_round,',')){
|
||||
// $onepercent_semasa_round = str_replace(',','',$onepercent_semasa_round);
|
||||
// }
|
||||
// $onepercent_semasa = substr($onepercent_semasa_round, 0, -1);
|
||||
// if(strpos($onepercent_semasa,',')){
|
||||
// $onepercent_semasa = str_replace(',','',$onepercent_semasa);
|
||||
// }
|
||||
|
||||
return ['ujrah' => $ujrah_semasa, 'onepercent' => $onepercent_semasa];
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraupahUjrahOnePercentRebate($kodcaw,$norujukan){
|
||||
$onepercentservices = new OnePercentServices();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
$master = new MasterServices($kodcaw);
|
||||
$response = $master->kiraupahUjrahOnePercentRebate($kodcaw,$norujukan);
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
if($gadai_data['tempoh'] >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $gadai_data['tempoh'];
|
||||
}
|
||||
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
$array_upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
$ujrah = $bilang_bln * $array_upah['ujrah'];
|
||||
$onepercent = $bilang_bln * $array_upah['onepercent'];
|
||||
|
||||
$ujrah_semasa = $ujrah;
|
||||
// $ujrah_semasa = round($ujrah,PHP_ROUND_HALF_UP);
|
||||
// $ujrah_semasa_round = number_format($ujrah,2);
|
||||
// if(strpos($ujrah_semasa_round,',')){
|
||||
// $ujrah_semasa_round = str_replace(',','',$ujrah_semasa_round);
|
||||
// }
|
||||
// $ujrah_semasa = substr($ujrah_semasa_round, 0, -1);
|
||||
// if(strpos($ujrah_semasa,',')){
|
||||
// $ujrah_semasa = str_replace(',','',$ujrah_semasa);
|
||||
// }
|
||||
|
||||
$onepercent_semasa = $onepercent;
|
||||
// $onepercent_semasa = round($onepercent,PHP_ROUND_HALF_UP);
|
||||
// $onepercent_semasa_round = number_format($onepercent,2);
|
||||
// if(strpos($onepercent_semasa_round,',')){
|
||||
// $onepercent_semasa_round = str_replace(',','',$onepercent_semasa_round);
|
||||
// }
|
||||
// $onepercent_semasa = substr($onepercent_semasa_round, 0, -1);
|
||||
// if(strpos($onepercent_semasa,',')){
|
||||
// $onepercent_semasa = str_replace(',','',$onepercent_semasa);
|
||||
// }
|
||||
|
||||
return ['ujrah' => $ujrah_semasa, 'onepercent' => $onepercent_semasa];
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user