get(); $curr = Carbon::now()->getTimestamp(); foreach($department as $a) { $n1 = ''; $reg_time = $a->updated_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "Baru/"; }else{ $n1 = ""; } array_push($nested_data, array( 'jkod' => $n1.$a->jbkod, 'jnama' => $a->jnama, 'alam1' => $a->alam1, 'alam2' => $a->alam2, 'alam3' => $a->alam3, 'tindakan' => $a->_id )); } return \DataTables::of($nested_data)->make(true); } public function departmentDetail(Request $request) { $department = Department::where('_id',$request->get('id'))->first(); if(!empty($department)){ return response()->json(['status' => 'true', 'desc' => $department]); }else{ return response()->json(['status' => 'false', 'desc' => 'Rekod ini tidak ditemui']); } } public function deleteDepartment(Request $request) { $department = Department::where('_id',$request->get('jid'))->first(); if(!empty($department)){ $department->delete(); return response()->json(['status' => 'true', 'desc' => 'Buang rekod jabatan ( '.$department->jnama.' )']); }else{ return response()->json(['status' => 'false', 'desc' => 'Buang rekod jabatan ( '.$department->jnama.' )']); } } public function filterDepartmentBasedFaulty($id) { $data = array(); $faulty = Faulty::with('Department')->where('_id',$id)->first(); if(!empty($faulty)){ if(!empty($faulty->Department)){ foreach ($faulty->Department as $key => $k) { array_push($data, array( '_id' => $k->_id, 'nama' => '['.$k->jbkod.'] '.$k->jnama )); } } return $this->sendResponse($data, 'Rekod Ditemui'); }else{ return $this->sendError('', 'Rekod Ditemui'); } } /** * Create a acts & uuk list controller. * * @return json */ public function deedLawList() { $nested_data = array(); $akta = DeedLaw::with('Department')->orderBy('updated_at', 'desc')->get(); $curr = Carbon::now()->getTimestamp(); foreach($akta as $key => $a) { $n1 = ''; $reg_time = $a->updated_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "Baru/"; }else{ $n1 = ""; } $temp = []; if(!empty($a->Department)){ foreach ($a->Department as $key => $d) { $temp[] = $d->jbkod; $jabatan = implode( ", ", $temp ); } }else{ $jabatan = '-'; } array_push($nested_data, array( 'tarikh' => $n1.$a->tarikh, 'jbkod' => $jabatan, 'nama' => $a->nama, 'tindakan' => $a->_id )); } return \DataTables::of($nested_data)->make(true); } public function officerDeedLawList($id) { $nested_data = array(); $temp = []; $curr = Carbon::now()->getTimestamp(); $department = Department::with(['DeedLaw' => function($q){ $q->with('Department'); }])->whereHas('StaffDetail', function($q) use ($id) { $q->where('_id', $id); })->get(); if(!empty($department)){ foreach ($department as $key => $de) { if(!empty($de->DeedLaw)){ foreach ($de->DeedLaw as $key => $law) { if(!in_array($law->_id, (array)$temp)) { $temp[] = $law; } } } } } if(!empty($temp)){ foreach($temp as $a) { $n1 = ''; $jabatan = '-'; $reg_time = $a['updated_at']; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "Baru/"; }else{ $n1 = ""; } $tempJ = []; foreach ($a->Department as $key => $d) { if(!empty($a->Department)){ $tempJ[] = $d->jbkod; } } $jabatan = implode( ", ", $tempJ ); array_push($nested_data, array( 'tarikh' => $n1.$a->tarikh, 'jbkod' => $jabatan, 'nama' => $a->nama, 'tindakan' => $a->_id )); } } return \DataTables::of($nested_data)->make(true); } public function deedLawDetail(Request $request) { $akta = DeedLaw::where('_id',$request->get('id'))->first(); if(!empty($akta)){ return response()->json(['status' => 'true', 'desc' => $akta]); }else{ return response()->json(['status' => 'false', 'desc' => 'Rekod ini tidak ditemui']); } } public function deleteDeedLaw(Request $request) { $akta = DeedLaw::where('_id',$request->get('aid'))->first(); if(!empty($akta)){ $akta->department()->detach(); $akta->delete(); return response()->json(['status' => 'true', 'desc' => 'Buang rekod akta/uuk ( '.$akta->nama.' )']); }else{ return response()->json(['status' => 'false', 'desc' => '( Buang rekod akta/uuk ( '.$akta->nama.' )']); } } public function getDeedlawBasedFaulty($id) { $data = array(); $faulty = Faulty::with('DeedLaw')->where('_id',$id)->first(); if(!empty($faulty)){ if(!empty($faulty->DeedLaw)){ return $this->sendResponse($faulty->DeedLaw->nama, 'Rekod Ditemui'); } }else{ return $this->sendError('', 'Rekod Ditemui'); } } /** * Create a faulty list controller. * * @return json */ public function faultyList() { $nested_data = array(); $jabatan = '-'; $n1 = ''; $faulty = Faulty::with('DeedLaw','Department')->orderBy('updated_at', 'DESC')->get(); $curr = Carbon::now()->getTimestamp(); foreach($faulty as $k) { $tempJ = []; $jabatan = '-'; $reg_time = $k->updated_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "Baru/"; }else{ $n1 = ""; } if(!empty($k->DeedLaw) && !empty($k->Department)){ foreach($k->Department as $d){ $tempJ[] = $d->jbkod; $jabatan = implode( ", ", $tempJ ); } array_push($nested_data, array( 'jbkod' => $n1.$jabatan, 'akkod' => $k->DeedLaw->akkod, 'nakkod' => $k->DeedLaw->nama, 'sketr' => $k->sketr, 'nama' => $k->nama, 'amount14' => $k->amount_before_14, 'amount30' => $k->amount_before_30, 'amount' => $k->amount, 'tindakan' => $k->_id, )); } } return \DataTables::of($nested_data)->make(true); } public function officerFaultyList($id) { $nested_data = array(); $jabatan = ''; $temp = []; $curr = Carbon::now()->getTimestamp(); $department = Department::with(['Faulty' => function($q){ $q->with('Department'); }])->whereHas('StaffDetail', function($q) use ($id) { $q->where('_id', $id); })->get(); if(!empty($department)){ foreach ($department as $key => $de) { if(!empty($de->Faulty)){ foreach ($de->Faulty as $key => $faulty) { if(!in_array($faulty->_id, (array)$temp)) { $temp[] = $faulty; } } } } } foreach($temp as $k) { $n1 = ''; $jabatan = '-'; $reg_time = $k->updated_at; $expiry_date = $reg_time->addDays(3); $expiry_date = $expiry_date->getTimestamp(); if($curr < $expiry_date) { $n1 = "Baru/"; }else{ $n1 = ""; } $tempJ = []; foreach ($k->Department as $key => $d) { if(!empty($k->Department)){ $tempJ[] = $d->jbkod; } } $jabatan = implode( ", ", $tempJ ); if(!empty($temp)){ foreach($temp as $d){ array_push($nested_data, array( 'jbkod' => $n1.$jabatan, 'akkod' => $k->DeedLaw->akkod, 'sketr' => $k->sketr, 'nama' => $k->nama, 'amount14' => $k->amount_before_14, 'amount30' => $k->amount_before_30, 'amount' => $k->amount, 'tindakan' => $k->_id, )); } } } return \DataTables::of($nested_data)->make(true); } public function faultyListFilter($jbkod,$akkod) { $faulty = Faulty::where('department_ids',$jbkod)->where('deed_law_id', $akkod)->get(); if(!empty($faulty)){ return $this->sendResponse($faulty, 'Rekod Ditemui'); }else{ return $this->sendError('', 'Rekod Ditemui'); } } public function faultyDetail(Request $request) { $jabatan = '-'; $faulty = Faulty::with('DeedLaw','Department')->where('_id',$request->get('id'))->first(); if(!empty($faulty)){ if(!empty($faulty->Department)){ foreach($faulty->Department as $d){ $tempJ[] = $d->jbkod; $jabatan = implode( ", ", $tempJ ); } } $data = [ '_id' => $faulty->_id, 'jbkod' => $jabatan, 'akkod' => $faulty->DeedLaw->_id, 'itkod' => $faulty->itkod, 'sketr' => $faulty->sketr, 'nama' => $faulty->nama, 'amount14' => $faulty->amount_before_14, 'amount30' => $faulty->amount_before_30, 'amount' => $faulty->amount, ]; return response()->json(['status' => 'true', 'desc' => $data]); }else{ return response()->json(['status' => 'false', 'desc' => 'Rekod ini tidak ditemui']); } } public function deleteFaulty(Request $request) { $faulty = Faulty::where('_id',$request->get('kid'))->first(); if(!empty($faulty)){ $faulty->department()->detach(); $faulty->delete(); return response()->json(['status' => 'true', 'desc' => 'Buang rekod seksyen/kesalahan ( '.$faulty->nama.' )']); }else{ return response()->json(['status' => 'false', 'desc' => 'Buang rekod seksyen/kesalahan ( '.$faulty->nama.' )']); } } /** * Create fetch data deedlaw & faulty based on staff login. * * @return json */ public function requestStaffDepartment(Request $request){ $staff = Staff::with(['StaffDetail' => function($q){ $q->with('Department'); }])->where('api_token', $request->api_token)->first(); $department = $staff->StaffDetail->Department; $data = array(); if(!empty($staff)){ if(!empty($department)){ foreach ($department as $key => $k) { array_push($data, array( '_id' => $k->_id, 'jbkod' => $k->jbkod, 'nama' => '['.$k->jbkod.'] '.$k->jnama )); } return $this->sendResponse($data, 'Berjaya, mendapatkan akta kesalahan'); }else{ return $this->sendError('Gagal', 'Maaf, data akta kesalahan tidak ditemui'); } }else { return $this->sendError('Gagal', 'Maaf, penguatkuasa tidak wujud'); } } public function requestStaffDeedLaw(Request $request){ $staff = Staff::with('StaffDetail')->where('api_token', $request->api_token)->first(); // $department = $request->department; // $deedlaw = DeedLaw::with('Department'); // $deedlaw->whereHas('Department', function($q) use ($department) { // $q->whereIn('_id', $department); // }); $temp = []; if(!empty($staff)){ $data = array(); $detail = StaffDetail::with(['Department' => function($q) { $q->with('DeedLaw'); }])->where('_id', $staff->_id)->first(); foreach ($detail->Department as $key => $d) { foreach ($d->DeedLaw as $key => $de) { if(!in_array($de->_id, array_column((array)$d->DeedLaw, '_id'))){ $temp[] = $de; } } } if(!empty($temp)){ foreach ($temp as $key => $k) { array_push($data, array( 'akkod' => $k->_id, 'tarikh' => $k->tarikh, 'nama' => '['.$k->akkod.'] '.$k->nama )); } return $this->sendResponse($data, 'Berjaya, mendapatkan akta kesalahan'); }else{ return $this->sendError('Gagal', 'Maaf, data akta kesalahan tidak ditemui'); } }else { return $this->sendError('Gagal', 'Maaf, penguatkuasa tidak wujud'); } } public function requestStaffFaulty(Request $request){ $staff = Staff::with('StaffDetail')->where('api_token', $request->api_token)->first(); if(!empty($staff)){ $data = array(); $faulty = Faulty::with('Department')->where('deed_law_id', $request->akkod); $department = $request->department; $faulty->whereHas('Department', function($q) use ($department) { $q->where('_id', $department); }); $faulty = $faulty->get(); if(!empty($faulty)){ foreach($faulty as $k){ array_push($data, array( 'itkod' => $k->_id, 'sketr' => $k->sketr, 'nama' => '['.$k->sketr.'] '.$k->nama, 'jumlah' => $k->amount, //jumlah asal kompaun 'kadar_sebelum_14' => $k->amount_before_14, //kadar bayar sebelum 7 hari 'kadar_sebelum_30' => $k->amount_before_30, //kadar bayar sebelum 14 hari )); } return $this->sendResponse($data, 'Berjaya, mendapatkan seksyen kesalahan'); }else { return $this->sendError('Gagal', 'Maaf, data seksyen kesalahan tidak ditemui'); } }else { return $this->sendError('Gagal', 'Maaf, penguatkuasa tidak wujud'); } } }