Merge branch 'pipi/ujrah_staging' into ujrah_master_fix
This commit is contained in:
@@ -34,6 +34,7 @@ use Illuminate\Http\Request;
|
||||
|
||||
use App\Services\MasterServices;
|
||||
use App\Support\OnePercent;
|
||||
use App\Services\Transaction\AnsuranServices as AnsServ;
|
||||
use Log;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -1130,7 +1131,8 @@ class GadaiController extends Controller
|
||||
$updatehistory = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->update(array(
|
||||
'historygadaian' => $request->historygadaian
|
||||
'historygadaian' => $request->historygadaian,
|
||||
'tag_tebus' => $request->jenistebus,
|
||||
));
|
||||
|
||||
return response()->json($updatehistory,200);
|
||||
@@ -3647,4 +3649,18 @@ class GadaiController extends Controller
|
||||
|
||||
return $keuntungan;
|
||||
}
|
||||
|
||||
public function deleteAnsuran(Request $request){
|
||||
$ansuranserv = new AnsServ($request->kodcaw);
|
||||
$delete = $ansuranserv->delete($request);
|
||||
Log::info($delete);
|
||||
return response()->json($delete);
|
||||
}
|
||||
|
||||
public function getLatestAdvanceWithoutDelete(Request $request){
|
||||
$ansuranserv = new AnsServ($request->kodcaw);
|
||||
$view = $ansuranserv->getLatestAdvanceWithoutDelete($request);
|
||||
|
||||
return response()->json($view);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1631,4 +1631,72 @@ class LaporanController extends Controller
|
||||
|
||||
return response('succesfully generated!');
|
||||
}
|
||||
|
||||
public function UpdateDailyImbangDugaRefined(Request $request){
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
$tarikh = new Carbon($request->tarikh);
|
||||
|
||||
DB::connection($cawangan['mysql'])->beginTransaction();
|
||||
try{
|
||||
$imbangduga = imbangdugabackup::on($cawangan['mysql'])->whereDate('tarikh',$request->tarikh)->update(array(
|
||||
'kodcaw' => $request->kodcaw,
|
||||
'tarikh' => $tarikh->toDateString(),
|
||||
'tunaiditangan' => $request->tunaiditangan,
|
||||
'pembiayaantawarruq' => $request->pembiayaantawarruq,
|
||||
'bayaranpendahuluan' => $request->bayaranpendahuluan,
|
||||
'pinjamankoop' => $request->pinjamankoop,
|
||||
'emaspalsu' => $request->emaspalsu,
|
||||
'serahan' => $request->serahan,
|
||||
'bds' => $request->bds,
|
||||
'perubatan' => $request->perubatan,
|
||||
'keraian' => $request->keraian,
|
||||
'rugilelong' => $request->rugilelong,
|
||||
'bakilelong' => $request->bakilelong,
|
||||
'wtd' => $request->wtd,
|
||||
'untungrugiterkumpul' => $request->untungrugiterkumpul,
|
||||
'keun_sebenar' => $request->keun_sebenar,
|
||||
'pendahuluan' => $request->pendahuluan,
|
||||
'cajlelong' => $request->cajlelong,
|
||||
'pindahkekpkb' => $request->pindahkekpkb,
|
||||
'penghutangkaki' => $request->penghutangkaki,
|
||||
'phapuskira' => $request->phapuskira,
|
||||
'belian1stop' => $request->belian1stop,
|
||||
'keun_penggadai' => $request->keun_penggadai,
|
||||
'pend_terakru' => $request->pend_terakru,
|
||||
'cajperkhidmatan' => $request->cajperkhidmatan,
|
||||
'cajlelongxtra' => $request->cajlelongxtra,
|
||||
'upahsimpanxtra' => $request->upahsimpanxtra,
|
||||
'bakilelongxtra' => $request->bakilelongxtra,
|
||||
'rugilelongxtra' => $request->rugilelongxtra,
|
||||
'utgterkumpulxtra' => $request->utgterkumpulxtra,
|
||||
'jualan1stop' => $request->jualan1stop,
|
||||
'hapuskira' => $request->hapuskira,
|
||||
'ujrah' => $request->ujrah,
|
||||
'onepercent' => $request->onepercent,
|
||||
'totalharta' => $request->totalharta,
|
||||
'totaltanggungan' => $request->totaltanggungan,
|
||||
'tagtally' => $request->tagtally,
|
||||
'created_at' => $tarikh->toDateTimeString(),
|
||||
'updated_at' => $tarikh->toDateTimeString(),
|
||||
));
|
||||
DB::connection($cawangan['mysql'])->commit();
|
||||
return response()->json('success',200);
|
||||
}catch (\Throwable $e){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
return response()->json($e,500);
|
||||
}
|
||||
}
|
||||
|
||||
public function getImbangDugaBackupData(Request $request){
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->first();
|
||||
|
||||
$response = imbangdugabackup::on($cawangan['mysql'])->select($request->data_name)->whereDate('tarikh','=',$request->tarikh)->firstOr(function () {
|
||||
return ['message' => 'No Data'];
|
||||
});
|
||||
|
||||
if(isset($response['message']) == false) $response = $response[$request->data_name];
|
||||
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1878,6 +1878,13 @@ class TebusController extends Controller
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function upahTawarruqByTarikh(Request $request){
|
||||
$master = new MasterServices($request->kodcaw);
|
||||
$response = $master->kiraupahTawarruqByTarikh($request->kodcaw,$request->norujukan,$request->tarikh,$request);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -235,6 +235,18 @@ class MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh,HttpRequest $request){
|
||||
if($request->jeniskeuntungan == 'onepercent'){
|
||||
$onepercent = new OnePercentEngine($this->cawangan);
|
||||
$response = $onepercent->kiraanupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh);
|
||||
return $response;
|
||||
}else{
|
||||
$tawarruq = new TawarruqEngine($this->cawangan);
|
||||
$response = $tawarruq->kiraanupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh);
|
||||
return $response;
|
||||
}
|
||||
}
|
||||
|
||||
/* End Penebusan */
|
||||
|
||||
public function test(){
|
||||
|
||||
@@ -96,7 +96,7 @@ class PanjarServices
|
||||
if (!$vault) throw new \Exception('Custom Exception: Vault Does Not Exist!');
|
||||
if (!$deno_panjar) throw new \Exception('Custom Exception: Denominasi Panjar Does Not Exist!');
|
||||
|
||||
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault) {
|
||||
DB::transaction(function () use ($cawangan,$deno_panjar,$panjar,$denominasi,$current,$vault,$request) {
|
||||
|
||||
$return_data = $this->calculation_denominasi($deno_panjar,$denominasi,'masuk');
|
||||
if($return_data == 'no data') throw new \Exception('Custom Exception: Denominasi Panjar Not Return Data');
|
||||
@@ -297,9 +297,20 @@ class PanjarServices
|
||||
$audit->updated_at = $current;
|
||||
$audit->save();
|
||||
|
||||
$array_response = [
|
||||
'result' => 'success',
|
||||
'data' => 1
|
||||
];
|
||||
return response()->json($array_response);
|
||||
|
||||
});
|
||||
}catch(\Exception $e){
|
||||
dd($e->getMessage());
|
||||
$array_response = [
|
||||
'result' => 'error',
|
||||
'data' => $e->getMessage()
|
||||
];
|
||||
return response()->json($array_response);
|
||||
Log::error('Exception: ' , $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Transaction;
|
||||
|
||||
use App\Audit;
|
||||
use App\Gadai;
|
||||
use App\Tunai;
|
||||
use App\Transaction;
|
||||
use App\TransaksiKeuntungan;
|
||||
use App\Cawangan;
|
||||
use App\TransaksiGadai;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
class AnsuranServices
|
||||
{
|
||||
|
||||
/*
|
||||
//////////////
|
||||
/// NOTED ///
|
||||
////////////
|
||||
|
||||
1. Pembaharuan untuk Hapus Ansuran.
|
||||
|
||||
*/
|
||||
|
||||
|
||||
protected $cawangan = 'KB2';
|
||||
|
||||
public function __construct($kodcaw){
|
||||
$this->cawangan = $kodcaw;
|
||||
}
|
||||
|
||||
public function delete(Request $request): String{
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$this->cawangan)->first();
|
||||
$tarikh_request = new Carbon($request->tarikh);
|
||||
$tarikh = Carbon::now();
|
||||
$harisemasa = $tarikh->toDateString();
|
||||
|
||||
if($harisemasa !== $tarikh_request->toDateString()){
|
||||
return 'date not equal';
|
||||
}
|
||||
$transaction_gadai = TransaksiGadai::on('mysql7')->where('id',$request->tg_id)->first();
|
||||
$transaction = Transaction::on('mysql7')->where('id',$transaction_gadai['transaction_id'])->first();
|
||||
|
||||
if($transaction['teller'] != $request->teller){
|
||||
return 'wrong teller';
|
||||
}
|
||||
|
||||
try{
|
||||
DB::connection('mysql7')->transaction(function () use($cawangan,$request,$harisemasa,$transaction,$transaction_gadai){
|
||||
|
||||
try{
|
||||
DB::connection($cawangan['mysql'])->transaction(function () use($cawangan,$request,$transaction_gadai,$harisemasa,$transaction){
|
||||
|
||||
Gadai::on($cawangan['mysql'])->where('norujukan',$request->norujukan)->update(array(
|
||||
'percentpinj' => $transaction_gadai['percentpinj'],
|
||||
'bakipjm' => $transaction_gadai['bakipjm'],
|
||||
'tempoh' => $transaction_gadai['tempoh'],
|
||||
't_update' => $transaction_gadai['t_update'],
|
||||
'bakihargajualan' => $transaction_gadai['bakihargajualan'],
|
||||
'tempohbayar' => $transaction_gadai['tempohbayar'],
|
||||
'lelong_tawarruq' => $transaction_gadai['lelong_tawarruq'],
|
||||
'margin_semasa' => $transaction_gadai['margin_semasa'],
|
||||
'tunggakanujrah' => $transaction_gadai['tunggakanujrah'],
|
||||
'tunggakanonepercent' => $transaction_gadai['tunggakanonepercent'],
|
||||
));
|
||||
|
||||
$tunai = Tunai::on($cawangan['mysql'])->where('kodlaluan',$request->teller)->where('tarikh',$harisemasa)->first();
|
||||
|
||||
|
||||
$total = $tunai['masuk'] - $transaction['duit_masuk'];
|
||||
$bakiakhir = $tunai['bakiawal'] - $tunai['keluar'] + $total + $tunai['tambah'] - $tunai['serahan'];
|
||||
|
||||
|
||||
Tunai::on($cawangan['mysql'])->where('tarikh',$harisemasa)->where('kodlaluan',$request->teller)->update(['masuk' => $total,'baki' => $bakiakhir]);
|
||||
|
||||
});
|
||||
}catch(\Exception $e){
|
||||
DB::connection('mysql7')->rollBack();
|
||||
Log::debug($e->getMessage());
|
||||
return 'error';
|
||||
}
|
||||
|
||||
Transaction::on('mysql7')->where('id',$transaction_gadai['transaction_id'])->delete();
|
||||
TransaksiKeuntungan::on('mysql7')->where('id',$transaction_gadai['transaksiupah_id'])->delete();
|
||||
|
||||
TransaksiGadai::on('mysql7')->where('id',$request->tg_id)->update(array(
|
||||
'softDelete' => 1,
|
||||
));
|
||||
|
||||
|
||||
return 'success';
|
||||
|
||||
});
|
||||
}catch(\Exception $error){
|
||||
DB::connection($cawangan['mysql'])->rollBack();
|
||||
DB::connection('mysql7')->rollBack();
|
||||
Log::debug($error->getMessage());
|
||||
return 'error';
|
||||
}
|
||||
|
||||
return 'success';
|
||||
|
||||
// $audit = new Audit();
|
||||
// $audit->users = $request->teller;
|
||||
// $audit->actions = 'Hapus Ansuran';
|
||||
// $audit->norujukan = $norujukan;
|
||||
// $audit->new_data = $new_data;
|
||||
// $audit->old_data = $old_data;
|
||||
// $audit->kodcaw = $kodcaw;
|
||||
// $audit->created_at = $current;
|
||||
// $audit->updated_at = $current;
|
||||
// $audit->save();
|
||||
|
||||
}
|
||||
|
||||
public function getLatestAdvanceWithoutDelete(Request $request){
|
||||
$tarikh = Carbon::now();
|
||||
|
||||
$latest = TransaksiGadai::on('mysql7')->whereDate('created_at',$tarikh->toDateString())->where('norujukan',$request->norujukan)->where('softDelete',0)->latest()->first();
|
||||
|
||||
return $latest;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -36,7 +36,7 @@ class OnePercent extends MasterServices
|
||||
|
||||
public function getUpahSebenar($norujukan){
|
||||
$gadai = new Version2Gadai($this->kodcaw,$this->cawangan_info);
|
||||
$response = $gadai->kiraupahOnePercent($this->kodcaw,$norujukan);
|
||||
$response = $gadai->kiraupahOnePercent($norujukan);
|
||||
|
||||
return $response;
|
||||
}
|
||||
@@ -199,6 +199,13 @@ class OnePercent extends MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraanupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->kiraupahTawarruqByTarikh($this->kodcaw,$norujukan,$tarikh);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/* End Penebusan */
|
||||
|
||||
public function test(){
|
||||
|
||||
@@ -170,6 +170,13 @@ class Tawarruq extends MasterServices
|
||||
return $response;
|
||||
}
|
||||
|
||||
public function kiraanupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh){
|
||||
$tebus = new Penebusan($this->kodcaw,$this->cawangan_info);
|
||||
$response = $tebus->kiraupahTawarruqByTarikh($this->kodcaw,$norujukan,$tarikh);
|
||||
|
||||
return $response;
|
||||
}
|
||||
|
||||
/* End Penebusan */
|
||||
|
||||
public function test(){
|
||||
|
||||
@@ -675,4 +675,88 @@ class Penebusan
|
||||
|
||||
return response()->json($update_gadai, 201);
|
||||
}
|
||||
|
||||
public function kiraupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh){
|
||||
$onepercentservices = new Calculation();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$transaction_keuntungan = TransaksiKeuntungan::on('mysql7')
|
||||
->where('norujukan','=',$norujukan)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$tempoh_func = $this->kiraanTarikhJBG($gadai_data['t_gadai'],$tarikh);
|
||||
|
||||
if($tempoh_func >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $tempoh_func;
|
||||
}
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
$upahsemasa_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['pinjaman']);
|
||||
|
||||
// $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 = $onepercentservices->getRoundedMethod($upahsemasa_raw);
|
||||
|
||||
$upahrebet_raw = $bilang_bln * (($gadai_data['kadarupah']/100 )* $gadai_data['bakipjm']);
|
||||
$upah_rebet = $onepercentservices->getRoundedMethod($upahrebet_raw);
|
||||
$rebet_raw =$gadai_data['upah12'] - $transaction_keuntungan - $upah_rebet;
|
||||
|
||||
|
||||
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet_raw;
|
||||
|
||||
|
||||
$array_return = [
|
||||
'upahsemasa' => $upah_semasa,
|
||||
'tempoh' => $tempoh,
|
||||
'harga_tebus' => $harga_tebus,
|
||||
];
|
||||
|
||||
return $array_return;
|
||||
}
|
||||
|
||||
private function kiraanTarikhJBG($tarikhgadai,$tarikh){
|
||||
|
||||
$tarikh_gadai = Carbon::parse($tarikhgadai. ' 00:00:00');
|
||||
$tarikh = new Carbon($tarikh);
|
||||
$tahun_gadai = $tarikh_gadai->year;
|
||||
$bulan_gadai = $tarikh_gadai->month;
|
||||
$hari_gadai = $tarikh_gadai->day;
|
||||
$tahun_semasa = $tarikh->year;
|
||||
$bulan_semasa = $tarikh->month;
|
||||
$hari_semasa = $tarikh->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;
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,7 @@ class Calculation
|
||||
$formula_margin = ($this->maks_margin - $margin) / $this->maks_margin;
|
||||
$ujrah_margin = $formula_margin * $kadarujrah;
|
||||
$rebate_ujrah = $nilaimarhun*($ujrah_margin/100);
|
||||
$ujrah_sebenar = $ujrah;
|
||||
$ujrah_sebenar = $ujrah - $rebate_ujrah;
|
||||
|
||||
return $ujrah_sebenar;
|
||||
}
|
||||
@@ -62,8 +62,8 @@ class Calculation
|
||||
$onepercent = $this->kiraanOnePercent($pembiayaan);
|
||||
$ujrah_sebenar = $this->kiraanUjrahSebenar($nilaimarhun,$kadarujrah,$margin);
|
||||
|
||||
$onepercent = $this->getRoundedMethod($onepercent);
|
||||
$ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
|
||||
// $onepercent = $this->getRoundedMethod($onepercent);
|
||||
// $ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
|
||||
|
||||
$keuntungan = $onepercent + $ujrah_sebenar;
|
||||
|
||||
@@ -73,12 +73,10 @@ class Calculation
|
||||
public function kiraanKeuntunganSebenar(float $pembiayaan = 0.0,float $nilaimarhun = 0.0,float $kadarujrah = 0.0,float $margin = 0.0){
|
||||
|
||||
$this->one_percent = $this->getKadarUpah($nilaimarhun);
|
||||
|
||||
$onepercent = $this->kiraanOnePercent($pembiayaan);
|
||||
$ujrah_sebenar = $this->kiraanUjrah($nilaimarhun,$kadarujrah,$margin);
|
||||
|
||||
$onepercent = $this->getRoundedMethod($onepercent);
|
||||
$ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
|
||||
// $onepercent = $this->getRoundedMethod($onepercent);
|
||||
// $ujrah_sebenar = $this->getRoundedMethod($ujrah_sebenar);
|
||||
|
||||
$keuntungan = $onepercent + $ujrah_sebenar;
|
||||
|
||||
@@ -99,7 +97,11 @@ class Calculation
|
||||
}
|
||||
|
||||
public function getRoundedMethod(float $number = 0.0) : Float{
|
||||
$number_string = number_format(floor(($number*100))/100,2);
|
||||
// $multiplied = number_format($number * 100,2);
|
||||
// $floorResult = floor($multiplied);
|
||||
// $number_string = number_format($floorResult/100,2);
|
||||
$number_string = number_format(floor($number * 100)/100,2);
|
||||
|
||||
$rounded = substr($number_string, 0, -1);
|
||||
$lastDigit = substr($number_string, -1);
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ use App\Gadai;
|
||||
use App\Marhun;
|
||||
use App\Support\OnePercent;
|
||||
use App\Transaction;
|
||||
use App\TransaksiGadai;
|
||||
use App\TransaksiKeuntungan;
|
||||
use Illuminate\Http\Request as HttpRequest;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
@@ -238,7 +239,7 @@ class GadaiV2
|
||||
$margin_semasa = ($gadai['bakipjm'] / $gadai['nilaimarhun']) * 100;
|
||||
|
||||
$keuntungan = $onepercent->kiraanKeuntunganSebenar($gadai['bakipjm'],$gadai['nilaimarhun'],$gadai['kadarupah'],$margin_semasa);
|
||||
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['margin_semasa']);
|
||||
$ujrahasal = $onepercent->kiraanUjrahSebenar($gadai['nilaimarhun'],$gadai['kadarupah'],$gadai['percentpinj']);
|
||||
|
||||
$onepercentasal = $gadai['pinjaman'] * (1/100);
|
||||
|
||||
@@ -267,8 +268,8 @@ class GadaiV2
|
||||
}
|
||||
$bilang_bln = $tempoh - $gadai['tempohbayar'];
|
||||
|
||||
$ujrah = $onepercent->getRoundedMethod($keuntungan['ujrah'] * $bilang_bln);
|
||||
$ujrah_rebate = $onepercent->getRoundedMethod($ujrahasal * $bilang_bln);
|
||||
$ujrah = $onepercent->getRoundedMethod($ujrahasal * $bilang_bln);
|
||||
$ujrah_rebate = $onepercent->getRoundedMethod($keuntungan['ujrah'] * $bilang_bln);
|
||||
$keun = $onepercent->getRoundedMethod($onepercentasal * $bilang_bln);
|
||||
$keuntungan_rebate = $onepercent->getRoundedMethod($keuntungan['onepercent'] * $bilang_bln);
|
||||
|
||||
@@ -288,6 +289,24 @@ class GadaiV2
|
||||
'margin_semasa' => $margin_semasa,
|
||||
]);
|
||||
|
||||
$transaksi_gadai = TransaksiGadai::on('mysql7')->create([
|
||||
'kodcaw' => $old_data['kodcaw'],
|
||||
'norujukan' => $old_data['norujukan'],
|
||||
'percentpinj' => $old_data['percentpinj'],
|
||||
'bakipjm' => $old_data['bakipjm'],
|
||||
'tempoh' => $old_data['tempoh'],
|
||||
't_update' => $old_data['t_update'],
|
||||
'bakihargajualan' => $old_data['bakihargajualan'],
|
||||
'tempohbayar' => $old_data['tempohbayar'],
|
||||
'lelong_tawarruq' => $old_data['lelong_tawarruq'],
|
||||
'margin_semasa' => $old_data['margin_semasa'],
|
||||
'tunggakanujrah' => $old_data['tunggakanujrah'],
|
||||
'tunggakanonepercent' => $old_data['tunggakanonepercent'],
|
||||
'transaction_id' => $transaction->id,
|
||||
'transaksiupah_id' => $transaction_upah->id,
|
||||
'softDelete' => 0
|
||||
]);
|
||||
|
||||
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;
|
||||
|
||||
@@ -184,7 +184,7 @@ class Penebusan
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
$upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
|
||||
|
||||
$upahrebet_raw = $onepercentservices->getRoundedMethod($bilang_bln * $upah['keuntungan']);
|
||||
$upahujrah_raw = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
|
||||
$upahonepercent_raw = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
|
||||
@@ -225,6 +225,8 @@ class Penebusan
|
||||
|
||||
public function tebusSeparuhTawarruq($kodcaw,$norujukan,HttpRequest $request){
|
||||
|
||||
$onepercentservices = new Calculation();
|
||||
|
||||
$cawangan = Cawangan::on('mysql7')
|
||||
->where('kodcaw','=',$kodcaw)
|
||||
->first();
|
||||
@@ -233,14 +235,13 @@ class Penebusan
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$upahsemasa = $this->kiraupahTawarruq($norujukan);
|
||||
$upahsemasa = $this->upahRebetTawarruq($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();
|
||||
@@ -249,6 +250,8 @@ class Penebusan
|
||||
|
||||
$total_harga_tebus += $harga_tebus;
|
||||
}
|
||||
// $total_harga_tebus = $onepercentservices->getRoundedMethod($total_harga_tebus);
|
||||
// $totalhargatebus = $total_harga_tebus + $upahsemasa['keuntungan'];
|
||||
|
||||
$total_harga_tebus_round = round($total_harga_tebus,2);
|
||||
|
||||
@@ -775,15 +778,104 @@ class Penebusan
|
||||
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
$array_upah = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
$ujrah_rounded = $onepercentservices->getRoundedMethod($array_upah['ujrah']);
|
||||
$keuntungan_rounded = $onepercentservices->getRoundedMethod($array_upah['onepercent']);
|
||||
$ujrah = $bilang_bln * $ujrah_rounded;
|
||||
$onepercent = $bilang_bln * $keuntungan_rounded;
|
||||
// $ujrah_rounded = $onepercentservices->getRoundedMethod($array_upah['ujrah']);
|
||||
// $keuntungan_rounded = $onepercentservices->getRoundedMethod($array_upah['onepercent']);
|
||||
$ujrah = $bilang_bln * $array_upah['ujrah'];
|
||||
$onepercent = $bilang_bln * $array_upah['onepercent'];
|
||||
$ujrah = $onepercentservices->getRoundedMethod($ujrah);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($onepercent);
|
||||
|
||||
return ['ujrah' => $ujrah, 'onepercent' => $onepercent];
|
||||
}
|
||||
|
||||
public function kiraupahTawarruqByTarikh($kodcaw,$norujukan,$tarikh){
|
||||
$onepercentservices = new Calculation();
|
||||
|
||||
$cawangan = $this->cawangan_info;
|
||||
|
||||
$gadai_data = Gadai::on($cawangan['mysql'])
|
||||
->where('norujukan','=',$norujukan)
|
||||
->first();
|
||||
|
||||
$transaction_keuntungan = TransaksiKeuntungan::on('mysql7')
|
||||
->where('norujukan','=',$norujukan)
|
||||
->sum('keuntungan_rebet');
|
||||
|
||||
$tempoh_func = $this->kiraanTarikhJBG($gadai_data['t_gadai'],$tarikh);
|
||||
|
||||
if($tempoh_func >= 12.0){
|
||||
$tempoh = 12;
|
||||
}else{
|
||||
$tempoh = $tempoh_func;
|
||||
}
|
||||
$bilang_bln = $tempoh - $gadai_data['tempohbayar'];
|
||||
|
||||
/* Keuntungan Sebenar */
|
||||
$upah = $onepercentservices->kiraanKeuntunganSebenar($gadai_data['pinjaman'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
|
||||
$keuntungan_semasa = $onepercentservices->getRoundedMethod($bilang_bln * $upah['onepercent']);
|
||||
$ujrah_semasa = $onepercentservices->getRoundedMethod($bilang_bln * $upah['ujrah']);
|
||||
$upahsemasa_raw = $keuntungan_semasa + $ujrah_semasa;
|
||||
$upahsemasa_raw = $onepercentservices->getRoundedMethod($upahsemasa_raw);
|
||||
$keuntungan_1bln = $onepercentservices->getRoundedMethod((1 * $upah['onepercent'])+(1 * $upah['ujrah']));
|
||||
|
||||
/* Keuntungan Rebet */
|
||||
$upah_rebet_kira = $onepercentservices->kiraanKeuntunganRebet($gadai_data['bakipjm'],$gadai_data['nilaimarhun'],$gadai_data['kadarupah'],$gadai_data['margin_semasa']);
|
||||
|
||||
$ujrah = $onepercentservices->getRoundedMethod($bilang_bln * $upah_rebet_kira['ujrah']);
|
||||
$onepercent = $onepercentservices->getRoundedMethod($bilang_bln * $upah_rebet_kira['onepercent']);
|
||||
$keuntungan = $ujrah + $onepercent;
|
||||
|
||||
$upahrebet_raw = $onepercentservices->getRoundedMethod($keuntungan);
|
||||
|
||||
$rebet_raw =$gadai_data['upah12'] - $transaction_keuntungan - $upahrebet_raw;
|
||||
|
||||
$harga_tebus = $gadai_data['bakihargajualan'] - $rebet_raw;
|
||||
|
||||
$array_return = [
|
||||
'keuntungan_1bln' => $keuntungan_1bln,
|
||||
'pendapatan' => $upahsemasa_raw,
|
||||
'keuntungan' => $keuntungan_semasa,
|
||||
'ujrah' => $ujrah_semasa,
|
||||
'keuntungan_rebet' => $onepercent,
|
||||
'ujrah_rebet' => $ujrah,
|
||||
'tempoh' => $tempoh,
|
||||
'harga_tebus' => $harga_tebus,
|
||||
];
|
||||
|
||||
return $array_return;
|
||||
}
|
||||
|
||||
private function kiraanTarikhJBG($tarikhgadai,$tarikh){
|
||||
|
||||
$tarikh_gadai = Carbon::parse($tarikhgadai. ' 00:00:00');
|
||||
$tarikh = new Carbon($tarikh);
|
||||
$tahun_gadai = $tarikh_gadai->year;
|
||||
$bulan_gadai = $tarikh_gadai->month;
|
||||
$hari_gadai = $tarikh_gadai->day;
|
||||
$tahun_semasa = $tarikh->year;
|
||||
$bulan_semasa = $tarikh->month;
|
||||
$hari_semasa = $tarikh->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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class TransaksiGadai extends Model
|
||||
{
|
||||
protected $table = 'transaksi_gadai';
|
||||
public $timestamps = true;
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'kodcaw',
|
||||
'norujukan',
|
||||
'percentpinj',
|
||||
'bakipjm',
|
||||
'tempoh',
|
||||
't_update',
|
||||
'bakihargajualan',
|
||||
'tempohbayar',
|
||||
'lelong_tawarruq',
|
||||
'margin_semasa',
|
||||
'tunggakanujrah',
|
||||
'tunggakanonepercent',
|
||||
'transaction_id',
|
||||
'transaksiupah_id',
|
||||
'softDelete'
|
||||
];
|
||||
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
// protected $hidden = [];
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateTransaksiGadaiTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
protected $connection = 'mysql7';
|
||||
|
||||
public function up()
|
||||
{
|
||||
Schema::create('transaksi_gadai', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('kodcaw', 10);
|
||||
$table->string('norujukan', 50);
|
||||
$table->decimal('bakipjm', 9, 2);
|
||||
$table->decimal('tempoh', 9, 2);
|
||||
$table->date('t_update');
|
||||
$table->decimal('bakihargajualan', 9, 2);
|
||||
$table->decimal('tempohbayar', 9, 2);
|
||||
$table->integer('lelong_tawarruq');
|
||||
$table->decimal('margin_semasa', 9, 2);
|
||||
$table->decimal('tunggakanujrah', 9, 2);
|
||||
$table->decimal('tunggakanonepercent', 9, 2);
|
||||
$table->decimal('percentpinj', 9, 2);
|
||||
$table->integer('transaction_id');
|
||||
$table->integer('transaksiupah_id');
|
||||
$table->integer('softDelete');
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('transaksi_gadai');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddTagTebusToGadai extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
|
||||
public function getActiveDB(){
|
||||
$config_db = array_keys(config("database.connections"));
|
||||
|
||||
$db_connection = array_filter($config_db,function($connection){
|
||||
try{
|
||||
if($connection == 'mysql7' || $connection == 'lelong')
|
||||
return false;
|
||||
|
||||
$db = DB::connection($connection)->getPdo();
|
||||
return true;
|
||||
} catch(\Exception $e){
|
||||
Log::info($connection);
|
||||
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) use($dbase) {
|
||||
|
||||
$isTagTebus = Schema::connection($dbase)->hasColumn('gadai', 'tag_tebus');
|
||||
|
||||
if(! $isTagTebus){
|
||||
$table->char('tag_tebus', 2);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('gadai', function (Blueprint $table) {
|
||||
//
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -118,6 +118,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('upahbukantawarruq/{kodcaw}/{norujukan}',['uses'=>'TebusController@upahNotTawarruq']);
|
||||
$router->get('tebus/laporan/{kodcaw}/{tarikh}',['uses'=>'TebusController@getLaporanTebus']);
|
||||
$router->get('tebus/laporanjenistawarruq/{kodcaw}',['uses'=>'TebusController@getLaporanTebusPengasingan']);
|
||||
$router->get('upahtawarruqbytarikh',['uses'=>'TebusController@upahTawarruqByTarikh']);
|
||||
|
||||
//Tebus Ujrah (Laporan Range Date)
|
||||
$router->get('tebusujrah/laporan/{kodcaw}',['uses'=>'TebusController@getLaporanTebusUjrah']);
|
||||
@@ -814,6 +815,10 @@ $router->group(['prefix'=>'admin'], function () use ($router){
|
||||
$router->get('laporan/akrual/insertImbangDuga',['uses'=>'LaporanController@InsertDailyImbangDuga']);
|
||||
$router->get('laporan/akrual/UntungRugiTerkumpul/{kodcaw}',['uses' => 'AdminPageController@calculationUntungTerkumpulAkru']);
|
||||
$router->get('laporan/akrual/updateImbangDuga',['uses'=>'LaporanController@UpdateDailyImbangDuga']);
|
||||
$router->get('laporan/akrual/updateImbangDugaRefined',['uses'=>'LaporanController@UpdateDailyImbangDugaRefined']);
|
||||
$router->get('laporan/akrual/getImbangDugaBackupData',['uses'=>'LaporanController@getImbangDugaBackupData']);
|
||||
$router->post('ansuran/delete',['uses'=>'GadaiController@deleteAnsuran']);
|
||||
$router->get('ansuran/getLatest',['uses'=>'GadaiController@getLatestAdvanceWithoutDelete']);
|
||||
|
||||
$router->get('laporan/online',['uses'=>'AdminPageController@LaporanOnline']);
|
||||
$router->get('laporan/tuntutbaki',['uses'=>'AdminPageController@LaporanTuntutBaki']);
|
||||
|
||||
@@ -3,11 +3,15 @@
|
||||
use App\Services\MasterServices;
|
||||
use App\Support\v2\Calculation;
|
||||
|
||||
$number = 1456.529;
|
||||
$test2 = new Calculation();
|
||||
// $number = 1456.529;
|
||||
// $test2 = new Calculation();
|
||||
$test = new MasterServices('KB2');
|
||||
$response = $test->kiraUpahTawarruq('KB2','KB2240126-0002','onepercent');
|
||||
|
||||
dd($response);
|
||||
|
||||
// $response = $test->kiraUpahTawarruq('KB2231207-0004');
|
||||
$testrounded = $test2->getRoundedMethod($number);
|
||||
$response = 'tes';
|
||||
// $testrounded = $test2->getRoundedMethod($number);
|
||||
// $response = 'tes';
|
||||
dd($testrounded);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user