|
|
|
@@ -10,7 +10,7 @@ use Carbon\Carbon; |
|
|
|
use App\Model\Staff; |
|
|
|
use App\Model\StaffDetail; |
|
|
|
use App\Model\Company; |
|
|
|
Use App\Model\Commission; |
|
|
|
use App\Model\Commission; |
|
|
|
|
|
|
|
use App\Model\Form; |
|
|
|
use App\Model\PackageDetail; |
|
|
|
@@ -23,17 +23,19 @@ use App\Model\Product; |
|
|
|
|
|
|
|
class DealerClaimController extends Controller |
|
|
|
{ |
|
|
|
public function getCompleted(){ |
|
|
|
public function getCompleted() |
|
|
|
{ |
|
|
|
|
|
|
|
$cdata = array(); $finalData = array(); |
|
|
|
$cdata = array(); |
|
|
|
$finalData = array(); |
|
|
|
|
|
|
|
$dealerclaim = DealerClaim::get()->toArray(); |
|
|
|
|
|
|
|
$form = Form::with('Subscriber','PackageDetail','WorkOrder')->get(); |
|
|
|
foreach($form as $f){ |
|
|
|
if(!empty($f->dealer_id)){ |
|
|
|
if(!empty($f->WorkOrder)){ |
|
|
|
if($f->WorkOrder->status == 'Completed' && $f->WorkOrder->nature_work == 'Activation'){ |
|
|
|
$form = Form::with('Subscriber', 'PackageDetail', 'WorkOrder')->get(); |
|
|
|
foreach ($form as $f) { |
|
|
|
if (!empty($f->dealer_id)) { |
|
|
|
if (!empty($f->WorkOrder)) { |
|
|
|
if ($f->WorkOrder->status == 'Completed' && $f->WorkOrder->nature_work == 'Activation') { |
|
|
|
$cdata[] = $f->_id; |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -41,26 +43,26 @@ class DealerClaimController extends Controller |
|
|
|
} |
|
|
|
|
|
|
|
$notExist = array(); |
|
|
|
foreach($cdata as $c){ |
|
|
|
if(array_search($c, array_column($dealerclaim, 'customer_id')) !== False) { |
|
|
|
foreach ($cdata as $c) { |
|
|
|
if (array_search($c, array_column($dealerclaim, 'customer_id')) !== False) { |
|
|
|
} else { |
|
|
|
$notExist[] = $c; |
|
|
|
|
|
|
|
$formD = Form::with('Subscriber','PackageDetail','WorkOrder')->where('_id',$c)->first(); |
|
|
|
$product = Product::where('speed', $formD->PackageDetail->name)->where('formT',$formD->type_application)->first(); |
|
|
|
$docket = Docket::where('work_order_id',$formD->WorkOrder->wo)->first(); |
|
|
|
$formD = Form::with('Subscriber', 'PackageDetail', 'WorkOrder')->where('_id', $c)->first(); |
|
|
|
$product = Product::where('speed', $formD->PackageDetail->name)->where('formT', $formD->type_application)->first(); |
|
|
|
$docket = Docket::where('work_order_id', $formD->WorkOrder->wo)->first(); |
|
|
|
|
|
|
|
if(date('m/Y', strtotime(Carbon::parse($formD->created_at)->setTimezone('Asia/Kuala_Lumpur'))) == '10/2020' || date('m/Y', strtotime(Carbon::parse($formD->created_at)->setTimezone('Asia/Kuala_Lumpur'))) == '12/2020'){ |
|
|
|
if($formD->PackageDetail->name == "1" || $formD->PackageDetail->contract == "12" ){ |
|
|
|
if (date('m/Y', strtotime(Carbon::parse($formD->created_at)->setTimezone('Asia/Kuala_Lumpur'))) == '10/2020' || date('m/Y', strtotime(Carbon::parse($formD->created_at)->setTimezone('Asia/Kuala_Lumpur'))) == '12/2020') { |
|
|
|
if ($formD->PackageDetail->name == "1" || $formD->PackageDetail->contract == "12") { |
|
|
|
$price = (int)$product->retail_price; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
$price = (int)$product->promotion_price; |
|
|
|
} |
|
|
|
} else { |
|
|
|
$price = (int)$product->retail_price; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if(!empty($docket->docket_id)){ |
|
|
|
if (!empty($docket->docket_id)) { |
|
|
|
$subsData = [ |
|
|
|
'formT' => $formD->type_application, |
|
|
|
'projectT' => $formD->project_type, |
|
|
|
@@ -78,7 +80,7 @@ class DealerClaimController extends Controller |
|
|
|
'total_form_by_month' => '', |
|
|
|
'agent' => $formD->dealer_id, |
|
|
|
'dealer' => $formD->company_id, |
|
|
|
'invoice_no' => $this->generateInvoiceNumber($formD->type_application,$formD->company_id,date('m', strtotime($docket->end_job)),date('Y', strtotime($docket->end_job))), |
|
|
|
'invoice_no' => $this->generateInvoiceNumber($formD->type_application, $formD->company_id, date('m', strtotime($docket->end_job)), date('Y', strtotime($docket->end_job))), |
|
|
|
]; |
|
|
|
|
|
|
|
DealerClaim::create($subsData); |
|
|
|
@@ -88,17 +90,19 @@ class DealerClaimController extends Controller |
|
|
|
return $notExist; |
|
|
|
} |
|
|
|
|
|
|
|
public function getCompleted2(){ |
|
|
|
public function getCompleted2() |
|
|
|
{ |
|
|
|
|
|
|
|
$cdata = array(); $finalData = array(); |
|
|
|
$cdata = array(); |
|
|
|
$finalData = array(); |
|
|
|
|
|
|
|
$dealerclaim = DealerClaim2::get()->toArray(); |
|
|
|
|
|
|
|
$form = Form::with('Subscriber','PackageDetail','WorkOrder')->get(); |
|
|
|
foreach($form as $f){ |
|
|
|
if(!empty($f->dealer_id)){ |
|
|
|
if(!empty($f->WorkOrder)){ |
|
|
|
if($f->WorkOrder->status == 'Completed' && $f->WorkOrder->nature_work == 'Activation'){ |
|
|
|
$form = Form::with('Subscriber', 'PackageDetail', 'WorkOrder')->get(); |
|
|
|
foreach ($form as $f) { |
|
|
|
if (!empty($f->dealer_id)) { |
|
|
|
if (!empty($f->WorkOrder)) { |
|
|
|
if ($f->WorkOrder->status == 'Completed' && $f->WorkOrder->nature_work == 'Activation') { |
|
|
|
$cdata[] = $f->_id; |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -106,16 +110,16 @@ class DealerClaimController extends Controller |
|
|
|
} |
|
|
|
|
|
|
|
$notExist = array(); |
|
|
|
foreach($cdata as $c){ |
|
|
|
if(array_search($c, array_column($dealerclaim, 'customer_id')) !== False) { |
|
|
|
foreach ($cdata as $c) { |
|
|
|
if (array_search($c, array_column($dealerclaim, 'customer_id')) !== False) { |
|
|
|
} else { |
|
|
|
$notExist[] = $c; |
|
|
|
|
|
|
|
$formD = Form::with('Subscriber','PackageDetail','WorkOrder')->where('_id',$c)->first(); |
|
|
|
$product = Product::where('speed', $formD->PackageDetail->name)->where('formT',$formD->type_application)->withTrashed()->first(); |
|
|
|
$docket = Docket::where('work_order_id',$formD->WorkOrder->wo)->first(); |
|
|
|
$formD = Form::with('Subscriber', 'PackageDetail', 'WorkOrder')->where('_id', $c)->first(); |
|
|
|
$product = Product::where('speed', $formD->PackageDetail->name)->where('formT', $formD->type_application)->withTrashed()->first(); |
|
|
|
$docket = Docket::where('work_order_id', $formD->WorkOrder->wo)->first(); |
|
|
|
|
|
|
|
if(!empty($docket->docket_id)){ |
|
|
|
if (!empty($docket->docket_id)) { |
|
|
|
$subsData = [ |
|
|
|
'formT' => $formD->type_application, |
|
|
|
'contract' => $formD->PackageDetail->contract, |
|
|
|
@@ -141,28 +145,31 @@ class DealerClaimController extends Controller |
|
|
|
return $notExist; |
|
|
|
} |
|
|
|
|
|
|
|
public function storeDealerClaim(){ |
|
|
|
public function storeDealerClaim() |
|
|
|
{ |
|
|
|
|
|
|
|
$data = $this->getCompleted(); |
|
|
|
return $data; |
|
|
|
} |
|
|
|
|
|
|
|
public function storeDealerClaim2(){ |
|
|
|
public function storeDealerClaim2() |
|
|
|
{ |
|
|
|
|
|
|
|
$data = $this->getCompleted2(); |
|
|
|
return $data; |
|
|
|
} |
|
|
|
|
|
|
|
public function getDealerCompany2(){ |
|
|
|
public function getDealerCompany2() |
|
|
|
{ |
|
|
|
$dataD = $this->storeDealerClaim2(); |
|
|
|
dd($dataD); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// public function test1(){ |
|
|
|
// $d = DealerClaim::where('formT' == 'R')->all(); |
|
|
|
// $mY=''; |
|
|
|
|
|
|
|
|
|
|
|
// $data12 = array(); $data24 = array(); $final = array(); |
|
|
|
// foreach($d as $dc){ |
|
|
|
// if($dc->activated_my == $mY){ |
|
|
|
@@ -274,18 +281,20 @@ class DealerClaimController extends Controller |
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
public function getDealerCompany(){ |
|
|
|
public function getDealerCompany() |
|
|
|
{ |
|
|
|
$dataD = $this->storeDealerClaim(); |
|
|
|
dd($dataD); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public function updateIncentives(){ |
|
|
|
public function updateIncentives() |
|
|
|
{ |
|
|
|
$data_not_activated = array(); |
|
|
|
$dealerclaim = DealerClaim::get(); |
|
|
|
foreach ($dealerclaim as $key => $d) { |
|
|
|
$wo = WorkOrder::where('wo',$d->wo)->first(); |
|
|
|
if(!empty($wo)){ |
|
|
|
if($wo->nature_work !== 'Activation'){ |
|
|
|
$wo = WorkOrder::where('wo', $d->wo)->first(); |
|
|
|
if (!empty($wo)) { |
|
|
|
if ($wo->nature_work !== 'Activation') { |
|
|
|
$data_not_activated[] = $d; |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -293,43 +302,43 @@ class DealerClaimController extends Controller |
|
|
|
dd($data_not_activated); |
|
|
|
} |
|
|
|
|
|
|
|
public function generateInvoiceNumber($formT,$dealer,$month,$year){ |
|
|
|
$claim = DealerClaim::where('formT',$formT)->where('dealer',$dealer)->where('activated_my',$month.'/'.$year)->first(); |
|
|
|
public function generateInvoiceNumber($formT, $dealer, $month, $year) |
|
|
|
{ |
|
|
|
$claim = DealerClaim::where('formT', $formT)->where('dealer', $dealer)->where('activated_my', $month . '/' . $year)->first(); |
|
|
|
|
|
|
|
if(!empty($claim->invoice_no)){ |
|
|
|
if (!empty($claim->invoice_no)) { |
|
|
|
return $claim->invoice_no; |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
//get latest invoice number |
|
|
|
$invoice = DealerClaim::where('formT',$formT)->withTrashed()->latest()->first(); |
|
|
|
$invoice = DealerClaim::where('formT', $formT)->withTrashed()->latest()->first(); |
|
|
|
|
|
|
|
//sanitize invoice number to return only integer |
|
|
|
$num = filter_var($invoice['invoice_no'], FILTER_SANITIZE_NUMBER_INT); |
|
|
|
|
|
|
|
//compulsory increment to store new invoice number, WHILE number is found, keep looping |
|
|
|
do{ |
|
|
|
do { |
|
|
|
|
|
|
|
(int)$num += 1; |
|
|
|
|
|
|
|
//add 0s at the fornt if number to complete 9 digit |
|
|
|
if ((strlen((string) $num)) == 2) { |
|
|
|
$num = '0000000'.$num; |
|
|
|
}elseif ((strlen((string)$num)) == 3){ |
|
|
|
$num = '000000'.$num; |
|
|
|
}elseif ((strlen((string)$num )) == 4) { |
|
|
|
$num = '00000'.$num; |
|
|
|
}elseif ((strlen((string)$num )) == 5) { |
|
|
|
$num = '0000'.$num; |
|
|
|
}elseif ((strlen((string)$num )) == 6) { |
|
|
|
$num = '000'.$num; |
|
|
|
}elseif ((strlen((string)$num )) == 7) { |
|
|
|
$num = '00'.$num; |
|
|
|
}elseif ((strlen((string)$num )) == 8) { |
|
|
|
$num = '0'.$num; |
|
|
|
$num = '0000000' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 3) { |
|
|
|
$num = '000000' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 4) { |
|
|
|
$num = '00000' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 5) { |
|
|
|
$num = '0000' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 6) { |
|
|
|
$num = '000' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 7) { |
|
|
|
$num = '00' . $num; |
|
|
|
} elseif ((strlen((string)$num)) == 8) { |
|
|
|
$num = '0' . $num; |
|
|
|
} |
|
|
|
} while (!empty(DealerClaim::where('formT', $formT)->where('invoice_no', $formT . $num)->first())); |
|
|
|
|
|
|
|
}while(!empty(DealerClaim::where('formT', $formT)->where('invoice_no', $formT.$num)->first())); |
|
|
|
|
|
|
|
$num = $formT.$num; |
|
|
|
$num = $formT . $num; |
|
|
|
return $num; |
|
|
|
} |
|
|
|
} |