id(); $user = Staff::with('StaffDetail')->find($id); $finalD1 = array(); $finalD2 = array(); $finalD3 = array(); $finalD4 = array(); $finalD5 = array(); $finalD6 = array(); $jan = array(); $feb = array(); $mac = array(); $april = array(); $may = array(); $jun = array(); $july = array(); $august = array(); $sep = array(); $oct = array(); $nov = array(); $dec = array(); $jan1 = array(); $feb1 = array(); $mac1 = array(); $april1 = array(); $may1 = array(); $jun1 = array(); $july1 = array(); $august1 = array(); $sep1 = array(); $oct1 = array(); $nov1 = array(); $dec1 = array(); $de = Form::all(); foreach ($de as $key => $d) { if (!empty($d->dealer_id)) { $finalD1[] = $d; $mY = Carbon::parse($d->created_at)->format('m/Y'); if ($mY == '01/2019') { $jan[] = $d; } else if ($mY == '02/2019') { $feb[] = $d; } else if ($mY == '03/2019') { $mac[] = $d; } else if ($mY == '04/2019') { $april[] = $d; } else if ($mY == '05/2019') { $may[] = $d; } else if ($mY == '06/2019') { $jun[] = $d; } else if ($mY == '07/2019') { $july[] = $d; } else if ($mY == '08/2019') { $august[] = $d; } else if ($mY == '09/2019') { $sep[] = $d; } else if ($mY == '10/2019') { $oct[] = $d; } else if ($mY == '11/2019') { $nov[] = $d; } else if ($mY == '12/2019') { $dec[] = $d; } $finalD6 = [count($jan), count($feb), count($mac), count($april), count($may), count($jun), count($july), count($august), count($sep), count($oct), count($nov), count($dec)]; } else if (empty($d->dealer_id)) { $mY = Carbon::parse($d->created_at)->format('m/Y'); if ($mY == '01/2019') { $jan1[] = $d; } else if ($mY == '02/2019') { $feb1[] = $d; } else if ($mY == '03/2019') { $mac1[] = $d; } else if ($mY == '04/2019') { $april1[] = $d; } else if ($mY == '05/2019') { $may1[] = $d; } else if ($mY == '06/2019') { $jun1[] = $d; } else if ($mY == '07/2019') { $july1[] = $d; } else if ($mY == '08/2019') { $august1[] = $d; } else if ($mY == '09/2019') { $sep1[] = $d; } else if ($mY == '10/2019') { $oct1[] = $d; } else if ($mY == '11/2019') { $nov1[] = $d; } else if ($mY == '12/2019') { $dec1[] = $d; } $finalD5 = [count($jan1), count($feb1), count($mac1), count($april1), count($may1), count($jun1), count($july1), count($august1), count($sep1), count($oct1), count($nov1), count($dec1)]; if ($d->type_service != 'Rectification') { $finalD2[] = $d; $finalD4[] = $d; } } if ($d->type_service == 'Rectification') { $finalD3[] = $d; } } $total = count($finalD4); $dealer = count($finalD1); $normal = count($finalD2); $rec = count($finalD3); $rejected = count(Form::onlyTrashed()->get()); return view('market.dashboard', compact('user', 'total', 'rec', 'dealer', 'normal', 'rejected', 'finalD5', 'finalD6')); } public function index() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.index', compact('user')); } //Dealer's List public function marketindex() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $marketdetail = Company::where('team', 'Dealer')->orderBy('created_at', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } array_push($nested_data, array( 'index' => $n1 . $i, 'name' => $a->name, 'address' => $a->address, 'city' => $a->city, 'state' => $a->state, 'postcode' => $a->postcode, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } //Dealer form public function showDealerForm() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.add_dealer', compact('user')); } //Agent's list public function agentList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.agent_list', compact('user')); } // public function getAgentList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $agent = Staff::with('Company', 'StaffDetail')->orderBy('created_at', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($agent)) { foreach ($agent as $a) { if ($a->StaffDetail->position == 'Dealer') { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } array_push($nested_data, array( 'index' => $n1 . $i, 'user_pic' => $a->StaffDetail->user_pic, 'name' => $a->StaffDetail->name, 'ic' => $a->StaffDetail->ic, 'email' => $a->StaffDetail->email, 'phone' => $a->StaffDetail->phone, 'company_id' => $a->Company->name, 'position' => $a->StaffDetail->position, 'action' => $a->_id )); } } } return \DataTables::of($nested_data)->make(true); } //Show form for adding agent public function showAgentForm() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $company = Company::where('team', 'Dealer')->get(); return view('market.agent_add', compact('user', 'company')); } //Show commission list R public function commissionListR() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.commission_listR', compact('user')); } //Show comission list B public function commissionListB() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $staffDetails = StaffDetail::where('email', $email)->first(); return view('market.commission_listB', compact('staffDetails', 'user')); } //Show form for adding new commission R public function commissionFormR() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $staffDetails = StaffDetail::where('email', $email)->first(); return view('market.commission_formR', compact('staffDetails', 'user')); } //Show form for adding new commission B public function commissionFormB() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $staffDetails = StaffDetail::where('email', $email)->first(); return view('market.commission_formB', compact('staffDetails', 'user')); } public function getCommissionListR24() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '24')->where('formT', 'R')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'formT' => $a->formT, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } public function getCommissionListR12() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '12')->where('formT', 'R')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'formT' => $a->formT, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } public function getCommissionListB24Low() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '24')->where('formT', 'B')->where('packageR', '10,30,50,100')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'packageR' => $a->packageR, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } public function getCommissionListB24High() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '24')->where('formT', 'B')->orwhere('packageR', '300')->orwhere('packageR', '500')->orwhere('packageR', '1')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'packageR' => $a->packageR, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } public function getCommissionListB12Low() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '12')->where('formT', 'B')->where('packageR', '10,30,50,100')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'packageR' => $a->packageR, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } //Function to get commission list (1 year) public function getCommissionListB12High() { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $marketdetail = Commission::where('contract', '12')->where('formT', 'B')->orwhere('packageR', '300')->orwhere('packageR', '500')->orwhere('packageR', '1')->orderBy('created_by', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if (!empty($marketdetail)) { foreach ($marketdetail as $a) { $i++; $n1 = ''; $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); // if($curr < $expiry_date) { // $n1 = "New/"; // } array_push($nested_data, array( 'index' => $i, 'packageR' => $a->packageR, 'ranges' => $a->ranges, 'comm' => $a->comm, 'category' => $a->category, 'contract' => $a->contract, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } //Function to add company public function requestAddCompany(Request $request) { $companyData = [ 'name' => $request->get('aname'), 'reg_no' => $request->get('biz_reg_no'), 'contact' => $request->get('contact_no'), 'fin_email' => $request->get('fin_email'), 'address' => $request->get('address'), 'city' => $request->get('city'), 'state' => $request->get('state'), 'postcode' => $request->get('postcode'), 'bank_name' => $request->get('bank_name'), 'acc_holder_name' => $request->get('acc_holder_name'), 'acc_no' => $request->get('acc_no'), 'color' => '', 'team' => 'Dealer', 'status' => '', ]; $companyDetail = Company::create($companyData); return redirect()->back()->with('success_msg', 'message'); } //Function to add commission R public function requestAddCommissionR(Request $request) { $commissionData = [ 'contract' => $request->get('contract'), 'ranges' => $request->get('ranges'), 'comm' => $request->get('comm'), 'category' => $request->get('categori'), 'formT' => 'R', 'packageR' => '', ]; $commissionDetail = Commission::create($commissionData); return redirect()->back()->with('success_msg', 'message'); } //Function to add commission B public function requestAddCommissionB(Request $request) { $commissionData = [ 'packageR' => $request->get('packageR'), 'contract' => $request->get('contract'), 'ranges' => $request->get('ranges'), 'comm' => $request->get('comm'), 'category' => $request->get('categori'), 'formT' => 'B', ]; $commissionDetail = Commission::create($commissionData); return redirect()->back()->with('success_msg', 'message'); } /*** / Encrypt Password ***/ public function encryptPassword($action, $string) { $output = false; $encrypt_method = "AES-256-CBC"; $secret_key = '28472B4B6250655368566D5970337336'; $secret_iv = md5(md5($string)); //'This is my secret iv'; // hash $key = hash('sha256', $secret_key); $iv = substr(hash('sha256', $secret_iv), 0, 16); if ($action == 'encrypt') { $output = openssl_encrypt($string, $encrypt_method, $key, 0, $iv); $output = base64_encode($output); } else if ($action == 'decrypt') { $output = openssl_decrypt(base64_decode($string), $encrypt_method, $key, 0, $iv); } return $output; } //Function to add agent public function requestAddAgent(Request $request) { $validator = Validator::make($request->all(), [ 'password' => 'min:8|confirmed', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } $user = Staff::where('email', $request->get('email'))->first(); if (empty($user)) { $pass = $this->encryptPassword('encrypt', $request->get('password')); $dealerD = new StaffDetail; $dealerD->name = $request->get('aname'); $dealerD->ic = $request->get('ic'); $dealerD->email = $request->get('email'); $dealerD->phone = $request->get('phone'); $dealerD->company_id = $request->get('vendor'); $dealerD->color = ''; $dealerD->position = 'Dealer'; $dealerD->password = $pass; $dealerD->user_pic = 'assets/avatar/user.png'; // Save Login Dealer $loginD = new Staff; $loginD->email = $request->get('email'); $loginD->password = $pass; $loginD->roles_access = 'Dealer'; $loginD->company_id = $request->get('vendor'); $loginD->last_login_at = ''; $loginD->last_login_ip = ''; $company = Company::where('_id', $request->get('vendor'))->first(); $company->staff()->save($loginD); // $dealer = DealerLaravel::create($loginData); $loginD->staffdetail()->save($dealerD); return redirect()->back()->with('success_msg', 'Success! register ' . $request->get('email') . ''); } else { return redirect()->back()->withInput()->withErrors('Email already exist!'); } } //Function to delete company(dealer) public function deleteCompany(Request $request) { $company = Company::where('_id', $request->id)->first(); if (!empty($company)) { $company->delete(); return 'true'; } else { return 'false'; } } //Function to delete Commission (R) public function deleteCommission(Request $request) { // CommissionLaravel::destroy($request); // return response()->json(['result'=>'success']); // return response()->json(['success'=>'Got Simple Ajax Request.']); $commission = Commission::where('_id', $request->id)->first(); if (!empty($commission)) { $commission->delete(); return 'true'; } else { return 'false'; } } public function deleteAgent(Request $request) { // $agentdetail = StaffDetailLaravel::where('email',$request->email)->first(); $agent = Staff::where('_id', $request->id)->first(); $agentdetail = $agent->staffdetail()->first(); if (!empty($agentdetail) && !empty($agent)) { $agent->delete(); $agentdetail->delete(); return 'true'; } else { return 'false'; } } public function editCompany($company_id) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $company = Company::where('_id', $company_id)->get(); return view('market.edit_dealer', compact('user', 'company')); } public function updateCompany(Request $request) { $user = Company::where('_id', $request->get('company_id'))->first(); $user->name = $request->get('aname'); $user->reg_no = $request->get('biz_reg_no'); $user->contact = $request->get('contact_no'); $user->fin_email = $request->get('fin_email'); $user->bank_name = $request->get('bank_name'); $user->acc_holder_name = $request->get('acc_holder_name'); $user->acc_no = $request->get('acc_no'); $user->address = $request->get('address'); $user->city = $request->get('city'); $user->state = $request->get('state'); $user->postcode = $request->get('postcode'); $user->color = ''; $user->team = 'Dealer'; $user->status = ''; $user->save(); return redirect()->route('mHome')->with('success_msg', 'message'); } public function editCommissionR($commission_id) { $id = Auth::guard('ms')->id(); $user = Staff::with('staffdetail')->find($id); $commission = Commission::where('_id', $commission_id)->get(); return view('market.edit_commissionR', compact('user', 'commission')); } public function editCommissionB($commission_id) { $id = Auth::guard('ms')->id(); $user = Staff::find($id); $email = $user->email; $staffDetails = StaffDetail::where('email', $email)->first(); $commission = Commission::where('_id', $commission_id)->get(); return view('market.edit_commissionB', compact('staffDetails', 'user', 'commission')); } public function editAgent($agent_id) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $agentdetail = Staff::where('_id', $agent_id)->first(); $company = Company::where('team', 'Dealer')->get(); return view('market.edit_agent', compact('user', 'agentdetail', 'company')); } public function updateCommissionR(Request $request) { $commission = Commission::where('_id', $request->get('commission_id'))->first(); $commission->contract = $request->get('contract'); $commission->ranges = $request->get('ranges'); $commission->comm = $request->get('comm'); $commission->category = $request->get('categori'); $commission->formT = 'R'; $commission->packageR = ''; $commission->save(); return redirect()->route('commissionListR')->with('success_msg', 'message'); } public function updateCommissionB(Request $request) { $commission = Commission::where('_id', $request->get('commission_id'))->first(); $commission->packageR = $request->get('packageR'); $commission->contract = $request->get('contract'); $commission->ranges = $request->get('ranges'); $commission->comm = $request->get('comm'); $commission->category = $request->get('categori'); $commission->formT = 'B'; $commission->save(); return redirect()->route('commissionListB')->with('success_msg', 'message'); } public function updateAgent(Request $request) { $user = Staff::where('_id', $request->agent_id)->first(); $validate = Staff::where('email', $request->email)->first(); $detail = $user->staffdetail()->first(); $getpass = $request->get('password'); $pass = $this->encryptPassword('encrypt', $request->get('password')); if (empty($validate)) { $detail->name = $request->get('aname'); $detail->ic = $request->get('ic'); $detail->email = $request->get('email'); $detail->phone = $request->get('phone'); $detail->company_id = $request->get('vendor'); $user->email = $request->get('email'); $user->company_id = $request->get('vendor'); if (!empty($getpass)) { $validator = Validator::make($request->all(), [ 'password' => 'min:8|confirmed', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } $detail->password = $pass; $user->password = $pass; $detail->save(); $user->save(); } else { $detail->save(); $user->save(); } return redirect()->route('agentList')->with('success_msg', 'message'); } else { if ($user->email == $request->email) { echo "" . $request->get('password'); $detail->name = $request->get('aname'); $detail->ic = $request->get('ic'); $detail->email = $request->get('email'); $detail->phone = $request->get('phone'); $detail->company_id = $request->get('vendor'); $detail->save(); $user->email = $request->get('email'); if (!empty($getpass)) { $validator = Validator::make($request->all(), [ 'password' => 'min:8|confirmed', ]); if ($validator->fails()) { return redirect()->back()->withInput()->withErrors($validator); } $detail->password = $pass; $user->password = $pass; $detail->save(); $user->save(); } else { $detail->save(); $user->save(); } return redirect()->route('agentList')->with('success_msg', 'message'); } else { echo "email is used"; return redirect()->back()->withInput()->withErrors('Email already exist!'); } } } public function filterDocket($year, $month) { $year = $year; $month = $month; $nested_data = array(); $arr = array(); $i = 0; if ($year == 'null' && $month == 'null') { $docket = Docket::with('WorkOrder')->orderBy('created_at', 'desc')->get(); $arr = array(); $i = 0; $n1 = ''; $nested_data = array(); $test = 0; foreach ($docket as $a) { $i++; $building = ""; if (!empty($a->WorkOrder->_id)) { $subDetail = Form::with('WorkOrder', 'Subscriber')->where('_id', $a->WorkOrder->_id)->first(); $contractor = Company::where('_id', $a->WorkOrder->contractor_id)->first(); $tempInstaller = Staff::with('StaffDetail')->withTrashed()->where('_id', $a->installer_id)->first(); if (!empty($subDetail->Subscriber->building_name)) $building = $subDetail->Subscriber->building_name; else $building = $subDetail->Subscriber->company_name; array_push($nested_data, array( 'index' => $n1 . $i, 'docket_id' => $a->docket_id, 'work_order_id' => $a->work_order_id, 'nature_work' => $a->nature_work, 'contractor_id' => $contractor->name, 'installer_name' => $tempInstaller->StaffDetail->name, 'customer_id' => $building, 'installer_id' => $tempInstaller->StaffDetail->phone, 'end_job' => $a->end_job, 'rating' => round((($a->Rating1 + $a->Rating2 + $a->Rating3) / 15) * 100) . "%", )); } } } elseif ($year != '' && $month == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); // $time = Carbon::createFromTimeString($timestamp); // echo $month; $docket = Docket::with('WorkOrder')->whereBetween('created_at', [$go, $end_year])->orderBy('created_at', 'desc')->get(); $arr = array(); $i = 0; $n1 = ''; $nested_data = array(); $test = 0; foreach ($docket as $a) { $i++; $building = ""; if (!empty($a->WorkOrder->_id)) { $subDetail = Form::with('WorkOrder', 'Subscriber')->where('_id', $a->WorkOrder->_id)->first(); $contractor = Company::where('_id', $a->WorkOrder->contractor_id)->first(); $tempInstaller = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); if (!empty($subDetail->Subscriber->building_name)) $building = $subDetail->Subscriber->building_name; else $building = $subDetail->Subscriber->company_name; array_push($nested_data, array( 'index' => $n1 . $i, 'docket_id' => $a->docket_id, 'work_order_id' => $a->work_order_id, 'nature_work' => $a->nature_work, 'contractor_id' => $contractor->name, 'installer_name' => $tempInstaller->name, 'customer_id' => $building, 'installer_id' => $tempInstaller->phone, 'end_job' => $a->end_job, 'rating' => round((($a->Rating1 + $a->Rating2 + $a->Rating3) / 15) * 100) . "%", )); } } } elseif ($year != '' && $month != '') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); // $time = Carbon::createFromTimeString($timestamp); // $docket = Docket::whereBetween('created_at', [$go, $end_year])->get(); $docket = Docket::with('WorkOrder')->whereBetween('created_at', [$go, $end_year])->orderBy('created_at', 'desc')->get(); $arr = array(); $i = 0; $n1 = ''; $nested_data = array(); $test = 0; foreach ($docket as $a) { $i++; $building = ""; if (!empty($a->WorkOrder->_id)) { $subDetail = Form::with('WorkOrder', 'Subscriber')->where('_id', $a->WorkOrder->_id)->first(); $contractor = Company::where('_id', $a->WorkOrder->contractor_id)->first(); $tempInstaller = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); if (!empty($subDetail->Subscriber->building_name)) $building = $subDetail->Subscriber->building_name; else $building = $subDetail->Subscriber->company_name; array_push($nested_data, array( 'index' => $n1 . $i, 'docket_id' => $a->docket_id, 'work_order_id' => $a->work_order_id, 'nature_work' => $a->nature_work, 'contractor_id' => $contractor->name, 'installer_name' => $tempInstaller->name, 'customer_id' => $building, 'installer_id' => $tempInstaller->phone, 'end_job' => $a->end_job, 'rating' => round((($a->Rating1 + $a->Rating2 + $a->Rating3) / 15) * 100) . "%", )); } } } return \DataTables::of($nested_data)->make(true); } public function requestClaim(Request $request) { $claim = DealerClaim::where('_id', $request->id)->first(); // $agentdetail = StaffDetailLaravel::where('email',$request->email)->first(); $mytime = Carbon::now(); if (!empty($claim)) { $claim->claim_dt = $mytime->toDateTimeString(); $claim->save(); return 'true'; } else { return 'false'; } } public function docketList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.docket', compact('user')); } public function getDocketList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $docket = Docket::with('WorkOrder')->orderBy('created_at', 'desc')->get(); $arr = array(); $i = 0; $n1 = ''; $nested_data = array(); $test = 0; $curr = Carbon::now()->getTimestamp(); foreach ($docket as $a) { $i++; $building = ""; if (!empty($a->WorkOrder->_id)) { $subDetail = Form::with('WorkOrder', 'Subscriber')->where('_id', $a->WorkOrder->_id)->first(); $contractor = Company::where('_id', $a->WorkOrder->contractor_id)->first(); $tempInstaller = Staff::with('StaffDetail')->withTrashed()->where('_id', $a->installer_id)->first(); $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); $n1 = ""; if ($curr < $expiry_date) { $n1 = "New/"; } if (!empty($subDetail->Subscriber->building_name)) $building = $subDetail->Subscriber->building_name; else $building = $subDetail->Subscriber->company_name; if (empty($subDetail->customer_category)) { $category = ''; } else { $category = $subDetail->customer_category; } array_push($nested_data, array( 'index' => $n1 . $i, 'docket_id' => $a->docket_id, 'work_order_id' => $a->work_order_id, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'contractor_id' => $contractor->name, 'installer_name' => $tempInstaller->StaffDetail->name, 'customer_id' => $building, 'installer_id' => $tempInstaller->StaffDetail->phone, 'end_job' => $a->end_job, 'rating' => round((($a->Rating1 + $a->Rating2 + $a->Rating3) / 15) * 100) . "%", )); } } return \DataTables::of($nested_data)->make(true); } public function updateClaimDate(Request $request) { $claim = DealerClaim::where("_id", $request->id)->first(); if (!empty($claim)) { $claim->claim_dt = $request->date . " " . $request->time; $claim->save(); return 'true'; } else return 'false'; } public function downloadPDF() { $pdf = PDF::loadView('pdf.docket-pdf'); return $pdf->download('invoice.pdf'); // return view('pdf.docket-pdf'); } public function woList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); return view('market.workorder', compact('user')); } public function getWoList() { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); // $marketdetail= WorkOrder::with('Form')->where('_id','5b4c18a4ee0dc2b707473b7d')->first(); // $b = array(); $r = 0; $b = 0; $subDetail = Form::with('WorkOrder', 'Subscriber')->orderBy('created_at', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); foreach ($subDetail as $a) { $var1 = ""; $contractor_name = ""; if (empty($a->WorkOrder)) { } else { $i++; $staff = StaffDetail::where('_id', $a->WorkOrder->installer_id)->withTrashed()->first(); $contractor = Company::where('_id', $a->WorkOrder->contractor_id)->first(); if (!empty($staff)) { $var1 = $staff->name; } if (!empty($contractor)) { $contractor_name = $contractor->name; } $reg_time = $a->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); $n1 = ""; if ($curr < $expiry_date) { $n1 = "New/"; } $building = ''; if ($a->type_application == 'R') { $building = $a->Subscriber->building_name; } else if ($a->type_application == 'B') { $building = $a->Subscriber->company_name; } if (empty($a->customer_category)) { $category = ''; } else { $category = $a->customer_category; } if (!empty($a->Subscriber)) { array_push($nested_data, array( 'index' => $n1 . $i . $a->type_application, 'nature_work' => $a->WorkOrder->nature_work, 'customer_category' => $category, 'wo' => $a->WorkOrder->wo, 'customer_name' => $a->Subscriber->name, 'customer_phone' => $a->Subscriber->phone1, 'customer_unit' => $a->Subscriber->unit_no, 'customer_building' => $building, 'customer_postcode' => $a->Subscriber->postcode, 'customer_city' => $a->Subscriber->city, 'contractor_id' => $contractor_name, 'installer_id' => $var1, 'dateTimeEnd' => $a->WorkOrder->dateTimeEnd, 'status' => $a->WorkOrder->status, )); } } } return \DataTables::of($nested_data)->make(true); } public function filterWo($year, $month, $status) { $r = 0; $b = 0; $nested_data = array(); if ($year == 'null' && $month == 'null' & $status != '') { $i = 0; // $subDetail = Form::with('WorkOrder','Subscriber')->where('_id', $a->id)->first(); $wo = WorkOrder::with('Form')->orderBy('dateTimeStart', 'desc')->where('status', $status)->get(); foreach ($wo as $a) { $customer = Subscriber::where('_id', $a->Form->_id)->first(); $contractor = Company::where('_id', $a->contractor_id)->first(); $installer = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); $var1 = ""; if (!empty($installer)) { $var1 = $installer->name; } if (empty($a->Form->customer_category)) { $category = ''; } else { $category = $a->Form->customer_category; } if ($a->Form->type_application == "R") { $r++; $n1 = 'R'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $r . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => $customer->unit_no, 'customer_building' => $customer->building_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } if ($a->Form->type_application == "B") { $b++; $n1 = 'B'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $b . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => '-', 'customer_building' => $customer->company_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } } } if ($year == 'null' && $month == 'null' & $status == 'null') { $i = 0; // $subDetail = Form::with('WorkOrder','Subscriber')->where('_id', $a->id)->first(); $wo = WorkOrder::with('Form')->orderBy('dateTimeStart', 'desc')->get(); foreach ($wo as $a) { $customer = Subscriber::where('_id', $a->Form->_id)->first(); $contractor = Company::where('_id', $a->contractor_id)->first(); $installer = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); $var1 = ""; if (!empty($installer)) { $var1 = $installer->name; } if (empty($a->Form->customer_category)) { $category = ''; } else { $category = $a->Form->customer_category; } if ($a->Form->type_application == "R") { $r++; $n1 = 'R'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $r . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => $customer->unit_no, 'customer_building' => $customer->building_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } if ($a->Form->type_application == "B") { $b++; $n1 = 'B'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $b . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => '-', 'customer_building' => $customer->company_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } } } if ($year != '' && $month != '' && $status != '') { $start_month = $year . "-" . $month . "-01 00:00:00"; $end_month = $year . "-" . $month . "-32 23:59:59"; // $wo = WorkOrder::orderBy('dateTimeStart', 'desc')->whereBetween('dateTimeStart', [$start_month, $end_month])->where('status',$status)->get(); $i = 0; // $subDetail = Form::with('WorkOrder','Subscriber')->where('_id', $a->id)->first(); $wo = WorkOrder::with('Form')->orderBy('dateTimeStart', 'desc')->whereBetween('dateTimeStart', [$start_month, $end_month])->where('status', $status)->get(); foreach ($wo as $a) { $customer = Subscriber::where('_id', $a->Form->_id)->first(); $contractor = Company::where('_id', $a->contractor_id)->first(); $installer = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); $var1 = ""; if (!empty($installer)) { $var1 = $installer->name; } if (empty($a->Form->customer_category)) { $category = ''; } else { $category = $a->Form->customer_category; } if ($a->Form->type_application == "R") { $r++; $n1 = 'R'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $r . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => $customer->unit_no, 'customer_building' => $customer->building_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } if ($a->Form->type_application == "B") { $b++; $n1 = 'B'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $b . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => '-', 'customer_building' => $customer->company_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } } } if ($year != '' && $month != '' && $status == 'null') { $start_month = $year . "-" . $month . "-01 00:00:00"; $end_month = $year . "-" . $month . "-32 23:59:59"; $i = 0; // $subDetail = Form::with('WorkOrder','Subscriber')->where('_id', $a->id)->first(); $wo = WorkOrder::with('Form')->orderBy('dateTimeStart', 'desc')->whereBetween('dateTimeStart', [$start_month, $end_month])->get(); foreach ($wo as $a) { $customer = Subscriber::where('_id', $a->Form->_id)->first(); $contractor = Company::where('_id', $a->contractor_id)->first(); $installer = StaffDetail::where('_id', $a->installer_id)->withTrashed()->first(); $var1 = ""; if (!empty($installer)) { $var1 = $installer->name; } if (empty($a->Form->customer_category)) { $category = ''; } else { $category = $a->Form->customer_category; } if ($a->Form->type_application == "R") { $r++; $n1 = 'R'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $r . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => $customer->unit_no, 'customer_building' => $customer->building_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } if ($a->Form->type_application == "B") { $b++; $n1 = 'B'; $customer = Subscriber::where('_id', $a->Form->_id)->first(); if (!empty($customer)) { array_push($nested_data, array( 'index' => $b . $n1, 'nature_work' => $a->nature_work, 'customer_category' => $category, 'wo' => $a->wo, 'customer_name' => $customer->name, 'customer_phone' => $customer->phone1, 'customer_unit' => '-', 'customer_building' => $customer->company_name, 'customer_postcode' => $customer->postcode, 'customer_city' => $customer->city, 'contractor_id' => $contractor->name, 'installer_id' => $var1, 'dateTimeEnd' => $a->dateTimeEnd, 'status' => $a->status, )); } } } } return \DataTables::of($nested_data)->make(true); } /** ALL DOWN HERE ARE FOR TESTING AND UTILITIES PURPOSES **/ public function woToLaravel() { } public function checktry() { $data = Subscriber::where('wo', '!=', '')->get(); $wo = WorkOrder::all()->toArray(); $adawork = array(); $newarr = array(); $hmm = array(); $i = 0; foreach ($data as $d) { if (array_search($d->wo, array_column($wo, 'wo')) !== False) { // search value in the array // echo "FOUND"; } else { $adawork[] = $d->wo; $i++; } } dd($adawork); } //Insert data into Commission_Laravel table public function commissionlara() { $olddata = Commission::all(); foreach ($olddata as $od) { $subsData = [ 'formT' => $od['formT'], 'ranges' => $od['ranges'], 'comm' => $od['comm'], 'category' => $od['category'], 'contract' => $od['contract'], 'reg_time' => $od['reg_time'], 'packageR' => $od['packageR'], ]; Commission::create($subsData); } return "success"; } //Insert data into Company_Laravel table public function companylara() { $olddata = Company::all(); foreach ($olddata as $od) { $subsData = [ 'name' => $od['name'], 'address' => $od['address'], 'city' => $od['city'], 'state' => $od['state'], 'postcode' => $od['postcode'], 'color' => $od['color'], 'team' => $od['team'], 'status' => $od['status'], 'reg_time' => $od['reg_time'], ]; Company::create($subsData); } } //Insert data into Claim_Laravel table public function claimtolara() { $olddata = DealerClaim::all(); foreach ($olddata as $od) { $subsData = [ '_id' => $od['_id'], 'formT' => $od['formT'], 'wo' => $od['wo'], 'dateTimeStart' => $od['dateTimeEnd'], 'customer_id' => $od['customer_id'], 'contractor_id' => $od['contractor_id'], 'installer_id' => $od['installer_id'], 'nature_work' => $od['nature_work'], 'sub_category' => $od['sub_category'], 'img_url' => $od['img_url'], 'docket' => $od['docket'], 'status' => $od['status'], 'remark' => $od['remark'], 'remarks_inst' => $od['remarks_inst'], 'customer_code' => $od['customer_code'], 'package_bandwidth' => $od['package_bandwidth'], 'subnet_mask' => $od['subnet_mask'], 'login_id' => $od['login_id'], 'password' => $od['password'], 'wan_ip' => $od['wan_ip'], 'lan_ip' => $od['lan_ip'], 'gateway' => $od['getaway'], 'service_id1' => $od['service_id2'], 'ip_address_onu' => $od['ip_address_onu'], 'gateway_onu' => $od['gateaway_onu'], 'subnet_mask_onu' => $od['subnet_mask_onu'], 'ip_address_srp' => $od['ip_address_srp'], 'dectphone1' => $od['dectphone1'], 'dectphone2' => $od['dectphone2'], 'onu' => $od['onu'], 'router' => $od['router'], 'wifi_extender' => $od['wifi_extender'], 'reg_time' => $od['reg_time'], ]; DealerClaim::create($subsData); } } //Add total form by month to Claim Laravel collection public function claimaddtotal() { $getdata = DealerClaim::all(); $total = 0; foreach ($getdata as $a) { if ($a->activated_my == "2/2019") { $total += 1; } } $adddata = DealerClaim::all(); foreach ($adddata as $a) { if ($a->activated_my == "2/2019") { $a->total_form_by_month = $total; $a->save(); } } } public function generateWorkOrderPDF($wo) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $wo = WorkOrder::where('wo', $wo)->first(); $form = Form::with('PackageDetail', 'Subscriber')->where('_id', $wo->_id)->first(); $product = Product::where('formT', $form->type_application)->where('speed', $form->PackageDetail->name)->first(); if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'RMbps'; } else { $product = $product->package_name; } $created_by = Staff::with('StaffDetail')->where("_id", $wo->created_by)->first(); if (empty($created_by)) { $created_by = ''; } $created_at = Carbon::parse($wo->created_at)->toDateTimeString(); $address = ''; if ($form->type_application == 'R') { if ($form->Subscriber->street != '') { $address = $form->Subscriber->unit_no . ' , ' . $form->Subscriber->building_name . ' , ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } else { $address = $form->Subscriber->unit_no . ' , ' . $form->Subscriber->building_name . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } } else if ($form->type_application == 'B') { if ($form->Subscriber->unit_no != '') { $address = $form->Subscriber->unit_no . ', ' . $form->Subscriber->company_name . ', ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } else { $address = $form->Subscriber->company_name . ', ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } } $pdf = PDF::loadView('pdf.workorder-pdf', compact('wo', 'form', 'product', 'created_at', 'created_by', 'address', 'category')); $pdf->setPaper('A4', 'potrait'); return $pdf->stream(); } public function generateDocketPDF($do) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $docket = Docket::with('WorkOrder')->where('docket_id', $do)->first(); if (!empty($docket)) { $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $docket->WorkOrder->_id)->first(); $address = ''; if ($form->type_application == 'R') { if ($form->Subscriber->street != '') { $address = $form->Subscriber->unit_no . ' , ' . $form->Subscriber->building_name . ' , ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } else { $address = $form->Subscriber->unit_no . ' , ' . $form->Subscriber->building_name . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } } else if ($form->type_application == 'B') { if ($form->Subscriber->unit_no != '') { $address = $form->Subscriber->unit_no . ', ' . $form->Subscriber->company_name . ', ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } else { $address = $form->Subscriber->company_name . ', ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } $product = Product::where('formT', $form->type_application)->where('speed', $form->PackageDetail->name)->first(); $installer = Staff::with('StaffDetail')->where('_id', $docket->installer_id)->withTrashed()->first(); if (empty($product)) { $product = 'RMbps'; } else { $product = $product->package_name; } $dateTime = Carbon::parse($docket->WorkOrder->dateTimeStart)->toDateTimeString(); $edateTime = Carbon::parse($docket->end_job)->toDateTimeString(); $pdf = PDF::loadView('pdf.docket-pdf', compact('docket', 'form', 'address', 'product', 'installer', 'dateTime', 'edateTime', 'category')); $pdf->setPaper('A4', 'potrait'); return $pdf->stream(); } } public function mClaimAll($agent_id) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $getid = $agent_id; $temp = StaffDetail::where('_id', $agent_id)->first(); $company = $temp->company_id; return view('market.claim_list', compact('user', 'getid', 'company')); } //Show claim list by company public function mClaimListAll($company) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $dealer_claimAll = DealerClaim::where('dealer', $company)->orderBy('activated_dt', 'desc')->get(); $i = 0; $nested_data = array(); foreach ($dealer_claimAll as $c) { $customer = Subscriber::with('Form')->where('_id', $c->customer_id)->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $i++; array_push($nested_data, array( 'index' => $c->formT, 'contract' => $c->contract, 'wo' => $c->wo, 'activated_dt' => $c->activated_dt, 'name' => $name, 'address' => $address, 'package' => $c->package, 'retail_price' => 'RM ' . $c->retail_price, 'incentives1' => '', 'incentives2' => '', 'total' => '', 'claimed' => $c->laim_dt, 'action' => 'null', )); } return \DataTables::of($nested_data)->make(true); } // Get Dealer Claim Residential public function returnDataR($company, $year, $month) { $dataCR = DealerClaim::where('formT', 'R')->where('dealer', $company)->orderBy('activated_dt', 'desc')->get(); $final = array(); // Month & Year $mY = ''; if ($year != 'null' && $month != 'null') { $mY = $month . '/' . $year; } if ($mY != '') { $data12 = array(); $data24 = array(); $countD12 = 0; $countD24 = 0; foreach ($dataCR as $dc) { if ($dc->activated_my == $mY || $dc->activated_my == '0' . $mY) { if ($dc->contract == "12") { $data12[] = $dc; } else if ($dc->contract == "24") { $data24[] = $dc; } } } $countD24 = count($data24); $countD12 = count($data12); $comm = Commission::where('formT', 'R')->get(); $commV12 = 0; $commV24 = 0; $comm12 = ''; $comm24 = ''; foreach ($comm as $c) { if ($c->contract == '12') { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD12 >= intval($pieces[1])) { $commV12 = floatval($c->comm) / 100; $comm12 = $c->comm . '%'; } } if (strpos($c->ranges, '-') !== false) { $pieces = explode("-", $c->ranges); if ($countD12 >= intval($pieces[0]) && $countD12 <= intval($pieces[1])) { $commV12 = floatval($c->comm) / 100; $comm12 = $c->comm . '%'; } } } else if ($c->contract == '24') { // Contract => 24 if ($countD24 != 0) { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD24 > intval($pieces[1])) { $commV24 = floatval($c->comm) / 100; $comm24 = $c->comm . '%'; } } if (strpos($c->ranges, '-') !== false) { $pieces = explode("-", $c->ranges); if ($countD24 >= intval($pieces[0]) && $countD24 <= intval($pieces[1])) { $commV24 = floatval($c->comm) / 100; $comm24 = $c->comm . '%'; } } } } } foreach ($data12 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $comm12, 'incentives2' => '', 'total' => 'RM ' . number_format($d['retail_price'] * $commV12, 2), 'claim' => $d['claim_dt'], ); } foreach ($data24 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $comm24, 'incentives2' => '', 'total' => 'RM ' . number_format($d['retail_price'] * $commV24, 2), 'claim' => $d['claim_dt'], ); } } else { foreach ($dataCR as $c) { $customer = Subscriber::with('Form')->where('_id', $c['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $final[] = array( 'index' => $c['formT'], 'contract' => $c['contract'], 'wo' => $c['wo'], 'activation' => $c['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $c['package'], 'retail_price' => 'RM ' . $c['retail_price'], 'incentives1' => '', 'incentives2' => '', 'total' => '', 'claim' => $c['claim_dt'], ); } } return $final; } // Get Claim Business public function returnDataB($company, $year, $month) { $dataCB = DealerClaim::where('formT', 'B')->where('dealer', $company)->orderBy('activated_dt', 'desc')->get(); $final = array(); // Month & Year $mY = ''; if ($year != 'null' && $month != 'null') { $mY = $month . '/' . $year; } if ($mY != '') { /** Contract 12 // 1=>10-100 2=>300 3=>500 4=>1 **/ $data12_1 = array(); $data12_2 = array(); $data12_3 = array(); $data12_4 = array(); $countD12_1 = 0; $countD12_2 = 0; $countD12_3 = 0; $countD12_4 = 0; /** Contract 24 // 1=>10-100 2=>300 3=>500 4=>1 **/ $data24_1 = array(); $data24_2 = array(); $data24_3 = array(); $data24_4 = array(); $countD24_1 = 0; $countD24_2 = 0; $countD24_3 = 0; $countD24_4 = 0; foreach ($dataCB as $dc) { if ($dc->activated_my == $mY || $dc->activated_my == '0' . $mY) { if ($dc->contract == "12" && ($dc->package == "10" || $dc->package == "30" || $dc->package == "50" || $dc->package == "100")) { $data12_1[] = $dc; } else if ($dc->contract == "12" && $dc->package == "300") { $data12_2[] = $dc; } else if ($dc->contract == "12" && $dc->package == "500") { $data12_3[] = $dc; } else if ($dc->contract == "12" && $dc->package == "1") { $data12_4[] = $dc; } else if ($dc->contract == "24" && ($dc->package == "10" || $dc->package == "30" || $dc->package == "50" || $dc->package == "100")) { $data24_1[] = $dc; } else if ($dc->contract == "24" && $dc->package == "300") { $data24_2[] = $dc; } else if ($dc->contract == "24" && $dc->package == "500") { $data24_3[] = $dc; } else if ($dc->contract == "24" && $dc->package == "1") { $data24_4[] = $dc; } } } $countD12_1 = count($data12_1); $countD12_2 = count($data12_2); $countD12_3 = count($data12_3); $countD12_4 = count($data12_4); $countD24_1 = count($data24_1); $countD24_2 = count($data24_2); $countD24_3 = count($data24_3); $countD24_4 = count($data24_4); $comm = Commission::where('formT', 'B')->get(); $commV12_1 = 0; $commV12_2 = 0; $commV12_3 = 0; $commV12_4 = 0; $commV24_1 = 0; $commV24_2 = 0; $commV24_3 = 0; $commV24_4 = 0; $comm12_1 = ''; $comm12_2 = ''; $comm12_3 = ''; $comm12_4 = ''; $comm24_1 = ''; $comm24_2 = ''; $comm24_3 = ''; $comm24_4 = ''; $addRM12_1 = ''; $addRM12_2 = ''; $addRM12_3 = ''; $addRM12_4 = ''; $addRM24_1 = ''; $addRM24_2 = ''; $addRM24_3 = ''; $addRM24_4 = ''; foreach ($comm as $c) { /*** Contract 24 **/ if ($c->contract == '24' && $c->packageR == "300") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD24_2 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm24_2 = '+ ' . $c->comm; $commV24_2 = ''; $comms = explode("RM", $c->comm); $addRM24_2 = floatval($comms[1]); } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm24_2 = 'RM ' . $comms[1]; $commV24_2 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm24_2 = $comms[0] . '%'; $commV24_2 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '24' && $c->packageR == "500") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD24_3 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm24_3 = '+ ' . $c->comm; $commV24_3 = ''; $comms = explode("RM", $c->comm); $addRM24_3 = floatval($comms[1]); } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm24_3 = 'RM ' . $comms[1]; $commV24_3 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm24_3 = $comms[0] . '%'; $commV24_3 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '24' && $c->packageR == "1") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD24_4 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm24_4 = '+ ' . $c->comm; $commV24_4 = ''; $comms = explode("RM", $c->comm); $addRM24_4 = floatval($comms[1]); } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm24_4 = 'RM ' . $comms[1]; $commV24_4 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm24_4 = $comms[0] . '%'; $commV24_4 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '24' && $c->packageR == "10,30,50,100") { if (strpos($c->ranges, '-') !== false) { $pieces = explode("-", $c->ranges); if ($countD24_1 >= intval($pieces[0]) && $countD24_1 <= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm24_1 = '+ ' . $c->comm; $commV24_1 = ''; $addRM24_1 = $c->comm; } else { $comms = explode("RM", $c->comm); if (!empty($comms[1])) { $comm24_1 = 'RM ' . $comms[1]; $commV24_1 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm24_1 = $comms[0] . '%'; $commV24_1 = floatval($comms[0]) / 100; } } } } } if (strpos($c->ranges, '>') !== false) { $pieces1 = explode(">", $c->ranges); if ($countD24_1 >= intval($pieces1[1])) { if (strpos($c->comm, "RM") === true) { $comm24_1 = '+ ' . $c->comm; $commV24_1 = ''; $addRM24_1 = $c->comm; } else { $comms = explode("RM", $c->comm); if (empty($comms[1])) { $comm24_1 = 'RM ' . $comms[1]; $commV24_1 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm24_1 = str_replace('+ ', '', $comms[0]) . '%'; $commV24_1 = floatval($comms[0]) / 100; $addRM24_1 = $comms[1]; } } } } } } /*** Contract 12 **/ else if ($c->contract == '12' && $c->packageR == "10,30,50,100") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD12_1 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm12_1 = '+ ' . $c->comm; $commV12_1 = ''; $addRM12_1 = $c->comm; } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm12_1 = 'RM ' . $comms[1]; $commV12_1 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm12_1 = $comms[0] . '%'; $commV12_1 = floatval($comms[0]) / 100; } } } } } if (strpos($c->ranges, '-') !== false) { $pieces = explode("-", $c->ranges); if ($countD12_1 >= intval($pieces[0]) && $countD12_1 <= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm12_1 = '+ ' . $c->comm; $commV12_1 = ''; $addRM12_1 = $c->comm; } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm12_1 = 'RM ' . $comms[1]; $commV12_1 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm12_1 = $comms[0] . '%'; $commV12_1 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '12' && $c->packageR == "300") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD12_2 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm12_2 = '+ ' . $c->comm; $commV12_2 = ''; $addRM12_2 = $c->comm; } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm12_2 = 'RM ' . $comms[1]; $commV12_2 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm12_2 = $comms[0] . '%'; $commV12_2 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '12' && $c->packageR == "500") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD12_3 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm12_3 = '+ ' . $c->comm; $commV12_3 = ''; $addRM12_3 = $c->comm; } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm12_3 = 'RM ' . $comms[1]; $commV12_3 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm12_3 = $comms[0] . '%'; $commV12_3 = floatval($comms[0]) / 100; } } } } } } else if ($c->contract == '12' && $c->packageR == "1") { if (strpos($c->ranges, '>') !== false) { $pieces = explode(">", $c->ranges); if ($countD12_4 >= intval($pieces[1])) { if (strpos($c->comm, 'RM') !== false) { $comm12_4 = '+ ' . $c->comm; $commV12_4 = ''; $addRM12_4 = $c->comm; } else { $comms = explode("RM", $c->comm); if (isset($comms[1])) { $comm12_4 = 'RM ' . $comms[1]; $commV12_4 = floatval($comms[1]); } else { if ($comms[0] != '') { $comm12_4 = $comms[0] . '%'; $commV12_4 = floatval($comms[0]) / 100; } } } } } } } // Category 10,30,50,100 foreach ($data12_1 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV12_1 == '') { $total = $addRM12_1; } else { $total = number_format($d['retail_price'] * $commV12_1, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $comm12_1, 'incentives2' => $addRM12_1, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } foreach ($data24_1 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV24_1 == '') { $total = $addRM24_1; } else { $total = number_format(($d['retail_price'] * $commV24_1) + floatval($addRM24_1), 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $comm24_1, 'incentives2' => $addRM24_1, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } // Category 300 foreach ($data12_2 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV12_2 == '') { $total = $addRM12_2; } else { $total = number_format($d['retail_price'] * $commV12_2, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV12_2, 'incentives2' => $addRM12_2, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } foreach ($data24_2 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV24_2 == '') { $total = $addRM24_2; //number_format($d['retail_price']+$addRM24_2,2); } else { $total = number_format($d['retail_price'] * $commV24_2, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV24_2, 'incentives2' => $comm24_2, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } // Category 500 foreach ($data12_3 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV12_3 == '') { $total = $addRM12_3; } else { $total = number_format($d['retail_price'] * $commV12_3, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV12_3, 'incentives2' => $addRM12_3, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } foreach ($data24_3 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV24_3 == '') { $total = $addRM24_3; //number_format($d['retail_price']+$addRM24_3,2); } else { $total = number_format($d['retail_price'] * $commV24_3, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV24_3, 'incentives2' => $comm24_3, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } // Category 1 foreach ($data12_4 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV12_4 == '') { $total = $addRM12_4; } else { $total = number_format($d['retail_price'] * $commV12_4, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV12_4, 'incentives2' => $addRM12_4, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } foreach ($data24_4 as $key => $d) { $customer = Subscriber::with('Form')->where('_id', $d['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $total = ''; if ($commV24_4 == '') { $total = $addRM24_4; //number_format($d['retail_price']+$addRM24_4,2); } else { $total = number_format($d['retail_price'] * $commV24_4, 2); } $final[] = array( 'index' => $d['formT'], 'contract' => $d['contract'], 'wo' => $d['wo'], 'activation' => $d['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $d['package'], 'retail_price' => 'RM ' . $d['retail_price'], 'incentives1' => $commV24_4, 'incentives2' => $comm24_4, 'total' => 'RM ' . $total, 'claim' => $c['claim_dt'], ); } } else { foreach ($dataCB as $c) { $customer = Subscriber::with('Form')->where('_id', $c['customer_id'])->first(); $address = ''; $name = ''; if ($customer->Form->type_application == 'R') { if ($customer->street != '') { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->unit_no . ' , ' . $customer->building_name . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->name; } else if ($customer->Form->type_application == 'B') { if ($customer->unit_no != '') { $address = $customer->unit_no . ', ' . $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } else { $address = $customer->company_name . ', ' . $customer->street . ' , ' . $customer->postcode . ' , ' . $customer->city . ' , ' . $customer->state; } $name = $customer->company_name; } $final[] = array( 'index' => $c['formT'], 'contract' => $c['contract'], 'wo' => $c['wo'], 'activation' => $c['activated_dt'], 'name' => $name, 'address' => $address, 'package' => $c['package'], 'retail_price' => 'RM ' . $c['retail_price'], 'incentives1' => '', 'incentives2' => '', 'total' => '', 'claim' => $c['claim_dt'], ); } } return $final; } // public function filterclaim($company,$year,$month,$app) // { // $id = Auth::guard('ms')->id(); // $user = Staff::with('StaffDetail')->find($id); // $dataR = array(); $dataB = array(); $combineData = array(); // if($year!='null' && $month!='null' && $app=='null'){ // if(($year == '2019' || $year == '2020') && ($month == '12' || $month == '1')){ // $dataDis = $this->returnDataR($company,'2019','12'); // $dataJan = $this->returnDataR($company,'2020','1'); // $count_cyberjaya = array(); $count_jasin = array(); // foreach ($dataDis as $key => $d) { // if(date('d/m/Y', strtotime($d['activation'])) >= '12/12/2019'){ // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // }else { // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $combineData[] = $d; // } // } // } // foreach ($dataJan as $key => $d) { // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // } // // Store to combineData New Incentives Cyberjaya // foreach ($count_cyberjaya as $key => $d) { // if(count($count_cyberjaya) > 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // if($d['contract'] == '12'){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // }else { // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // } // }else if(count($count_cyberjaya) < 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // // Store to combineData New Incentives Jasin // foreach ($count_jasin as $key => $d) { // if(count($count_jasin) > 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // }else if(count($count_jasin) < 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // }else { // $dataR = $this->returnDataR($company,$year,$month); // foreach($dataR as $r){ // $combineData[] = $r; // } // } // $dataB = $this->returnDataB($company,$year,$month); // foreach($dataB as $b){ // $combineData[] = $b; // } // $i = 0; // $nested_data = array(); // if(!empty($combineData)){ // foreach ($combineData as $c){ // $i++; // array_push($nested_data, array( // 'index' => $c['index'], // 'contract' => $c['contract'], // 'wo' => $c['wo'], // 'activated_dt' => $c['activation'], // 'name' => $c['name'], // 'address' => $c['address'], // 'package' => $c['package'], // 'retail_price' => $c['retail_price'], // 'incentives1' => $c['incentives1'], // 'incentives2' => $c['incentives2'], // 'total' => $c['total'], // 'claimed' => $c['claim'], // )); // } // } // usort($nested_data, function ($a, $b) { // $dateA = $a['activated_dt']; // $dateB = $b['activated_dt']; // // ascending ordering, use `<=` for descending // return $dateA <= $dateB; // }); // return \DataTables::of($nested_data)->make(true); // }else if($year=='null' && $month=='null' && $app!='null'){ // if($app == 'Residential'){ // $dataR = $this->returnDataR($company,$year,$month); // }else if($app == 'Business'){ // $dataB = $this->returnDataB($company,$year,$month); // } // foreach($dataR as $r){ // $combineData[] = $r; // } // foreach($dataB as $b){ // $combineData[] = $b; // } // $i = 0; // $nested_data = array(); // if(!empty($combineData)){ // foreach ($combineData as $c){ // $i++; // array_push($nested_data, array( // 'index' => $c['index'], // 'contract' => $c['contract'], // 'wo' => $c['wo'], // 'activated_dt' => $c['activation'], // 'name' => $c['name'], // 'address' => $c['address'], // 'package' => $c['package'], // 'retail_price' => $c['retail_price'], // 'incentives1' => $c['incentives1'], // 'incentives2' => $c['incentives2'], // 'total' => $c['total'], // 'claimed' => $c['claim'], // )); // } // } // usort($nested_data, function ($a, $b) { // $dateA = $a['activated_dt']; // $dateB = $b['activated_dt']; // // ascending ordering, use `<=` for descending // return $dateA <= $dateB; // }); // return \DataTables::of($nested_data)->make(true); // }else if($year!='null' && $month!='null' && $app!='null'){ // if($app == 'Residential'){ // if(($year == '2019' || $year == '2020') && ($month == '12' || $month == '1')){ // $dataDis = $this->returnDataR($company,'2019','12'); // $dataJan = $this->returnDataR($company,'2020','1'); // $count_cyberjaya = array(); $count_jasin = array(); // foreach ($dataDis as $key => $d) { // if(date('d/m/Y', strtotime($d['activation'])) >= '12/12/2019'){ // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // }else { // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $combineData[] = $d; // } // } // } // foreach ($dataJan as $key => $d) { // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // } // // Store to combineData New Incentives Cyberjaya // foreach ($count_cyberjaya as $key => $d) { // if(count($count_cyberjaya) > 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // if($d['contract'] == '12'){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // }else { // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // } // }else if(count($count_cyberjaya) < 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // // Store to combineData New Incentives Jasin // foreach ($count_jasin as $key => $d) { // if(count($count_jasin) > 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // }else if(count($count_jasin) < 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // }else { // $dataR = $this->returnDataR($company,$year,$month); // foreach($dataR as $r){ // $combineData[] = $r; // } // } // }else if($app == 'Business'){ // $dataB = $this->returnDataB($company,$year,$month); // } // foreach($dataB as $b){ // $combineData[] = $b; // } // $i = 0; // $nested_data = array(); // if(!empty($combineData)){ // foreach ($combineData as $c){ // $i++; // array_push($nested_data, array( // 'index' => $c['index'], // 'contract' => $c['contract'], // 'wo' => $c['wo'], // 'activated_dt' => $c['activation'], // 'name' => $c['name'], // 'address' => $c['address'], // 'package' => $c['package'], // 'retail_price' => $c['retail_price'], // 'incentives1' => $c['incentives1'], // 'incentives2' => $c['incentives2'], // 'total' => $c['total'], // 'claimed' => $c['claim'], // )); // } // } // usort($nested_data, function ($a, $b) { // $dateA = $a['activated_dt']; // $dateB = $b['activated_dt']; // // ascending ordering, use `<=` for descending // return $dateA <= $dateB; // }); // return \DataTables::of($nested_data)->make(true); // } // } // public function exportPDFClaim($company,$year,$month,$app) { // $final = array(); // $id = Auth::guard('ms')->id(); // $user = Staff::with('StaffDetail')->find($id); // $com = Company::where('_id',$company)->first(); // $dataR = array(); $dataB = array(); $combineData = array(); // if($year!='null' && $month!='null' && $app=='null'){ // $count_cyberjaya = array(); $count_jasin = array(); // $extra = 0; $basic_total = 0; $totals = 0; // if(($year == '2019' || $year == '2020') && ($month == '12' || $month == '1')){ // $dataDis = $this->returnDataR($company,'2019','12'); // $dataJan = $this->returnDataR($company,'2020','1'); // foreach ($dataDis as $key => $d) { // if(date('d/m/Y', strtotime($d['activation'])) >= '12/12/2019'){ // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // }else { // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $combineData[] = $d; // } // } // } // foreach ($dataJan as $key => $d) { // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // } // // Store to combineData New Incentives Cyberjaya // foreach ($count_cyberjaya as $key => $d) { // if(count($count_cyberjaya) > 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // if($d['contract'] == '12'){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // }else { // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // } // }else if(count($count_cyberjaya) < 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.1, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // // Store to combineData New Incentives Jasin // foreach ($count_jasin as $key => $d) { // if(count($count_jasin) > 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // }else if(count($count_jasin) < 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // }else { // $dataR = $this->returnDataR($company,$year,$month); // foreach($dataR as $r){ // $combineData[] = $r; // } // } // $dataB = $this->returnDataB($company,$year,$month); // foreach($dataB as $b){ // $combineData[] = $b; // } // $i = 0; // $nested_data = array(); // if(!empty($combineData)){ // foreach ($combineData as $c){ // $i++; // array_push($final, array( // 'index' => $c['index'], // 'contract' => $c['contract'], // 'wo' => $c['wo'], // 'activated_dt' => $c['activation'], // 'name' => $c['name'], // 'address' => $c['address'], // 'package' => $c['package'], // 'retail_price' => $c['retail_price'], // 'incentives1' => $c['incentives1'], // 'incentives2' => $c['incentives2'], // 'total' => $c['total'], // 'claimed' => $c['claim'], // )); // } // } // foreach($final as $f){ // $basic_total += floatval(str_replace('RM ', '', $f['total'])); // } // // Calculate extra incentves // if($month == '1' && $year == '2020'){ // if(count($count_cyberjaya) > 50){ // $balance = count($count_cyberjaya) - 50; // $extra += $balance * 50; // } // if(count($count_jasin) > 10){ // $balance = count($count_jasin) - 10; // $extra += $balance * 50; // } // }else { // $extra = 0; // } // $totals = $basic_total + $extra; // usort($final, function ($a, $b) { // $dateA = $a['activated_dt']; // $dateB = $b['activated_dt']; // // ascending ordering, use `<=` for descending // return $dateA <= $dateB; // }); // $pdf = PDF::loadView('pdf.agent-claim', compact('final', 'month', 'year','com','basic_total','extra','totals')); // $pdf->setPaper('A4', 'landscape'); // $pdfName = preg_replace('/\s+/', '-', $com->name).'-'.$month.'-'.$year.'.pdf'; // return $pdf->download( $pdfName ); // }else if($year!='null' && $month!='null' && $app!='null'){ // $count_cyberjaya = array(); $count_jasin = array(); // $extra = 0; $basic_total = 0; $totals = 0; // if($app == 'Residential'){ // if(($year == '2019' || $year == '2020') && ($month == '12' || $month == '1')){ // $dataDis = $this->returnDataR($company,'2019','12'); // $dataJan = $this->returnDataR($company,'2020','1'); // foreach ($dataDis as $key => $d) { // if(date('d/m/Y', strtotime($d['activation'])) >= '12/12/2019'){ // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // }else { // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $combineData[] = $d; // } // } // } // foreach ($dataJan as $key => $d) { // if (strpos($d['address'], 'Cyberjaya') !== false) { // $count_cyberjaya[] = $d; // } // if (strpos($d['address'], 'Jasin') !== false) { // $count_jasin[] = $d; // } // } // // Store to combineData New Incentives Cyberjaya // foreach ($count_cyberjaya as $key => $d) { // if(count($count_cyberjaya) > 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // if($d['contract'] == '12'){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // }else { // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // } // }else if(count($count_cyberjaya) < 50){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // // Store to combineData New Incentives Jasin // foreach ($count_jasin as $key => $d) { // if(count($count_jasin) > 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.3, 2); // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => '230%', // 'incentives2' => $d['incentives2'], // 'total' => 'RM '.$total, // 'claim' => $d['claim'], // )); // } // }else if(count($count_jasin) < 10){ // if(date('n/Y', strtotime($d['activation'])) == $month.'/'.$year){ // array_push($combineData, array( // 'index' => $d['index'], // 'contract' => $d['contract'], // 'wo' => $d['wo'], // 'activation' => $d['activation'], // 'name' => $d['name'], // 'address' => $d['address'], // 'package' => $d['package'], // 'retail_price' => $d['retail_price'], // 'incentives1' => $d['incentives1'], // 'incentives2' => $d['incentives2'], // 'total' => $d['total'], // 'claim' => $d['claim'], // )); // } // } // } // }else { // $dataR = $this->returnDataR($company,$year,$month); // foreach($dataR as $r){ // $combineData[] = $r; // } // } // }else if($app == 'Business'){ // $dataB = $this->returnDataB($company,$year,$month); // } // foreach($dataB as $b){ // $combineData[] = $b; // } // $i = 0; // $nested_data = array(); // if(!empty($combineData)){ // foreach ($combineData as $c){ // $i++; // array_push($final, array( // 'index' => $c['index'], // 'contract' => $c['contract'], // 'wo' => $c['wo'], // 'activated_dt' => $c['activation'], // 'name' => $c['name'], // 'address' => $c['address'], // 'package' => $c['package'], // 'retail_price' => $c['retail_price'], // 'incentives1' => $c['incentives1'], // 'incentives2' => $c['incentives2'], // 'total' => $c['total'], // 'claimed' => $c['claim'], // )); // } // } // foreach($final as $f){ // $basic_total += floatval(str_replace('RM ', '', $f['total'])); // } // //Calculate extra incentves // if($month == '1' && $year == '2020'){ // if(count($count_cyberjaya) > 50){ // $balance = count($count_cyberjaya) - 50; // $extra += $balance * 50; // } // if(count($count_jasin) > 10){ // $balance = count($count_jasin) - 10; // $extra += $balance * 50; // } // }else { // $extra = 0; // } // $totals = $basic_total + $extra; // usort($final, function ($a, $b) { // $dateA = $a['activated_dt']; // $dateB = $b['activated_dt']; // // ascending ordering, use `<=` for descending // return $dateA <= $dateB; // }); // $pdf = PDF::loadView('pdf.agent-claim', compact('final', 'month', 'year','com','basic_total','extra','totals')); // $pdf->setPaper('A4', 'landscape'); // $pdfName = preg_replace('/\s+/', '-', $com->name).'-'.$month.'-'.$year.'.pdf'; // return $pdf->download( $pdfName ); // } // } public function filterclaim($company, $year, $month, $app, $ptype) { $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); if ($year != 'null' && $month != 'null' && $app == 'null' && $ptype == 'null') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->orderBy('activated_dt', 'DESC')->get(); } else if ($year == 'null' && $month == 'null' && $app != 'null' && $ptype == 'null') { if ($app == 'Residential') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'R')->where('dealer', $company)->orderBy('activated_dt', 'DESC')->get(); } else if ($app == 'Business') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'B')->where('dealer', $company)->orderBy('activated_dt', 'DESC')->get(); } } else if ($year != 'null' && $month != 'null' && $app != 'null' && $ptype == 'null') { if ($app == 'Residential') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'R')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->orderBy('activated_dt', 'DESC')->get(); } else if ($app == 'Business') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'B')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->orderBy('activated_dt', 'DESC')->get(); } } else if ($year != 'null' && $month != 'null' && $app == 'null' && $ptype != 'null') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } else if ($year == 'null' && $month == 'null' && $app == 'null' && $ptype != 'null') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('projectT', $ptype)->where('dealer', $company)->orderBy('activated_dt', 'DESC')->get(); } else if ($year != 'null' && $month != 'null' && $app != 'null' && $ptype != 'null') { if ($app == 'Residential') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'R')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } else if ($app == 'Business') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'B')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } } else if ($year == 'null' && $month == 'null' && $app != 'null' && $ptype != 'null') { if ($app == 'Residential') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'R')->where('dealer', $company)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } else if ($app == 'Business') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'B')->where('dealer', $company)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } } $i = 0; $nested_data = array(); if (!empty($dataClaim)) { foreach ($dataClaim as $c) { $address = ''; $name = ''; if ($c->Subscriber->Form->type_application == 'R') { if ($c->Subscriber->street != '') { $address = $c->Subscriber->unit_no . ' , ' . $c->Subscriber->building_name . ' , ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } else { $address = $c->Subscriber->unit_no . ' , ' . $c->Subscriber->building_name . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } $name = $c->Subscriber->name; } else if ($c->Subscriber->Form->type_application == 'B') { if ($c->Subscriber->unit_no != '') { $address = $c->Subscriber->unit_no . ', ' . $c->Subscriber->company_name . ', ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } else { $address = $c->Subscriber->company_name . ', ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } $name = $c->Subscriber->company_name; } $i++; array_push($nested_data, array( 'index' => $c->formT, 'contract' => $c->contract, 'wo' => $c->wo, 'activated_dt' => $c->activated_dt, 'name' => $name, 'address' => $address, 'package' => $c->package, 'retail_price' => 'RM ' . $c->retail_price, 'incentives1' => $c->incentives1, 'incentives2' => $c->incentives2, 'total' => 'RM ' . $c->total_claim, 'claimed' => $c->claim_dt, )); } } return \DataTables::of($nested_data)->make(true); } public function exportPDFClaim($company, $year, $month, $app, $ptype) { $final = array(); $id = Auth::guard('ms')->id(); $user = Staff::with('StaffDetail')->find($id); $com = Company::where('_id', $company)->first(); $i = 0; $dataR = array(); $dataB = array(); $combineData = array(); $count_cyberjaya = array(); $count_jasin = array(); $count_ayerKeroh = array(); $count_alorGajah = array(); $extra = 0; $basic_total = 0; $totals = 0; if ($year != 'null' && $month != 'null' && $app != 'null' && $ptype != 'null') { if ($app == 'Residential') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'R')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); if (($year == '2019' || $year == '2020') && ($month == '12' || $month == '01')) { foreach ($dataClaim as $key => $d) { if ( date('d/m/Y', strtotime($d->activated_dt)) >= '12/12/2019' && date('d/m/Y', strtotime($d->activated_dt)) <= '31/01/2020' ) { if (strpos($d['address'], 'Cyberjaya') !== false) { $count_cyberjaya[] = $d; } if (strpos($d['address'], 'Jasin') !== false) { $count_jasin[] = $d; } if (strpos($d['address'], 'Ayer Keroh') !== false) { $count_ayerKeroh[] = $d; } if (strpos($d['address'], 'Alor Gajah') !== false) { $count_alorGajah[] = $d; } } } } else if ($year == '2020' && ($month == '04' || $month == '05' || $month == '06' || $month == '07')) { foreach ($dataClaim as $key => $d) { if ( date('d/m/Y', strtotime($d->activated_dt)) >= '27/04/2020' && date('d/m/Y', strtotime($d->activated_dt)) <= '31/07/2020' ) { if (strpos($d['address'], 'Cyberjaya') !== false) { $count_cyberjaya[] = $d; } if (strpos($d['address'], 'Jasin') !== false) { $count_jasin[] = $d; } if (strpos($d['address'], 'Ayer Keroh') !== false) { $count_ayerKeroh[] = $d; } if (strpos($d['address'], 'Alor Gajah') !== false) { $count_alorGajah[] = $d; } } } } } else if ($app == 'Business') { $dataClaim = DealerClaim::with(['Subscriber' => function ($q) { $q->with('Form'); }], 'Staff')->where('formT', 'B')->where('dealer', $company)->where('activated_my', $month . '/' . $year)->where('projectT', $ptype)->orderBy('activated_dt', 'DESC')->get(); } } if (!empty($dataClaim)) { foreach ($dataClaim as $c) { $address = ''; $name = ''; if ($c->Subscriber->Form->type_application == 'R') { if ($c->Subscriber->street != '') { $address = $c->Subscriber->unit_no . ' , ' . $c->Subscriber->building_name . ' , ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } else { $address = $c->Subscriber->unit_no . ' , ' . $c->Subscriber->building_name . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } $name = $c->Subscriber->name; } else if ($c->Subscriber->Form->type_application == 'B') { if ($c->Subscriber->unit_no != '') { $address = $c->Subscriber->unit_no . ', ' . $c->Subscriber->company_name . ', ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } else { $address = $c->Subscriber->company_name . ', ' . $c->Subscriber->street . ' , ' . $c->Subscriber->postcode . ' , ' . $c->Subscriber->city . ' , ' . $c->Subscriber->state; } $name = $c->Subscriber->company_name; } $i++; array_push($final, array( 'index' => $c->formT, 'contract' => $c->contract, 'wo' => $c->wo, 'do' => $c->docket, 'activated_dt' => $c->activated_dt, 'name' => $name, 'address' => $address, 'package' => $c->package, 'retail_price' => 'RM ' . $c->retail_price, 'incentives1' => $c->incentives1, 'incentives2' => $c->incentives2, 'total' => 'RM' . $c->total_claim, 'claimed' => $c->claim_dt, )); } $project_type = ''; $invoice_no = ''; foreach ($dataClaim as $f) { $basic_total += $f->total_claim; if (!empty($f->invoice_no)) { $invoice_no = $f->invoice_no; } if (!empty($f->projectT)) { $project_type = $f->projectT; } } // Calculate extra incentves if ($month == '01' && $year == '2020') { if (count($count_cyberjaya) > 50) { $balance = count($count_cyberjaya) - 50; $extra += $balance * 50; } if (count($count_jasin) > 10) { $balance = count($count_jasin) - 10; $extra += $balance * 50; } if (count($count_ayerKeroh) > 10) { $balance = count($count_ayerKeroh) - 10; $extra += $balance * 50; } if (count($count_alorGajah) > 10) { $balance = count($count_alorGajah) - 10; $extra += $balance * 50; } } else if ($year == '2020' && ($month == '04' || $month == '05' || $month == '06' || $month == '07')) { if (count($count_cyberjaya) > 50) { $balance = count($count_cyberjaya) - 50; $extra += $balance * 50; } if (count($count_jasin) > 20) { $balance = count($count_jasin) - 20; $extra += $balance * 50; } if (count($count_ayerKeroh) > 20) { $balance = count($count_ayerKeroh) - 20; $extra += $balance * 50; } if (count($count_alorGajah) > 20) { $balance = count($count_alorGajah) - 20; $extra += $balance * 50; } } else { $extra = 0; } $totals = $basic_total + $extra; $pdf = PDF::loadView('pdf.agent-claim', compact('final', 'month', 'year', 'com', 'basic_total', 'extra', 'totals', 'invoice_no', 'project_type')); $pdf->setPaper('A4', 'landscape'); if ($ptype != null) { $pdfName = preg_replace('/\s+/', '-', $com->name) . '-' . $app . '-' . $ptype . '-' . $month . '-' . $year . '.pdf'; } else { $pdfName = preg_replace('/\s+/', '-', $com->name) . '-' . $app . '-' . $month . '-' . $year . '.pdf'; } return $pdf->download($pdfName); } } public function manualDate() { $final = array(); $com = Company::where('_id', '5bb2bc66ee0dc2271c6fedf6')->first(); $dataR = array(); $dataB = array(); $combineData = array(); $count_cyberjaya = array(); $count_jasin = array(); $count_ayerKeroh = array(); $count_alorGajah = array(); $extra = 0; $basic_total = 0; $totals = 0; $dataDis = $this->returnDataR('5bb2bc66ee0dc2271c6fedf6', '2019', '12'); foreach ($dataDis as $key => $d) { if (date('d/m/Y', strtotime($d['activation'])) >= '12/12/2019') { $combineData[] = $d; } } $dataB = $this->returnDataB('5bb2bc66ee0dc2271c6fedf6', '2019', '12'); foreach ($dataB as $b) { $combineData[] = $b; } $i = 0; $nested_data = array(); if (!empty($combineData)) { foreach ($combineData as $c) { $i++; array_push($final, array( 'index' => $c['index'], 'contract' => $c['contract'], 'wo' => $c['wo'], 'activated_dt' => $c['activation'], 'name' => $c['name'], 'address' => $c['address'], 'package' => $c['package'], 'retail_price' => $c['retail_price'], 'incentives1' => $c['incentives1'], 'incentives2' => $c['incentives2'], 'total' => $c['total'], 'claimed' => $c['claim'], )); } } usort($final, function ($a, $b) { $dateA = $a['activated_dt']; $dateB = $b['activated_dt']; // ascending ordering, use `<=` for descending return $dateA <= $dateB; }); return json_encode($final); } public function downloadCommission(){ $file = public_path()."/assets/Commission List.pdf"; return response()->download($file); } }