add daily akru generate

This commit is contained in:
hafifierahman
2022-11-30 22:45:42 +08:00
parent bac59212f0
commit e0df380039
2 changed files with 74 additions and 1 deletions
+73 -1
View File
@@ -25,7 +25,7 @@ use Carbon\Carbon;
use App\imbangdugalama;
use DateTime;
use DB;
use Illuminate\Support\Facades\DB;
class LaporanController extends Controller
{
@@ -1300,4 +1300,76 @@ class LaporanController extends Controller
return response($jumlah);
}
public function GenerateDailyAkrual(Request $request){
$current = Carbon::now();
$current = new Carbon();
$month_generate = $current->format('m');
$year_generate = $current->format('Y');
$harini = $current->toDateString();
$haripertama = $current->firstOfMonth();
$haripertama_extension = $haripertama->toDateString();
$month_sebelum = $current->subMonth()->format('m');
$cawangan = Cawangan::on('mysql7')->where('zone',$request->zone)->get();
$tebuscontroller = new TebusController();
foreach($cawangan as $index=>$caw){
DB::connection($caw['mysql'])->beginTransaction();
if($year_generate == 2022 && (int)$month_sebelum > 4){
$audit_backdate = $tebuscontroller->StokAuditGenerateTerakru($month_sebelum,$caw,$year_generate);
}
$audit_now = Gadai::on($caw['mysql'])
->where([['tagpalsu','=',0],['t_gadai','<=',$harini],['sttebus','=','']])
->orWhere([['tagpalsu','=',0],['t_update','>',$harini],['sttebus','!=',''],['t_gadai','<=',$harini]]);
$totaltunggakan_now = $audit_now->sum('tunggakan');
$totaltunggakan_past = $audit_backdate->sum('upahblmbyar');
$request_generate = new \Illuminate\Http\Request([
'mula' => $haripertama_extension,
'hingga' => $harini,
'kodcaw' => $caw['kodcaw'],
]);
$keuntungan = $this->SemakanKeuntunganLejer($request->kodcaw,$request_generate);
$data_keuntungan = $keuntungan->getContent();
$data = json_decode($data_keuntungan, true);
$calculation = $totaltunggakan_past - $data['keuntungan_semasa'];
$accrual_net = $totaltunggakan_now - $calculation;
$available_akru = AkruNet::on($caw['mysql'])
->where('bulan',(int)$month_generate)
->first();
try{
if($available_akru){
if($available_akru['jumlah'] !== $accrual_net){
AkruNet::on($caw['mysql'])->where('bulan','=',$current->month)
->update(['jumlah' => $accrual_net]);
}
}else{
$akrunet = new AkruNet();
$akrunet->setConnection($caw['mysql']);
$akrunet->tahun = $year_generate;
$akrunet->bulan = $month_generate;
$akrunet->jumlah = $accrual_net;
$akrunet->save();
}
DB::connection($caw['mysql'])->commit();
}catch (\Throwable $e){
return response($e);
}
}
return response('succesfully generated!');
}
}
+1
View File
@@ -739,6 +739,7 @@ $router->group(['prefix'=>'admin'], function () use ($router){
$router->get('laporanllcaw/gadai',['uses'=>'AdminPageController@getLaporanGadaiAllCaw']);
$router->get('laporan/akrubulan',['uses'=>'AdminPageController@getLaporanAkruBulan']);
$router->get('laporan/akrual/generatedaily',['uses'=>'LaporanController@GenerateDailyAkrual']);
});
$router->group(['prefix'=>'lelong'], function () use ($router){