id(); $user = Staff::with('StaffDetail')->find($id); return view('dealer.index',compact('user')); } /*** / Agent list ***/ public function gAgentList(){ $id = Auth::guard('ds')->id(); $user = Staff::find($id); $email = $user->email; $userDetails = StaffDetail::where('email',$email)->first(); $all = StaffDetail::where('company_id',$userDetails->company_id)->orderBy('created_at','desc')->get(); $curr = Carbon::now()->getTimestamp(); $i = 0; $nested_data = array(); if(!empty($all)){ foreach ($all as $a){ $i++; $y = ''; $n1 = ''; if($userDetails->_id == $a->_id){ $y = $a->name."-You"; }else { $y = $a->name; } $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, 'image' => $a->user_pic, 'name' => $n1.$y, 'ic' => $a->ic, 'phone' => $a->phone, 'email' => $a->email, 'action' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } /*** / Application Form List ***/ public function viewAppList(){ $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); return view('dealer.application-form-list',compact('user')); } /*** / Get Application Form List ***/ public function getSubscribers($dealerCompany) { $data = array(); $curr = Carbon::now()->getTimestamp(); $subscriber = Subscriber::where('dealer_company', $dealerCompany)->get(); foreach ($subscriber as $key => $s) { $n1 = ''; $reg_time = Carbon::createFromTimestamp($s->reg_time); $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); $agentName = StaffDetail::where('_id',$s->dealer)->first(); $build = Coverage::where('address',$s->building)->first(); if($s->street == ''){ $street = $build->street; }else { $street = $s->street; } if($curr < $expiry_date) { $n1 = "New/"; } $data[] = array( 'formT' => 'R', 'wo' => $s->wo, 'name' => $n1.$s->name, 'no' => $s->phone1, 'unit' => $s->unit_no, 'building' => $s->building, 'street' => $street, 'postcode' => $s->postcode, 'city' => $s->city, 'sales' => $agentName->name, 'created_at' => $s->reg_time, 'action' => $s->_id, ); } return $data; } public function getBusiness($dealerCompany){ $data = array(); $curr = Carbon::now()->getTimestamp(); $business = Subscriber::where('dealer_company', $dealerCompany)->get(); foreach ($business as $key => $s) { $n1 = ''; $reg_time = Carbon::createFromTimestamp($s->reg_time); $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "New/"; } $agentName = StaffDetail::where('_id',$s->dealer)->first(); $data[] = array( 'formT' => 'B', 'wo' => $s->wo, 'name' => $n1.$s->name, 'no' => $s->phone1, 'unit' => '-', 'building' => '-', 'street' => $s->address, 'postcode' => $s->postcode, 'city' => $s->city, 'sales' => $agentName->name, 'created_at' => $s->reg_time, 'action' => $s->_id, ); } return $data; } public function getOrderHistory($id){ $data = array(); $order_history = FormStatus::where('form_id', $id)->get(); foreach($order_history as $oh){ $utcdatetime = new \MongoDB\BSON\UTCDateTime((string) $oh->date); $datetime = $utcdatetime->toDateTime(); $time = $datetime->format(DATE_RSS); $time = strtotime($time.' UTC'); $dateInLocal = date("d/m/Y h:i a", $time); $data[] = array( 'date' => $dateInLocal, 'status' => $oh->status, 'desc' => $oh->desc ); } $json = json_encode($data); return $json; } public function gApplicationList1() { $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); $fm = Form::with('Subscriber')->where('company_id',$user->StaffDetail->company_id)->orderBy('created_at','desc')->get(); $nested_data = array(); $i=0; foreach($fm as $f) { $dname=""; $wo = WorkOrder::where('_id', $f->_id)->first(); $dealer = StaffDetail::where('_id', $f->dealer_id)->first(); if(!empty($dealer)){ $dname=$dealer->name; } $address = ''; $name = ''; if($f->type_application == 'R'){ if (!empty($f->Subscriber->building_name)){ $address = $f->Subscriber->building_name; $name = $f->Subscriber->name; } }else if($f->type_application == 'B'){ $address = '-'; $name = $f->Subscriber->company_name; } if(empty($wo) && !empty($f->Subscriber)) { $i++; array_push($nested_data, array( 'index' => $i.$f->type_application, 'name' => $name, 'phone' => $f->Subscriber->phone1, 'unit' => $f->Subscriber->unit_no, 'building' => $address, 'street' => $f->Subscriber->street, 'postcode' => $f->Subscriber->postcode, 'city' => $f->Subscriber->city, 'sales' => $dname, 'action' => $f->_id )); } } return \DataTables::of($nested_data)->make(true); } public function gApplicationList2() { $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); $fm = Form::with('Subscriber')->where('company_id',$user->StaffDetail->company_id)->orderBy('created_at','desc')->get(); $nested_data = array(); $i=0; foreach($fm as $f) { $dname=""; $wo = WorkOrder::where('_id', $f->_id)->first(); $dealer = StaffDetail::where('_id', $f->dealer_id)->first(); if(!empty($dealer)){ $dname=$dealer->name; } $address = ''; $name = ''; if($f->type_application == 'R'){ if (!empty($f->Subscriber->building_name)){ $address = $f->Subscriber->building_name; $name = $f->Subscriber->name; } }else if($f->type_application == 'B'){ $address = '-'; $name = $f->Subscriber->company_name; } if(!empty($wo) && $wo->status!='Completed') { $i++; array_push($nested_data, array( 'index' => $i.$f->type_application, 'name' => $name, 'phone' => $f->Subscriber->phone1, 'unit' => $f->Subscriber->unit_no, 'building' => $address, 'street' => $f->Subscriber->street, 'postcode' => $f->Subscriber->postcode, 'city' => $f->Subscriber->city, 'sales' => $dname, 'action' => $f->_id )); } } return \DataTables::of($nested_data)->make(true); } public function getCompletedList($year, $month) { $id = Auth::guard('ds')->id(); $user = Staff::find($id); $email = $user->email; $userDetails = StaffDetail::where('email',$email)->first(); $subs = $this->getSubscribers($userDetails->company_id); $buss = $this->getBusiness($userDetails->company_id); // Combine $cdata = array(); foreach ($subs as $key => $s) { $cdata[] = $s; } foreach ($buss as $key => $b) { $cdata[] = $b; } // Sort based on TimeStamp $sort = array(); foreach ($cdata as $key => $r) { $sort[$key] = $r['created_at']; } array_multisort($sort, SORT_DESC, $cdata); $wK = WorkDetail::get(); $curr = Carbon::now()->getTimestamp(); $mY = ''; if($year != 'null' && $month != 'null'){ $mY = $year.'/'.$month; } $final = array(); $filter = array(); $dW = array(); foreach ($cdata as $c){ if($c['wo'] != ''){ foreach ($wK as $key => $w) { if($c['wo'] == $w->wo && $w->status == 'Completed'){ $dW[] = $c; } } } } foreach($dW as $d){ if($mY != ''){ $docket = Docket::where('work_order_id', $d['wo'])->first(); $cDate = date('Y/m', strtotime($docket->end_job));; if($mY == $cDate){ $filter[] = $d; } }else { $filter[] = $d; } } foreach ($filter as $c){ $do = Docket::where('work_order_id', $c['wo'])->first(); $n1 = ''; $reg_time = Carbon::createFromTimestamp(strtotime($do->end_job)); $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "New/"; } $final[] = array( 'formT' => $c['formT'], 'wo' => $c['wo'], 'do' => $do->docket_id, 'activated' => $do->end_job, 'name' => $n1.str_replace("New/","",$c['name']), 'no' => $c['no'], 'unit' => $c['unit'], 'building' => $c['building'], 'street' => $c['street'], 'postcode' => $c['postcode'], 'city' => $c['city'], 'sales' => $c['sales'], 'created_at' => $c['created_at'], 'action' => $c['action'], ); } return $final; } public function gApplicationList3($year,$month) { $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); $mY = ''; if($year!='null' && $month!='null'){ $mY = $month.'/'.$year; } $fm = Form::with('Subscriber','WorkOrder')->where('company_id',$user->StaffDetail->company_id)->orderBy('created_at','desc')->get(); $nested_data = array(); $i=0; foreach($fm as $f) { if(!empty($f->WorkOrder)){ if($f->WorkOrder->status == 'Completed'){ $wo = WorkOrder::with('Docket')->where('wo', $f->WorkOrder->wo)->first(); $dealer = StaffDetail::where('_id', $f->dealer_id)->withTrashed()->first(); $i++; $address = ''; $name = ''; if($f->type_application == 'R'){ if (!empty($f->Subscriber->building_name)){ $address = $f->Subscriber->building_name; $name = $f->Subscriber->name; } }else if($f->type_application == 'B'){ $address = '-'; $name = $f->Subscriber->company_name; } if(!empty($wo->Docket)){ $end = date('m/Y',strtotime($wo->Docket->end_job)); if($mY == ''){ array_push($nested_data, array( 'index' => $i.$f->type_application, 'wo' => $wo->wo, 'do' => $f->WorkOrder->docket_id, 'name' => $name, 'phone' => $f->Subscriber->phone1, 'unit' => $f->Subscriber->unit_no, 'building' => $address, 'street' => $f->Subscriber->street, 'postcode' => $f->Subscriber->postcode, 'city' => $f->Subscriber->city, 'sales' => $dealer->name, 'action' => $f->_id )); }else if($mY == $end){ array_push($nested_data, array( 'index' => $i.$f->type_application, 'wo' => $wo->wo, 'do' => $f->WorkOrder->docket_id, 'name' => $name, 'phone' => $f->Subscriber->phone1, 'unit' => $f->Subscriber->unit_no, 'building' => $address, 'street' => $f->Subscriber->street, 'postcode' => $f->Subscriber->postcode, 'city' => $f->Subscriber->city, 'sales' => $dealer->name, 'action' => $f->_id )); } } } } } return \DataTables::of($nested_data)->make(true); } /*** / Claim All ***/ public function claimAll() { $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); return view('dealer.claim-all',compact('user')); } /*** / Convert To PDF ***/ public function exportPDF1() { return view('pdf.agent-claim'); } public function exportPDF($company,$year,$month,$app) { $final = array(); $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); $com = Company::where('_id',$user->StaffDetail->company_id)->first(); $i = 0; $dataR = array(); $dataB = array(); $combineData = array(); $count_cyberjaya = array(); $count_jasin = array(); $count_ayerKeroh = array(); $count_alorGajah = array(); $count_menglembu = array(); $count_ipoh = array(); $extra = 0; $basic_total = 0; $totals = 0; if($year!='null' && $month!='null' && $app=='null'){ $dataClaim = DealerClaim::with(['Subscriber' => function($q) { $q->with('Form'); }],'Staff')->where('dealer',$company)->where('activated_my',$month.'/'.$year)->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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } } } }else if($year!='null' && $month!='null' && $app!='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(); 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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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)->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, '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, )); } foreach($dataClaim as $f){ $basic_total += $f->total_claim; } // Calculate extra incentves if($month == '01' && $year == '2020'){ if(count($count_cyberjaya) > 50){ $balance = count($count_cyberjaya) - 50; $extra += $balance * 50; } if(count($count_ayerKeroh) > 50){ $balance = count($count_ayerKeroh) - 50; $extra += $balance * 50; } if(count($count_alorGajah) > 50){ $balance = count($count_alorGajah) - 50; $extra += $balance * 50; } if(count($count_menglembu) > 50){ $balance = count($count_menglembu) - 50; $extra += $balance * 50; } if(count($count_ipoh) > 50){ $balance = count($count_ipoh) - 50; $extra += $balance * 50; } if(count($count_jasin) > 10){ $balance = count($count_jasin) - 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_ayerKeroh) > 50){ $balance = count($count_ayerKeroh) - 50; $extra += $balance * 50; } if(count($count_alorGajah) > 50){ $balance = count($count_alorGajah) - 50; $extra += $balance * 50; } if(count($count_menglembu) > 50){ $balance = count($count_menglembu) - 50; $extra += $balance * 50; } if(count($count_ipoh) > 50){ $balance = count($count_ipoh) - 50; $extra += $balance * 50; } if(count($count_jasin) > 20){ $balance = count($count_jasin) - 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')); $pdf->setPaper('A4', 'landscape'); $pdfName = preg_replace('/\s+/', '-', $com->name).'-'.$month.'-'.$year.'.pdf'; return $pdf->download( $pdfName ); } } /*** / 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; } /*** / Agent Form ***/ public function showAgentForm(){ $id = Auth::guard('ds')->id(); $user = Staff::with('StaffDetail')->find($id); return view('dealer.add_agent',compact('user')); } /*** / 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('company_id'); $dealerD->color = ''; $dealerD->position = 'Sales'; $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 = 'Sales'; $loginD->company_id = $request->get('company_id'); $loginD->last_login_at = ''; $loginD->last_login_ip = ''; // $loginData = [ // 'email' => $request->get('email'), // 'password' => $pass, // 'roles_access' => 'Sales', // 'last_login_at' => '', // 'last_login_ip' => '', // ]; $company = Company::where('_id',$request->get('company_id'))->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!'); } } public function editAgentDealer($agent_id) { $id = Auth::guard('ds')->id(); $user = Staff::find($id); $email = $user->email; $userDetails = StaffDetail::where('email',$email)->first(); $person = StaffDetail::where('_id', $agent_id)->first(); return view('dealer.edit_agent', compact('person','userDetails','user')); } public function deleteAgent(Request $request) { $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'; } } //Show claim list by company public function mClaimListAll($company) { $id = Auth::guard('ds')->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 = ''; 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; } }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; } } $i++; array_push($nested_data, array( 'index' => $c->formT, 'contract' => $c->contract, 'wo' => $c->wo, 'activated_dt' => $c->activated_dt, 'name' => $customer->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)->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)->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 = ''; $addRM24_2 = $c->comm; }else { $comms = explode("RM", $c->comm); if(!empty($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 = ''; $addRM24_3 = $c->comm; }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 = ''; $addRM24_4 = $c->comm; }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' => $comm12_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; }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' => $comm24_2, 'incentives2' => $addRM24_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 = $customer->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; } }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' => $comm12_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; }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' => $comm24_3, 'incentives2' => $addRM24_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' => $comm12_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; }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' => $comm24_4, 'incentives2' => $addRM24_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; } /*** / Return Claim & Combined Business && Resident ***/ public function getClaimRB($company,$year,$month,$app) { $dataR = array(); $dataB = array(); $combineData = array(); if($month=='null' && $year=='null' && $app=='null'){ return $this->mClaimListAll($company); }else if($year!='null' && $month!='null' && $app=='null'){ $dataClaim = DealerClaim::with(['Subscriber' => function($q) { $q->with('Form'); }],'Staff')->where('dealer',$company)->where('activated_my',$month.'/'.$year)->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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } } } }else if($year=='null' && $month=='null' && $app!='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'){ 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(); 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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $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)->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 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('dHome')->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('dHome')->with('success_msg', 'message'); } else { echo "email is used"; return redirect()->back()->withInput()->withErrors('Email already exist!'); } } } /*** / Application Form ***/ public function showResidentialForm(){ $id = Auth::guard('ds')->id(); $user = Staff::find($id); $email = $user->email; $userDetails = StaffDetail::where('email',$email)->first(); return view('dealer.residential-form',compact('userDetails','user')); } public function showBusinessForm(){ $id = Auth::guard('ds')->id(); $user = Staff::find($id); $email = $user->email; $userDetails = StaffDetail::where('email',$email)->first(); return view('dealer.business-form',compact('userDetails','user')); } public function exportDealerJson(Request $request) { $final = array(); $id = Auth::guard('ds')->id(); // $user = Staff::with('StaffDetail')->find($id); // $com = Company::where('_id',$user->StaffDetail->company_id)->first(); $dataR = array(); $dataB = array(); $combineData = array(); $extra = 0; $year = $request->year; $month = $request->month; $app = $request->app; $company = $request->company; if($year!='null' && $month!='null' && $app=='null'){ $count_cyberjaya = array(); $count_jasin = array(); $count_ayerKeroh = array(); $count_alorGajah = array(); $count_menglembu = array(); $count_ipoh = array(); $extra = 0; $basic_total = 0; $countAugust = array(); $finalprice = 0; // if(($year == '2019' || $year == '2020') && ($month == '12' || $month == '01')){ // $dataDis = $this->returnDataR($company,'2019','12'); // $dataJan = $this->returnDataR($company,'2020','1'); if($year == '2020' && ($month == '04' || $month == '05' || $month == '06' || $month == '07')){ $dataApril = $this->returnDataR($company,'2020','4'); $dataMay = $this->returnDataR($company,'2020','5'); $dataJune = $this->returnDataR($company,'2020','6'); $dataJuly = $this->returnDataR($company,'2020','7'); foreach ($dataApril 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('d/m/Y', strtotime($d['activation'])) >= '27/4/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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } else { if(date('m/Y', strtotime($d['activation'])) == $month.'/'.$year){ $combineData[] = $d; } } } foreach ($dataMay as $key => $d) { 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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } foreach ($dataJune as $key => $d) { 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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } foreach ($dataJuly as $key => $d) { 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; } if (strpos($d['address'], 'Menglembu') !== false) { $count_menglembu[] = $d; } if (strpos($d['address'], 'Ipoh') !== false) { $count_ipoh[] = $d; } } // Store to combineData New Incentives Cyberjaya foreach ($count_cyberjaya as $key => $d) { if(count($count_cyberjaya) > 50){ if(date('m/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('m/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 Menglembu foreach ($count_menglembu as $key => $d) { if(count($count_menglembu) > 50){ if(date('m/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_menglembu) < 50){ if(date('m/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 Ipoh foreach ($count_ipoh as $key => $d) { if(count($count_ipoh) > 50){ if(date('m/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_ipoh) < 50){ if(date('m/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 Ayer Keroh foreach ($count_ayerKeroh as $key => $d) { if(count($count_ayerKeroh) > 50){ 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 { if(date('m/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_ayerKeroh) < 50){ if(date('m/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 Alor Gajah foreach ($count_alorGajah as $key => $d) { if(count($count_alorGajah) > 50){ 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 { if(date('m/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_alorGajah) < 50){ if(date('m/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) > 20){ 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 { if(date('m/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) < 20){ if(date('m/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 if($year == '2020' && ($month == '08' || $month == '09' || $month == '10')){ $dataAugust = $this->returnDataR($company,'2020','8'); $dataSeptember = $this->returnDataR($company,'2020','9'); $dataOctober = $this->returnDataR($company,'2020','10'); foreach ($dataAugust as $key => $d) { if(date('d/m/Y', strtotime($d['activation'])) >= '11/8/2020'){ $countAugust[] = $d; } } // Store to combineData New Incentive August foreach ($countAugust as $key => $d) { if(count($countAugust) >= 50){ if(date('m/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 { if ($d['package']!= 1){ $total = number_format(floatval((str_replace("RM ", "" , $d['retail_price']))- 10) * 2.5 + 50, 2); $finalprice = number_format(floatval(str_replace("RM ", "" , $d['retail_price']))- 10, 2); } else{ $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.5 + 50, 2); $finalprice = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])), 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' => 'RM '.$finalprice, 'incentives1' => '250% + RM50', 'incentives2' => $d['incentives2'], 'total' => 'RM '.$total, 'claim' => $d['claim'], )); } } }else if(count($countAugust) < 50){ if(date('m/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 { if ($d['package']!= 1){ $total = number_format(floatval((str_replace("RM ", "" , $d['retail_price']))- 10) * 2.5, 2); $finalprice = number_format(floatval(str_replace("RM ", "" , $d['retail_price']))- 10, 2); } else{ $total = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])) * 2.5, 2); $finalprice = number_format(floatval(str_replace("RM ", "" , $d['retail_price'])), 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' => 'RM '.$finalprice, 'incentives1' => '250%', 'incentives2' => $d['incentives2'], 'total' => 'RM '.$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){ $update_dealer = DealerClaim::where('wo',$c['wo'])->first(); if(!empty($update_dealer)){ $update_dealer->incentives1 = $c['incentives1']; $update_dealer->incentives2 = $c['incentives2']; $update_dealer->retail_price = $c['retail_price']; $update_dealer->total_claim = $c['total']; $update_dealer->save(); } } } $dataClaim = DealerClaim::with(['Subscriber' => function($q) { $q->with('Form'); }],'Staff')->where('dealer',$company)->where('activated_my',$month.'/'.$year)->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, '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' => $c->total_claim, 'claimed' => $c->claim_dt, )); } } 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 if(($month == '4' || $month == '5'|| $month == '6' || $month == '7') && $year == '2020'){ // if(count($count_cyberjaya) > 50){ // $balance = count($count_cyberjaya) - 50; // $extra += $balance * 50; // } // if(count($count_jasin) > 20){ // $balance = count($count_jasin) - 10; // $extra += $balance * 50; // } // }else { // $extra = 0; // } $extra = 0; $totals = $basic_total + $extra; // $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 ); return $final; } // 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('d/m/Y', strtotime($d['activation'])) >= '27/4/2020' && date('d/m/Y', strtotime($d['activation'])) <= '31/7/2020'){ // 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 if(($month == '4' || $month == '5'|| $month == '6' || $month == '7') && $year == '2020'){ // if(count($count_cyberjaya) > 50){ // $balance = count($count_cyberjaya) - 50; // $extra += $balance * 50; // } // if(count($count_jasin) > 20){ // $balance = count($count_jasin) - 10; // $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')); // $pdf->setPaper('A4', 'landscape'); // $pdfName = preg_replace('/\s+/', '-', $com->name).'-'.$month.'-'.$year.'.pdf'; // return $pdf->download( $pdfName ); // } } public function update_total_claim(){ $dealer = DealerClaim::all(); foreach ($dealer as $key => $d) { $claim = str_replace("RM ","",$d->total_claim); $d->total_claim = floatval($claim); $d->save(); } } }