From 3c0227a5575ffc0cc246468953bc8cbb90861868 Mon Sep 17 00:00:00 2001 From: micko samawa Date: Sun, 28 Jun 2026 14:36:40 +0700 Subject: [PATCH] fix(saw): kecepatan_layanan harus Cost bukan Benefit, fix custom bobot key mapping untuk Fasilitas layanan --- .../Http/Controllers/Api/SAWController.php | 3 ++- spk_kontrakan/dump_kontrakan_data.php | 21 +++++++++++++++++++ spk_kontrakan/test_saw_api.php | 19 +++++++++++++++++ 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 spk_kontrakan/dump_kontrakan_data.php create mode 100644 spk_kontrakan/test_saw_api.php diff --git a/spk_kontrakan/app/Http/Controllers/Api/SAWController.php b/spk_kontrakan/app/Http/Controllers/Api/SAWController.php index f3b04b4..996b6d0 100644 --- a/spk_kontrakan/app/Http/Controllers/Api/SAWController.php +++ b/spk_kontrakan/app/Http/Controllers/Api/SAWController.php @@ -312,7 +312,7 @@ public function calculateLaundry(Request $request) 'harga' => $request->bobot_harga / 100, 'jarak' => $request->bobot_jarak / 100, 'kecepatan_layanan' => $request->bobot_kecepatan / 100, - 'layanan' => $request->bobot_layanan / 100, + 'Fasilitas layanan' => $request->bobot_layanan / 100, ]; } } @@ -626,6 +626,7 @@ private function getNilaiLaundry($item, $field, $jenisLayanan = null) return $waktu > 0 ? $waktu : 24; case 'layanan': + case 'Fasilitas layanan': // Jumlah variasi layanan yang tersedia return $item->layanan->count() ?: 1; diff --git a/spk_kontrakan/dump_kontrakan_data.php b/spk_kontrakan/dump_kontrakan_data.php new file mode 100644 index 0000000..f5a97ff --- /dev/null +++ b/spk_kontrakan/dump_kontrakan_data.php @@ -0,0 +1,21 @@ +make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap(); + +echo "=== ALL KONTRAKANS ===\n"; +foreach (\App\Models\Kontrakan::with('galeri')->get() as $k) { + echo "ID: {$k->id} | Nama: {$k->nama}\n"; + echo " foto: " . var_export($k->foto, true) . "\n"; + echo " galeri count: " . count($k->galeri) . "\n"; + foreach ($k->galeri as $g) { + echo " - galeri: " . $g->foto . " (is_primary: " . var_export($g->is_primary, true) . ")\n"; + } +} + +echo "\n=== ALL LAUNDRIES ===\n"; +foreach (\App\Models\Laundry::with('galeri')->get() as $l) { + echo "ID: {$l->id} | Nama: {$l->nama}\n"; + echo " foto: " . var_export($l->foto, true) . "\n"; + echo " galeri count: " . count($l->galeri) . "\n"; +} diff --git a/spk_kontrakan/test_saw_api.php b/spk_kontrakan/test_saw_api.php new file mode 100644 index 0000000..a7150cf --- /dev/null +++ b/spk_kontrakan/test_saw_api.php @@ -0,0 +1,19 @@ +make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap(); + +$request = \Illuminate\Http\Request::create('/api/saw/calculate/kontrakan', 'POST', [ + 'bobot_harga' => 25, + 'bobot_jarak' => 25, + 'bobot_jumlah_kamar' => 25, + 'bobot_fasilitas' => 25, +]); + +$controller = new \App\Http\Controllers\Api\SAWController(); +$response = $controller->calculateKontrakan($request); + +echo "Status Code: " . $response->getStatusCode() . "\n"; +echo "Content: \n"; +$data = json_decode($response->getContent(), true); +echo json_encode($data, JSON_PRETTY_PRINT);