orderBy('created_at', 'DESC')->first(); $numberOnly = str_replace('WO-', '', $number->wo); info('before WC WO' . $numberOnly); $numberOnly++; info('after WC WO' . $numberOnly); return $numberOnly; } public function viewWorkOrder() { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $pc = count(WorkOrder::where('status', 'Pending Contractor')->get()); $pi = count(WorkOrder::where('status', 'Pending Installer')->get()); $cance = count(WorkOrder::where('status', 'Cancelled')->get()); return view('customer-service.view_wo', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'pc', 'pi', 'cance')); } public function viewEditWorkOrder($wo) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $w = WorkOrder::where('wo', $wo)->first(); $form = Form::with('Subscriber', 'WorkOrder')->where('_id', $w->_id)->first(); $coverage = Coverage::groupBy('building_name')->orderBy('building_name')->get(); if ($w->contractor_id != '') { $company = Company::where('_id', $w->contractor_id)->first(); } else { $company = ''; } return view('customer-service.edit_work_order', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'pc', 'pi', 'form', 'coverage', 'company')); } public function viewAddNewSchedule($status, $wo, $subscriber_id) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $company = Company::where('team', 'CBB')->get(); $today = Carbon::today(); $wo_status = ''; if ($status == "non-prelaid") { $wo_status = 'Pending Non Prelaid'; } else { $wo_status = 'Pending Contractor'; } $subscriber = Subscriber::where('subscriber_id', $subscriber_id)->first(); if (!empty($subscriber)) { $form = Form::with('WorkOrder')->where('_id', $subscriber->_id)->first(); if (empty($form->WorkOrder)) { do { $woID = 'WO-' . $this->createWorkID(); } while (WorkOrder::where("wo", "=", $woID)->first() instanceof WorkOrder); $work_order = new WorkOrder; $work_order->img_url = '/assets/img/activation_icon_nRead1.png'; $work_order->wo = $woID; $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = ''; $work_order->dateTimeEnd = ''; $work_order->contractor_id = ''; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = $wo_status; $work_order->created_by = ''; $form->workorder()->save($work_order); } else { $work_order = WorkOrder::where('wo', $form->WorkOrder->wo)->first(); $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = ''; $work_order->dateTimeEnd = ''; $work_order->contractor_id = ''; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = $wo_status; $work_order->created_by = ''; $work_order->save(); } } return view('customer-service.view_add_new_schedule', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'company', 'wo', 'today', 'subscriber_id', 'status')); } public function viewRescheduleCalendar($wo) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $company = Company::where('team', 'CBB')->get(); $today = Carbon::today(); return view('customer-service.view_reschedule-work-order', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'company', 'wo', 'today')); } public function confirmWorkOrder($wo) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $w = WorkOrder::where('wo', $wo)->first(); $form = Form::with('Subscriber', 'WorkOrder')->where('_id', $w->_id)->first(); $coverage = Coverage::groupBy('building_name')->orderBy('building_name')->get(); $company = Company::where('_id', $w->contractor_id)->first(); return view('customer-service.confirm_work_order', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'pc', 'pi', 'form', 'coverage', 'wo', 'company')); } public function viewCreateWorkOrderR() { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $coverage = Coverage::where('Type', 'R')->groupBy('building_name')->orderBy('building_name')->get(); $product = Product::where('formT', 'R')->get(); return view('customer-service.view_wo_formR', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'pc', 'pi', 'coverage', 'product')); } public function viewCreateWorkOrderB() { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $pp = count(WorkOrder::where('status', 'Pending Non Prelaid')->get()); $sp = count(WorkOrder::where('status', 'Success Non Prelaid')->get()); $rs = count(WorkOrder::where('status', 'Reschedule')->get()); $ss = count(WorkOrder::where('status', 'Suspend')->get()); $cm = count(WorkOrder::where('status', 'Completed')->get()); $coverage = Coverage::where('Type', 'B')->get(); $product = Product::where('formT', 'B')->get(); return view('customer-service.view_wo_formB', compact('user', 'pp', 'sp', 'rs', 'ss', 'cm', 'pc', 'pi', 'coverage', 'product')); } public function getAllPendingContractor($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Pending Contractor')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Pending Contractor')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Pending Contractor')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); // info($w->installer_id); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->where('_id', $w->installer_id)->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status, 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllPendingNonPrelaid($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Pending Non Prelaid')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Pending Non Prelaid')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Pending Non Prelaid')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->where('_id', $w->installer_id)->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status, 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllSuccessNonPrelaid($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Success Non Prelaid')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Success Non Prelaid')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Success Non Prelaid')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->where('_id', $w->installer_id)->withTrashed()->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status, 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllPendingInstaller($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Pending Installer')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Pending Installer')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Pending Installer')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->where('_id', $w->installer_id)->first(); if (!empty($installer)) { $installer = $installer->StaffDetail->name; } } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status, 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllReschedule($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Reschedule')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Reschedule')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Reschedule')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->where('_id', $w->installer_id)->withTrashed()->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status . " (" . $w->remarks_installer . ")", 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllSuspend($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Suspend')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Suspend')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Suspend')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->withTrashed()->where('_id', $w->installer_id)->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status . " (" . $w->remarks_installer . ")", 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllCancelled($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $wo = WorkOrder::with('Form')->where('status', 'Cancelled')->orderBy('created_at', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $wo = WorkOrder::with('Form')->where('status', 'Suspend')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $wo = WorkOrder::with('Form')->where('status', 'Suspend')->orderBy('created_at', 'desc')->whereBetween('created_at', [$go, $end_year])->get(); } if (!empty($wo)) { foreach ($wo as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->Form->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $w->Form->type_application)->first(); $company = Company::where('_id', $w->contractor_id)->first(); if ($w->installer_id != '') { $installer = Staff::with('StaffDetail')->withTrashed()->where('_id', $w->installer_id)->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($w->dateTimeStart)) { $date = ''; $time = ''; } else { $date = date("d/m/Y", strtotime($w->dateTimeStart)); $time = date("h:i A", strtotime($w->dateTimeStart)); } array_push($nested_data, array( 'formT' => $n1 . $i . $w->Form->type_application, 'service' => $w->nature_work, 'wo' => $w->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => $date, 'time' => $time, 'status' => $w->status, 'action' => $w->wo, )); } } return \DataTables::of($nested_data)->make(true); } public function getAllCompleted($year, $month, $day) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $i = 0; $n1 = ''; $curr = Carbon::now()->getTimestamp(); $nested_data = array(); if ($year == 'null' && $month == 'null' && $day == 'null') { $doc = Docket::with('WorkOrder')->orderBy('end_job', 'desc')->get(); } else if ($year != 'null' && $month == 'null' && $day == 'null') { $timestamp = $year . "-01-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfYear(); $doc = Docket::with('WorkOrder')->orderBy('end_job', 'desc')->whereBetween('dateTimeStart', [$go, $end_year])->get(); } else if ($year != 'null' && $month != 'null' && $day == 'null') { $timestamp = $year . "-" . $month . "-01 00:00:00.000Z"; $masa = strtotime($timestamp); $go = Carbon::createFromTimestamp($masa); $go2 = Carbon::createFromTimestamp($masa); $end_year = $go2->endOfMonth(); $doc = Docket::with('WorkOrder')->orderBy('end_job', 'desc')->whereBetween('dateTimeStart', [$go, $end_year])->get(); } if (!empty($doc)) { foreach ($doc as $key => $w) { $i++; $n1 = ''; $reg_time = $w->created_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if ($curr < $expiry_date) { $n1 = "New/"; } $installer = ''; if (!empty($w->WorkOrder->_id)) { $form = Form::with('Subscriber', 'PackageDetail')->where('_id', $w->WorkOrder->_id)->first(); $product = Product::where('speed', $form->PackageDetail->name)->where('formT', $form->type_application)->first(); $company = Company::where('_id', $w->WorkOrder->contractor_id)->first(); if ($w->WorkOrder->installer_id != '') { $installer = Staff::with('StaffDetail')->withTrashed()->where('_id', $w->WorkOrder->installer_id)->first(); $installer = $installer->StaffDetail->name; } $building = ''; $unit = '-'; $name = ''; $building = $form->Subscriber->building_name; $unit = $form->Subscriber->unit_no; if ($form->type_application == 'R') { $name = $form->Subscriber->name; } else if ($form->type_application == 'B') { $name = $form->Subscriber->company_name; } if (empty($product)) { $product = 'R Mbps'; } else { $product = $product->package_name; } if (empty($company)) { $company = ' '; } else { $company = $company->name; } if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } array_push($nested_data, array( 'formT' => $n1 . $i . $form->type_application, 'service' => $w->nature_work, 'wo' => $w->WorkOrder->wo, 'category' => $category, 'name' => $name, 'phone' => $form->Subscriber->phone1, 'unit' => $unit, 'building' => $building, 'city' => $form->Subscriber->city, 'package' => $product, 'contractor' => $company, 'installer' => $installer, 'date' => date("d/m/Y", strtotime($w->end_job)), 'time' => date("h:i A", strtotime($w->end_job)), 'status' => $w->WorkOrder->status, 'docket' => $w->docket_id, 'action' => $w->WorkOrder->wo, )); } } } return \DataTables::of($nested_data)->make(true); } public function generateWorkOrderPDF($wo) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $wo = WorkOrder::where('wo', $wo)->first(); $form = Form::with('PackageDetail', 'Subscriber')->where('_id', $wo->_id)->first(); $product = Product::where('formT', $form->type_application)->where('speed', $form->PackageDetail->name)->first(); if (empty($form->customer_category)) { $category = ''; } else { $category = $form->customer_category; } if (empty($product)) { if ($form->PackageDetail->name == "30") { $product = '30Mbps'; } else { $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->street . ' , ' . $form->Subscriber->building_name . ' , ' . $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 != '') { $unit = $form->Subscriber->unit_no; } else { $unit = ' '; } if ($form->Subscriber->building_name == null) { $address = $unit . ' , ' . $form->Subscriber->street . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } else { $address = $unit . ' , ' . $form->Subscriber->street . ' , ' . $form->Subscriber->building_name . ' , ' . $form->Subscriber->postcode . ' , ' . $form->Subscriber->city . ' , ' . $form->Subscriber->state; } } $pdf = PDF::loadView('pdf.workorder-pdf', compact('wo', 'form', 'product', 'created_at', 'created_by', 'address', 'category')); $pdf->setPaper('A4', 'potrait'); return $pdf->stream(); } public function sendWorkOrders($work_order_id) { $work_order = WorkOrder::where('wo', $work_order_id)->first(); $s = StaffDetail::where('company_id', $work_order->contractor_id)->where('position', 'Contractor')->get(); $customer = Subscriber::where('_id', $work_order->_id)->first(); if ($work_order->contractor_id == '5b42b935ee0dc2b707473b76') { $company = Company::where('_id', $work_order->contractor_id)->first(); $staff = StaffDetail::where('company_id', $work_order->contractor_id)->where('email', 'mimi@jitech.com.my')->first(); SendWorkOrder::dispatch($work_order, $staff, 'cbbinstallation@jitech.com.my', $customer, $company); } else { $company = Company::where('_id', $work_order->contractor_id)->first(); foreach ($s as $staff) { SendWorkOrder::dispatch($work_order, $staff, $staff->email, $customer, $company); } } } public function updateWorkOrder(Request $request) { $id = Auth::guard('cs')->id(); $user = Staff::with('StaffDetail')->find($id); $wo = WorkOrder::where('wo', $request->work_order)->first(); if (!empty($wo)) { $number_phone = ''; if ($request->n_phone == 'Yes') { $number_phone = $request->no_phone; } $wo->nature_work = $request->task; $wo->pppoe_username = $request->pppoe_username; $wo->onu = $request->onu_ont; $wo->router = $request->router; $wo->need_phone = $request->n_phone; $wo->no_phone = $number_phone; $wo->remarks_custservice = $request->remark; $wo->created_by = $user->_id; $wo->save(); $form = Form::where('_id', $wo->_id)->first(); $form->customer_category = $request->cust_category; $form->save(); $contractor = Company::where('_id', $wo->contractor_id)->first(); $status = ''; $st_id = ''; if ($wo->status == 'Pending Contractor') { $st_id = 4; $status = 'Pending Contractor'; } else if ($wo->status == 'Pending Non Prelaid') { $st_id = 5; $status = 'Pending Non Prelaid'; } $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = $st_id; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = $status; $formH->desc = 'This work order been assigned to particular contractor (' . $contractor->name . ')'; $form->formstatus()->save($formH); $this->sendWorkOrders($request->work_order); return redirect('/customer-service/work-order/list'); // return redirect()->back()->with('success_msg', 'Success! Update work order '.$request->get('work_order')); } else { return redirect()->back()->with('error_msg', 'Cant update work order ' . $request->get('work_order')); } } public function addSchedule(Request $request) { $subscriber = Subscriber::where('subscriber_id', $request->subscriber_id)->first(); if (!empty($subscriber)) { $wod = WorkOrder::where('wo', $request->wo)->first(); if (empty($wod)) { $status = ''; if ($request->status == 'non-prelaid') { $status = 'Pending Non Prelaid'; } else { $status = 'Pending Contractor'; } $form = Form::where('_id', $subscriber->_id)->first(); $work_order = new WorkOrder; $work_order->img_url = '/assets/img/activation_icon_nRead1.png'; $work_order->wo = $request->wo; $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = $request->start; $work_order->dateTimeEnd = $request->end; $work_order->contractor_id = $request->vendor; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = $status; $work_order->created_by = $request->created_by; $form->workorder()->save($work_order); return 'success'; } else { $wod->dateTimeStart = $request->start; $wod->dateTimeEnd = $request->end; $wod->contractor_id = $request->vendor; $wod->save(); } } else { return 'false'; } } public function rescheduleWorkOrder(Request $request) { $wod = WorkOrder::where('wo', $request->wo)->first(); if (!empty($wod)) { $wod->dateTimeStart = $request->start; $wod->dateTimeEnd = $request->end; $wod->contractor_id = $request->vendor; $wod->status = 'Pending Contractor'; $wod->save(); return 'success'; } else { return 'false'; } } public function cancelCreateWorkOrder(Request $request) { $wod = WorkOrder::where('wo', $request->wo)->first(); if (!empty($wod)) { $wod->delete(); return 'true'; } else { return 'false'; } } public function deleteWorkOrder(Request $request) { $wod = WorkOrder::where('wo', $request->id)->first(); if (!empty($wod)) { $wod->delete(); $form = Form::where('_id', $wod->_id)->first(); $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = 9; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = 'Delete Work Order'; $formH->desc = 'This work order for this customer already been deleted!'; $form->formstatus()->save($formH); return 'true'; } else { return 'false'; } } public function checkExistingWorkOrder(Request $request) { $data = array(); $wod = WorkOrder::where('wo', $request->wo)->first(); if (($wod->status == 'Pending Contractor' || $wod->status == '')) { array_push($data, array( 'result' => 'yes', )); } else { $wod->img_url = '/assets/img/activation_icon_nRead1.png'; $wod->wo = $request->wo; $wod->nature_work = ''; $wod->sub_category = ''; $wod->dateTimeStart = ''; $wod->dateTimeEnd = ''; $wod->contractor_id = $request->vendor; $wod->installer_id = ''; $wod->onu = ''; $wod->router = ''; $wod->need_phone = ''; $wod->no_phone = ''; $wod->pppoe_username = ''; $wod->pppoe_password = ''; $wod->docket_id = ''; $wod->remarks_custservice = ''; $wod->remarks_installer = ''; $wod->status = 'Pending Non Prelaid'; $wod->save(); array_push($data, array( 'result' => 'yes', )); } return response()->json($data); } public function updateWorkOrderReschedule(Request $request) { $data = array(); $wod = WorkOrder::where('wo', $request->wo)->first(); $form = Form::where('_id', $wod->_id)->first(); $contractor = Company::where('_id', $wod->contractor_id)->first(); if (!empty($wod)) { $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = 4; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = 'Pending Contractor'; $formH->desc = 'This work order been reassigned to particular contractor (' . $contractor->name . ')'; $form->formstatus()->save($formH); $this->sendWorkOrders($request->wo); array_push($data, array( 'result' => 'yes', )); } else { array_push($data, array( 'result' => 'no', )); } return response()->json($data); } public function createRectification(Request $request) { $su_id = ''; $pathIconF = ''; $pathIconB = ''; $sl = Form::create([ 'type_service' => 'Rectification', 'type_application' => $request->formT, 'customer_category' => $request->cust_category, 'status_payment' => 'paid', 'status_email' => 'verified', 'remark_form' => '' ]); if ($request->formT == 'R') { do { $su_id = strtoupper('CBB-' . $this->random_code(6) . 'R'); } while (Subscriber::where("subscriber_id", "=", $su_id)->first() instanceof Subscriber); $coverage = Coverage::where('building_name', $request->buildingsss)->where('street', $request->street)->first(); $sdl = new Subscriber(); $sdl->subscriber_id = $su_id; $sdl->name = $request->name; $sdl->ic = ''; $sdl->citizen = ''; $sdl->gender = ''; $sdl->race = ''; $sdl->email = ''; $sdl->phone1 = $request->phone1; $sdl->phone2 = $request->phone2; $sdl->unit_no = $request->unit_no; $sdl->building_name = $coverage->building_name; $sdl->street = $coverage->street; $sdl->postcode = $coverage->postcode; $sdl->city = $coverage->city; $sdl->state = $coverage->state; $sdl->front_ic = ''; $sdl->back_ic = ''; $sdl->signature = ''; $packageD = new PackageDetail(); $packageD->contract = ''; $packageD->name = $request->package; $packageD->montly_fee = ''; $packageD->voice_fee = ''; $packageD->deposit = ''; $packageD->upfront_payment = ''; $packageD->rfs = ''; $sl->subscriber()->save($sdl); $sl->packagedetail()->save($packageD); $sl->project_type = $coverage->project_type; $sl->save(); $subs = Subscriber::where('subscriber_id', $su_id)->first(); $form = Form::where('_id', $subs->_id)->first(); $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = 12; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = 'New Rectification'; $formH->desc = 'Rectification form been submitted'; $form->formstatus()->save($formH); do { $woID = 'WO-' . $this->createWorkID(); } while (WorkOrder::where("wo", "=", $woID)->first() instanceof WorkOrder); $work_order = new WorkOrder; $work_order->img_url = '/assets/img/activation_icon_nRead1.png'; $work_order->wo = $woID; $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = ''; $work_order->dateTimeEnd = ''; $work_order->contractor_id = ''; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = 'Pending Contractor'; $work_order->created_by = ''; $form->workorder()->save($work_order); return redirect()->to('/customer-service/work-order/add/schedule/rectification/' . $woID . '/' . $su_id); } else if ($request->formT == 'B') { do { $su_id = strtoupper('CBB-' . $this->random_code(6) . 'B'); } while (Subscriber::where("subscriber_id", "=", $su_id)->first() instanceof Subscriber); $sdl = new Subscriber(); $sdl->subscriber_id = $su_id; $sdl->company_name = $request->cname; $sdl->company_reg = ''; $sdl->company_num = ''; $sdl->company_fax = ''; $sdl->name = $request->name; $sdl->ic = ''; $sdl->designation = ''; $sdl->email = ''; $sdl->phone1 = $request->phone1; $sdl->phone2 = ''; $sdl->unit_no = $request->unit_no; $sdl->street = $request->caddress; $sdl->postcode = ''; $sdl->city = ''; $sdl->state = ''; $sdl->front_ic = ''; $sdl->back_ic = ''; $sdl->form24_49 = ''; $sdl->form9_44 = ''; $packageD = new PackageDetail(); $packageD->contract = ''; $packageD->name = $request->package; $packageD->montly_fee = ''; $packageD->voice_fee = 'No'; $packageD->deposit = ''; $packageD->upfront_payment = ''; $packageD->rfs = ''; $sl->subscriber()->save($sdl); $sl->packagedetail()->save($packageD); $subs = Subscriber::where('subscriber_id', $su_id)->first(); $form = Form::where('_id', $subs->_id)->first(); $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = 12; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = 'New Rectification'; $formH->desc = 'Rectification form been submitted'; $form->formstatus()->save($formH); do { $woID = 'WO-' . $this->createWorkID(); } while (WorkOrder::where("wo", "=", $woID)->first() instanceof WorkOrder); $work_order = new WorkOrder; $work_order->img_url = '/assets/img/activation_icon_nRead1.png'; $work_order->wo = $woID; $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = ''; $work_order->dateTimeEnd = ''; $work_order->contractor_id = ''; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = 'Pending Contractor'; $work_order->created_by = ''; $form->workorder()->save($work_order); return redirect()->to('/customer-service/work-order/add/schedule/rectification/' . $woID . '/' . $su_id); } } public function createSecuredDevelopement(Request $request) { $su_id = ''; $pathIconF = ''; $pathIconB = ''; do { $su_id = strtoupper('CBB-' . $this->random_code(6) . 'R'); } while (Subscriber::where("subscriber_id", "=", $su_id)->first() instanceof Subscriber); if ($request->has('cust_category1')) { $category = $request->cust_category1; } else if ($request->has('cust_category2')) { $category = $request->cust_category2; } $sl = Form::create([ 'type_service' => $request->app, 'customer_category' => $category, 'type_application' => 'R', 'status_payment' => 'paid', 'status_email' => 'verified', 'remark_form' => '' ]); $building = '-'; $postcode = '-'; $city = '-'; $state = '-'; if ($request->building1 != '') { $coverage = Coverage::where('building_name', $request->building1)->first(); $street = $request->streets; } else if ($request->building2 != '') { $coverage = Coverage::where('building_name', $request->building2)->first(); $street = $request->streetss; } if (!empty($coverage)) { $building = $coverage->building_name; $street = $street; $postcode = $coverage->postcode; $city = $coverage->city; $state = $coverage->state; } else { $building = $request->building1; $street = '-'; $postcode = '-'; $city = '-'; $state = '-'; } $sdl = new Subscriber(); $sdl->subscriber_id = $su_id; $sdl->name = $request->name; $sdl->ic = 'Package Development'; $sdl->citizen = $request->citizensss; $sdl->gender = $request->gender; $sdl->race = $request->race; $sdl->email = 'Package Development'; $sdl->phone1 = $request->phone1; $sdl->phone2 = $request->phone2; $sdl->unit_no = $request->unit_no; $sdl->building_name = $building; $sdl->street = $street; $sdl->postcode = $postcode; $sdl->city = $city; $sdl->state = $state; $sdl->front_ic = ''; $sdl->back_ic = ''; $sdl->signature = ''; $packageD = new PackageDetail(); $packageD->contract = '24'; $packageD->name = $request->package; $packageD->montly_fee = ''; $packageD->voice_fee = 'No'; $packageD->deposit = ''; $packageD->upfront_payment = ''; $packageD->rfs = ''; $sl->subscriber()->save($sdl); $sl->packagedetail()->save($packageD); $sl->project_type = $coverage->project_type; $sl->save(); $subs = Subscriber::where('subscriber_id', $su_id)->first(); $form = Form::where('_id', $subs->_id)->first(); $formH = new FormStatus; $formH->form_id = $form->_id; $formH->status_id = 13; $formH->date = new \MongoDB\BSON\UTCDateTime(time() * 1000); $formH->status = 'Secured Development'; $formH->desc = 'Secured development form been submitted'; $form->formstatus()->save($formH); do { $woID = 'WO-' . $this->createWorkID(); } while (WorkOrder::where("wo", "=", $woID)->first() instanceof WorkOrder); $work_order = new WorkOrder; $work_order->img_url = '/assets/img/activation_icon_nRead1.png'; $work_order->wo = $woID; $work_order->nature_work = ''; $work_order->sub_category = ''; $work_order->dateTimeStart = ''; $work_order->dateTimeEnd = ''; $work_order->contractor_id = ''; $work_order->installer_id = ''; $work_order->onu = ''; $work_order->router = ''; $work_order->need_phone = ''; $work_order->no_phone = ''; $work_order->pppoe_username = ''; $work_order->pppoe_password = ''; $work_order->docket_id = ''; $work_order->remarks_custservice = ''; $work_order->remarks_installer = ''; $work_order->status = 'Pending Contractor'; $work_order->created_by = ''; $form->workorder()->save($work_order); return redirect()->to('/customer-service/work-order/add/schedule/secured/' . $woID . '/' . $su_id); } }