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');
}
}
}
}
}