<?php

namespace App\Http\Controllers\DS;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;

use Carbon\Carbon;
use Validator;
use PDF;

use App\Staff;
use App\Model\StaffDetail;

use App\Model\Coverage; 
use App\Model\DealerClaim;
use App\Model\DealerClaim2;

use App\Model\Commission;
use App\Model\Company;

use App\Model\Form;
use App\Model\FormStatus;
use App\Model\Subscriber;
use App\Model\PackageDetail;
use App\Model\WorkOrder;
use App\Model\Docket;

class DealerController extends Controller
{

	public function viewList(){
		$id = Auth::guard('ds')->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', '<strong>Success!</strong> register <strong>'.$request->get('email').'</strong>');
		}
		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; $totals = 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'){
							$combineData[] = $d;
					}
				}

				// Store to combineData New Incentive August
				foreach ($combineData as $key => $d) {
					if(count($combineData) > 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.5 + 50, 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' => '250% + RM50',
									'incentives2' => $d['incentives2'],
									'total' => 'RM '.$total,
									'claim' => $d['claim'],
								));
							}
						}
					}else if(count($combineData) < 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.5, 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' => '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){
					info(count($combineData));
					$update_dealer = DealerClaim::where('wo',$c['wo'])->first();
					if(!empty($update_dealer)){
						$update_dealer->incentives1 = $c['incentives1'];
						$update_dealer->incentives2 = $c['incentives2'];
						$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();
		}
	}
}
