From 9bc59a0ac1297e332269d8b5483a543b15130caf Mon Sep 17 00:00:00 2001 From: Ilham Wara Nugroho Date: Fri, 2 Jan 2026 14:34:17 +0700 Subject: [PATCH] update --- .../Controllers/Kalkulasi/CRFController.php | 152 +++++++++++++++++- .../Controllers/Kalkulasi/GCOMController.php | 152 +++++++++++++++++- .../Controllers/Kalkulasi/GPCController.php | 152 +++++++++++++++++- .../Kalkulasi/HitungProdusenController.php | 152 +++++++++++++++++- .../Kalkulasi/KalkulasiEmisiController.php | 152 +++++++++++++++++- .../Kalkulasi/KunciAktifitasController.php | 152 +++++++++++++++++- .../Kalkulasi/SalinAktifitasController.php | 152 +++++++++++++++++- .../Kalkulasi/WorksheetController.php | 152 +++++++++++++++++- 8 files changed, 1184 insertions(+), 32 deletions(-) diff --git a/app/Http/Controllers/Kalkulasi/CRFController.php b/app/Http/Controllers/Kalkulasi/CRFController.php index f427817..5be5ad4 100644 --- a/app/Http/Controllers/Kalkulasi/CRFController.php +++ b/app/Http/Controllers/Kalkulasi/CRFController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class CRFController extends Controller { + protected $title = 'CRF'; + protected $template = 'modules.kalkulasi.crf'; + protected $route = 'modules.kalkulasi.crf'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'CRF','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class CRFController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class CRFController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/GCOMController.php b/app/Http/Controllers/Kalkulasi/GCOMController.php index 6831ab6..298e26b 100644 --- a/app/Http/Controllers/Kalkulasi/GCOMController.php +++ b/app/Http/Controllers/Kalkulasi/GCOMController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class GCOMController extends Controller { + protected $title = 'GCOM'; + protected $template = 'modules.kalkulasi.gcom'; + protected $route = 'modules.kalkulasi.gcom'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'GCOM','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class GCOMController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class GCOMController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/GPCController.php b/app/Http/Controllers/Kalkulasi/GPCController.php index 622a2db..7f5c058 100644 --- a/app/Http/Controllers/Kalkulasi/GPCController.php +++ b/app/Http/Controllers/Kalkulasi/GPCController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class GPCController extends Controller { + protected $title = 'GPC'; + protected $template = 'modules.kalkulasi.gpc'; + protected $route = 'modules.kalkulasi.gpc'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'GPC','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class GPCController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class GPCController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/HitungProdusenController.php b/app/Http/Controllers/Kalkulasi/HitungProdusenController.php index 14a0b1a..08ee99b 100644 --- a/app/Http/Controllers/Kalkulasi/HitungProdusenController.php +++ b/app/Http/Controllers/Kalkulasi/HitungProdusenController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class HitungProdusenController extends Controller { + protected $title = 'Hitung Produsen'; + protected $template = 'modules.kalkulasi.hitung-produsen'; + protected $route = 'modules.kalkulasi.hitung-produsen'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Hitung Produsen','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class HitungProdusenController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class HitungProdusenController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/KalkulasiEmisiController.php b/app/Http/Controllers/Kalkulasi/KalkulasiEmisiController.php index 5bb614d..48bfd4c 100644 --- a/app/Http/Controllers/Kalkulasi/KalkulasiEmisiController.php +++ b/app/Http/Controllers/Kalkulasi/KalkulasiEmisiController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class KalkulasiEmisiController extends Controller { + protected $title = 'Kalkulasi Emisi'; + protected $template = 'modules.kalkulasi.kalkulasi-emisi'; + protected $route = 'modules.kalkulasi.kalkulasi-emisi'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Kalkulasi Emisi','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class KalkulasiEmisiController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class KalkulasiEmisiController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/KunciAktifitasController.php b/app/Http/Controllers/Kalkulasi/KunciAktifitasController.php index acd8090..2bef4ad 100644 --- a/app/Http/Controllers/Kalkulasi/KunciAktifitasController.php +++ b/app/Http/Controllers/Kalkulasi/KunciAktifitasController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class KunciAktifitasController extends Controller { + protected $title = 'Kunci Aktivitas'; + protected $template = 'modules.kalkulasi.kunci-aktivitas'; + protected $route = 'modules.kalkulasi.kunci-aktivitas'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Kunci Aktivitas','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class KunciAktifitasController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class KunciAktifitasController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/SalinAktifitasController.php b/app/Http/Controllers/Kalkulasi/SalinAktifitasController.php index 74f50c6..9c0d8e8 100644 --- a/app/Http/Controllers/Kalkulasi/SalinAktifitasController.php +++ b/app/Http/Controllers/Kalkulasi/SalinAktifitasController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class SalinAktifitasController extends Controller { + protected $title = 'Salin Aktivitas'; + protected $template = 'modules.kalkulasi.salin-aktivitas'; + protected $route = 'modules.kalkulasi.salin-aktivitas'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Salin Aktivitas','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class SalinAktifitasController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class SalinAktifitasController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /** diff --git a/app/Http/Controllers/Kalkulasi/WorksheetController.php b/app/Http/Controllers/Kalkulasi/WorksheetController.php index 0b83e51..29dcbb7 100644 --- a/app/Http/Controllers/Kalkulasi/WorksheetController.php +++ b/app/Http/Controllers/Kalkulasi/WorksheetController.php @@ -4,15 +4,77 @@ namespace App\Http\Controllers\Kalkulasi; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +use Illuminate\Support\Facades\File; +use Carbon\Carbon; +use App\Models\FilePengumuman; class WorksheetController extends Controller { + protected $title = 'Worksheet'; + protected $template = 'modules.kalkulasi.worksheet'; + protected $route = 'modules.kalkulasi.worksheet'; + /** * Display a listing of the resource. */ public function index() { - // + permission('is_read', $this->route, 'module',true); + + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Worksheet','active' => true], + ]; + $data['title'] = $this->title; + $data['route'] = $this->route; + + return view($this->template.'.index',$data); + } + + public function grid(Request $request) + { + + $data = FilePengumuman::all(); + $_data = []; + + + foreach ($data as $key => $row) { + + + $action = ''; + $status = ''; + if($row->status == 0){ + $status = ' Tidak Aktif '; + }else{ + $status = ' Aktif '; + } + $file = ''; + $action .= '
'; + if((permission('is_create', $this->route.'.*','module',false)) || (permission('is_update', $this->route.'.*','module',false))){ + $action .= ''; + if(session('group_id') == 1){ + $action .= ''; + } + } + $action .= '
'; + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->FilePengumumanId), + 'tahun' => @$row->tahun, + 'nama' => @$row->nama, + 'file' => @$file, + 'created_at' => date('d-m-Y H:i:s',strtotime(@$row->created_at)), + 'status' => @$status, + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + } /** @@ -28,7 +90,69 @@ class WorksheetController extends Controller */ public function store(Request $request) { - // + // dd(request()->all()); + $request->validate([ + 'tahun' => 'required', + 'nama' => 'required', + 'file' => 'required|file|mimes:xls,xlsx,pdf,png,jpg,jpeg,docx|max:2000', + ]); + + try { + + if (@$request->file) { + $file = $request->file; + $destinationPath = public_path('uploads/pengumuman'); + $current = Carbon::now()->format('Y/m/d'); + $path = $destinationPath . '/' . $current; + $fileName = $file->getClientOriginalName(); + $fileMime = $file->getClientMimeType(); + $fileExtension = $file->getClientOriginalExtension(); + $fileSize = $file->getSize(); + if(($fileExtension != 'xls') && ($fileExtension != 'xlsx') && ($fileExtension != 'pdf') && ($fileExtension != 'docx') && ($fileExtension != 'png') && ($fileExtension != 'jpg') && ($fileExtension != 'jpeg') ){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx,pdf,png,jpg,jpeg,docx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'pengumuman/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + } + + + if(@request()->secure_id){ + $keyId = decode_id(@request()->secure_id); + $data = FilePengumuman::find($keyId); + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + }else{ + $data = new FilePengumuman; + $data->tahun = $request->tahun; + $data->nama = $request->nama; + $data->file = $filePath; + $data->deskripsi = $request->deskripsi; + $data->save(); + } + + + return redirect()->back()->with([ + 'message' => 'Berhasil update data', + 'type' => 'success', + ]); + } catch (\Exception $e) { + return redirect()->back()->with([ + 'message' => 'Gagal disimpan. Silakan coba lagi. Error: ' . $e->getMessage(), + 'type' => 'error', + ]); + } } /** @@ -50,9 +174,29 @@ class WorksheetController extends Controller /** * Update the specified resource in storage. */ - public function update(Request $request, string $id) + public function update($id = null) { - // + $data['breadcrumbs'] = [ + ['name' => 'Dashboard'], + ['name' => 'Kalkulasi'], + ['name' => 'Data Aktivitas','active' => true], + ]; + $keyId = decode_id($id); + $data['title'] = $this->title; + $data['route'] = $this->route; + $data['keyId'] = $id; + $data['item'] = FilePengumuman::where('FilePengumumanId',$keyId)->first(); + + return view($this->template.'.form',$data); + } + + public function delete($id) + { + $keyId = decode_id($id); + + $data = FilePengumuman::where('FilePengumumanId',$keyId)->delete(); + + return response()->json(['success' => true,'message' => 'Berhasil update data','type' => 'success']); } /**