user()->getRoleNames()[0]; $cabangs = []; $forms = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { $query->where('region_id', $region_id); })->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('region_id', $region_id)->get(); $forms = FormUpCountry::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('id', $cabang_id)->get(); $forms = FormUpCountry::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Medical Representatif') { $userId = auth()->user()->id; $cabangs = null; $forms = FormUpCountry::where('user_id', $userId)->get(); } else { $cabangs = Cabang::all(); $forms = FormUpCountry::all(); } // get all params in url $params = request()->all(); if($params) { if ($params['cabang']) { $cabang = Cabang::where('code', $params['cabang'])->first(); $users = UserHasCabang::where('cabang_id', $cabang->id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); } if($params['start_date'] && $params['end_date']) { $forms = $forms->whereBetween('tanggal', [$params['start_date'], $params['end_date']]); } if($params['start_date'] && !$params['end_date']) { $forms = $forms->where('tanggal', $params['start_date']); } if(!$params['start_date'] && $params['end_date']) { $forms = $forms->where('tanggal', $params['end_date']); } if($params['status']) { $forms = $forms->where('status', $params['status']); } } return view('backend.pages.report.upcountry', [ 'pageInfo' => [ 'title' => 'Generate Reports For Form Up Country', ], 'forms' => $forms, 'cabang' => $cabangs ]); } public function vehicle() { $role = auth()->user()->getRoleNames()[0]; $cabangs = []; $forms = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { $query->where('region_id', $region_id); })->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('region_id', $region_id)->get(); $forms = FormVehicleRunningCost::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('id', $cabang_id)->get(); $forms = FormVehicleRunningCost::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Medical Representatif') { $userId = auth()->user()->id; $cabangs = null; $forms = FormVehicleRunningCost::where('user_id', $userId)->get(); } else { $cabangs = Cabang::all(); $forms = FormVehicleRunningCost::all(); } // get all params in url $params = request()->all(); if($params) { if ($params['cabang']) { $cabang = Cabang::where('code', $params['cabang'])->first(); $users = UserHasCabang::where('cabang_id', $cabang->id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); } if($params['start_date'] && $params['end_date']) { $forms = $forms->whereBetween('tanggal', [$params['start_date'], $params['end_date']]); } if($params['start_date'] && !$params['end_date']) { $forms = $forms->where('tanggal', $params['start_date']); } if(!$params['start_date'] && $params['end_date']) { $forms = $forms->where('tanggal', $params['end_date']); } if($params['status']) { $forms = $forms->where('status', $params['status']); } } return view('backend.pages.report.vehicle', [ 'pageInfo' => [ 'title' => 'Generate Reports For Form Vehicle Running Cost', ], 'forms' => $forms, 'cabang' => $cabangs ]); } public function entertainment() { $role = auth()->user()->getRoleNames()[0]; $cabangs = []; $forms = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { $query->where('region_id', $region_id); })->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('region_id', $region_id)->get(); $forms = FormEntertaimentPresentation::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('id', $cabang_id)->get(); $forms = FormEntertaimentPresentation::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Medical Representatif') { $userId = auth()->user()->id; $cabangs = null; $forms = FormEntertaimentPresentation::where('user_id', $userId)->get(); } else { $cabangs = Cabang::all(); $forms = FormEntertaimentPresentation::all(); } // get all params in url $params = request()->all(); if($params) { if ($params['cabang']) { $cabang = Cabang::where('code', $params['cabang'])->first(); $users = UserHasCabang::where('cabang_id', $cabang->id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); } if($params['start_date'] && $params['end_date']) { $forms = $forms->whereBetween('tanggal', [$params['start_date'], $params['end_date']]); } if($params['start_date'] && !$params['end_date']) { $forms = $forms->where('tanggal', $params['start_date']); } if(!$params['start_date'] && $params['end_date']) { $forms = $forms->where('tanggal', $params['end_date']); } if($params['status']) { $forms = $forms->where('status', $params['status']); } } return view('backend.pages.report.entertainment', [ 'pageInfo' => [ 'title' => 'Generate Reports For Form Entertainment & Presentation', ], 'forms' => $forms, 'cabang' => $cabangs ]); } public function meeting() { $role = auth()->user()->getRoleNames()[0]; $cabangs = []; $forms = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { $query->where('region_id', $region_id); })->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('region_id', $region_id)->get(); $forms = FormMeetingSeminar::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('id', $cabang_id)->get(); $forms = FormMeetingSeminar::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Medical Representatif') { $userId = auth()->user()->id; $cabangs = null; $forms = FormMeetingSeminar::where('user_id', $userId)->get(); } else { $cabangs = Cabang::all(); $forms = FormMeetingSeminar::all(); } // get all params in url $params = request()->all(); if($params) { if ($params['cabang']) { $cabang = Cabang::where('code', $params['cabang'])->first(); $users = UserHasCabang::where('cabang_id', $cabang->id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); } if($params['start_date'] && $params['end_date']) { $forms = $forms->whereBetween('tanggal', [$params['start_date'], $params['end_date']]); } if($params['start_date'] && !$params['end_date']) { $forms = $forms->where('tanggal', $params['start_date']); } if(!$params['start_date'] && $params['end_date']) { $forms = $forms->where('tanggal', $params['end_date']); } if($params['status']) { $forms = $forms->where('status', $params['status']); } } return view('backend.pages.report.meeting', [ 'pageInfo' => [ 'title' => 'Generate Reports For Form Meeting & Seminar', ], 'forms' => $forms, 'cabang' => $cabangs ]); } public function others() { $role = auth()->user()->getRoleNames()[0]; $cabangs = []; $forms = null; if ($role == 'Admin Region' || $role == 'Marketing Operational Manager Region') { $region_id = auth()->user()->getMyCabangAndRegionId()['region']; if ($region_id) { $users = UserHasCabang::whereHas('cabang', function ($query) use ($region_id) { $query->where('region_id', $region_id); })->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('region_id', $region_id)->get(); $forms = FormOthers::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Area Manager Cabang') { $cabang_id = auth()->user()->getMyCabangAndRegionId()['cabang']; if ($cabang_id) { $users = UserHasCabang::where('cabang_id', $cabang_id)->get(); $userIds = $users->pluck('user_id')->toArray(); $cabangs = Cabang::where('id', $cabang_id)->get(); $forms = FormOthers::whereIn('user_id', $userIds)->get(); } } else if ($role == 'Medical Representatif') { $userId = auth()->user()->id; $cabangs = null; $forms = FormOthers::where('user_id', $userId)->get(); } else { $cabangs = Cabang::all(); $forms = FormOthers::all(); } // get all params in url $params = request()->all(); if($params) { if ($params['cabang']) { $cabang = Cabang::where('code', $params['cabang'])->first(); $users = UserHasCabang::where('cabang_id', $cabang->id)->get(); $userIds = $users->pluck('user_id')->toArray(); $forms = $forms->whereIn('user_id', $userIds); } if($params['start_date'] && $params['end_date']) { $forms = $forms->whereBetween('tanggal', [$params['start_date'], $params['end_date']]); } if($params['start_date'] && !$params['end_date']) { $forms = $forms->where('tanggal', $params['start_date']); } if(!$params['start_date'] && $params['end_date']) { $forms = $forms->where('tanggal', $params['end_date']); } if($params['status']) { $forms = $forms->where('status', $params['status']); } } return view('backend.pages.report.others', [ 'pageInfo' => [ 'title' => 'Generate Reports For Form Others', ], 'forms' => $forms, 'cabang' => $cabangs ]); } }