id(); $user = Staff::with('StaffDetail')->find($id); $compound = Compound::with('ConfidentialFile')->where('kpd',$request->kpd)->first(); $file = ConfidentialFile::where('no_siri',$compound->ConfidentialFile->no_siri)->first(); $jbkod = $compound->jbkod; $now = Carbon::now(); $gDate = $now->format('F Y'); if($request->dashboard == "true"){ $roles = Roles::where('kod', $request->kategori_modul)->first(); if($compound->modul == $request->kategori_modul){ return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Kompaun ini sudah berada di dalam kategori modul '.$roles->name); }else{ $reg_id = array(); if(count($roles->staff_detail_ids) > 0){ foreach($roles->staff_detail_ids as $s){ $staff = Staff::with(['StaffDetail' => function($q) use($jbkod){ $q->where('jbkod', $jbkod); }])->where('_id', $s)->first(); if(!empty($staff->StaffDetail)){ if($staff->token_firebase != ''){ $reg_id[] = $staff->token_firebase; } } } } if(count($reg_id) > 0) { $client = new \GuzzleHttp\Client(); $result = $client->request('POST', url('api/push/notification'), [ 'verify' => false, 'form_params' => [ 'title' => $roles->name.' '.$compound->kpd, 'msg' => 'Kompaun ini telah di pindahkan ke modul '.$roles->name, 'register_id' => $reg_id, ] ]); } $compound->modul = $request->kategori_modul; $compound->save(); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Serahan Modul", 'huraian' => $compound->kpd. " / Fail Kulit (".$compound->ConfidentialFile->no_siri.") telah diserahkan ke modul ".$roles->name, ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $compound->ConfidentialFile->history()->attach($history); } return redirect()->back()->with('success_msg', 'Berjaya Kemaskini! Kompaun ini berjaya diserahkan ke kategori modul '.$roles->name); } }else if($request->dashboard == "false"){ if($compound->penguatkuasa == $request->penguatkuasa){ $staff = StaffDetail::where('_id',$request->penguatkuasa)->first(); return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Kompaun ini sudah diserahkan kepada penguatkuasa ['.$staff->no_badan.'] '.$staff->full_name); }else{ $staff = Staff::with('StaffDetail')->where('_id',$request->penguatkuasa)->where(function($q){ $q->where('roles_access','PenguatKuasa')->orWhere('roles_access','PPenguatKuasa'); })->first(); $role = Roles::where('kod', $compound->modul)->first(); if(!empty($staff)){ if($staff->token_firebase != '') { $client = new \GuzzleHttp\Client(); $result = $client->request('POST', url('api/push/notification'), [ 'verify' => false, 'form_params' => [ 'title' => $role->name.' '.$compound->kpd, 'msg' => 'Kompaun ini berada di ruangan '.$role->name, 'register_id[]' => $staff->token_firebase, ] ]); } $compound->penguatkuasa = $request->penguatkuasa; $compound->save(); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Menugaskan Penguatkuasa ".$staff->StaffDetail->full_name, 'huraian' => $compound->kpd. " / Fail Kulit (".$compound->ConfidentialFile->no_siri.") telah ditugaskan kepada penguatkuasa _id."/profile'>".$staff->StaffDetail->full_name.".", ]; $groupByDate = History::where('tarikh_kumpulan', $gDate)->first(); if(!empty($groupByDate)){ $groupByDate->subhistory()->create($subHistory); $compound->ConfidentialFile->history()->attach($groupByDate); }else{ $history = History::create($historyData); $history->subhistory()->create($subHistory); $compound->ConfidentialFile->history()->attach($history); } return redirect()->back()->with('success_msg', 'Berjaya Kemaskini! Kompaun ini berjaya ditugaskan kepada penguatkuasa ['.$staff->no_badan.'] '.$staff->StaffDetail->full_name); }else{ return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Data penguatkuasa tidak ditemui'); } } } } }