diff --git a/app/Http/Controllers/GadaiController.php b/app/Http/Controllers/GadaiController.php index 50ff0b0..86fe2b9 100644 --- a/app/Http/Controllers/GadaiController.php +++ b/app/Http/Controllers/GadaiController.php @@ -16,6 +16,7 @@ use App\HapusKira; use App\Tebus; use App\Vault; use App\Tunai; +use App\Komuditi; use Illuminate\Http\Request; @@ -1592,7 +1593,7 @@ class GadaiController extends Controller $array_totalup = []; if($request->method == 'daily'){ - array_push($array_totalup,['tarikh'=>$current->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + array_push($array_totalup,['tarikh'=>$current->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0,'totalkomoditi'=>0]); } if($request->method == 'weekly'){//weekly for($i=0;$i<7;$i++){ @@ -1601,7 +1602,7 @@ class GadaiController extends Controller }else{ $weekly_array_date = $weekly->subDays(1); } - array_push($array_totalup,['tarikh'=>$weekly_array_date->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + array_push($array_totalup,['tarikh'=>$weekly_array_date->toDateString(),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]); } } if($request->method == 'monthly'){ @@ -1611,7 +1612,7 @@ class GadaiController extends Controller }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]); + array_push($array_totalup,['tarikh'=>$monthly_array_date->year.'-'.sprintf("%02d", $monthly_array_date->month),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]); } } if($request->method == 'yearly'){ @@ -1621,7 +1622,7 @@ class GadaiController extends Controller }else{ $yearly_array_date = $yearly_array->startOfYear()->subYears(1); } - array_push($array_totalup,['tarikh'=>sprintf("%04d",$yearly_array_date->year),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0]); + array_push($array_totalup,['tarikh'=>sprintf("%04d",$yearly_array_date->year),'totalgadai'=>0,'totaltebus'=>0,'totalupah'=>0, 'totalkomoditi'=>0]); } } $weekly_date = $weekly->subDays(6)->toDateString(); @@ -1631,15 +1632,55 @@ class GadaiController extends Controller 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(); + + // $pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase') + // ->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->get(); + }elseif($request->method == 'weekly'){ $gadai = Gadai::on($cawangan['mysql'])->selectRaw('SUM(pinjaman) AS totalpinjaman')->addSelect('t_gadai')->groupBy('t_gadai')->where([['t_gadai','<=',$current->toDateString()],['t_gadai','>=',$weekly_date]])->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()],['t_tebus','>=',$weekly_date]])->orderBy('t_tebus','desc')->get(); + + // $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase') + // ->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$weekly_date]])->orderBy('created_at','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')"))->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(); + + // $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y-%m") as date_purchase')) + // ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y%m')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$monthly_date]]) + // ->orderBy('created_at','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") 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(); + // dd($gadai); $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(); + + // $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y") as date_purchase')) + // ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$yearly_date]]) + // ->orderBy('created_at','desc')->get(); + + } + //komoditi + if($request->method == 'daily'){ + $pembeliankomuditi = Komuditi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase') + ->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->get(); + }elseif($request->method == 'weekly') + { + $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('date_purchase')->groupBy('date_purchase') + ->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$weekly_date]])->orderBy('created_at','desc')->get(); + + }elseif($request->method == 'monthly') + { + $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y-%m") as date_purchase')) + ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y%m')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$monthly_date]]) + ->orderBy('created_at','desc')->get(); + + }elseif($request->method == 'yearly') + { + $pembeliankomuditi = Komuditi::on('mysql')->selectRaw('SUM(unit_komuditi) AS totalkomoditi')->addSelect(DB::connection('mysql')->raw('DATE_FORMAT(date_purchase, "%Y") as date_purchase')) + ->groupBy(DB::connection('mysql')->raw("DATE_FORMAT(date_purchase,'%Y')"))->where([['date_purchase','<=',$current->toDateString()],['date_purchase','>=',$yearly_date]]) + ->orderBy('created_at','desc')->get(); } foreach($array_totalup as $array_index=>$totalup){ @@ -1660,6 +1701,20 @@ class GadaiController extends Controller $array_totalup[$array_index]['totalupah'] = $total_upah; } } + + } + + + } + + foreach($array_totalup as $array_index=>$totalup) + { + foreach($pembeliankomuditi as $indextebus=>$pembeliankomuditi_detail){ + if($totalup['tarikh'] == $pembeliankomuditi_detail['date_purchase']){ + $jumlahkomoditi = $totalup['totalkomoditi']; + $jumlahkomoditi += $pembeliankomuditi_detail['totalkomoditi']; + $array_totalup[$array_index]['totalkomoditi'] = $jumlahkomoditi; + } } } diff --git a/app/Http/Controllers/KomuditiController.php b/app/Http/Controllers/KomuditiController.php index 4521d9e..8b7af78 100644 --- a/app/Http/Controllers/KomuditiController.php +++ b/app/Http/Controllers/KomuditiController.php @@ -188,13 +188,18 @@ class KomuditiController extends Controller $jumlahkomoditi = Komuditi::on('mysql7')->where([['date_purchase','=',$current->toDateString()], ['transaction_type', '=', 'Beli Komoditi']])->orderBy('created_at','desc')->first(); - $bakikomodititransaksi = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first(); + $transaksi_komoditi = KomuditiPurchase::on('mysql7')->where('date_purchase','=',$current->toDateString())->orderBy('created_at','desc')->first(); - array_push($komoditi,['jumlah_komoditi'=>number_format($jumlahkomoditi['unit_komuditi'],2),'baki_komoditi'=>number_format($bakikomodititransaksi['unit_komuditi'],2)]); + $baki_komoditi = $jumlahkomoditi['unit_komuditi'] - $transaksi_komoditi['unit_komuditi']; - return response()->json($komoditi); + $percentage_komoditi_transaksi = ($transaksi_komoditi['unit_komuditi']/$jumlahkomoditi['unit_komuditi'])*100; + $percentage_baki_komoditi = ($baki_komoditi/$jumlahkomoditi['unit_komuditi'])*100; - } + array_push($komoditi, + ['komoditi_transaksi'=>number_format($transaksi_komoditi['unit_komuditi'],2), + 'baki_komoditi'=>number_format($baki_komoditi,2), + 'percentage_komoditi_transaksi'=>number_format($percentage_komoditi_transaksi,1), + 'percentage_baki_komoditi'=>number_format($percentage_baki_komoditi,1)]); public function statistikKomoditiDashboard(Request $request){ $current = Carbon::now(); @@ -284,17 +289,6 @@ class KomuditiController extends Controller } - return response()->json($array_totalup); } - public function rekodTransaksiKomoditi(Request $request){ - $rekod = KomuditiTransaksi::on('mysql7')->selectRaw('SUM(unit_komuditi) as totalkomoditi')->addSelect('kodcaw')->where('tarikh','=',$request->tarikh)->groupBy('kodcaw')->get(); - $rekodkomoditi = []; - foreach($rekod as $index=>$rekodtransaksi){ - $cawangan =Cawangan::on('mysql7')->select('details_caw')->where('kodcaw','=',$rekodtransaksi['kodcaw'])->first(); - array_push($rekodkomoditi,['totalkomoditi'=>$rekodtransaksi['totalkomoditi'],'cawangan'=>$cawangan['details_caw']]); - } - - return response()->json($rekodkomoditi); - } } \ No newline at end of file