id(); $user = Staff::with('StaffDetail')->find($id); $file = ConfidentialFile::where('no_siri',$request->confidential)->first(); $now = Carbon::now(); $gDate = $now->format('F Y'); if($request->dashboard == "true"){ $compound = Compound::with('ConfidentialFile')->where('kpd',$request->kpd)->first(); $faulty = Faulty::with('DeedLaw', 'Department') ->where('_id', $compound->seksyen_kesalahan) ->orWhere('_id', $compound->seksyen_kesalahan_n)->first(); $jbkod = $compound->jbkod; $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(!empty($roles->staff_detail_ids)){ 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, ] ]); } if(!($request->kategori_modul == '03' && $compound->modul == '02')) { $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"){ $compound = Compound::with('ConfidentialFile')->where('confidential_file_id',$request->confidential)->first(); $data = array(); $kpd = ''; 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($compound->modul == '02') { $compound = Compound::with('ConfidentialFile')->where('non',$request->non)->first(); $faulty = Faulty::where('_id', $compound->seksyen_kesalahan_n)->first(); $department = Department::where('_id', $compound->jbkod)->first(); $deedlaw = DeedLaw::where('_id', $compound->akta_n)->first(); $jbkod = $compound->jbkod; $kpd = $compound->non; // dd($faulty); array_push($data, array( 'non' => $compound->non, 'jenis' => $compound->jenis_n, 'nama' => $compound->nama, 'identity' => $compound->identity, 'alamat' => $compound->alamat, 'nama_kawasan' =>$compound->nama_kawasan, 'nama_taman' => $compound->nama_taman, 'nama_jalan' =>$compound->nama_jalan, 'catatan' => $compound->butiran_kesalahan_n, 'lokasi_kejadian' => $compound->lokasi_kejadian, 'no_daftar_syarikat' =>$compound->no_daftar_syarikat, 'nama_syarikat' => $compound->nama_syarikat, 'lesen' => $compound->no_akaun_lesen, // 'latlong' => $compound->latlong, // 'jabatan' => $department->jnama, 'akta' => $deedlaw->nama, 'seksyen' => $faulty->nama, // 'tempoh' => $compound->tempoh, // 'tindakan' => $compound->tindakan ?? "", 'created_n' => $compound->created_n, )); } else{ $compound = Compound::with('ConfidentialFile')->where('kpd',$request->kpd)->first(); $faulty = Faulty::with('DeedLaw', 'Department') ->where('_id', $compound->seksyen_kesalahan)->first(); $jbkod = $compound->jbkod; $kpd = $compound->kpd; } // if($compound->modul == '02') // { // $this->dispatch(new StoreCompoundEPBT($request->all(), $compound->kpd, $user->StaffDetail->full_name, $user->StaffDetail->no_badan, $compound->seksyen_kesalahan)); // dd($faulty); // array_push($data, array( // 'non' => $compound->non, // 'jenis' => $compound->jenis_n, // 'nama' => $compound->nama, // 'identity' => $compound->identity, // 'alamat' => $compound->alamat, // 'nama_kawasan' =>$compound->nama_kawasan, // 'nama_taman' => $compound->nama_taman, // 'nama_jalan' =>$compound->nama_jalan, // 'catatan' => $compound->catatan, // 'latlong' => $compound->latlong, // 'jabatan' => $faulty['Department']['jnama'], // 'akta' => $faulty['DeedLaw']['nama'], // 'tempoh' => $compound->tempoh, // 'tindakan' => $compound->tindakan ?? "", // 'created_n' => $compound->created_n, // )); // } info(json_encode($data)); 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.' '.$kpd, 'msg' => 'Kompaun ini berada di ruangan '.$role->name , 'data' => json_encode($data), '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'); } } } } public function requestUpdateToCourt(Request $request) { $id = Auth::guard('sadmin')->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"){ if(!isset($compound->tarikh_mahkamah) ) { $compound->tarikh_mahkamah = $request->start_date; $compound->save(); $historyData = [ 'tarikh_kumpulan' => $gDate, ]; $subHistory = [ 'no_siri' => $compound->ConfidentialFile->no_siri, 'tajuk' => "Serahan Tarikh Mahkamah", 'huraian' => $compound->kpd. " diserahkan ke mahkamah pada ".$request->start_date, ]; $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 tarikh serahan ke mahkamah untuk kompaun ' . $compound->kpd); } else{ return redirect()->back()->withInput()->with('error_msg','Tidak Berjaya! Pindahan tarikh ke mahkamah telah dilakukan untuk kompaun ini!'); } } } public function requestViewAllPdf($kpd) { $ready_view_pdf = false; $availablePDF = array(); $now = Carbon::now()->format('d/m/Y h:i:s A'); $site = SiteSetting::first(); $compound = Compound::with('ConfidentialFile','Attachment','CompoundInvestigation')->where('kpd', $kpd)->orWhere('non', $kpd)->first(); if(empty($compound)) { $kpd = (int)$kpd; $compound = Compound::with('ConfidentialFile','Attachment','CompoundInvestigation')->where('kpd', $kpd)->orWhere('non', $kpd)->first(); } $file = ConfidentialFile::with(['Memo' => function($q){ $q->orderBy('updated_at','ASC'); }],['Investigation' => function($q){ $q->with(['Attachment' => function($w){ $w->first(); }])->orderBy('updated_at','ASC'); }],['ItemInventory' => function($w){ $w->with('Barcode'); }])->where('_id',$compound->ConfidentialFile->_id)->first(); /** ** Compound **/ $tawaran = ''; if($compound->jumlah_kemaskini_kompaun == ''){ $tawaran = $compound->jumlah_asal_kompaun; }else{ $tawaran = $compound->jumlah_kemaskini_kompaun; } $staff = Staff::with('StaffDetail')->where('_id', $compound->dikeluarkan)->first(); $staffN = Staff::with('StaffDetail')->where('_id', $compound->dikeluarkan_n)->first(); $faulty = Faulty::with('DeedLaw')->where('_id',$compound->seksyen_kesalahan)->first(); $faultyN = Faulty::with('DeedLaw')->where('_id', $compound->seksyen_kesalahan_n)->first(); $department = Department::where('_id', $compound->jbkod)->first(); $departmentN = Department::where('_id', $compound->jbkod)->first(); info($faultyN); $upload [] = [ 'name' => 'compound', 'contents' => $compound ]; $upload [] = [ 'name' => 'faulty', 'contents' => $faulty ]; $upload [] = [ 'name' => 'faultyN', 'contents' => $faultyN ]; $upload [] = [ 'name' => 'staff', 'contents' => $staff ]; $upload [] = [ 'name' => 'staffN', 'contents' => $staffN ]; $upload [] = [ 'name' => 'department', 'contents' => $department ]; $upload [] = [ 'name' => 'departmentN', 'contents' => $departmentN ]; $upload [] = [ 'name' => 'tawaran', 'contents' => $tawaran ]; $upload [] = [ 'name' => 'site', 'contents' => $site ]; $upload [] = [ 'name' => 'type', 'contents' => 'mbip' ]; $upload [] = [ 'name' => 'file', 'contents' => $file ]; $upload [] = [ 'name' => 'now', 'contents' => $now ]; $client = new \GuzzleHttp\Client(); $result = $client->request('POST', 'https://files.sipadu.my/api/compound/pdf', [ 'multipart' => $upload ]); $response = json_decode($result->getBody()->getContents()); if($response->success == true){ $compound->pdf_path = $response->data; $compound->save(); } /** ** Investigation **/ $upload [] = [ 'name' => 'file', 'contents' => $file ]; $temp = []; if(!empty($file->Investigation)){ foreach($file->Investigation as $i => $in){ $attach = Investigation::with('Attachment')->where('_id',$in->_id)->first(); foreach ($attach->Attachment as $key => $p) { $temp[] = $p->path; } } $upload [] = [ 'name' => 'fileInvest', 'contents' => json_encode($temp)]; } /** ** All Memo in file **/ if(!empty($file->Memo)){ $memoData = array(); foreach($file->Memo as $i => $m){ $memo = Memo::with('Attachment')->where('_id',$m->_id)->first(); $staffD = Staff::with('StaffDetail')->where('_id',$memo->dikeluarkan)->first(); $staffS = Staff::with('StaffDetail')->where('_id',$memo->disahkan)->first(); $kesalahan = Faulty::where('itkod', $memo->itkod)->first(); $dikeluarkan = ''; $disahkan = ''; $faulty = ''; $modul = ''; if(!empty($staffD)){ $dikeluarkan = $staffD->StaffDetail->full_name; } if(!empty($staffS)){ $disahkan = $staffD->StaffDetail->full_name; } if(!empty($kesalahan)){ $faulty ='['.$kesalahan->skter.'] '.$kesalahan->nama; } if($memo->modul != '-'){ $r = Roles::where('kod',$memo->modul)->first(); if(!empty($r)){ $modul = $r->name; } } $update = Carbon::parse($memo->updated)->toDateTimeString(); $mula = date('d/m/Y h:i a', strtotime($memo->tarikh_mula)); $akhir = date('d/m/Y', strtotime($memo->tarikh_akhir)); if($memo->jenis_data == "manual"){ $dataM = [ 'memo' => $memo, 'dikeluarkan' => $dikeluarkan, 'disahkan' => $disahkan, 'update' => $update, 'mula' => $mula, 'akhir' => $akhir, 'faulty' => $faulty, 'modul' => $modul, 'attachment' => [], ]; $memoData[] = $dataM; }else if($memo->jenis_data == "pdf"){ foreach($m->Attachment as $key => $a){ $pdf[] = $a->path; } $dataM = [ 'memo' => $memo, 'dikeluarkan' => $dikeluarkan, 'disahkan' => $disahkan, 'update' => $update, 'mula' => $mula, 'akhir' => $akhir, 'faulty' => $faulty, 'modul' => $modul, 'attachment' => $pdf, ]; $memoData[] = $dataM; } } $upload [] = [ 'name' => 'memo', 'contents' => json_encode($memoData)]; } /** ** Inventory **/ if(count($file->ItemInventory) > 0){ $dataItem = array(); foreach ($file->ItemInventory as $key => $b) { $barcode = ''; foreach ($b->Barcode as $key => $br) { $barcode .= ', '.$br->barcode_id; $data = [ 'item' => $b, 'barcode' => $barcode, ]; } $dataItem[] = $data; } $upload [] = [ 'name' => 'inventori', 'contents' => json_encode($dataItem)]; } $client = new \GuzzleHttp\Client(); $result = $client->request('POST', 'https://files.sipadu.my/api/store/compound/pdf', [ 'multipart' => $upload ]); $response = json_decode($result->getBody()->getContents()); if($response->success == true){ return redirect($response->data); }else if($response->success == false){ return response()->json($response->message); } } public function insertdata() { $roads = CodeMukim::all()->toArray(); $response = json_decode(file_get_contents(public_path(). '/mukim_kawasan_jalan_mbip.json')); $temp = []; if($response->success == true){ foreach ($response->data as $key => $r) { // search value in db COde Mukim, if none, add to array if(!in_array($r->_id, array_column($roads, '_id'))) { $com = new CodeMukim(); $com->_id = new \MongoDB\BSON\ObjectID($r->_id); $com->JLN_MKKOD = $r->JLN_MKKOD; $com->MKM_MNAMA = $r->MKM_MNAMA; $com->JLN_KWKOD = $r->JLN_KWKOD; $com->KWS_KNAMA = $r->KWS_KNAMA; $com->JLN_JNAMA = $r->JLN_JNAMA; $com->save(); if(!$com) { $temp[] = $r; } } } return 'data not inserted : ' . json_encode($temp); } } }