diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index 21648b1..0c4fd28 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -1175,10 +1175,6 @@ class GadaiController extends Controller } $array_percentage=[]; - // foreach($cawangan_all as $index=>$cawangan){ - // $percentage = ($array_cawangan[$index]['total_gadai']/$total_gadaian_cawangan)*100; - // array_push($array_percentage,['cawangan'=>$cawangan['details_caw'],'percentage_gadai'=>number_format($percentage,2)]); - // } $count_cawangan = sizeof($cawangan_all); for($i=0;$i<$count_cawangan;$i++){ $percent_cawangan = $array_cawangan[$i]['total_gadai']; @@ -1239,35 +1235,77 @@ class GadaiController extends Controller $penggadai_all = []; $current = Carbon::now(); $current = new Carbon(); + $monthly = Carbon::now(); + $monthly = new Carbon(); + $yearly = Carbon::now(); + $yearly = new Carbon(); + $monthly_array = Carbon::now(); + $monthly_array = new Carbon(); + $yearly_array = Carbon::now(); + $yearly_array = new Carbon(); + + $array_totalup = []; + + if($request->method == 'daily'){ + array_push($array_totalup,['tarikh'=>$current->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + } + if($request->method == 'monthly'){ + for($i=0;$i<12;$i++){ + if($i == 0){ + $monthly_array_date = $monthly_array->startOfMonth()->subMonths(0); + }else{ + $monthly_array_date = $monthly_array->startOfMonth()->subMonths(1); + } + array_push($array_totalup,['tarikh'=>$monthly_array_date->year.'-'.sprintf("%02d", $monthly_array_date->month),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + } + } + if($request->method == 'yearly'){ + for($i=0;$i<5;$i++){ + if($i == 0){ + $yearly_array_date = $yearly_array->startOfYear()->subYears(0); + }else{ + $yearly_array_date = $yearly_array->startOfYear()->subYears(1); + } + array_push($array_totalup,['tarikh'=>$yearly_array_date->year,'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + } + } + + $monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString(); + $yearly_date = $yearly->startOfYear()->subYears(4)->toDateString(); foreach($cawangan_all as $index => $cawangan){ if($request->method == 'daily'){ $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect('t_gadai')->groupBy('t_gadai')->where('t_gadai','=',$current->toDateString())->orderBy('t_gadai','desc')->get(); $tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect('t_tebus')->groupBy('t_tebus')->where('t_tebus','=',$current->toDateString())->orderBy('t_tebus','desc')->get(); }elseif($request->method == 'monthly'){ - $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y%m')"))->whereMonth('t_gadai','<=',$current->month)->orderBy('t_gadai','desc')->get(); - $tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y-%m") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y%m')"))->whereMonth('t_tebus','<=',$current->month)->orderBy('t_tebus','desc')->get(); + $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y%m')"))->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$monthly_date]])->orderBy('t_gadai','desc')->get(); + $tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y-%m") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y%m')"))->where([['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$monthly_date]])->orderBy('t_tebus','desc')->get(); }elseif($request->method == 'yearly'){ - $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y-%m") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y%m')"))->whereMonth('t_gadai','<=',$current->month)->orderBy('t_gadai','desc')->get(); - $tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y-%m") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y%m')"))->whereMonth('t_tebus','<=',$current->month)->orderBy('t_tebus','desc')->get(); + $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_gadai, "%Y") as t_gadai'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_gadai,'%Y')"))->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$yearly_date]])->orderBy('t_gadai','desc')->get(); + $tebus = Tebus::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totaltebus, SUM(bakiupah) AS totalupah')->addSelect(DB::connection($cawangan['mysql'])->raw('DATE_FORMAT(t_tebus, "%Y") as t_tebus'))->groupBy(DB::connection($cawangan['mysql'])->raw("DATE_FORMAT(t_tebus,'%Y')"))->where([['t_tebus','<=',$current->toDateString()],['t_tebus','>=',$yearly_date]])->orderBy('t_tebus','desc')->get(); } - $penggadai_data = []; - if($request->method == 'daily'){ - for($i=0;$i<7;$i++){ - array_push($penggadai_data,['tarikh'=>$penggadai_cawangan[$i]['t_gadai'],'bilangan_penggadai'=>$penggadai_cawangan[$i]['total_customer'],'total_norujukan'=>$penggadai_cawangan[$i]['total_norujukan']]); + + foreach($array_totalup as $array_index=>$totalup){ + foreach($gadai as $indexgadai=>$gadai_detail){ + if($totalup['tarikh'] == $gadai_detail['t_gadai']){ + $total_gadai = $totalup['totalgadai']; + $total_gadai += $gadai_detail['totalpinjaman']; + $array_totalup[$array_index]['totalgadai'] = $total_gadai; + } } - }elseif($request->method == 'monthly'){ - for($i=0;$i<30;$i++){ - array_push($penggadai_data,['tarikh'=>$penggadai_cawangan[$i]['t_gadai'],'bilangan_penggadai'=>$penggadai_cawangan[$i]['total_customer'],'total_norujukan'=>$penggadai_cawangan[$i]['total_norujukan']]); - } - }elseif($request->method == 'yearly'){ - for($i=0;$i<12;$i++){ - array_push($penggadai_data,['tarikh'=>$penggadai_cawangan[$i]['t_gadai'],'bilangan_penggadai'=>$penggadai_cawangan[$i]['total_customer'],'total_norujukan'=>$penggadai_cawangan[$i]['total_norujukan']]); + foreach($tebus as $indextebus=>$tebus_detail){ + if($totalup['tarikh'] == $tebus_detail['t_tebus']){ + $total_tebus = $totalup['totaltebus']; + $total_tebus += $tebus_detail['totaltebus']; + $array_totalup[$array_index]['totaltebus'] = $total_tebus; + $total_upah = $totalup['totalupah']; + $total_upah += $tebus_detail['totalupah']; + $array_totalup[$array_index]['totalupah'] = $total_upah; + } } } - array_push($penggadai_all,['cawangan'=>$cawangan['details_caw'],'data_penggadai'=>$penggadai_data]); } - return response()->json($penggadai_all); + return response()->json($array_totalup); }