diff --git a/app/Http/Controllers/CustomerController.php b/app/Http/Controllers/CustomerController.php index c79965f..24de4c8 100644 --- a/app/Http/Controllers/CustomerController.php +++ b/app/Http/Controllers/CustomerController.php @@ -209,36 +209,23 @@ class CustomerController extends Controller if(!empty($marhun)) { - foreach($marhun as $mar){ - - // if($mar->sttebus_ == '' || empty($mar->sttebus_ )){ + foreach($marhun as $mar) + { - // foreach($arrayData as $data) - // { - // dd($data['norujukan']); - // dd($mar['norujukan'] .' also data norujukan '. $data['norujukan']); - // if($data['norujukan'] == $mar['norujukan']) - // { - array_push($barang, array( - 'descpt' => $mar->descpt, - 'berat' => $mar->berat, - 'karat' => $mar->karat, - 'n_marhuns' => $mar->n_marhuns, - )); - // } - // } - - // } + array_push($barang, array( + 'descpt' => $mar->descpt, + 'berat' => $mar->berat, + 'karat' => $mar->karat, + 'n_marhuns' => $mar->n_marhuns, + )); } - - } return $barang; - } - public function gadaiTebusLelongByCawanganMobile($ic,$kodcaw){ + public function gadaiTebusLelongByCawanganMobile($ic,$kodcaw) + { $cawangan = Cawangan::on('mysql7')->where('kodcaw','=',$kodcaw)->first(); $sttebus_ = []; @@ -249,17 +236,15 @@ class CustomerController extends Controller $gadai = Gadai::on($cawangan['mysql']) ->where([['nokp','=',$ic]]) ->get(); - // dd($gadai); - //to check if gadai has data + if(!empty($gadai)) { - //loop each array - foreach($gadai as $gd){ - if($gd->sttebus == '' || empty($gd->sttebus)){ + foreach($gadai as $gd) + { - // $test = $this->marhun($cawangan, $gd->norujukan); - // $gd->t_gadai = null; + if($gd->sttebus == '' || empty($gd->sttebus)) + { array_push($sttebus_, array( 'norujukan' => $gd->norujukan, @@ -270,14 +255,9 @@ class CustomerController extends Controller 'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data', )); - // dd($sttebus_); - } elseif($gd->sttebus == 'T') { - // dd('masuk dalam T'); - $testT = $this->marhun($cawangan, $gd->norujukan); - array_push($sttebus_T, array( 'norujukan' => $gd->norujukan, 'pembiayaan' => number_format($gd->pinjaman,2), @@ -286,13 +266,9 @@ class CustomerController extends Controller 'bakihargajualan' => $gd->bakihargajualan, 'barang' => $this->marhun($cawangan, $gd->norujukan) ?? ' tiada data', )); - - // dd($sttebus_T); } elseif($gd->sttebus == 'L') - { dd('masuk dalam L'); - $testL = $this->marhun($cawangan, $gd->norujukan); - + { array_push($sttebus_L, array( 'norujukan' => $gd->norujukan, 'pembiayaan' => number_format($gd->pinjaman,2), @@ -314,84 +290,8 @@ class CustomerController extends Controller 'gadai' => $sttebus_, 'tebus' => $sttebus_T, 'lelong' => $sttebus_L, - )); + )); - - dd($array_all); - // $norujukanarray = array_column($sttebus_, 'norujukan'); - // $norujukanarrayT = array_column($sttebus_T, 'norujukan'); - // $norujukanarrayL = array_column($sttebus_L, 'norujukan'); - - // //bismillah - // $test = $this->marhun($cawangan, $norujukanarray, $sttebus_); - // dd($test); - - // // $norujukancompact = array(array($sttebus_, 'norujukan'),array($sttebus_T, 'norujukan'),array($sttebus_L, 'norujukan')); - // // $norujukanarray = array_column($norujukancompact, 'norujukan'); - // // dd($norujukanarray); - // $marhun = Marhun::on($cawangan['mysql']) - // ->where([['norujukan','=',$norujukanarray]]) - // ->rightJoin('jemas','marhun.marhun', '=', 'jemas.marhun') - // ->get(); - // $marhun = Marhun::on($cawangan['mysql']) - // ->where([['norujukan','=',$norujukanarrayT]]) - // ->rightJoin('jemas','marhun.marhun', '=', 'jemas.marhun') - // ->get(); - // dd($marhun); - - // if(!empty($marhun)) - // { - // //loop each array - // foreach($marhun as $mar){ - - // if($mar->sttebus == '' || empty($mar->sttebus )){ - - - // array_push($sttebus_, array( - // 'norujukan' => $mar->norujukan, - // 'descpt' => $mar->descpt, - // 'berat' => $mar->berat, - // 'karat' => $mar->karat, - // 'n_marhuns' => $mar->n_marhuns, - // )); - - // } - // elseif($mar->sttebus == 'T') - // { - // array_push($sttebus_T, array( - // 'norujukan' => $mar->norujukan, - // 'descpt' => $mar->descpt, - // 'berat' => $mar->berat, - // 'karat' => $mar->karat, - // 'n_marhuns' => $mar->n_marhuns, - // )); - - // } - // elseif($mar->sttebus == 'L') - // { - // array_push($sttebus_L, array( - // 'norujukan' => $mar->norujukan, - // 'descpt' => $mar->descpt, - // 'berat' => $mar->berat, - // 'karat' => $mar->karat, - // 'n_marhuns' => $mar->n_marhuns, - // )); - - // } - // } - // } - // else - // { - // return response()->json('Data Not Found'); - // } dd($sttebus_T); - - // array_push($array_all, array( - // 'gadai' => $sttebus_, - // 'tebus' => $sttebus_T, - // 'lelong' => $sttebus_L, - // )); - - return response()->json($array_all); } diff --git a/app/Http/Controllers/KomuditiController.php b/app/Http/Controllers/KomuditiController.php index 98a0f63..837d8c8 100644 --- a/app/Http/Controllers/KomuditiController.php +++ b/app/Http/Controllers/KomuditiController.php @@ -6,6 +6,7 @@ use App\Komuditi; use App\KomuditiPurchase; use App\KomuditiTransaksi; use App\KomuditiProduk; +use DB; use Illuminate\Http\Request; use Carbon\Carbon; @@ -178,4 +179,111 @@ class KomuditiController extends Controller return response()->json($komuditi_transaksi); } + public function jumlahKomoditiDashboard() + { + $current = Carbon::now(); + $current = new Carbon(); + $komoditi = []; + + $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(); + + array_push($komoditi,['jumlah_komoditi'=>number_format($jumlahkomoditi['unit_komuditi'],2),'baki_komoditi'=>number_format($bakikomodititransaksi['unit_komuditi'],2)]); + + return response()->json($komoditi); + + } + + public function statistikKomoditiDashboard(Request $request) + { + $current = Carbon::now(); + $current = new Carbon(); + $weekly = Carbon::now(); + $weekly = new Carbon(); + $monthly = Carbon::now(); + $monthly = new Carbon(); + $yearly = Carbon::now(); + $yearly = new Carbon(); + $weekly_array = Carbon::now(); + $weekly_array = 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(),'totalkomoditi'=>0]); + } + if($request->method == 'weekly'){//weekly + for($i=0;$i<7;$i++){ + if($i == 0){ + $weekly_array_date = $weekly->subDays(0); + }else{ + $weekly_array_date = $weekly->subDays(1); + } + array_push($array_totalup,['tarikh'=>$weekly_array_date->toDateString(),'totalkomoditi'=>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),'totalkomoditi'=>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'=>sprintf("%04d",$yearly_array_date->year),'totalkomoditi'=>0]); + } + } + $weekly_date = $weekly->subDays(6)->toDateString(); + $monthly_date = $monthly->startOfMonth()->subMonths(11)->toDateString(); + $yearly_date = $yearly->startOfYear()->subYears(4)->toDateString(); + // foreach($cawangan_all as $index => $cawangan){ + 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) + { + 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; + } + } + } + + + return response()->json($array_totalup); + } } \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 1081824..ca4b0ee 100644 --- a/routes/web.php +++ b/routes/web.php @@ -333,4 +333,7 @@ $router->group(['prefix'=>'dashboard'], function () use ($router){ $router->get('statistik/gadaian',['uses'=>'GadaiController@statistikGadaian']); $router->get('komuditi/check',['uses'=>'KomuditiController@checkKomuditiDashboard']); + + $router->get('komoditi/jumlah/baki',['uses'=>'KomuditiController@jumlahKomoditiDashboard']); + $router->post('komoditi/statistik',['uses'=>'KomuditiController@statistikKomoditiDashboard']); }); \ No newline at end of file