fix backup stockaudit
This commit is contained in:
@@ -17,10 +17,11 @@ use App\StokAudit9;
|
||||
use App\StokAudit10;
|
||||
use App\StokAudit11;
|
||||
use App\StokAudit12;
|
||||
|
||||
use App\Support\v2\Calculation as V2Calculation;
|
||||
use Carbon\Carbon;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Database\Eloquent\ModelNotFoundException;
|
||||
|
||||
class BackupStokAuditController extends Controller
|
||||
{
|
||||
@@ -79,12 +80,17 @@ class BackupStokAuditController extends Controller
|
||||
|
||||
$tempoh_gadai = $beza_bulan + $extensivemonth_gadai;
|
||||
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
if($gadai['tagbaru'] == 0)
|
||||
$upah_semasa = $this->kiraupahTawarruqStokAudit($tempoh_gadai,$gadai['tempohbayar'],$gadai['kadarupah'],$gadai['bakipjm']);
|
||||
else
|
||||
$upah_semasa_v2 = $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
|
||||
'tunggakan' => ($gadai['tagbaru'] == 0) ? $upah_semasa : 0,
|
||||
'tunggakanujrah' => ($gadai['tagbaru'] == 1) ? ((isset($upah_semasa_v2)) ? $upah_semasa_v2['ujrah'] : 0) : 0,
|
||||
'tunggakanonepercent' => ($gadai['tagbaru'] == 1) ? ((isset($upah_semasa_v2)) ? $upah_semasa_v2['keuntungan'] : 0) : 0,
|
||||
));
|
||||
|
||||
$data_gadai = [
|
||||
@@ -99,8 +105,10 @@ class BackupStokAuditController extends Controller
|
||||
'bakipjm' => $gadai['bakipjm'],
|
||||
'kadarupah' => $gadai['kadarupah'],
|
||||
'tempohblmbyar' => $gadai['tempoh'] - $gadai['tempohbayar'],
|
||||
'upahblmbyar' => $upah_semasa,
|
||||
'lanjutan' => $gadai['lelong_tawarruq']
|
||||
'upahblmbyar' => ($gadai['tagbaru'] == 0) ? $upah_semasa : 0,
|
||||
'lanjutan' => $gadai['lelong_tawarruq'],
|
||||
'utgonepercent' => ($gadai['tagbaru'] == 1) ? ((isset($upah_semasa_v2)) ? $upah_semasa_v2['keuntungan'] : 0) : 0,
|
||||
'ujrah' => ($gadai['tagbaru'] == 1) ? ((isset($upah_semasa_v2)) ? $upah_semasa_v2['ujrah'] : 0) : 0,
|
||||
];
|
||||
|
||||
array_push($data,$data_gadai);
|
||||
@@ -380,8 +388,10 @@ class BackupStokAuditController extends Controller
|
||||
$totalpinjaman = $audit->sum('pinjaman');
|
||||
$totalbakipjm = $audit->sum('bakipjm');
|
||||
$totaltunggakan = $audit->sum('upahblmbyar');
|
||||
$totalonepercent = $audit->sum('utgonepercent');
|
||||
$totalujrah = $audit->sum('ujrah');
|
||||
|
||||
$arrayrekod = ['rekod' => $rekodaudit, 'total' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun,'totalpinjaman'=>$totalpinjaman,'totalbakipjm'=>$totalbakipjm,'totaltunggakan'=>$totaltunggakan];
|
||||
$arrayrekod = ['rekod' => $rekodaudit, 'total' => $totalrekod,'totalberat' => $totalberat,'totalnilaimarhun' => $totalnilaimarhun,'totalpinjaman'=>$totalpinjaman,'totalbakipjm'=>$totalbakipjm,'totaltunggakan'=>$totaltunggakan,'totalujrah'=>$totalujrah,'totalonepercent'=>$totalonepercent];
|
||||
|
||||
if(sizeof($rekodaudit) == 0){
|
||||
return response()->json('failed',200);
|
||||
@@ -389,4 +399,73 @@ class BackupStokAuditController extends Controller
|
||||
return response()->json($arrayrekod,200);
|
||||
}
|
||||
}
|
||||
|
||||
public function backupStokAuditProblemAkru(Request $request){
|
||||
|
||||
/* Classify all possible error */
|
||||
|
||||
$this->validate($request, [
|
||||
'month' => 'required|numeric',
|
||||
'kodcaw' => 'required',
|
||||
'year' => 'required|numeric'
|
||||
]);
|
||||
|
||||
try{
|
||||
$cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$request->kodcaw)->firstOrFail();
|
||||
}catch(ModelNotFoundException $e){
|
||||
return response(['status' => 'error', 'message' => '[500]: Cawangan not found']);
|
||||
}catch(\Exception $e){
|
||||
return response(['status' => 'error', 'message' => '[500]: An exception found']);
|
||||
}
|
||||
|
||||
$month = $request->month;
|
||||
$className = "App\StokAudit{$month}";
|
||||
|
||||
if(class_exists($className))
|
||||
$stock_connection = $className::on($cawangan['mysql']);
|
||||
else
|
||||
return response(['status' => 'error', 'message' => '[500]: error not found class']);
|
||||
|
||||
/* Algorithm to update the data */
|
||||
|
||||
try{
|
||||
DB::beginTransaction();
|
||||
|
||||
$stokaudit = $stock_connection->where('tahun',$request->year)->where('kadarupah','<',1)->get();
|
||||
$stokaudit->filter(function ($q) use ($stock_connection) {
|
||||
$calculation = new V2Calculation();
|
||||
|
||||
$kiraan = $calculation->kiraanKeuntunganRebet($q['bakipjm'],$q['nilaimarhun'],$q['kadarupah'],(($q['bakipjm']/$q['nilaimarhun']) * 100));
|
||||
$stock_connection->where('norujukan',$q['norujukan'])->update(array(
|
||||
'utgonepercent' => $calculation->getRoundedMethod($kiraan['onepercent'] * $q['tempohblmbyar']),
|
||||
'ujrah' => $calculation->getRoundedMethod($kiraan['ujrah'] * $q['tempohblmbyar']),
|
||||
));
|
||||
});
|
||||
|
||||
DB::commit();
|
||||
}catch(\Exception $e){
|
||||
DB::rollBack();
|
||||
return response(['status' => 'error', 'message' => '[500]: Transaction Failed - ' . $e->getMessage()]);
|
||||
}
|
||||
|
||||
return response(['status' => 'success', 'message' => '[200]: update all data']);
|
||||
}
|
||||
|
||||
public function kiraupahTawarruqStokAuditUjrahOnePercent($tempoh,$tempohbayar,$kadarupah,$bakipinjaman,$nilaimarhun,$margin_semasa){
|
||||
$onepercentservices = new V2Calculation();
|
||||
$upah = $onepercentservices->kiraanKeuntunganRebet($bakipinjaman,$nilaimarhun,$kadarupah,$margin_semasa);
|
||||
$bilang_bln = $tempoh - $tempohbayar;
|
||||
$keuntungan_semasa = $bilang_bln * $upah['onepercent'];
|
||||
$ujrah_semasa = $bilang_bln * $upah['ujrah'];
|
||||
$keuntungan_semasa = $onepercentservices->getRoundedMethod($keuntungan_semasa);
|
||||
$ujrah_semasa = $onepercentservices->getRoundedMethod($ujrah_semasa);
|
||||
|
||||
$pendapatan = $keuntungan_semasa + $ujrah_semasa;
|
||||
$arraypendapatan = [
|
||||
'keuntungan' => $keuntungan_semasa,
|
||||
'ujrah' => $ujrah_semasa,
|
||||
'pendapatan' => $pendapatan,
|
||||
];
|
||||
return $arraypendapatan;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -602,6 +602,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
|
||||
$router->get('backup/stok/audit',['uses'=>'BackupStokAuditController@backupStokAudit']);
|
||||
$router->get('backup/stok/audit/problem',['uses'=>'BackupStokAuditController@backupStokAuditProblem']);
|
||||
$router->get('stokaudit/backdate',['uses'=>'BackupStokAuditController@LaporanAuditBackdate']);
|
||||
$router->get('stokaudit/backdate/problemakru',['uses'=>'BackupStokAuditController@backupStokAuditProblemAkru']);
|
||||
|
||||
|
||||
//One Percent
|
||||
|
||||
Reference in New Issue
Block a user