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