From 1bf8a417ff481955c0d7073e9285e98140afb168 Mon Sep 17 00:00:00 2001 From: Ilham Wara Nugroho Date: Tue, 9 Sep 2025 14:17:02 +0700 Subject: [PATCH] update --- app/Helpers/custom.php | 23 +++ app/Http/Controllers/HomeController.php | 36 ++++ app/Imports/DatasetTable15Import.php | 2 +- app/Imports/DatasetTable22Import.php | 4 +- app/Imports/DatasetTable23Import.php | 3 +- app/Imports/DatasetTable25Import.php | 24 ++- app/Imports/DatasetTable26Import.php | 2 +- app/Imports/DatasetTable39Import.php | 10 +- app/Imports/DatasetTable43AImport.php | 2 +- app/Imports/DatasetTable43Import.php | 2 +- app/Models/Dataset/DatasetTable15.php | 4 +- .../Eloquent/DatasetRepository.php | 188 ++++++++++-------- ...6_033616_create_dataset_table25s_table.php | 1 + ...6_033618_create_dataset_table26s_table.php | 18 +- ...6_033630_create_dataset_table31s_table.php | 12 +- ...6_033632_create_dataset_table32s_table.php | 32 +-- ...6_033639_create_dataset_table34s_table.php | 4 +- ...6_033647_create_dataset_table37s_table.php | 29 ++- ...6_033649_create_dataset_table38s_table.php | 22 +- .../modules/dashboard/dashboard.blade.php | 44 ++-- routes/modules/modules.php | 1 + 21 files changed, 270 insertions(+), 193 deletions(-) diff --git a/app/Helpers/custom.php b/app/Helpers/custom.php index ac933d0..ce124e7 100644 --- a/app/Helpers/custom.php +++ b/app/Helpers/custom.php @@ -1,4 +1,8 @@ where('show_dashboard',1)->get(); + }else{ + $data = Template::with(['dataset'])->whereHas('dataset',function($query){ + $query->where('instansi_id',auth()->user()->ms_instansi_id); + })->where('show_dashboard',1)->get(); + } + // $data = User::with(['group'])->orderBy('id','DESC')->get(); + $_data = []; + + foreach ($data as $key => $row) { + + $action = ''; + if(session('group_id') == 1){ + $action .= 'Lihat Data'; + }else{ + $action .= 'Lihat Data'; + } + + $_data[] = [ + 'no' => $key+1, + 'id' => encode_id($row->id), + 'name' => @$row->name, + 'jumlah' => $row->dataset->count(), + 'action' => @$action, + ]; + + } + + // return response()->json($_data); // Return the data as a JSON response + return response()->json($_data); + + } + public function datasetGrid($alias,Request $request) { if(session('group_id') == 1){ diff --git a/app/Imports/DatasetTable15Import.php b/app/Imports/DatasetTable15Import.php index e309a83..27d2e5a 100644 --- a/app/Imports/DatasetTable15Import.php +++ b/app/Imports/DatasetTable15Import.php @@ -30,7 +30,7 @@ public function startRow(): int public function model(array $row) { -// cek kalau row kosong jangan insert + // cek kalau row kosong jangan insert if ($row[0] === null && $row[1] === null && $row[2] === null && $row[3] === null && $row[4] === null && $row[5] === null && $row[6] === null) { return null; // baris kosong dilewati } diff --git a/app/Imports/DatasetTable22Import.php b/app/Imports/DatasetTable22Import.php index c7f9b1b..14abd04 100644 --- a/app/Imports/DatasetTable22Import.php +++ b/app/Imports/DatasetTable22Import.php @@ -32,7 +32,6 @@ public function model(array $row) // cek kalau row kosong jangan insert if ( - $row[0] === null && $row[1] === null && $row[2] === null && $row[3] === null && @@ -77,11 +76,12 @@ public function model(array $row) ) { return null; // baris kosong dilewati } + // dd($this->transformDate($row[2])); return new DatasetTable22([ 'dataset_id' => $this->datasetId, 'created_by' => $this->userId, 'lokasi' => $row[1], - 'waktu' => $row[2], + 'waktu' => transformDate($row[2]), 'lat' => $row[3], 'long' => $row[4], 'tempratur' => $row[5], diff --git a/app/Imports/DatasetTable23Import.php b/app/Imports/DatasetTable23Import.php index 1474dcb..0541ded 100644 --- a/app/Imports/DatasetTable23Import.php +++ b/app/Imports/DatasetTable23Import.php @@ -68,7 +68,7 @@ public function model(array $row) 'dataset_id' => $this->datasetId, 'created_by' => $this->userId, 'lokasi' => $row[1], - 'waktu' => $row[2], + 'waktu' => transformDate($row[2]), 'lat' => $row[3], 'long' => $row[4], 'lokasi_sampling' => $row[5], @@ -97,4 +97,5 @@ public function model(array $row) 'pcb' => $row[28], ]); } + } diff --git a/app/Imports/DatasetTable25Import.php b/app/Imports/DatasetTable25Import.php index 1e2c0a9..7c5f8e2 100644 --- a/app/Imports/DatasetTable25Import.php +++ b/app/Imports/DatasetTable25Import.php @@ -29,22 +29,24 @@ public function startRow(): int public function model(array $row) { - -// cek kalau row kosong jangan insert - if ($row[0] === null && $row[1] === null && $row[2] === null && $row[3] === null && $row[4] === null && $row[5] === null && $row[6] === null && $row[7] === null && $row[8] === null) { + // dd($row); + // cek kalau row kosong jangan insert + if ($row[0] === null && $row[1] === null && $row[2] === null && $row[3] === null && $row[4] === null && $row[5] === null && $row[6] === null && $row[7] === null && $row[8] === null && $row[9] === null) { return null; // baris kosong dilewati } + // dd($row[1]); return new DatasetTable25([ 'dataset_id' => $this->datasetId, 'created_by' => $this->userId, - 'mata_air' => $row[1], - 'ledeng_pam' => $row[2], - 'sumur_bor_pompa' => $row[3], - 'sumur_tak_terlindung' => $row[4], - 'sungai' => $row[5], - 'terlindung_air' => $row[6], - 'air_kemasan' => $row[7], - 'lainnya' => $row[8], + 'lokasi' => $row[1], + 'mata_air' => $row[2], + 'ledeng_pam' => $row[3], + 'sumur_bor_pompa' => $row[4], + 'sumur_tak_terlindung' => $row[5], + 'sungai' => $row[6], + 'terlindung_air' => $row[7], + 'air_kemasan' => $row[8], + 'lainnya' => $row[9], ]); } } diff --git a/app/Imports/DatasetTable26Import.php b/app/Imports/DatasetTable26Import.php index ce9c167..33b1f9f 100644 --- a/app/Imports/DatasetTable26Import.php +++ b/app/Imports/DatasetTable26Import.php @@ -54,7 +54,7 @@ public function model(array $row) 'lokasi_pemantauan' => $row[0], 'latitude' => $row[1], 'longitude' => $row[2], - 'waktu_pemantauan' => $row[3], + 'waktu_pemantauan' => transformDate($row[3]), 'ph' => $row[4], 'dhl' => $row[5], 'so4' => $row[6], diff --git a/app/Imports/DatasetTable39Import.php b/app/Imports/DatasetTable39Import.php index 2d45391..bb1fc15 100644 --- a/app/Imports/DatasetTable39Import.php +++ b/app/Imports/DatasetTable39Import.php @@ -37,11 +37,11 @@ public function model(array $row) return new DatasetTable39([ 'dataset_id' => $this->datasetId, 'created_by' => $this->userId, - 'kendaraan' => $row[1], - 'jumlah' => $row[2], - 'bensin' => $row[3], - 'solar' => $row[4], - 'gas' => $row[5], + 'kendaraan' => @$row[1] ? $row[1] : 0, + 'jumlah' => @$row[2] ? $row[2] : 0, + 'bensin' => @$row[3] ? $row[3] : 0, + 'solar' => @$row[4] ? $row[4] : 0, + 'gas' => @$row[5] ? $row[5] : 0, ]); } } diff --git a/app/Imports/DatasetTable43AImport.php b/app/Imports/DatasetTable43AImport.php index ef61b5b..586d9b6 100644 --- a/app/Imports/DatasetTable43AImport.php +++ b/app/Imports/DatasetTable43AImport.php @@ -39,7 +39,7 @@ public function model(array $row) 'created_by' => $this->userId, 'lokasi' => $row[1], 'nama_perusahaan' => $row[3], - 'waktu' => $row[4], + 'waktu' => transformDate($row[4]), 'hasil_pengawasan' => $row[5], ]); } diff --git a/app/Imports/DatasetTable43Import.php b/app/Imports/DatasetTable43Import.php index db8e1d9..d476e3d 100644 --- a/app/Imports/DatasetTable43Import.php +++ b/app/Imports/DatasetTable43Import.php @@ -39,7 +39,7 @@ public function model(array $row) 'created_by' => $this->userId, 'lokasi' => $row[1], 'nama_perusahaan' => $row[3], - 'waktu' => $row[4], + 'waktu' => transformDate($row[4]), 'hasil_pengawasan' => $row[5], ]); } diff --git a/app/Models/Dataset/DatasetTable15.php b/app/Models/Dataset/DatasetTable15.php index ce6b2af..027a406 100644 --- a/app/Models/Dataset/DatasetTable15.php +++ b/app/Models/Dataset/DatasetTable15.php @@ -10,13 +10,13 @@ use Illuminate\Database\Eloquent\Model; class DatasetTable15 extends Model { use HasFactory; -use SoftDeletes; + use SoftDeletes; protected $table = 'dataset_table15'; protected $primaryKey = 'DatasetTable15Id'; protected $guarded = []; -function dataset() { + function dataset() { return $this->belongsTo('App\Models\Dataset','dataset_id'); } } diff --git a/app/Repositories/Eloquent/DatasetRepository.php b/app/Repositories/Eloquent/DatasetRepository.php index c202c42..11d48b5 100644 --- a/app/Repositories/Eloquent/DatasetRepository.php +++ b/app/Repositories/Eloquent/DatasetRepository.php @@ -192,104 +192,122 @@ class DatasetRepository implements DatasetRepositoryInterface // dd($data); return DB::transaction(function () use ($modelClass, $importClass, $file, $data) { - $keyId = decode_id($data['secure_id']); - $json = []; - $filePath = null; - if(@$file){ - $file = $file; - $path = $file->getRealPath(); - $spreadsheet = IOFactory::load($path); - $sheet = $spreadsheet->getActiveSheet(); - $rows = $sheet->toArray(); - $header = $rows[4]; // Baris pertama sebagai header - if (@$file) { - $file = $data['file']; - $destinationPath = public_path('uploads/dataset'); - $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')){ - return redirect()->back()->with([ - 'message' => 'Maaf File Harus Berupa xls,xlsx!', - 'type' => "error" - ]); - } - $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; + try { + $keyId = decode_id($data['secure_id']); + $json = []; + $filePath = null; + if(@$file){ + $file = $file; + $path = $file->getRealPath(); + $spreadsheet = IOFactory::load($path); + $sheet = $spreadsheet->getActiveSheet(); + $rows = $sheet->toArray(); + $header = $rows[4]; // Baris pertama sebagai header + if (@$file) { + $file = $data['file']; + $destinationPath = public_path('uploads/dataset'); + $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')){ + return redirect()->back()->with([ + 'message' => 'Maaf File Harus Berupa xls,xlsx!', + 'type' => "error" + ]); + } + $newFilename = session('id').'_'.uniqid('file_') . '.' . $fileExtension; - if (!File::exists($path)) { - File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); - } - - $filePath = 'dataset/' . $current . '/' . $newFilename; - $uploaded = $file->move($path, $newFilename); - - - - for ($i = 5; $i < count($rows); $i++) { - $row = $rows[$i]; - - // Skip baris kosong - if (collect($row)->filter()->isEmpty()) continue; - - $assoc = []; - foreach ($header as $j => $columnName) { - if($columnName != null){ - $key = strtolower(str_replace(' ', '_', $columnName)); - $assoc[$key] = $row[$j] ?? null; - } + if (!File::exists($path)) { + File::isDirectory($path) or File::makeDirectory($path, 0777, true, true); + } + + $filePath = 'dataset/' . $current . '/' . $newFilename; + $uploaded = $file->move($path, $newFilename); + + + + for ($i = 5; $i < count($rows); $i++) { + $row = $rows[$i]; + + // Skip baris kosong + if (collect($row)->filter()->isEmpty()) continue; + + $assoc = []; + foreach ($header as $j => $columnName) { + if($columnName != null){ + $key = strtolower(str_replace(' ', '_', $columnName)); + $assoc[$key] = $row[$j] ?? null; + } + } + + $json[] = $assoc; } - $json[] = $assoc; } - } - } - if(@$keyId){ - $masterModel = Dataset::find($keyId); - $masterModel->instansi_id = decode_id($data['instansi_id']); - $masterModel->template_id = decode_id($data['template_id']); - $masterModel->name = $data['name']; - $masterModel->publik = $data['publik']; - $masterModel->tags = json_encode($data['tags']); - if(@$file){ - $masterModel->data = json_encode($json); - $masterModel->file = $filePath; + if(@$keyId){ + $masterModel = Dataset::find($keyId); + $masterModel->instansi_id = decode_id($data['instansi_id']); + $masterModel->template_id = decode_id($data['template_id']); + $masterModel->name = $data['name']; + $masterModel->publik = $data['publik']; + $masterModel->tags = json_encode($data['tags']); + if(@$file){ + $masterModel->data = json_encode($json); + $masterModel->file = $filePath; + } + $masterModel->deskripsi = $data['deskripsi']; + $masterModel->save(); + + if(@$file){ + $modelClass::where('dataset_id',$masterModel->DatasetId)->delete(); + } + }else{ + + $masterModel = Dataset::updateOrCreate([ + 'instansi_id' => decode_id($data['instansi_id']), + 'template_id' => decode_id($data['template_id']), + 'tahun' => $data['tahun'], + ],[ + 'instansi_id' => decode_id($data['instansi_id']), + 'template_id' => decode_id($data['template_id']), + 'tahun' => $data['tahun'], + 'name' => $data['name'], + 'publik' => $data['publik'], + 'tags' => json_encode($data['tags']), + 'data' => json_encode($json), + 'file' => $filePath, + 'deskripsi' => $data['deskripsi'], + 'created_by' => auth()->user()->id, + ]); } - $masterModel->deskripsi = $data['deskripsi']; - $masterModel->save(); if(@$file){ - $modelClass::where('dataset_id',$masterModel->DatasetId)->delete(); + Excel::import(new $importClass($masterModel->DatasetId,auth()->user()->id),$path.'/'.$newFilename); } - }else{ - $masterModel = Dataset::updateOrCreate([ - 'instansi_id' => decode_id($data['instansi_id']), - 'template_id' => decode_id($data['template_id']), - 'tahun' => $data['tahun'], - ],[ - 'instansi_id' => decode_id($data['instansi_id']), - 'template_id' => decode_id($data['template_id']), - 'tahun' => $data['tahun'], - 'name' => $data['name'], - 'publik' => $data['publik'], - 'tags' => json_encode($data['tags']), - 'data' => json_encode($json), - 'file' => $filePath, - 'deskripsi' => $data['deskripsi'], - 'created_by' => auth()->user()->id, - ]); + return $masterModel; + }catch (\Maatwebsite\Excel\Validators\ValidationException $e) { + $failures = $e->failures(); + + foreach ($failures as $failure) { + // Kolom & baris error + dump('Row: '.$failure->row()); + dump('Attribute: '.$failure->attribute()); + dump('Errors: ', $failure->errors()); + dump('Values: ', $failure->values()); + } + + return $failures; + } catch (Exception $e) { + dd($e->getMessage()); } - if(@$file){ - Excel::import(new $importClass($masterModel->DatasetId,auth()->user()->id),$path.'/'.$newFilename); - } - - return $masterModel; + }); } diff --git a/database/migrations/2025_08_26_033616_create_dataset_table25s_table.php b/database/migrations/2025_08_26_033616_create_dataset_table25s_table.php index b274e00..e5e8956 100644 --- a/database/migrations/2025_08_26_033616_create_dataset_table25s_table.php +++ b/database/migrations/2025_08_26_033616_create_dataset_table25s_table.php @@ -14,6 +14,7 @@ return new class extends Migration Schema::create('dataset_table25', function (Blueprint $table) { $table->id('DatasetTable25Id'); $table->integer('dataset_id'); + $table->string('lokasi')->nullable(); $table->float('mata_air')->default(0); // Mata Air $table->float('ledeng_pam')->default(0); // Ledeng/PAM $table->float('sumur_bor_pompa')->default(0); // Sumur Bor/Pompa diff --git a/database/migrations/2025_08_26_033618_create_dataset_table26s_table.php b/database/migrations/2025_08_26_033618_create_dataset_table26s_table.php index 7210155..eff5e5b 100644 --- a/database/migrations/2025_08_26_033618_create_dataset_table26s_table.php +++ b/database/migrations/2025_08_26_033618_create_dataset_table26s_table.php @@ -18,15 +18,15 @@ return new class extends Migration $table->string('latitude')->nullable(); // Latitude (7 digit desimal cukup presisi) $table->string('longitude')->nullable(); // Longitude $table->timestamp('waktu_pemantauan')->nullable(); // Waktu Pemantauan - $table->float('ph')->default(0); // pH biasanya 0-14 (cukup 5,2) - $table->float('dhl')->default(0); // DHL (konduktivitas) - $table->float('so4')->default(0); // SO4 - $table->float('no3')->default(0); // NO3 - $table->float('cr')->default(0); // Cr - $table->float('nh4')->default(0); // NH4 - $table->float('na')->default(0); // Na - $table->float('ca2')->default(0); // Ca2+ - $table->float('mg2')->default(0); // Mg2+ + $table->string('ph')->nullable(); // pH biasanya 0-14 (cukup 5,2) + $table->string('dhl')->nullable(); // DHL (konduktivitas) + $table->string('so4')->nullable(); // SO4 + $table->string('no3')->nullable(); // NO3 + $table->string('cr')->nullable(); // Cr + $table->string('nh4')->nullable(); // NH4 + $table->string('na')->nullable(); // Na + $table->string('ca2')->nullable(); // Ca2+ + $table->string('mg2')->nullable(); // Mg2+ $table->integer('created_by'); $table->timestampsTz(); diff --git a/database/migrations/2025_08_26_033630_create_dataset_table31s_table.php b/database/migrations/2025_08_26_033630_create_dataset_table31s_table.php index 7740a83..4237113 100644 --- a/database/migrations/2025_08_26_033630_create_dataset_table31s_table.php +++ b/database/migrations/2025_08_26_033630_create_dataset_table31s_table.php @@ -15,12 +15,12 @@ return new class extends Migration $table->id('DatasetTable31Id'); $table->integer('dataset_id'); $table->string('kabupaten_kota')->nullable(); // Kabupaten/Kota/Kec. - $table->float('jumlah_kk')->default(0); - $table->float('sendiri')->default(0); - $table->float('bersama')->default(0); - $table->float('umum')->default(0); - $table->float('tidak_menggunakan')->default(0); - $table->float('tidak_ada_fasilitas')->default(0); + $table->string('jumlah_kk')->nullable(); + $table->string('sendiri')->nullable(); + $table->string('bersama')->nullable(); + $table->string('umum')->nullable(); + $table->string('tidak_menggunakan')->nullable(); + $table->string('tidak_ada_fasilitas')->nullable(); $table->integer('created_by'); $table->timestampsTz(); $table->softdeletesTz(); diff --git a/database/migrations/2025_08_26_033632_create_dataset_table32s_table.php b/database/migrations/2025_08_26_033632_create_dataset_table32s_table.php index 9175257..3f2f8b6 100644 --- a/database/migrations/2025_08_26_033632_create_dataset_table32s_table.php +++ b/database/migrations/2025_08_26_033632_create_dataset_table32s_table.php @@ -16,22 +16,22 @@ return new class extends Migration $table->integer('dataset_id'); $table->string('lokasi')->nullable(); // Kabupaten/Kota/Kec. // Jumlah penduduk per kategori pendidikan (L = Laki-laki, P = Perempuan) - $table->integer('tidak_sekolah_l')->default(0); - $table->integer('tidak_sekolah_p')->default(0); - $table->integer('sd_l')->default(0); - $table->integer('sd_p')->default(0); - $table->integer('sltp_l')->default(0); - $table->integer('sltp_p')->default(0); - $table->integer('slta_smk_l')->default(0); - $table->integer('slta_smk_p')->default(0); - $table->integer('pt_l')->nullable(); // defaultT0inggi - $table->integer('pt_p')->default(0); - $table->integer('s1_l')->default(0); - $table->integer('s1_p')->default(0); - $table->integer('s2_l')->default(0); - $table->integer('s2_p')->default(0); - $table->integer('s3_l')->default(0); - $table->integer('s3_p')->default(0); + $table->float('tidak_sekolah_l')->default(0); + $table->float('tidak_sekolah_p')->default(0); + $table->float('sd_l')->default(0); + $table->float('sd_p')->default(0); + $table->float('sltp_l')->default(0); + $table->float('sltp_p')->default(0); + $table->float('slta_smk_l')->default(0); + $table->float('slta_smk_p')->default(0); + $table->float('pt_l')->nullable(); // defaultT0inggi + $table->float('pt_p')->default(0); + $table->float('s1_l')->default(0); + $table->float('s1_p')->default(0); + $table->float('s2_l')->default(0); + $table->float('s2_p')->default(0); + $table->float('s3_l')->default(0); + $table->float('s3_p')->default(0); $table->integer('created_by'); $table->timestampsTz(); $table->softdeletesTz(); diff --git a/database/migrations/2025_08_26_033639_create_dataset_table34s_table.php b/database/migrations/2025_08_26_033639_create_dataset_table34s_table.php index d3bde70..ce82090 100644 --- a/database/migrations/2025_08_26_033639_create_dataset_table34s_table.php +++ b/database/migrations/2025_08_26_033639_create_dataset_table34s_table.php @@ -15,8 +15,8 @@ return new class extends Migration $table->id('DatasetTable34Id'); $table->integer('dataset_id'); $table->string('kabupaten_kota')->nullable(); - $table->integer('jumlah_rumah_tangga')->default(0); - $table->integer('jumlah_rumah_tangga_miskin')->default(0); + $table->float('jumlah_rumah_tangga')->default(0); + $table->float('jumlah_rumah_tangga_miskin')->default(0); $table->float('persentase_rumah_tangga_miskin')->default(0); $table->integer('created_by'); $table->timestampsTz(); diff --git a/database/migrations/2025_08_26_033647_create_dataset_table37s_table.php b/database/migrations/2025_08_26_033647_create_dataset_table37s_table.php index ab163dd..2f145f9 100644 --- a/database/migrations/2025_08_26_033647_create_dataset_table37s_table.php +++ b/database/migrations/2025_08_26_033647_create_dataset_table37s_table.php @@ -18,21 +18,20 @@ return new class extends Migration $table->string('lat')->nullable(); $table->string('long')->nullable(); $table->string('lama_pengukuran')->nullable(); - // parameter udara pakai float default 0 - $table->float('so2')->default(0); // µg/Nm3 - $table->float('co')->default(0); // µg/Nm3 - $table->float('no2')->default(0); // µg/Nm3 - $table->float('o3')->default(0); // µg/Nm3 - $table->float('hc')->default(0); // µg/Nm3 - $table->float('pm10')->default(0); // µg/Nm3 - $table->float('pm25')->default(0); // µg/Nm3 - $table->float('tsp')->default(0); // µg/Nm3 - $table->float('pb')->default(0); // µg/Nm3 - $table->float('dustfall')->default(0); // µg/Nm3 - $table->float('total_fluorides')->default(0); // µg/Nm3 - $table->float('fluor_index')->default(0); // µg/Nm3 - $table->float('chlorine_dioxide')->default(0); // µg/Nm3 - $table->float('sulphat_index')->default(0); // µg/Nm3 + $table->string('so2')->nullable(); // µg/Nm3 + $table->string('co')->nullable(); // µg/Nm3 + $table->string('no2')->nullable(); // µg/Nm3 + $table->string('o3')->nullable(); // µg/Nm3 + $table->string('hc')->nullable(); // µg/Nm3 + $table->string('pm10')->nullable(); // µg/Nm3 + $table->string('pm25')->nullable(); // µg/Nm3 + $table->string('tsp')->nullable(); // µg/Nm3 + $table->string('pb')->nullable(); // µg/Nm3 + $table->string('dustfall')->nullable(); // µg/Nm3 + $table->string('total_fluorides')->nullable(); // µg/Nm3 + $table->string('fluor_index')->nullable(); // µg/Nm3 + $table->string('chlorine_dioxide')->nullable(); // µg/Nm3 + $table->string('sulphat_index')->nullable(); // µg/Nm3 $table->integer('created_by'); $table->timestampsTz(); $table->softdeletesTz(); diff --git a/database/migrations/2025_08_26_033649_create_dataset_table38s_table.php b/database/migrations/2025_08_26_033649_create_dataset_table38s_table.php index ef7f3b4..bc54973 100644 --- a/database/migrations/2025_08_26_033649_create_dataset_table38s_table.php +++ b/database/migrations/2025_08_26_033649_create_dataset_table38s_table.php @@ -14,17 +14,17 @@ return new class extends Migration Schema::create('dataset_table38', function (Blueprint $table) { $table->id('DatasetTable38Id'); $table->integer('dataset_id'); - $table->float('minyak_bakar')->default(0); - $table->float('minyak_diesel')->default(0); - $table->float('minyak_tanah')->default(0); - $table->float('gas')->default(0); - $table->float('batubara')->default(0); - $table->float('lpg')->default(0); - $table->float('briket')->default(0); - $table->float('kayu_bakar')->default(0); - $table->float('biomassa')->default(0); - $table->float('bensin')->default(0); - $table->float('solar')->default(0); + $table->string('minyak_bakar')->nullable(); + $table->string('minyak_diesel')->nullable(); + $table->string('minyak_tanah')->nullable(); + $table->string('gas')->nullable(); + $table->string('batubara')->nullable(); + $table->string('lpg')->nullable(); + $table->string('briket')->nullable(); + $table->string('kayu_bakar')->nullable(); + $table->string('biomassa')->nullable(); + $table->string('bensin')->nullable(); + $table->string('solar')->nullable(); $table->integer('created_by'); $table->timestampsTz(); $table->softdeletesTz(); diff --git a/resources/views/modules/dashboard/dashboard.blade.php b/resources/views/modules/dashboard/dashboard.blade.php index def5a1f..861f354 100644 --- a/resources/views/modules/dashboard/dashboard.blade.php +++ b/resources/views/modules/dashboard/dashboard.blade.php @@ -64,39 +64,35 @@
-
10 Data Update Terakhir
+
Data Resource
- +
- - - - + + + + - - @foreach ($resource as $k => $res) - - - - - - - @endforeach - +
#NoResource DataJumlah Upload Dataset#NoResource DataJumlah Upload Dataset
- @if(session('group_id') == 1) - Lihat Data - @else - Lihat Data - @endif - {{$k+1}}{{ $res->name }}{{ $res->dataset->count() }}
- --}} @endsection @section('js') diff --git a/routes/modules/modules.php b/routes/modules/modules.php index 4644021..4c977c3 100644 --- a/routes/modules/modules.php +++ b/routes/modules/modules.php @@ -19,6 +19,7 @@ Route::name('dashboard.')->prefix('dashboard')->group(function () { Route::get('/dataset/resource/{id}',[HomeController::class,'resource'])->name('resource'); Route::get('/dataset/resource/instansi/{instansi_id}/{id}',[HomeController::class,'resource_instansi'])->name('resource_instansi'); Route::get('/grid',[HomeController::class,'grid'])->name('grid'); + Route::get('/gridResource',[HomeController::class,'gridResource'])->name('gridResource'); Route::get('/datasetGrid/{alias}',[HomeController::class,'datasetGrid'])->name('datasetGrid'); Route::get('/api/chart/{template_id}/{instansi_id}',[HomeController::class,'apiChart'])->name('apiChart'); });