generate stok audit

This commit is contained in:
Zakwan Hamdan
2023-02-05 11:04:45 +08:00
parent eff0ee4078
commit 1a2e67f24c
2 changed files with 154 additions and 0 deletions
@@ -172,10 +172,163 @@ class BackupStokAuditController extends Controller
return 'success';
}
public function backupStokAuditProblem(Request $request){
if($request->zone == 'all'){
$cawangan = Cawangan::on('mysql7')->get();
}else{
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
}
// $tarikh = Carbon::now();
// $tarikh = $tarikh->subDay(1);
$tarikh = Carbon::createFromFormat('Y-m-d H', $request->dateProblem)->toDateTimeString();
$month = $tarikh->month;
$year = $tarikh->year;
foreach($cawangan as $cawangan_mysql){
$all_gadai = Gadai::on($cawangan_mysql['mysql'])
->where([['tagpalsu','=',0],['sttebus','=','']])
->orderBy('t_gadai', 'ASC')
->orderBy('sirig', 'ASC')->get();
$data = [];
foreach($all_gadai as $gadai){
$tarikh_gadai = Carbon::parse($gadai['t_gadai']. ' 00:00:00');
// $current = Carbon::now();
// $current = $current->subDay(1);
$current = Carbon::createFromFormat('Y-m-d H', $request->dateProblem)->toDateTimeString();
$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
));
$data_gadai = [
'tahun' => $year,
'bulan' => $month,
'norujukan' => $gadai['norujukan'],
'tempoh' => $tempoh_gadai,
'nokp' => $gadai['nokp'],
'berat' => $gadai['berat'],
'nilaimarhun' => $gadai['nilaimarhun'],
'pinjaman' => $gadai['pinjaman'],
'bakipjm' => $gadai['bakipjm'],
'kadarupah' => $gadai['kadarupah'],
'tempohblmbyar' => $gadai['tempoh'] - $gadai['tempohbayar'],
'upahblmbyar' => $upah_semasa,
'lanjutan' => $gadai['lelong_tawarruq']
];
array_push($data,$data_gadai);
}
if($month == 1){
foreach (array_chunk($data,1000) as $t)
{
StokAudit1::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 2){
foreach (array_chunk($data,1000) as $t)
{
StokAudit2::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 3){
foreach (array_chunk($data,1000) as $t)
{
StokAudit3::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 4){
foreach (array_chunk($data,1000) as $t)
{
StokAudit4::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 5){
foreach (array_chunk($data,1000) as $t)
{
StokAudit5::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 6){
foreach (array_chunk($data,1000) as $t)
{
StokAudit6::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 7){
foreach (array_chunk($data,1000) as $t)
{
StokAudit7::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 8){
foreach (array_chunk($data,1000) as $t)
{
StokAudit8::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 9){
foreach (array_chunk($data,1000) as $t)
{
StokAudit9::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 10){
foreach (array_chunk($data,1000) as $t)
{
StokAudit10::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 11){
foreach (array_chunk($data,1000) as $t)
{
StokAudit11::on($cawangan_mysql['mysql'])->insert($t);
}
}elseif($month == 12){
foreach (array_chunk($data,1000) as $t)
{
StokAudit12::on($cawangan_mysql['mysql'])->insert($t);
}
}
}
return 'success';
}
public function kiraupahTawarruqStokAudit($tempoh,$tempohbayar,$kadarupah,$bakipinjaman){
$bilang_bln = $tempoh - $tempohbayar;
if($bilang_bln > 12){
$bilang_bln = 12;
}
$upahsemasa_raw = $bilang_bln * (($kadarupah/100 )* $bakipinjaman);
$upah_semasa_round = number_format($upahsemasa_raw,2);
+1
View File
@@ -565,6 +565,7 @@ $router->group(['prefix'=>'api'], function () use ($router){
$router->get('keluar/lelong/tawarruq',['uses'=>'LelongController@keluarLelongTawarruq']);
$router->get('backup/stok/audit',['uses'=>'BackupStokAuditController@backupStokAudit']);
$router->get('backup/stok/audit/problem',['uses'=>'BackupStokAuditController@backupStokAuditProblem']);
$router->get('stokaudit/backdate',['uses'=>'BackupStokAuditController@LaporanAuditBackdate']);
});