get(); $kawasans = Kawasan::all(); $i = 0; foreach($kawasans as $kaw){ $pie_nama[] = $kaw->nama; $pie[] = LesenPenjaja::where('kawasan_id', $kaw->id)->where('status_progress', 'baru')->count(); $pie_kaler[] = $colors[$i]; $i++; } return view('admin.penjaja.senaraibaru', compact('senarais', 'txt_bayar', 'pie_nama', 'pie', 'pie_kaler')); } // public function senarai_pt_proses(Request $request){ $txt_bayar = ''; $senarais = LesenPenjaja::where('status_progress', 'menunggu bayaran proses')->get(); foreach($senarais as $senarai){ foreach($senarai->bilpelbagais->where('jenis_bil', 'wang proses') as $bil_p){ try { DB::connection('second_mysql')->getPdo(); if((is_null($bil_p->description))||($bil_p->description == '')){ $epbtbil = EpbtBpBil::where('noakaun', $bil_p->no_bil_pelbagai)->first(); if($epbtbil){ $bil_p->status_mylesen_error = ''; $bil_p->ref_no = $epbtbil->norujukan; $bil_p->description = $epbtbil->keterangan; $bil_p->pay_status = $epbtbil->statusbyr; $bil_p->jabatan = $epbtbil->dept_code; $bil_p->ent_opr = $epbtbil->ent_opr; $bil_p->no_bilpelbagai = $epbtbil->nobil; $bil_p->save(); foreach($epbtbil->bil_items as $epbtbil_item){ $bilitem = BilPelbagaiItem::create([ 'bil_pelbagai_id' => $bil_p->id, 'itemno' => $epbtbil_item->noitem, 'itemdesc' => $epbtbil_item->keterangan, 'itemprice' => $epbtbil_item->amaun, 'gst_type' => $epbtbil_item->jenis_gst, 'gst_code' => $epbtbil_item->kod_gst, 'cr_code' => $epbtbil_item->kodcr, 'dr_code' => $epbtbil_item->koddr, 'cost_center' => $epbtbil_item->pusatkos, 'exp_date' => $epbtbil_item->tamat_tempoh ]); } } } $bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($bil_p){ $query->where('noakaun', $bil_p->no_bil_pelbagai); })->select('noresit', 'tarikh','amaun') ->orderBy('tarikh') ->first(); if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod $bil_p->dt_bayar = $bp_bayar->tarikh; $bil_p->no_resit = $bp_bayar->noresit; $bil_p->amaun_bayar = $bp_bayar->amaun; $bil_p->save(); $senarai->status_progress = 'semakan bayaran proses'; $senarai->save(); } } catch (\Exception $e) { return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.'); } } } return view('admin.penjaja.senaraiproses', compact('senarais', 'txt_bayar')); } // public function senarai_pt_bukafail(Request $request){ $txt_bayar = ''; $senarais = LesenPenjaja::where('status_progress', 'semakan bayaran proses')->get(); return view('admin.penjaja.senaraibukafail', compact('senarais', 'txt_bayar')); } // public function senarai_pt_daftarlesen(Request $request){ $txt_bayar = ''; $senarais = LesenPenjaja::whereIn('status_progress', ['ulasan pegawai', 'ulasan pengarah', 'sokong dibawa ke mesyuarat'])->whereNull('no_akaun_lesen')->get(); return view('admin.penjaja.senaraidaftarlesen', compact('senarais', 'txt_bayar')); } // public function senarai_mesyuarat(Request $request){ $txt_bayar = ''; $mesyuarat = MesyuaratPelesenan::latest()->first(); $mesyuarats = MesyuaratPelesenan::withCount('lesen_penjajas')->get(); $senarais = LesenPenjaja::where('status_progress', 'sokong dibawa ke mesyuarat')->get(); return view('admin.penjaja.senaraimesyuarat', compact('senarais', 'mesyuarat', 'mesyuarats')); } // public function senarai_bawa_mesyuarat(Request $request, $mesyuarat_id){ $txt_bayar = ''; $mesyuarat = MesyuaratPelesenan::find($mesyuarat_id); $senarais = LesenPenjaja::where('status_progress', 'sokong dibawa ke mesyuarat')->whereDoesntHave('mesyuarats')->get(); return view('admin.penjaja.senaraibawamesyuaratbaru', compact('senarais', 'mesyuarat')); } // public function senarai_keputusan_mesyuarat(Request $request){ $txt_bayar = ''; $mesyuarats = MesyuaratPelesenan::where('kunci_senarai', '1')->withCount('lesen_penjajas')->get(); return view('admin.penjaja.senaraikeputusanmesyuarat', compact('mesyuarats')); } // public function senarai_keputusan_minit_mesyuarat(Request $request, $mesyuarat_id){ $txt_bayar = ''; $mesyuarat = MesyuaratPelesenan::find($mesyuarat_id); return view('admin.penjaja.senaraikeputusanminitmesyuarat', compact('mesyuarat')); } // public function senarai_all(Request $request){ $query = LesenPenjaja::with(['user', 'syarikat']); // carian nama pemohon atau nama syarikat if ($request->filled('katakunci')) { $katakunci = $request->katakunci; $query->whereHas('user', function($q) use ($katakunci) { $q->where('name', 'like', "%$katakunci%"); })->orWhereHas('syarikat', function($q) use ($katakunci) { $q->where('name', 'like', "%$katakunci%"); }); } // carian tahun permohonan if ($request->filled('tahun')) { $query->whereYear('tarikh_mohon', $request->tahun); } // pagination $senarais = $query->latest()->paginate(10); return view('admin.penjaja.laporandashboard', compact('senarais')); } public function papar(Request $request, $id){ $show = 'utama'; $mohon_id = $id; $permohonan = LesenPenjaja::find($id); return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id')); } public function papar_map(Request $request, $id){ $show = 'lokasi'; $mohon_id = $id; $permohonan = LesenPenjaja::find($id); return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'mohon_id')); } public function papar_dokumen(Request $request, $id){ $show = 'dokumen'; $mohon_id = $id; $permohonan = LesenPenjaja::find($id); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; if(!$permohonan->dokumens->isEmpty()){ $doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan'); $doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar'); $doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi'); $doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran'); $doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan'); $doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran'); $doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2'); $doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan'); } return view('admin.penjaja.papar_permohonan', compact('show', 'permohonan', 'doc_kad_pengenalan','doc_gambar', 'doc_lokasi','doc_kebenaran','doc_kenderaan','doc_kenderaan_geran', 'doc_suntikan_ty2', 'doc_kursus_makanan', 'mohon_id')); } public function papar_wangproses(Request $request, $id){ $show = 'wang proses'; $mohon_id = $id; $permohonan = LesenPenjaja::find($id); $jenis_jualans = JenisJualan::all(); $kawasans = Kawasan::all(); $tamans = []; if($permohonan->kawasan_id){ $tamans = Taman::where('kawasan_id', $permohonan->kawasan_id)->get(); } $jalans = []; if($permohonan->taman_id){ $jalans = Jalan::where('taman_id', $permohonan->taman_id)->get(); } return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id', 'kawasans', 'tamans', 'jalans','jenis_jualans')); } public function papar_lesen(Request $request, $id){ $show = 'lesen'; $mohon_id = $id; $permohonan = LesenPenjaja::find($id); return view('admin.penjaja.papar_permohonan', compact('show','permohonan', 'mohon_id')); } public function showDokumen($id, $filename) { $path = 'dokumens/penjaja/'.$id.'/'.$filename; if (!Storage::exists($path)) { abort(404); } return response()->file(storage_path('app/' . $path)); } public function create(Request $request): View { $lesen_penjaja = new LesenPenjaja(); $penjaja = new User(); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; return view('admin.penjaja.mohon_baru', [ 'user' => $penjaja, 'permohonan' => $lesen_penjaja, 'doc_kad_pengenalan' => $doc_kad_pengenalan, 'doc_gambar' => $doc_gambar, 'doc_lokasi' => $doc_lokasi, 'doc_kebenaran' => $doc_kebenaran, 'doc_kenderaan' => $doc_kenderaan, 'doc_kenderaan_geran' => $doc_kenderaan_geran, 'doc_suntikan_ty2' => $doc_suntikan_ty2, 'doc_kursus_makanan' => $doc_kursus_makanan, ]); } /** * Handle an incoming registration request. * * @throws \Illuminate\Validation\ValidationException */ public function store(Request $request) { $penjaja = User::create([ 'name' => $request->name, 'email' => $request->email, 'nokp' => $request->nokp, 'notelefon' => $request->notelefon, 'alamat' => $request->alamat, 'jantina' => $request->jantina, 'bangsa' => $request->bangsa, 'password' => Hash::make($request->nokp), ]); $syarikat = Syarikat::firstOrCreate(['nossm'=>$request->nossm], [ 'name' => ltrim(rtrim($request->nama_perniagaan)), 'jenis_perniagaan' => $request->jenis_perniagaan, 'nossm' => ltrim(rtrim($request->nossm)), 'alamat' => ltrim(rtrim($request->alamat_perniagaan)), 'notelefon' => ltrim(rtrim($request->notelefon_perniagaan)), 'bil_cawangan' => ltrim(rtrim($request->bil_cawangan)), ]); $user_syarikat = UserSyarikat::create([ 'user_id' => $penjaja->id, 'syarikat_id' => $syarikat->id, 'status' => 'aktif' ]); $jenis_penjaja = JenisPenjaja::find($request->jenis_penjaja_id); if($request->mohon_id != ''){ $lesen_penjaja = LesenPenjaja::find($request->mohon_id); $lesen_penjaja->user_id = $penjaja->id; $lesen_penjaja->syarikat_id = $syarikat->id; $lesen_penjaja->jenis_penjaja_id = $request->jenis_penjaja; $lesen_penjaja->jenis_lain = ''; $lesen_penjaja->status_tanah = $request->status_tanah; $lesen_penjaja->status_lain = ''; $lesen_penjaja->no_petak = $request->petak_penjajaan; $lesen_penjaja->kawasan_id = $request->kawasan; $lesen_penjaja->taman_id = $request->taman; $lesen_penjaja->jalan_id = $request->jalan; $lesen_penjaja->penempatan_id = $request->penempatan; $lesen_penjaja->makanan = $request->makanan; $lesen_penjaja->minuman = $request->minuman; $lesen_penjaja->lain = $request->lain; $lesen_penjaja->masa_jualan_mula = $request->masa_jualan_mula; $lesen_penjaja->masa_jualan_tamat = $request->masa_jualan_tamat; $lesen_penjaja->jenis_kenderaan = $request->jenis_kenderaan; $lesen_penjaja->no_pendaftaran = $request->no_pendaftaran; $lesen_penjaja->longitude = $request->longitude; $lesen_penjaja->latitude = $request->latitude; $lesen_penjaja->group_laporan = $jenis_penjaja->kategori; $lesen_penjaja->tarikhmohon = $request->tarikh_mohon; $lesen_penjaja->save(); } else{ $lesen_penjaja = LesenPenjaja::create([ 'user_id' => $penjaja->id, 'syarikat_id' => $syarikat->id, 'jenis_penjaja_id' => $request->jenis_penjaja_id, 'jenis_lain' => '', 'status_tanah' => $request->status_tanah, 'status_lain' => '', 'no_petak' => $request->petak_penjajaan, 'kawasan_id' => $request->kawasan, 'taman_id' => $request->taman, 'jalan_id' => $request->jalan, 'penempatan_id' => $request->penempatan, 'makanan' => $request->makanan, 'minuman' => $request->minuman, 'lain' => $request->lain, 'masa_jualan_mula' => $request->masa_jualan_mula, 'masa_jualan_tamat' => $request->masa_jualan_tamat, 'jenis_kenderaan' => $request->jenis_kenderaan, 'no_pendaftaran' => $request->no_pendaftaran, 'longitude' => $request->longitude, 'latitude' => $request->latitude, 'group_laporan' => $jenis_penjaja->kategori, 'tarikhmohon' => $request->tarikh_mohon ]); } $folder = 'dokumens/penjaja/'.$lesen_penjaja->id.'/'; $nama_doc = Dokumen::where('jenis', 'lesen_penjaja')->get(); foreach($nama_doc as $doc){ if ($request->hasFile($doc->nama)) { //ada upload? $validated = $request->validate([ $doc->nama => 'file|mimes:jpg,png,pdf', // 2MB max ]); // Store the file $path = $request->file($doc->nama); $extension = $path->extension(); // Determine the file's extension based on the file's MIME type... $name = $doc->nama.".".$extension; $path->storeAs($folder, $name); $lesen_penjaja_dokumen = LesenPenjajaDokumen::updateOrCreate( [ 'lesen_penjaja_id' => $lesen_penjaja->id, 'dokumen_id' => $doc->id, ], [ 'lesen_penjaja_id' => $lesen_penjaja->id, 'dokumen_id' => $doc->id, 'path' => $name, 'jenis_dokumen' => $extension, ]); } } $bil_p = BilPelbagai::firstOrCreate( ['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $lesen_penjaja->id], ['no_akaun_bilpelbagai' => $request->no_bil_pelbagai, 'lesen_penjaja_id' => $lesen_penjaja->id, 'cara_jana' => 'mylesen', 'jenis_bil'=> 'wang proses', 'status_mylesen'=>'1'] ); $lesen_penjaja->status_progress = 'menunggu bayaran proses'; $lesen_penjaja->save(); try { DB::connection('second_mysql')->getPdo(); if($bil_p->wasRecentlyCreated){ $epbtbil = EpbtBpBil::where('noakaun', $request->no_bil_pelbagai)->first(); if($epbtbil){ $bil_p->status_mylesen_error = ''; $bil_p->ref_no = $epbtbil->norujukan; $bil_p->description = $epbtbil->keterangan; $bil_p->pay_status = $epbtbil->statusbyr; $bil_p->jabatan = $epbtbil->dept_code; $bil_p->ent_opr = $epbtbil->ent_opr; $bil_p->no_bilpelbagai = $epbtbil->nobil; $bil_p->save(); foreach($epbtbil->bil_items as $epbtbil_item){ $bilitem = BilPelbagaiItem::create([ 'bil_pelbagai_id' => $bil_p->id, 'itemno' => $epbtbil_item->noitem, 'itemdesc' => $epbtbil_item->keterangan, 'itemprice' => $epbtbil_item->amaun, 'gst_type' => $epbtbil_item->jenis_gst, 'gst_code' => $epbtbil_item->kod_gst, 'cr_code' => $epbtbil_item->kodcr, 'dr_code' => $epbtbil_item->koddr, 'cost_center' => $epbtbil_item->pusatkos, 'exp_date' => $epbtbil_item->tamat_tempoh ]); } } } $bp_bayar = EpbtEcasResit::whereHas('resitItems', function($query) use ($request){ $query->where('noakaun', $request->no_bil_pelbagai); })->select('noresit', 'tarikh','amaun') ->orderBy('tarikh') ->first(); if(!is_null($bp_bayar)){ //cek no resit daripada epbt..klu ada, kita simpan rekod $bil_p->dt_bayar = $bp_bayar->tarikh; $bil_p->no_resit = $bp_bayar->noresit; $bil_p->amaun_bayar = $bp_bayar->amaun; $bil_p->save(); $lesen_penjaja->status_progress = 'semakan bayaran proses'; $lesen_penjaja->save(); } } catch (\Exception $e) { return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.'); } $lesen_penjaja->no_fail_lesen = $request->no_fail_lesen; $lesen_penjaja->no_akaun_lesen = $request->no_akaun_lesen; $lesen_penjaja->kod_lesen = $request->kod_lesen; $lesen_penjaja->kodkawasan = $request->kawasan; $lesen_penjaja->jenis_jualan_id = $request->jenis_jualan; try { DB::connection('second_mysql')->getPdo(); $epbtlsn = EpbtElsnAkaun::where('noakaun', $request->no_akaun_lesen)->where('statusaktif', 'A')->first(); if(!is_null($epbtlsn)){ $lesen_penjaja->dt_lesen_dikeluarkan = $epbtlsn->ent_date; $bil_kpi = $lesen_penjaja->kiraKpi(); } } catch (\Exception $e) { //return back()->with('error', 'Sambungan ke pangkalan data gagal. Sila cuba sebentar lagi.'); } $lesen_penjaja->status_progress = 'lawatan tapak'; $lesen_penjaja->save(); $borang = new BorangUlasanIK; $borang->lesen_penjaja_id = $lesen_penjaja->id; $borang->dt_rujuk_ppkp = now(); $borang->save(); // $request->session()->put('lesen_penjaja_id', $lesen_penjaja->id); return redirect(route('admin.papar', ['id' => $lesen_penjaja->id]))->with('success', 'Permohonan telah disimpan.'); } public function edit_permohonan(Request $request, $id){ $permohonan = LesenPenjaja::find($id); $doc_kad_pengenalan = null; $doc_gambar = null; $doc_lokasi = null; $doc_kebenaran = null; $doc_kenderaan = null; $doc_kenderaan_geran = null; $doc_suntikan_ty2 = null; $doc_kursus_makanan = null; if(!$permohonan->dokumens->isEmpty()){ $doc_kad_pengenalan = $permohonan->dokumens->firstWhere('nama', 'doc_kad_pengenalan'); $doc_gambar = $permohonan->dokumens->firstWhere('nama', 'doc_gambar'); $doc_lokasi = $permohonan->dokumens->firstWhere('nama', 'doc_lokasi'); $doc_kebenaran = $permohonan->dokumens->firstWhere('nama', 'doc_kebenaran'); $doc_kenderaan = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan'); $doc_kenderaan_geran = $permohonan->dokumens->firstWhere('nama', 'doc_kenderaan_geran'); $doc_suntikan_ty2 = $permohonan->dokumens->firstWhere('nama', 'doc_suntikan_ty2'); $doc_kursus_makanan = $permohonan->dokumens->firstWhere('nama', 'doc_kursus_makanan'); } if(!is_null($permohonan)){ Gate::authorize('keje-pt', $permohonan); return view('admin.penjaja.mohon_baru', [ 'permohonan' => $permohonan, 'doc_kad_pengenalan' => $doc_kad_pengenalan, 'doc_gambar' => $doc_gambar, 'doc_lokasi' => $doc_lokasi, 'doc_kebenaran' => $doc_kebenaran, 'doc_kenderaan' => $doc_kenderaan, 'doc_kenderaan_geran' => $doc_kenderaan_geran, 'doc_suntikan_ty2' => $doc_suntikan_ty2, 'doc_kursus_makanan' => $doc_kursus_makanan, ]); } else{ return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai'); } } public function hapus_permohonan($id){ $permohonan = LesenPenjaja::find($id); Gate::authorize('keje-pt', $permohonan); $permohonan->delete(); return redirect(route('dashboard', absolute: false)); } public function hantar_permohonan(Request $request){ $permohonan = LesenPenjaja::find($request->session()->get('lesen_penjaja_id')); if(!is_null($permohonan)){ Gate::authorize('keje-pt', $permohonan); $permohonan->status_progress = 'baru'; $permohonan->save(); return redirect(route('dashboard', absolute: false))->with('success', 'Permohonan berjaya dihantar.'); } else{ return redirect(route('dashboard', absolute: false))->with('error', 'Permohonan tidak dijumpai'); } } }