From 371ca3292820ecb928462bf524847d39767e1948 Mon Sep 17 00:00:00 2001 From: karuniaDwi Date: Sat, 16 Aug 2025 16:47:24 +0700 Subject: [PATCH] Fix: initial commit --- .htaccess | 52 ++ ITEM_SUMMARY.md | 198 ++++++ KMZ_Export_Fix_Guide.md | 176 ++++++ KMZ_Export_Guide.md | 186 ++++++ KMZ_Export_Summary.md | 179 ++++++ README.md | 229 +++++++ api/detail_redaman.php | 66 ++ api/items.php | 358 +++++++++++ api/routes.php | 278 +++++++++ api/splitters.php | 26 + api/statistics.php | 59 ++ api/tube_colors.php | 26 + assets/css/custom.css | 486 +++++++++++++++ assets/img/favicon.ico | Bin 0 -> 15406 bytes assets/js/app.js | 1248 ++++++++++++++++++++++++++++++++++++++ assets/js/kmz-export.js | 392 ++++++++++++ assets/js/map.js | 972 +++++++++++++++++++++++++++++ auto_login_genieacs.php | 39 ++ auto_login_observium.php | 36 ++ bg.jpg | Bin 0 -> 432185 bytes config/database.php | 22 + database.sql | 142 +++++ get_clients.php | 37 ++ get_rx_power.php | 43 ++ hapus.php | 15 + index.php | 651 ++++++++++++++++++++ login.php | 129 ++++ logout.php | 5 + manajemen_users.php | 203 +++++++ megadata.jpeg | Bin 0 -> 20555 bytes register.php | 133 ++++ setup_instructions.md | 100 +++ testing_guide.md | 144 +++++ update_database.sql | 8 + wifi.png | Bin 0 -> 45159 bytes 35 files changed, 6638 insertions(+) create mode 100644 .htaccess create mode 100644 ITEM_SUMMARY.md create mode 100644 KMZ_Export_Fix_Guide.md create mode 100644 KMZ_Export_Guide.md create mode 100644 KMZ_Export_Summary.md create mode 100644 README.md create mode 100644 api/detail_redaman.php create mode 100644 api/items.php create mode 100644 api/routes.php create mode 100644 api/splitters.php create mode 100644 api/statistics.php create mode 100644 api/tube_colors.php create mode 100644 assets/css/custom.css create mode 100644 assets/img/favicon.ico create mode 100644 assets/js/app.js create mode 100644 assets/js/kmz-export.js create mode 100644 assets/js/map.js create mode 100644 auto_login_genieacs.php create mode 100644 auto_login_observium.php create mode 100644 bg.jpg create mode 100644 config/database.php create mode 100644 database.sql create mode 100644 get_clients.php create mode 100644 get_rx_power.php create mode 100644 hapus.php create mode 100644 index.php create mode 100644 login.php create mode 100644 logout.php create mode 100644 manajemen_users.php create mode 100644 megadata.jpeg create mode 100644 register.php create mode 100644 setup_instructions.md create mode 100644 testing_guide.md create mode 100644 update_database.sql create mode 100644 wifi.png diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..252494d --- /dev/null +++ b/.htaccess @@ -0,0 +1,52 @@ +RewriteEngine On + +# Redirect to index.php if file doesn't exist +RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_FILENAME} !-d +RewriteRule ^([^/]+)/?$ index.php?page=$1 [QSA,L] + +# Security - Hide .htaccess files + + Require all denied + + +# Security - Hide config files + + Require all denied + + +# Security - Hide database files + + Require all denied + + +# MIME Types for better performance + + AddType application/javascript .js + AddType text/css .css + + +# Enable compression + + AddOutputFilterByType DEFLATE text/plain + AddOutputFilterByType DEFLATE text/html + AddOutputFilterByType DEFLATE text/xml + AddOutputFilterByType DEFLATE text/css + AddOutputFilterByType DEFLATE application/xml + AddOutputFilterByType DEFLATE application/xhtml+xml + AddOutputFilterByType DEFLATE application/rss+xml + AddOutputFilterByType DEFLATE application/javascript + AddOutputFilterByType DEFLATE application/x-javascript + + +# Cache control for better performance + + ExpiresActive on + ExpiresByType text/css "access plus 1 month" + ExpiresByType application/javascript "access plus 1 month" + ExpiresByType image/png "access plus 1 month" + ExpiresByType image/jpg "access plus 1 month" + ExpiresByType image/jpeg "access plus 1 month" + ExpiresByType image/gif "access plus 1 month" + ExpiresByType image/svg+xml "access plus 1 month" + \ No newline at end of file diff --git a/ITEM_SUMMARY.md b/ITEM_SUMMARY.md new file mode 100644 index 0000000..08980f4 --- /dev/null +++ b/ITEM_SUMMARY.md @@ -0,0 +1,198 @@ +# 🎉 UPGRADE ITEM FIELDS & CORE SYNCHRONIZATION - SUMMARY + +## ✅ **SEMUA FITUR BERHASIL DITAMBAHKAN!** + +### 📋 **FIELD BARU PADA FORM ITEM:** + +#### **1. 🎨 Warna Core** +- **Field**: `core_color_id` +- **Type**: Foreign Key → `tube_colors` table +- **Description**: Warna core yang berbeda dari warna tube +- **UI**: Dropdown dengan preview warna (32 pilihan warna) + +#### **2. 🔗 Jenis Kabel** +- **Field**: `item_cable_type` +- **Type**: ENUM ('backbone', 'distribution', 'drop_core', 'feeder', 'branch') +- **Default**: 'distribution' +- **Description**: Klasifikasi jenis kabel yang digunakan pada item + +#### **3. 🔢 Kapasitas Core Total** +- **Field**: `total_core_capacity` +- **Type**: INT +- **Default**: 24 +- **Description**: Total kapasitas core untuk item +- **Options**: 2, 4, 6, 8, 12, 24, 48, 72, 96, 144, 216, 288 Core + +#### **4. 📊 Core yang Digunakan (Enhanced)** +- **Field**: `core_used` (existing, enhanced) +- **Type**: INT +- **Description**: Core yang sedang digunakan dari total kapasitas +- **Feature**: Auto-sync dengan routing kabel + +#### **5. 📈 Core Tersedia (Calculated)** +- **Field**: `core_available` (calculated field) +- **Type**: Display only +- **Formula**: `total_core_capacity - core_used` +- **Feature**: Real-time calculation dengan color indicator + +--- + +### 🛠️ **DATABASE CHANGES:** + +#### **New Columns Added:** +```sql +ALTER TABLE ftth_items ADD COLUMN core_color_id INT NULL AFTER core_used; +ALTER TABLE ftth_items ADD COLUMN item_cable_type ENUM('backbone', 'distribution', 'drop_core', 'feeder', 'branch') NULL DEFAULT 'distribution' AFTER core_color_id; +ALTER TABLE ftth_items ADD COLUMN total_core_capacity INT NULL DEFAULT 24 AFTER item_cable_type; + +-- Foreign Keys +ALTER TABLE ftth_items ADD FOREIGN KEY (core_color_id) REFERENCES tube_colors(id); + +-- Indexes for Performance +CREATE INDEX idx_core_color ON ftth_items(core_color_id); +CREATE INDEX idx_cable_type ON ftth_items(item_cable_type); +CREATE INDEX idx_core_usage ON ftth_items(core_used, total_core_capacity); +``` + +--- + +### ⚙️ **API ENHANCEMENTS:** + +#### **Updated Endpoints:** +- **POST/PUT `/api/items.php`**: Handle new fields +- **GET `/api/items.php`**: Include new fields in response with JOINs +- **Foreign Key Null Handling**: Empty strings converted to NULL + +#### **New Query with JOINs:** +```sql +SELECT i.*, it.name as item_type_name, it.icon, it.color, + tc.color_name as tube_color_name, tc.hex_code, + cc.color_name as core_color_name, cc.hex_code as core_hex_code, + sm.ratio as splitter_main_ratio, + so.ratio as splitter_odp_ratio +FROM ftth_items i +LEFT JOIN item_types it ON i.item_type_id = it.id +LEFT JOIN tube_colors tc ON i.tube_color_id = tc.id +LEFT JOIN tube_colors cc ON i.core_color_id = cc.id +LEFT JOIN splitter_types sm ON i.splitter_main_id = sm.id +LEFT JOIN splitter_types so ON i.splitter_odp_id = so.id +``` + +--- + +### 🎯 **CORE SYNCHRONIZATION FEATURES:** + +#### **1. Auto Core Calculation** +- **Function**: `calculateCoreAvailable()` +- **Trigger**: Real-time pada perubahan capacity/usage +- **Display**: Core tersedia dengan color indicator + - 🟢 **Success**: > 50% available + - 🟡 **Warning**: 20-50% available + - 🔴 **Danger**: < 20% available + +#### **2. Route-Item Core Sync** +- **Function**: `syncCoreUsageFromRoutes(itemId)` +- **Description**: Sinkronisasi core usage dari semua routing yang connected +- **Auto-trigger**: Saat edit item +- **Logic**: Sum semua `core_count` dari routes yang memiliki `from_item_id` atau `to_item_id` = itemId + +#### **3. Enhanced Edit Functions** +- **Function**: `editItemEnhanced(itemId)` +- **Feature**: Auto-sync core usage setelah load item data +- **Timing**: 500ms delay untuk ensure form loaded + +--- + +### 🎨 **UI/UX IMPROVEMENTS:** + +#### **Enhanced Form Layout:** +```html +Row 1: [Warna Tube] [Warna Core] +Row 2: [Jenis Kabel] [Kapasitas Core Total] +Row 3: [Core Digunakan] [Core Tersedia (readonly)] +``` + +#### **Visual Indicators:** +- **Color Preview**: Border-left colored pada dropdown options +- **Badge System**: Color-coded untuk cable types +- **Real-time Feedback**: Core available calculation + +#### **Cable Type Badges:** +- 🔴 **Backbone** (danger) +- 🔵 **Distribution** (primary) +- 🟢 **Drop Core** (success) +- 🔷 **Feeder** (info) +- 🟡 **Branch** (warning) + +#### **Core Usage Badges:** +- 🟢 **0-49% used** (success) +- 🔷 **50-69% used** (info) +- 🟡 **70-89% used** (warning) +- 🔴 **90-100% used** (danger) + +--- + +### 🚀 **NEW JAVASCRIPT FUNCTIONS:** + +#### **Core Management:** +```javascript +calculateCoreAvailable() // Real-time core calculation +syncCoreUsageFromRoutes(itemId) // Sync dari routing data +editItemEnhanced(itemId) // Enhanced edit dengan auto-sync +``` + +#### **Display Helpers:** +```javascript +getCableTypeBadge(cableType) // Bootstrap badge class +getCableTypeText(cableType) // Human readable text +getCoreUsageBadge(used, total) // Usage percentage badge +``` + +#### **Form Enhancements:** +- Auto-populate dropdown warna core (sama dengan tube colors) +- Real-time listeners untuk capacity & usage changes +- Form validation untuk field baru + +--- + +### 📊 **USAGE EXAMPLES:** + +#### **Create Item dengan Field Baru:** +```javascript +// Form akan include: +{ + item_type: "1", + name: "OLT Jakarta", + tube_color_id: "1", // Warna Tube: Biru + core_color_id: "15", // Warna Core: Magenta + item_cable_type: "backbone", // Jenis: Backbone + total_core_capacity: "144", // Kapasitas: 144 Core + core_used: "48", // Digunakan: 48 Core + // core_available = 96 Core (auto-calculated) +} +``` + +#### **Core Sync Example:** +```javascript +// Item ID 1 connected ke: +// Route 1: from_item_id=1, core_count=24 +// Route 2: to_item_id=1, core_count=12 +// Total core_used = 24 + 12 = 36 Core (auto-synced) +``` + +--- + +### 🔍 **TESTING & VALIDATION:** + +#### **✅ Tested Features:** +1. Database field creation & constraints ✅ +2. API CRUD operations dengan field baru ✅ +3. Form validation & submission ✅ +4. Core calculation & synchronization ✅ +5. UI display & color indicators ✅ +6. Foreign key relationships ✅ + +#### **🧹 Cleanup:** +- Temporary test files deleted +- Database indexes optimized +- Code documented & organize \ No newline at end of file diff --git a/KMZ_Export_Fix_Guide.md b/KMZ_Export_Fix_Guide.md new file mode 100644 index 0000000..c56609c --- /dev/null +++ b/KMZ_Export_Fix_Guide.md @@ -0,0 +1,176 @@ +# 🔧 Fix: Error Export KMZ - "toFixed is not a function" + +## ❌ **Error Yang Diperbaiki** + +``` +Error menggenerate KMZ: item.latitude.toFixed is not a function +``` + +## 🔍 **Root Cause** + +Error terjadi karena data `latitude` dan `longitude` dari database berupa **string**, bukan **number**. JavaScript method `toFixed()` hanya dapat digunakan pada tipe data number. + +--- + +## ✅ **Solusi Yang Diimplementasikan** + +### 1. **Parse String ke Number** +```javascript +// SEBELUM (Error): +item.latitude.toFixed(6) +item.longitude.toFixed(6) + +// SESUDAH (Fixed): +parseFloat(item.latitude).toFixed(6) +parseFloat(item.longitude).toFixed(6) +``` + +### 2. **Validation & Error Handling** +```javascript +// Validate coordinates +let lat = parseFloat(item.latitude); +let lng = parseFloat(item.longitude); + +if (isNaN(lat) || isNaN(lng)) { + console.warn('Invalid coordinates for item:', item.name); + return; // Skip this item +} +``` + +### 3. **Safe Coordinate Display** +```javascript +// Handle coordinates safely +let coordText = (isNaN(lat) || isNaN(lng)) ? + 'Koordinat tidak valid' : + `${lat.toFixed(6)}, ${lng.toFixed(6)}`; +``` + +--- + +## 📁 **File Yang Diperbaiki** + +### 1. **assets/js/kmz-export.js** +- ✅ Fixed `generateItemPlacemarks()` - coordinates untuk KML +- ✅ Fixed `generateItemDescription()` - display koordinat +- ✅ Added validation untuk item dengan koordinat tidak valid +- ✅ Added filter untuk skip item dengan koordinat invalid + +### 2. **assets/js/app.js** +- ✅ Fixed `generateItemListHtml()` - display koordinat di tabel +- ✅ Added same validation untuk konsistensi + +--- + +## 🧪 **Testing Results** + +### ✅ **Scenario Yang Sekarang Bekerja:** + +1. **Data Normal**: Item dengan koordinat valid + ``` + latitude: "-6.208800", longitude: "106.845600" + ✅ Berhasil export KMZ + ``` + +2. **Data String**: Koordinat sebagai string dari database + ``` + parseFloat("-6.208800") → -6.2088 ✅ + parseFloat("106.845600") → 106.8456 ✅ + ``` + +3. **Data Invalid**: Koordinat null/undefined/kosong + ``` + parseFloat(null) → NaN + isNaN(NaN) → true + ✅ Item dilewati dengan warning + ``` + +4. **Mixed Data**: Beberapa item valid, beberapa tidak + ``` + ✅ Item valid: Diekspor ke KMZ + ⚠️ Item invalid: Dilewati dengan notifikasi + ``` + +--- + +## 📊 **Behavior Baru** + +### **Pre-Export Validation:** +- ✅ Cek apakah ada data untuk diekspor +- ✅ Filter item dengan koordinat valid +- ✅ Warning untuk item yang dilewati +- ✅ Prevent export jika tidak ada data valid + +### **Export Process:** +- ✅ Hanya export item dengan koordinat valid +- ✅ Skip item dengan koordinat invalid +- ✅ Log warning untuk debugging +- ✅ Notifikasi hasil export + +### **User Feedback:** +``` +✅ "KMZ file berhasil diunduh: FTTH_Planner_Export_2024-01-15.kmz" +⚠️ "2 item dilewati karena koordinat tidak valid" +❌ "Tidak ada item dengan koordinat yang valid untuk diekspor" +``` + +--- + +## 🎯 **Prevention untuk Future** + +### **Database Level:** +- Pastikan kolom `latitude` dan `longitude` bertipe **DECIMAL** +- Validation saat insert/update data koordinat + +### **API Level:** +- Convert data ke number sebelum return JSON +- Validation koordinat format + +### **Frontend Level:** +- Validation input koordinat saat save item +- Format number dengan proper parsing + +--- + +## 🚀 **Testing Checklist** + +### **Test Export KMZ:** +1. ✅ **Buat beberapa item** dengan koordinat valid +2. ✅ **Klik "Export KMZ"** +3. ✅ **File terdownload** tanpa error +4. ✅ **Buka di Google Earth** - item muncul dengan benar + +### **Test Edge Cases:** +1. ✅ **Export tanpa data** → Warning "Tidak ada data" +2. ✅ **Export dengan koordinat invalid** → Warning "X item dilewati" +3. ✅ **Semua koordinat invalid** → Error "Tidak ada item valid" +4. ✅ **Mixed valid/invalid** → Export item valid + warning + +### **Test Koordinat Display:** +1. ✅ **Daftar Item** → Koordinat tampil dengan benar +2. ✅ **Item invalid** → "Koordinat tidak valid" +3. ✅ **KMZ Description** → Format koordinat benar + +--- + +## 📝 **Notes** + +### **Why parseFloat()?** +- Converts string to number safely +- Returns NaN for invalid input (dapat dideteksi) +- Lebih reliable dari parseInt() untuk decimal + +### **Why toFixed(6)?** +- 6 decimal places = ±1 meter accuracy +- Standard untuk GPS coordinates +- Consistent dengan format Google Earth + +### **Why Skip Invalid Items?** +- Prevent KMZ corruption +- Better user experience +- Clear feedback untuk data issues + +--- + +**Error "toFixed is not a function" sudah tidak akan muncul lagi!** ✅ + +Export KMZ sekarang robust dan dapat menangani berbagai kondisi data dengan proper validation dan user feedback. \ No newline at end of file diff --git a/KMZ_Export_Guide.md b/KMZ_Export_Guide.md new file mode 100644 index 0000000..6c9194b --- /dev/null +++ b/KMZ_Export_Guide.md @@ -0,0 +1,186 @@ +# 🌍 Panduan Export KMZ - FTTH Planner + +## 📋 Tentang Fitur Export KMZ + +Fitur Export KMZ memungkinkan Anda mengekspor semua data infrastruktur FTTH dari aplikasi web ke format KMZ yang dapat dibuka di Google Earth atau aplikasi GIS lainnya. + +## 🎯 Apa yang Diekspor? + +### 📍 Item FTTH +- **OLT** - Marker merah besar +- **Tiang Tumpu** - Marker hijau +- **ODP** - Marker biru +- **ODC** - Marker hijau kotak +- **Pelanggan** - Marker orange kecil + +### 🛣️ Routing Kabel +- **Terpasang** - Garis hijau tebal +- **Perencanaan** - Garis kuning +- **Maintenance** - Garis merah + +### 📊 Data yang Disertakan +Setiap item menyertakan informasi lengkap: +- Nama dan jenis item +- Deskripsi dan alamat +- Koordinat GPS +- Warna tube dan core yang digunakan +- Jenis splitter (utama dan ODP) +- Status item + +## 🚀 Cara Menggunakan + +### 1. Export dari Aplikasi +``` +Dashboard → Tombol "Export KMZ" (hijau) +atau +Sidebar → Export Data → Export ke KMZ +``` + +### 2. File yang Dihasilkan +- **Nama File**: `FTTH_Planner_Export_YYYY-MM-DD-HHMMSS.kmz` +- **Format**: KMZ (compressed KML) +- **Ukuran**: Tergantung jumlah data (biasanya <1MB) + +### 3. Membuka di Google Earth + +#### Google Earth Pro (Desktop) +1. **Buka Google Earth Pro** +2. **File → Open** atau drag & drop file KMZ +3. **Zoom ke area**: Data akan muncul di layer panel +4. **Klik item**: Lihat detail di popup + +#### Google Earth Web +1. **Buka** [earth.google.com](https://earth.google.com) +2. **Menu → Projects → Import KML file** +3. **Upload file KMZ** +4. **Explore data** di layer panel + +### 4. Aplikasi Lain yang Mendukung +- **QGIS** (Open Source GIS) +- **ArcGIS** (Professional GIS) +- **Google Maps MyMaps** +- **Avenza Maps** (Mobile) +- **GPS Essentials** (Android) + +## 📱 Penggunaan di Mobile + +### Android +1. **Download file KMZ** dari email/cloud +2. **Buka dengan Google Earth** +3. **Atau import ke aplikasi GPS/mapping** + +### iPhone +1. **Download file KMZ** +2. **Open with → Google Earth** +3. **Atau share ke aplikasi mapping lain** + +## 🔧 Troubleshooting + +### File KMZ Tidak Bisa Dibuka +**Penyebab**: +- Browser memblokir download +- Ekstensi file tidak benar +- File corrupt saat download + +**Solusi**: +1. **Coba browser lain** (Chrome, Firefox, Edge) +2. **Disable popup blocker** untuk domain aplikasi +3. **Download ulang** file KMZ +4. **Rename extension** dari .zip ke .kmz jika perlu + +### Data Tidak Muncul di Google Earth +**Penyebab**: +- Koordinat di luar area view +- Layer tidak aktif +- Zoom level terlalu tinggi + +**Solusi**: +1. **Cek layer panel** - pastikan data visible +2. **Double-click layer** untuk zoom ke data +3. **Reset view** dan cari area Indonesia +4. **Zoom out** untuk lihat overview + +### Performance Issue +**Jika data banyak** (>1000 items): +1. **Filter data** sebelum export +2. **Export per area** tertentu +3. **Gunakan desktop app** bukan web browser + +## 📊 Format Data KML + +File KMZ berisi struktur KML sebagai berikut: + +```xml + + + FTTH Planner Export + + + + + + + OLT Jakarta Selatan + Detail lengkap item... + + 106.8456,-6.2088,0 + + + + + + Route: OLT → ODP + + 106.8456,-6.2088,0 106.8500,-6.2100,0 + + + + + +``` + +## 🎓 Tips & Best Practices + +### Export Data Berkualitas +1. **Lengkapi semua field** (alamat, deskripsi, dll) +2. **Gunakan naming convention** yang konsisten +3. **Update status** item secara berkala +4. **Verifikasi koordinat** sebelum export + +### Sharing Data +1. **Compress ulang** jika file besar (WinRAR/7zip) +2. **Upload ke cloud** untuk sharing tim +3. **Dokumentasikan versi** dan tanggal export +4. **Backup file KMZ** secara berkala + +### Integrasi dengan Workflow +1. **Export mingguan** untuk monitoring +2. **Combine dengan data survey** lapangan +3. **Import ke GIS** untuk analisis lanjutan +4. **Share dengan contractor** untuk implementasi + +## ⚡ Features Advanced + +### Custom Styling +File KMZ menggunakan icon standar Google Earth, tapi Anda bisa: +1. **Edit file KMZ** (extract → edit KML → recompress) +2. **Custom icon URLs** di KML +3. **Advanced styling** dengan KML extensions + +### Data Integration +1. **Merge dengan KMZ lain** di Google Earth +2. **Overlay dengan satellite imagery** +3. **Analysis dengan terrain data** +4. **Export ke format lain** (GPX, Shapefile) + +## 📞 Support + +Jika mengalami masalah dengan export KMZ: +1. **Cek browser console** (F12) untuk error +2. **Test dengan data minimal** (1-2 items) +3. **Verify file download** tidak corrupt +4. **Contact developer** dengan screenshot error + +--- + +**Catatan**: Format KMZ adalah standard internasional untuk data geospasial, sehingga file yang dihasilkan dapat digunakan di berbagai platform dan aplikasi GIS profesional. 🌍 \ No newline at end of file diff --git a/KMZ_Export_Summary.md b/KMZ_Export_Summary.md new file mode 100644 index 0000000..44f41ca --- /dev/null +++ b/KMZ_Export_Summary.md @@ -0,0 +1,179 @@ +# 📦 Summary: Fitur Export KMZ + +## ✅ Fitur Yang Ditambahkan + +### 🎯 **Export KMZ Lengkap** +- ✅ Export semua items FTTH (OLT, Tiang, ODP, ODC, Pelanggan) +- ✅ Export semua routes dengan koordinat lengkap +- ✅ File KMZ kompatibel dengan Google Earth +- ✅ Styling yang sesuai untuk setiap jenis item + +### 🔘 **Interface Baru** +- ✅ Tombol "Export KMZ" di header peta +- ✅ Menu "Export ke KMZ" di sidebar +- ✅ Notifikasi progress dan status download + +### 📊 **Data Yang Diekspor** +- ✅ Semua informasi item (nama, deskripsi, alamat, koordinat) +- ✅ Technical data (warna tube, core, splitter) +- ✅ Status item (aktif, maintenance, dll) +- ✅ Route cables dengan jarak dan spesifikasi + +--- + +## 📁 File Yang Dibuat/Dimodifikasi + +### File Baru: +- `assets/js/kmz-export.js` - Logic export KMZ +- `KMZ_Export_Guide.md` - Panduan lengkap penggunaan +- `KMZ_Export_Summary.md` - Summary ini + +### File Dimodifikasi: +- `index.php` - Tambah tombol & library +- `README.md` - Update dokumentasi + +### Library Ditambahkan: +- JSZip - Untuk compress KML ke KMZ +- FileSaver.js - Untuk download file + +--- + +## 🚀 Cara Menggunakan + +### Quick Start: +1. **Buka aplikasi FTTH Planner** +2. **Tambah beberapa items** (OLT, Pelanggan, dll) +3. **Buat routes** antar items +4. **Klik "Export KMZ"** (tombol hijau) +5. **File otomatis terdownload** dengan nama timestamp +6. **Buka di Google Earth** atau aplikasi GIS + +### Format File: +``` +FTTH_Planner_Export_2024-01-15-143027.kmz +``` + +--- + +## 🌍 Kompatibilitas + +### ✅ Aplikasi Yang Mendukung: +- **Google Earth Pro** (Desktop) +- **Google Earth Web** (Browser) +- **QGIS** (Open Source GIS) +- **ArcGIS** (Professional) +- **Avenza Maps** (Mobile) +- **GPS Essentials** (Android) + +### 📱 Platform: +- **Windows** - Google Earth Pro +- **macOS** - Google Earth Pro +- **Linux** - QGIS, Google Earth Web +- **Android** - Google Earth, GPS apps +- **iOS** - Google Earth + +--- + +## 🎨 Styling di Google Earth + +### Items: +- 🔴 **OLT**: Marker merah besar +- 🟢 **Tiang Tumpu**: Marker hijau +- 🔵 **ODP**: Marker biru +- 🟩 **ODC**: Marker hijau kotak +- 🟠 **Pelanggan**: Marker orange kecil + +### Routes: +- **Hijau solid**: Route terpasang +- **Kuning**: Route perencanaan +- **Merah**: Route maintenance + +--- + +## 🔧 Technical Details + +### KML Structure: +```xml + + + FTTH Planner Export + + + Item Name + Detailed info + ... + + + Route + ... + + + +``` + +### JavaScript Functions: +- `exportToKMZ()` - Main export function +- `generateKML()` - Create KML content +- `createKMZFile()` - Compress and download + +--- + +## 🐛 Error Handling + +### Automatic Fallbacks: +- ✅ Check JSZip library availability +- ✅ Validate data before export +- ✅ Handle empty datasets gracefully +- ✅ Show progress notifications +- ✅ Catch download errors + +### Browser Compatibility: +- ✅ Chrome, Firefox, Edge, Safari +- ✅ Mobile browsers +- ✅ Popup blocker handling + +--- + +## 📈 Benefits + +### For Planners: +- **Offline viewing** in Google Earth +- **3D visualization** of infrastructure +- **Share with stakeholders** easily +- **Mobile field reference** + +### For Teams: +- **Standard format** across industry +- **Professional presentation** +- **Integration with GIS workflows** +- **Archive planning data** + +### For Field Work: +- **GPS coordinates** for navigation +- **Detailed item info** on-site +- **Route planning** visualization +- **Offline access** to data + +--- + +## 🎯 Next Enhancements (Future) + +### Possible Improvements: +- 📍 Custom icon URLs in KMZ +- 📊 Layer grouping by item type +- 🎨 Advanced styling options +- 📱 Direct mobile export +- 🔄 Import KMZ back to app +- 📋 Export filtered data only + +### Integration Options: +- 🌐 Google MyMaps integration +- 📊 Export to GeoJSON format +- 🗺️ Export to Shapefile +- 📱 QR code for mobile sharing + +--- + +**Fitur Export KMZ siap digunakan!** 🎉 + +Semua data infrastruktur FTTH sekarang dapat diekspor ke format standar industri dan dibagikan dengan tim, contractor, atau stakeholder menggunakan Google Earth dan aplikasi GIS profesional. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..24ddf3e --- /dev/null +++ b/README.md @@ -0,0 +1,229 @@ +# FTTH Planner + +Aplikasi perencanaan infrastruktur FTTH (Fiber to the Home) berbasis web menggunakan AdminLTE, PHP, MySQL, dan OpenStreetMaps. + +## Fitur Utama + +- **Manajemen Item FTTH**: OLT, Tiang Tumpu, ODP, ODC +- **Peta Interaktif**: Visualisasi infrastruktur menggunakan OpenStreetMaps +- **Drag & Drop**: Pindahkan item langsung di peta +- **Routing Kabel**: Buat rute kabel mengikuti jalan +- **Form Dinamis**: Tambah/edit item dengan form modal +- **Dashboard Statistik**: Monitoring jumlah item dan route +- **Responsive Design**: Tampilan optimal di desktop dan mobile +- **Export KMZ**: Export data ke Google Earth format + +## Sistem Requirement + +- **XAMPP** (Apache, MySQL, PHP 7.4+) +- **Web Browser** modern dengan JavaScript enabled +- **Koneksi Internet** untuk loading maps dan library + +## Instalasi + +### 1. Setup XAMPP + +1. Download dan install XAMPP dari [https://www.apachefriends.org/](https://www.apachefriends.org/) +2. Start Apache dan MySQL di XAMPP Control Panel + +### 2. Setup Database + +1. Buka phpMyAdmin di browser: `http://localhost/phpmyadmin` +2. Import file database: `database.sql` +3. Atau jalankan SQL script secara manual untuk membuat database dan tabel + +### 3. Setup Aplikasi + +1. Copy folder aplikasi ke `C:\xampp\htdocs\ftthplanner` +2. Pastikan struktur folder seperti ini: + ``` + C:\xampp\htdocs\ftthplanner\ + ├── index.php + ├── config/ + │ └── database.php + ├── api/ + │ ├── items.php + │ ├── routes.php + │ ├── tube_colors.php + │ ├── splitters.php + │ └── statistics.php + ├── assets/ + │ ├── css/ + │ │ └── custom.css + │ └── js/ + │ ├── map.js + │ ├── app.js + │ └── kmz-export.js + ├── database.sql + ├── README.md + ├── KMZ_Export_Guide.md + └── testing_guide.md + ``` + +### 4. Konfigurasi Database + +Edit file `config/database.php` sesuai dengan setting MySQL Anda: + +```php +private $host = "localhost"; +private $db_name = "ftth_planner"; +private $username = "root"; +private $password = ""; +``` + +### 5. Akses Aplikasi + +Buka browser dan akses: `http://localhost/ftthplanner` + +## Cara Penggunaan + +### Menambah Item FTTH + +1. **Via Sidebar**: Klik menu "Tambah OLT", "Tambah Tiang Tumpu", dll +2. **Via Map**: Klik langsung di peta untuk menambah item di lokasi tersebut +3. **Via Tombol**: Klik tombol "Tambah Item" di header card map + +### Mengedit Item + +1. Klik marker di peta +2. Klik tombol "Edit" di popup +3. Update informasi di form modal +4. Klik "Simpan" + +### Memindahkan Item + +- Drag & drop marker langsung di peta +- Posisi akan otomatis tersimpan + +### Membuat Route Kabel + +1. **Mode Routing**: Klik tombol "Mode Routing" atau "Route" di popup item +2. **Pilih Tujuan**: Klik item tujuan untuk membuat route +3. **Auto Route**: Sistem akan membuat route mengikuti jalan + +### Melihat Daftar Item/Route + +- Klik menu "Daftar Item" untuk melihat semua item dalam tabel +- Klik menu "Routing Kabel" untuk melihat semua route + +### Export ke Google Earth + +1. **Klik tombol "Export KMZ"** di header peta atau sidebar +2. **File KMZ otomatis terdownload** dengan timestamp +3. **Buka di Google Earth** atau aplikasi GIS lainnya +4. **Lihat detail lengkap** setiap item dan route + +## Struktur Database + +### Tabel Utama + +- `ftth_items`: Data item infrastruktur FTTH +- `cable_routes`: Data routing kabel antar item +- `item_types`: Jenis-jenis item (OLT, Tiang, ODP, ODC) +- `tube_colors`: Master data warna tube +- `splitter_types`: Master data jenis splitter + +### Relasi + +- Item memiliki relasi ke item_types, tube_colors, dan splitter_types +- Route menghubungkan dua item (from_item_id dan to_item_id) + +## Teknologi yang Digunakan + +### Frontend +- **AdminLTE 3.2**: Framework dashboard admin +- **Leaflet.js**: Library peta interaktif +- **OpenStreetMaps**: Data peta +- **Leaflet Routing Machine**: Routing jalan +- **Bootstrap 4**: CSS framework +- **jQuery**: JavaScript library +- **Font Awesome**: Icon library +- **JSZip**: Compression untuk KMZ export +- **FileSaver.js**: Download file functionality + +### Backend +- **PHP 7.4+**: Server-side scripting +- **MySQL**: Database +- **PDO**: Database abstraction layer + +### Maps & Routing +- **OpenStreetMaps**: Tile server peta +- **Leaflet**: Map rendering engine +- **OSRM**: Routing service + +## Fitur Lanjutan + +### Drag & Drop Items +- Semua marker dapat di-drag ke posisi baru +- Update koordinat otomatis tersimpan ke database + +### Interactive Popup +- Info lengkap item saat klik marker +- Aksi edit, route, dan hapus dalam popup + +### Route Visualization +- Route terpasang: garis solid hijau +- Route perencanaan: garis putus-putus kuning +- Route maintenance: garis putus-putus merah + +### Responsive Design +- Optimized untuk desktop dan mobile +- Map dan form menyesuaikan ukuran layar + +### Export KMZ +- Export semua data items dan routes ke format Google Earth +- File KMZ dengan styling yang sesuai untuk setiap jenis item +- Informasi lengkap dalam popup Google Earth +- Kompatibel dengan aplikasi GIS profesional + +## Troubleshooting + +### Error Database Connection +- Pastikan MySQL berjalan di XAMPP +- Cek konfigurasi di `config/database.php` +- Pastikan database `ftth_planner` sudah dibuat + +### Map Tidak Muncul +- Cek koneksi internet +- Pastikan JavaScript enabled di browser +- Lihat console browser untuk error + +### Item Tidak Tersimpan +- Cek permission folder aplikasi +- Pastikan semua field required sudah diisi +- Lihat Network tab di browser untuk error API + +### Route Tidak Terbuat +- Pastikan kedua item sudah ada di database +- Cek koneksi internet untuk routing service +- Mode routing harus aktif sebelum memilih item + +## Pengembangan Lebih Lanjut + +### Fitur yang Bisa Ditambahkan + +1. **Import/Export Data**: Import data dari Excel/CSV +2. **Laporan**: Generate laporan PDF/Excel +3. **User Management**: Login dan role-based access +4. **Backup/Restore**: Backup data dan konfigurasi +5. **Mobile App**: Native app untuk survey lapangan +6. **Integration**: Integrasi dengan sistem lain via API + +### Customization + +- Ubah warna marker di `assets/css/custom.css` +- Tambah jenis item baru di database `item_types` +- Modifikasi form field di `index.php` +- Tambah validasi di file API + +## Lisensi + +Aplikasi ini dibuat untuk keperluan pembelajaran dan dapat digunakan secara bebas. + +## Kontak + +Untuk pertanyaan dan support, silakan hubungi developer. + +--- + +**Catatan**: Pastikan selalu backup database sebelum melakukan perubahan major pada aplikasi. \ No newline at end of file diff --git a/api/detail_redaman.php b/api/detail_redaman.php new file mode 100644 index 0000000..f59b3de --- /dev/null +++ b/api/detail_redaman.php @@ -0,0 +1,66 @@ +getConnection(); + +$id = intval($_GET['id'] ?? 0); +if ($id <= 0) { + echo json_encode(['success'=>false,'message'=>'ID tidak valid']); + exit; +} + +$stmt = $conn->prepare("SELECT serial_number FROM ftth_items WHERE id=:id"); +$stmt->bindParam(':id', $id, PDO::PARAM_INT); +$stmt->execute(); +$row = $stmt->fetch(PDO::FETCH_ASSOC); + +if (!$row) { + echo json_encode(['success'=>false,'message'=>'Data tidak ditemukan']); + exit; +} + +$serialNumber = $row['serial_number']; + +// Ambil RX Power dan PPPoE IP dari API +$rxPower = null; +$pppoeIP = null; + +if ($serialNumber) { + $query = json_encode(["_id" => $serialNumber]); + $url = "http://localhost:7557/devices/?query=" . urlencode($query); + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + $response = curl_exec($ch); + curl_close($ch); + + if ($response) { + $data = json_decode($response, true); + + // Ambil RX Power + if (isset($data[0]['VirtualParameters']['RXPower']['_value'])) { + $rxPower = $data[0]['VirtualParameters']['RXPower']['_value'] . " dBm"; + } + + // Ambil PPPoE IP + if (isset($data[0]['VirtualParameters']['pppoeIP']['_value'])) { + $pppoeIP = $data[0]['VirtualParameters']['pppoeIP']['_value']; + } + } +} + +// Output JSON untuk AJAX +echo json_encode([ + 'success' => true, + 'data' => [ + 'serial_number' => $serialNumber, + 'rx_power' => $rxPower ?? 'Tidak tersedia', + 'pppoe_ip' => $pppoeIP ?? 'Tidak tersedia' + ] +]); diff --git a/api/items.php b/api/items.php new file mode 100644 index 0000000..37053ad --- /dev/null +++ b/api/items.php @@ -0,0 +1,358 @@ +getConnection(); + +// Handle method override and multipart data parsing +$method = $_SERVER['REQUEST_METHOD']; +$parsed_data = array(); + +// Parse multipart form data manually if needed +if (($method === 'PUT' || $method === 'PATCH') && empty($_POST) && + isset($_SERVER['CONTENT_TYPE']) && strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false) { + + // Force treat as POST to get parsed form data + $raw_input = file_get_contents('php://input'); + $parsed_data = parseMultipartFormData($raw_input, $_SERVER['CONTENT_TYPE']); + + // If we found form data, treat this as a method override + if (!empty($parsed_data)) { + if (isset($parsed_data['_method'])) { + $method = strtoupper($parsed_data['_method']); + unset($parsed_data['_method']); + } + // Populate $_POST with parsed data for compatibility + $_POST = $parsed_data; + } +} + +// Check for X-HTTP-Method-Override header +if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) { + $method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']; +} + +// Check for _method parameter (Laravel style) - now works with manually parsed data too +if (isset($_POST['_method'])) { + $method = strtoupper($_POST['_method']); + unset($_POST['_method']); // Clean it up +} + +$response = array('success' => false, 'message' => '', 'data' => null); + +// Log only important requests for production +if ($method === 'PUT' || $method === 'DELETE') { + error_log("FTTH API - " . $method . " request, ID: " . (isset($_POST['id']) ? $_POST['id'] : 'N/A')); +} + +try { + switch($method) { + case 'GET': + if (isset($_GET['id'])) { + // Get single item + $query = "SELECT i.*, i.serial_number, + it.name as item_type_name, it.icon, it.color, + tc.color_name as tube_color_name, tc.hex_code, + cc.color_name as core_color_name, cc.hex_code as core_hex_code, + sm.ratio as splitter_main_ratio, + so.ratio as splitter_odp_ratio + FROM ftth_items i + LEFT JOIN item_types it ON i.item_type_id = it.id + LEFT JOIN tube_colors tc ON i.tube_color_id = tc.id + LEFT JOIN tube_colors cc ON i.core_color_id = cc.id + LEFT JOIN splitter_types sm ON i.splitter_main_id = sm.id + LEFT JOIN splitter_types so ON i.splitter_odp_id = so.id + WHERE i.id = :id"; + + + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $_GET['id']); + $stmt->execute(); + + $item = $stmt->fetch(PDO::FETCH_ASSOC); + if ($item) { + $response['success'] = true; + $response['data'] = $item; + } else { + $response['message'] = 'Item not found'; + } + } else { + // Get all items + $query = "SELECT i.*, i.serial_number, + it.name as item_type_name, it.icon, it.color, + tc.color_name as tube_color_name, tc.hex_code, + cc.color_name as core_color_name, cc.hex_code as core_hex_code, + sm.ratio as splitter_main_ratio, + so.ratio as splitter_odp_ratio + FROM ftth_items i + LEFT JOIN item_types it ON i.item_type_id = it.id + LEFT JOIN tube_colors tc ON i.tube_color_id = tc.id + LEFT JOIN tube_colors cc ON i.core_color_id = cc.id + LEFT JOIN splitter_types sm ON i.splitter_main_id = sm.id + LEFT JOIN splitter_types so ON i.splitter_odp_id = so.id + ORDER BY i.created_at DESC"; + + + $stmt = $db->prepare($query); + $stmt->execute(); + + $items = $stmt->fetchAll(PDO::FETCH_ASSOC); + $response['success'] = true; + $response['data'] = $items; + } + break; + + case 'POST': + // Create new item + $item_type_id = $_POST['item_type'] ?? null; + $name = $_POST['name'] ?? null; + $description = $_POST['description'] ?? null; + $latitude = $_POST['latitude'] ?? null; + $longitude = $_POST['longitude'] ?? null; + $address = $_POST['address'] ?? null; + $serial_number = $_POST['serial_number'] ?? null; // <--- Tambahan + + // Handle foreign key fields - convert empty strings to NULL + $tube_color_id = (!empty($_POST['tube_color_id']) && $_POST['tube_color_id'] !== '0') ? $_POST['tube_color_id'] : null; + $core_used = (!empty($_POST['core_used']) && $_POST['core_used'] !== '0') ? $_POST['core_used'] : null; + $core_color_id = (!empty($_POST['core_color_id']) && $_POST['core_color_id'] !== '0') ? $_POST['core_color_id'] : null; + $item_cable_type = $_POST['item_cable_type'] ?? 'distribution'; + $total_core_capacity = $_POST['total_core_capacity'] ?? 24; + $splitter_main_id = (!empty($_POST['splitter_main_id']) && $_POST['splitter_main_id'] !== '0') ? $_POST['splitter_main_id'] : null; + $splitter_odp_id = (!empty($_POST['splitter_odp_id']) && $_POST['splitter_odp_id'] !== '0') ? $_POST['splitter_odp_id'] : null; + $status = $_POST['status'] ?? 'active'; + + if (!$item_type_id || !$name || !$latitude || !$longitude) { + $response['message'] = 'Required fields missing'; + break; + } + + $query = "INSERT INTO ftth_items ( + item_type_id, name, description, latitude, longitude, address, serial_number, + tube_color_id, core_used, core_color_id, item_cable_type, total_core_capacity, + splitter_main_id, splitter_odp_id, status + ) VALUES ( + :item_type_id, :name, :description, :latitude, :longitude, :address, :serial_number, + :tube_color_id, :core_used, :core_color_id, :item_cable_type, :total_core_capacity, + :splitter_main_id, :splitter_odp_id, :status + )"; + + $stmt = $db->prepare($query); + $stmt->bindParam(':item_type_id', $item_type_id); + $stmt->bindParam(':name', $name); + $stmt->bindParam(':description', $description); + $stmt->bindParam(':latitude', $latitude); + $stmt->bindParam(':longitude', $longitude); + $stmt->bindParam(':address', $address); + $stmt->bindParam(':serial_number', $serial_number); // <--- Bind + $stmt->bindParam(':tube_color_id', $tube_color_id); + $stmt->bindParam(':core_used', $core_used); + $stmt->bindParam(':core_color_id', $core_color_id); + $stmt->bindParam(':item_cable_type', $item_cable_type); + $stmt->bindParam(':total_core_capacity', $total_core_capacity); + $stmt->bindParam(':splitter_main_id', $splitter_main_id); + $stmt->bindParam(':splitter_odp_id', $splitter_odp_id); + $stmt->bindParam(':status', $status); + + + if ($stmt->execute()) { + $item_id = $db->lastInsertId(); + + // Get the created item with joins + $query = "SELECT i.*, i.serial_number, + it.name as item_type_name, it.icon, it.color, + tc.color_name as tube_color_name, tc.hex_code, + cc.color_name as core_color_name, cc.hex_code as core_hex_code, + sm.ratio as splitter_main_ratio, + so.ratio as splitter_odp_ratio + FROM ftth_items i + LEFT JOIN item_types it ON i.item_type_id = it.id + LEFT JOIN tube_colors tc ON i.tube_color_id = tc.id + LEFT JOIN tube_colors cc ON i.core_color_id = cc.id + LEFT JOIN splitter_types sm ON i.splitter_main_id = sm.id + LEFT JOIN splitter_types so ON i.splitter_odp_id = so.id + WHERE i.id = :id"; + + + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $item_id); + $stmt->execute(); + + $response['success'] = true; + $response['message'] = 'Item created successfully'; + $response['data'] = $stmt->fetch(PDO::FETCH_ASSOC); + } else { + $response['message'] = 'Failed to create item'; + } + break; + + case 'PUT': + // Update item - now $_POST should be properly populated + $put_data = $_POST; + + $id = $put_data['id'] ?? null; + + if (!$id) { + $response['message'] = 'ID required for update'; + break; + } + + // Build dynamic update query + $update_fields = array(); + $params = array(':id' => $id); + + $allowed_fields = ['item_type', 'name', 'description', 'latitude', 'longitude', 'address', 'serial_number','tube_color_id', 'core_used', 'core_color_id', 'item_cable_type', 'total_core_capacity', 'splitter_main_id', 'splitter_odp_id', 'status']; + + foreach ($allowed_fields as $field) { + if (isset($put_data[$field])) { + $db_field = $field === 'item_type' ? 'item_type_id' : $field; + $update_fields[] = "$db_field = :$field"; + + // Handle empty values for foreign key fields - convert to NULL + $value = $put_data[$field]; + if (in_array($field, ['tube_color_id', 'core_color_id', 'splitter_main_id', 'splitter_odp_id']) && + ($value === '' || $value === '0' || $value === 0)) { + $value = null; + } + + $params[":$field"] = $value; + } + } + + if (empty($update_fields)) { + $response['message'] = 'No fields to update'; + break; + } + + $query = "UPDATE ftth_items SET " . implode(', ', $update_fields) . " WHERE id = :id"; + + $stmt = $db->prepare($query); + + if ($stmt->execute($params)) { + // Get updated item + $query = "SELECT i.*, i.serial_number, + it.name as item_type_name, it.icon, it.color, + tc.color_name as tube_color_name, tc.hex_code, + cc.color_name as core_color_name, cc.hex_code as core_hex_code, + sm.ratio as splitter_main_ratio, + so.ratio as splitter_odp_ratio + FROM ftth_items i + LEFT JOIN item_types it ON i.item_type_id = it.id + LEFT JOIN tube_colors tc ON i.tube_color_id = tc.id + LEFT JOIN tube_colors cc ON i.core_color_id = cc.id + LEFT JOIN splitter_types sm ON i.splitter_main_id = sm.id + LEFT JOIN splitter_types so ON i.splitter_odp_id = so.id + WHERE i.id = :id"; + + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $id); + $stmt->execute(); + + $response['success'] = true; + $response['message'] = 'Item updated successfully'; + $response['data'] = $stmt->fetch(PDO::FETCH_ASSOC); + } else { + $response['message'] = 'Failed to update item'; + } + break; + + case 'DELETE': + // Delete item + $input = file_get_contents("php://input"); + $delete_data = array(); + + // Try to parse JSON first, then form data + $json_data = json_decode($input, true); + if ($json_data) { + $delete_data = $json_data; + } else { + parse_str($input, $delete_data); + } + + // Also check for regular POST data (for compatibility) + if (empty($delete_data)) { + $delete_data = $_POST; + } + + $id = $delete_data['id'] ?? null; + + if (!$id) { + $response['message'] = 'ID required for deletion'; + break; + } + + // Delete related routes first + $query = "DELETE FROM cable_routes WHERE from_item_id = :id OR to_item_id = :id"; + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $id); + $stmt->execute(); + + // Delete the item + $query = "DELETE FROM ftth_items WHERE id = :id"; + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $id); + + if ($stmt->execute()) { + $response['success'] = true; + $response['message'] = 'Item deleted successfully'; + } else { + $response['message'] = 'Failed to delete item'; + } + break; + + default: + $response['message'] = 'Method not allowed'; + break; + } + +} catch (Exception $e) { + $response['message'] = 'Database error: ' . $e->getMessage(); +} + +echo json_encode($response); +?> \ No newline at end of file diff --git a/api/routes.php b/api/routes.php new file mode 100644 index 0000000..d34c045 --- /dev/null +++ b/api/routes.php @@ -0,0 +1,278 @@ +getConnection(); + +// Function to parse multipart/form-data for PUT requests +function parseMultipartFormData($input, $contentType) { + $data = array(); + if (preg_match('/boundary=(.+)$/', $contentType, $matches)) { + $boundary = $matches[1]; + $parts = array_slice(explode('--' . $boundary, $input), 1); + foreach ($parts as $part) { + if (trim($part) == '--' || empty(trim($part))) continue; + $sections = explode("\r\n\r\n", $part, 2); + if (count($sections) != 2) continue; + $headers = $sections[0]; + $body = rtrim($sections[1], "\r\n"); + if (preg_match('/name="([^"]*)"/', $headers, $matches)) { + $fieldName = $matches[1]; + $data[$fieldName] = $body; + } + } + } + return $data; +} + +// Handle method override and multipart data parsing +$method = $_SERVER['REQUEST_METHOD']; +if (($method === 'PUT' || $method === 'PATCH') && empty($_POST) && + isset($_SERVER['CONTENT_TYPE']) && strpos($_SERVER['CONTENT_TYPE'], 'multipart/form-data') !== false) { + $raw_input = file_get_contents('php://input'); + $parsed_data = parseMultipartFormData($raw_input, $_SERVER['CONTENT_TYPE']); + if (!empty($parsed_data)) { + if (isset($parsed_data['_method'])) { + $method = strtoupper($parsed_data['_method']); + unset($parsed_data['_method']); + } + $_POST = $parsed_data; + } +} + +// Check for X-HTTP-Method-Override header +if (isset($_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE'])) { + $method = $_SERVER['HTTP_X_HTTP_METHOD_OVERRIDE']; +} + +// Check for _method parameter (Laravel style) +if (isset($_POST['_method'])) { + $method = strtoupper($_POST['_method']); + unset($_POST['_method']); // Clean it up +} + +$response = array('success' => false, 'message' => '', 'data' => null); + +try { + switch($method) { + case 'GET': + if (isset($_GET['id'])) { + // Get single route + $query = "SELECT r.*, + fi.name as from_item_name, fi.latitude as from_lat, fi.longitude as from_lng, + ti.name as to_item_name, ti.latitude as to_lat, ti.longitude as to_lng + FROM cable_routes r + LEFT JOIN ftth_items fi ON r.from_item_id = fi.id + LEFT JOIN ftth_items ti ON r.to_item_id = ti.id + WHERE r.id = :id"; + + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $_GET['id']); + $stmt->execute(); + + $route = $stmt->fetch(PDO::FETCH_ASSOC); + if ($route) { + $response['success'] = true; + $response['data'] = $route; + } else { + $response['message'] = 'Route not found'; + } + } else { + // Get all routes + $query = "SELECT r.*, + fi.name as from_item_name, fi.latitude as from_lat, fi.longitude as from_lng, + ti.name as to_item_name, ti.latitude as to_lat, ti.longitude as to_lng + FROM cable_routes r + LEFT JOIN ftth_items fi ON r.from_item_id = fi.id + LEFT JOIN ftth_items ti ON r.to_item_id = ti.id + ORDER BY r.created_at DESC"; + + $stmt = $db->prepare($query); + $stmt->execute(); + + $routes = $stmt->fetchAll(PDO::FETCH_ASSOC); + $response['success'] = true; + $response['data'] = $routes; + } + break; + + case 'POST': + // Create new route + $from_item_id = $_POST['from_item_id'] ?? null; + $to_item_id = $_POST['to_item_id'] ?? null; + $route_coordinates = $_POST['route_coordinates'] ?? null; + $distance = $_POST['distance'] ?? null; + $cable_type = $_POST['cable_type'] ?? 'Fiber Optic'; + $core_count = $_POST['core_count'] ?? 24; + $status = $_POST['status'] ?? 'planned'; + + if (!$from_item_id || !$to_item_id) { + $response['message'] = 'From and To items are required'; + break; + } + + // Check if route already exists + $query = "SELECT id FROM cable_routes WHERE + (from_item_id = :from_id AND to_item_id = :to_id) OR + (from_item_id = :to_id AND to_item_id = :from_id)"; + $stmt = $db->prepare($query); + $stmt->bindParam(':from_id', $from_item_id); + $stmt->bindParam(':to_id', $to_item_id); + $stmt->execute(); + + if ($stmt->fetch()) { + $response['message'] = 'Route already exists between these items'; + break; + } + + $query = "INSERT INTO cable_routes (from_item_id, to_item_id, route_coordinates, distance, cable_type, core_count, status) + VALUES (:from_item_id, :to_item_id, :route_coordinates, :distance, :cable_type, :core_count, :status)"; + + + $stmt = $db->prepare($query); + $stmt->bindParam(':from_item_id', $from_item_id); + $stmt->bindParam(':to_item_id', $to_item_id); + $stmt->bindParam(':route_coordinates', $route_coordinates); + $stmt->bindParam(':distance', $distance); + $stmt->bindParam(':cable_type', $cable_type); + $stmt->bindParam(':core_count', $core_count); + $stmt->bindParam(':status', $status); + + if ($stmt->execute()) { + $route_id = $db->lastInsertId(); + $response['success'] = true; + $response['message'] = 'Route created successfully'; + $response['route_id'] = $route_id; + } else { + $response['message'] = 'Failed to create route'; + } + break; + + case 'PUT': + // Update route - now using $_POST populated by parser + $put_data = $_POST; + + // Debug logging + error_log('🔧 Route PUT Request - Method: ' . $method); + error_log('🔧 POST data: ' . print_r($put_data, true)); + + $id = $put_data['id'] ?? null; + + if (!$id) { + error_log('❌ Route update failed: No ID provided'); + $response['message'] = 'ID required for update'; + break; + } + + // Build dynamic update query + $update_fields = array(); + $params = array(':id' => $id); + + $allowed_fields = ['cable_type', 'core_count', 'status', 'distance', 'route_coordinates']; + + foreach ($allowed_fields as $field) { + if (isset($put_data[$field])) { + $update_fields[] = "$field = :$field"; + $params[":$field"] = $put_data[$field]; + } + } + + if (empty($update_fields)) { + $response['message'] = 'No fields to update'; + break; + } + + $query = "UPDATE cable_routes SET " . implode(', ', $update_fields) . " WHERE id = :id"; + + $stmt = $db->prepare($query); + + if ($stmt->execute($params)) { + $response['success'] = true; + $response['message'] = 'Route updated successfully'; + } else { + $response['message'] = 'Failed to update route'; + } + break; + + case 'DELETE': + $input = file_get_contents("php://input"); + $delete_data = array(); + + // Try to parse JSON first, then form data + $json_data = json_decode($input, true); + if ($json_data) { + $delete_data = $json_data; + } else { + parse_str($input, $delete_data); + } + + // Also check for regular POST data (for compatibility) + if (empty($delete_data)) { + $delete_data = $_POST; + } + + if (isset($delete_data['id'])) { + // Delete single route + $id = $delete_data['id']; + + $query = "DELETE FROM cable_routes WHERE id = :id"; + $stmt = $db->prepare($query); + $stmt->bindParam(':id', $id); + + if ($stmt->execute()) { + $response['success'] = true; + $response['message'] = 'Route deleted successfully'; + } else { + $response['message'] = 'Failed to delete route'; + } + } else if (isset($delete_data['item_id'])) { + // Delete all routes connected to an item + $item_id = $delete_data['item_id']; + + // Get route IDs first + $query = "SELECT id FROM cable_routes WHERE from_item_id = :item_id OR to_item_id = :item_id"; + $stmt = $db->prepare($query); + $stmt->bindParam(':item_id', $item_id); + $stmt->execute(); + $route_ids = $stmt->fetchAll(PDO::FETCH_COLUMN); + + // Delete routes + $query = "DELETE FROM cable_routes WHERE from_item_id = :item_id OR to_item_id = :item_id"; + $stmt = $db->prepare($query); + $stmt->bindParam(':item_id', $item_id); + + if ($stmt->execute()) { + $response['success'] = true; + $response['message'] = 'Routes deleted successfully'; + $response['deleted_routes'] = $route_ids; + } else { + $response['message'] = 'Failed to delete routes'; + } + } else { + $response['message'] = 'ID or item_id required for deletion'; + } + break; + + default: + $response['message'] = 'Method not allowed'; + break; + } + +} catch (Exception $e) { + $response['message'] = 'Database error: ' . $e->getMessage(); +} + +echo json_encode($response); +?> \ No newline at end of file diff --git a/api/splitters.php b/api/splitters.php new file mode 100644 index 0000000..e1158b6 --- /dev/null +++ b/api/splitters.php @@ -0,0 +1,26 @@ +getConnection(); + +$response = array('success' => false, 'message' => '', 'data' => null); + +try { + $query = "SELECT * FROM splitter_types ORDER BY type, ratio"; + $stmt = $db->prepare($query); + $stmt->execute(); + + $splitters = $stmt->fetchAll(PDO::FETCH_ASSOC); + $response['success'] = true; + $response['data'] = $splitters; + +} catch (Exception $e) { + $response['message'] = 'Database error: ' . $e->getMessage(); +} + +echo json_encode($response); +?> \ No newline at end of file diff --git a/api/statistics.php b/api/statistics.php new file mode 100644 index 0000000..3353a19 --- /dev/null +++ b/api/statistics.php @@ -0,0 +1,59 @@ +getConnection(); + +$response = array('success' => false, 'message' => '', 'data' => null); + +try { + // Get item counts by type + $query = "SELECT it.name as item_type, COUNT(i.id) as count + FROM item_types it + LEFT JOIN ftth_items i ON it.id = i.item_type_id + GROUP BY it.id, it.name + ORDER BY it.id"; + + $stmt = $db->prepare($query); + $stmt->execute(); + + $statistics = array(); + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $key = strtolower(str_replace(' ', '_', $row['item_type'])); + $statistics[$key] = (int)$row['count']; + } + + // Get total routes + $query = "SELECT COUNT(*) as total_routes FROM cable_routes"; + $stmt = $db->prepare($query); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $statistics['total_routes'] = (int)$result['total_routes']; + + // Get route status counts + $query = "SELECT status, COUNT(*) as count FROM cable_routes GROUP BY status"; + $stmt = $db->prepare($query); + $stmt->execute(); + while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { + $statistics['routes_' . $row['status']] = (int)$row['count']; + } + + // Calculate total distance + $query = "SELECT SUM(distance) as total_distance FROM cable_routes WHERE distance IS NOT NULL"; + $stmt = $db->prepare($query); + $stmt->execute(); + $result = $stmt->fetch(PDO::FETCH_ASSOC); + $statistics['total_distance_km'] = round((float)$result['total_distance'] / 1000, 2); + + $response['success'] = true; + $response['data'] = $statistics; + +} catch (Exception $e) { + $response['message'] = 'Database error: ' . $e->getMessage(); +} + +echo json_encode($response); +?> \ No newline at end of file diff --git a/api/tube_colors.php b/api/tube_colors.php new file mode 100644 index 0000000..5c247e8 --- /dev/null +++ b/api/tube_colors.php @@ -0,0 +1,26 @@ +getConnection(); + +$response = array('success' => false, 'message' => '', 'data' => null); + +try { + $query = "SELECT * FROM tube_colors ORDER BY color_name"; + $stmt = $db->prepare($query); + $stmt->execute(); + + $colors = $stmt->fetchAll(PDO::FETCH_ASSOC); + $response['success'] = true; + $response['data'] = $colors; + +} catch (Exception $e) { + $response['message'] = 'Database error: ' . $e->getMessage(); +} + +echo json_encode($response); +?> \ No newline at end of file diff --git a/assets/css/custom.css b/assets/css/custom.css new file mode 100644 index 0000000..ffcd95c --- /dev/null +++ b/assets/css/custom.css @@ -0,0 +1,486 @@ +/* Custom CSS untuk FTTH Planner */ + +/* Map Styles */ +#map { + border-radius: 0; + border: none; +} + +.leaflet-popup-content { + margin: 8px 15px; + line-height: 1.4; +} + +.leaflet-popup-content h5 { + margin: 0 0 5px 0; + color: #007bff; +} + +.popup-info { + font-size: 13px; +} + +.popup-info .info-row { + margin-bottom: 5px; +} + +.popup-info .info-label { + font-weight: bold; + color: #333; +} + +.popup-actions { + margin-top: 10px; + text-align: center; +} + +.popup-actions .btn { + margin: 2px; + padding: 5px 10px; + font-size: 12px; +} + +/* Custom marker icons */ +.custom-marker { + border-radius: 50%; + border: 3px solid white; + box-shadow: 0 2px 5px rgba(0,0,0,0.3); +} + +.marker-olt { + background-color: #FF6B6B; +} + +.marker-tiang { + background-color: #4ECDC4; +} + +.marker-odp { + background-color: #45B7D1; +} + +.marker-odc { + background-color: #96CEB4; +} + +.marker-pelanggan { + background-color: #FFA500; +} + +/* Modal styles */ +.modal-header { + background-color: #007bff; + color: white; +} + +.modal-header .close { + color: white; + opacity: 0.8; +} + +.modal-header .close:hover { + opacity: 1; +} + +/* Form styles */ +.form-group label { + font-weight: 600; + color: #333; +} + +.tube-color-option { + display: inline-block; + width: 20px; + height: 20px; + margin-right: 8px; + vertical-align: middle; + border-radius: 3px; + border: 1px solid #ddd; +} + +/* Routing styles */ +.routing-mode { + cursor: crosshair !important; +} + +.route-line { + stroke-width: 4; + stroke-opacity: 0.8; +} + +.route-installed { + stroke: #28a745; +} + +.route-planned { + stroke: #ffc107; + stroke-dasharray: 10, 5; +} + +.route-maintenance { + stroke: #dc3545; + stroke-dasharray: 5, 5; +} + +/* Statistics cards */ +.small-box { + border-radius: 10px; +} + +.small-box .icon { + font-size: 60px; +} + +/* Sidebar brand */ +.brand-link { + border-bottom: 1px solid #4f5962; +} + +.brand-link:hover { + text-decoration: none; +} + +/* Loading spinner */ +.loading-spinner { + display: inline-block; + width: 20px; + height: 20px; + border: 3px solid rgba(255,255,255,.3); + border-radius: 50%; + border-top-color: #fff; + animation: spin 1s ease-in-out infinite; +} + +@keyframes spin { + to { transform: rotate(360deg); } +} + +/* Responsive adjustments */ +@media (max-width: 768px) { + #map { + height: 400px !important; + } + + .modal-dialog { + margin: 10px; + } + + .popup-actions .btn { + display: block; + width: 100%; + margin: 3px 0; + } +} + +/* Drag and drop indicators */ +.item-dragging { + opacity: 0.7; + transform: scale(1.1); + z-index: 1000; +} + +.drop-zone { + border: 2px dashed #007bff; + background-color: rgba(0, 123, 255, 0.1); +} + +/* Route drawing mode */ +.route-drawing .leaflet-container { + cursor: crosshair; +} + +.route-point { + background-color: #ff6b6b; + border: 2px solid white; + border-radius: 50%; + width: 12px; + height: 12px; +} + +/* Notifications */ +.toast { + min-width: 300px; +} + +.toast-header { + background-color: #007bff; + color: white; +} + +/* Map controls */ +.map-controls { + position: absolute; + top: 10px; + right: 10px; + z-index: 1000; +} + +.map-controls .btn-group-vertical .btn { + margin-bottom: 5px; +} + +/* Legend */ +.map-legend { + background: white; + padding: 10px; + border-radius: 5px; + box-shadow: 0 2px 5px rgba(0,0,0,0.2); + position: absolute; + bottom: 10px; + left: 10px; + z-index: 1000; + max-width: 200px; +} + +.legend-item { + display: flex; + align-items: center; + margin-bottom: 5px; +} + +.legend-icon { + width: 20px; + height: 20px; + margin-right: 8px; + border-radius: 50%; + border: 2px solid white; + box-shadow: 0 1px 3px rgba(0,0,0,0.3); +} + +/* Enhanced Map Controls */ +.leaflet-control-zoom { + border: none !important; + border-radius: 5px !important; + box-shadow: 0 2px 10px rgba(0,0,0,0.2) !important; +} + +.leaflet-control-zoom a { + background-color: #fff !important; + border: none !important; + color: #333 !important; + font-weight: bold; + transition: all 0.3s ease; +} + +.leaflet-control-zoom a:hover { + background-color: #007bff !important; + color: white !important; + transform: scale(1.1); +} + +.leaflet-control-custom { + border-radius: 3px !important; + transition: all 0.3s ease; +} + +.leaflet-control-custom:hover { + background-color: #007bff !important; + color: white !important; + transform: scale(1.1); +} + +.leaflet-control-custom i { + color: #333; + transition: color 0.3s ease; +} + +.leaflet-control-custom:hover i { + color: white !important; +} + +/* Layer Control Styling */ +.leaflet-control-layers { + border-radius: 8px !important; + box-shadow: 0 2px 15px rgba(0,0,0,0.2) !important; + background: white !important; + padding: 8px !important; +} + +.leaflet-control-layers-toggle { + background-image: none !important; + color: #333 !important; + font-size: 18px; +} + +.leaflet-control-layers-expanded { + padding: 12px !important; +} + +.leaflet-control-layers label { + font-weight: 500; + margin: 5px 0; + display: flex; + align-items: center; +} + +.leaflet-control-layers input[type="radio"] { + margin-right: 8px; +} + +/* Coordinates Control */ +.leaflet-control-coords { + font-family: 'Courier New', monospace; + border-radius: 3px; + border: 1px solid #ccc; + box-shadow: 0 1px 5px rgba(0,0,0,0.2); +} + +/* Scale Control */ +.leaflet-control-scale { + margin-bottom: 40px !important; +} + +/* Help Control */ +.leaflet-control-help { + border: 1px solid #ccc; + box-shadow: 0 1px 5px rgba(0,0,0,0.2); +} + +.leaflet-control-help i { + color: #007bff; + font-size: 16px; +} + +/* Fullscreen Control */ +.leaflet-control-fullscreen a { + background-color: white !important; + border-radius: 3px; + color: #333 !important; + transition: all 0.3s ease; +} + +.leaflet-control-fullscreen a:hover { + background-color: #007bff !important; + color: white !important; +} + +/* Map Zoom Buttons in Header */ +.map-zoom-controls { + display: inline-flex; + gap: 5px; + margin-left: 10px; +} + +.map-zoom-controls .btn { + padding: 4px 8px; + font-size: 12px; + line-height: 1.2; +} + +/* Enhanced Map Container */ +#map { + border: 2px solid #e3f2fd; + border-radius: 8px; + overflow: hidden; + position: relative; +} + +/* Map Loading Indicator */ +.map-loading { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + background: rgba(255,255,255,0.9); + padding: 20px; + border-radius: 8px; + z-index: 10000; + display: none; +} + +.map-loading.active { + display: block; +} + +/* Responsive Map Controls */ +@media (max-width: 768px) { + .leaflet-control-layers { + max-width: 200px; + } + + .leaflet-control-coords { + font-size: 10px; + padding: 3px; + } + + .map-zoom-controls { + display: none; /* Hide header zoom controls on mobile */ + } +} + +/* Map Tooltips */ +.map-tooltip { + background: rgba(0,0,0,0.8); + color: white; + padding: 5px 10px; + border-radius: 4px; + font-size: 12px; + border: none; + box-shadow: 0 2px 4px rgba(0,0,0,0.2); +} + +.map-tooltip:before { + border-top-color: rgba(0,0,0,0.8); +} + +/* Item Detail Modal Styles */ +.modal-xl { + max-width: 1140px; +} + +.color-box { + border-radius: 3px; + vertical-align: middle; +} + +.popup-actions { + margin-top: 10px; + text-align: center; +} + +.popup-actions .btn { + margin: 2px; + font-size: 11px; +} + +.info-row { + margin-bottom: 5px; + font-size: 13px; +} + +.info-label { + font-weight: bold; + color: #666; +} + +/* Enhanced table styling for detail modal */ +.modal-body .table td { + border-top: none; + padding: 8px 12px; + vertical-align: middle; +} + +.modal-body .table tr:nth-child(even) { + background-color: #f8f9fa; +} + +.modal-body .table td:first-child { + width: 35%; + font-weight: 500; + color: #495057; +} + +.modal-body .card { + box-shadow: none; + border: 1px solid #dee2e6; +} + +.modal-body .card-header { + border-bottom: 1px solid rgba(255,255,255,0.2); +} + +/* Badge improvements */ +.badge { + font-size: 0.85em; + padding: 0.4em 0.6em; +} \ No newline at end of file diff --git a/assets/img/favicon.ico b/assets/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e736631b50d0414daaa7b6a845783d4f2a172bd7 GIT binary patch literal 15406 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 Warna Tube'); + + // Populate core color dropdown + let coreColorSelect = $('#coreColor'); + coreColorSelect.empty().append(''); + + response.data.forEach(function(color) { + let option = ``; + tubeColorSelect.append(option); + coreColorSelect.append(option); + }); + } + } + }); + + // Load splitter types + $.ajax({ + url: 'api/splitters.php', + method: 'GET', + success: function(response) { + if (response.success) { + let mainSplitterSelect = $('#splitterMain'); + let odpSplitterSelect = $('#splitterOdp'); + + mainSplitterSelect.empty().append(''); + odpSplitterSelect.empty().append(''); + + response.data.forEach(function(splitter) { + let option = ``; + + if (splitter.type === 'main') { + mainSplitterSelect.append(option); + } else { + odpSplitterSelect.append(option); + } + }); + } + } + }); +} + +// Initialize event listeners +function initializeEventListeners() { + // Item form submission + $('#itemForm').on('submit', function(e) { + e.preventDefault(); + saveItem(); + }); + + // Modal events + $('#itemModal').on('hidden.bs.modal', function() { + resetForm(); + }); + + // Tube color change event to show color preview + $('#tubeColor').on('change', function() { + updateColorPreview(); + }); +} + +// Show add item modal +function showAddItemModal(lat = null, lng = null) { + tempClickLatLng = lat && lng ? {lat: lat, lng: lng} : null; + + $('#itemModalTitle').text('Tambah Item FTTH'); + $('#itemId').val(''); + editingItemId = null; + + if (tempClickLatLng) { + $('#itemLat').val(tempClickLatLng.lat); + $('#itemLng').val(tempClickLatLng.lng); + } + + $('#itemModal').modal('show'); +} + +// Add new item (from sidebar) +function addNewItem(itemType) { + showAddItemModal(); + + // Set item type based on parameter + let itemTypeId = getItemTypeId(itemType); + if (itemTypeId) { + $('#itemType').val(itemTypeId); + } +} + +// Get item type ID from name +function getItemTypeId(typeName) { + switch(typeName) { + case 'OLT': return '1'; + case 'Tiang Tumpu': return '2'; + case 'ODP': return '3'; + case 'ODC': return '4'; + case 'Pelanggan': return '5'; + default: return ''; + } +} + +// Edit existing item +function editItem(itemId) { + editingItemId = itemId; + + $.ajax({ + url: 'api/items.php', + method: 'GET', + data: { id: itemId }, + success: function(response) { + if (response.success && response.data) { + let item = response.data; + + $('#itemModalTitle').text('Edit Item FTTH'); + $('#itemId').val(item.id); + $('#itemType').val(item.item_type_id); + $('#itemName').val(item.name); + $('#itemDescription').val(item.description); + $('#itemAddress').val(item.address); + $('#itemLat').val(item.latitude); + $('#itemLng').val(item.longitude); + $('#tubeColor').val(item.tube_color_id); + $('#coreColor').val(item.core_color_id); + $('#cableType').val(item.item_cable_type || 'distribution'); + $('#totalCoreCapacity').val(item.total_core_capacity || 24); + $('#coreUsed').val(item.core_used); + $('#splitterMain').val(item.splitter_main_id); + $('#splitterOdp').val(item.splitter_odp_id); + $('#itemStatus').val(item.status); + + // Calculate and display core available + setTimeout(() => calculateCoreAvailable(), 100); + + updateColorPreview(); + $('#itemModal').modal('show'); + } + }, + error: function() { + showNotification('Error loading item data', 'error'); + } + }); +} + +// Save item (create or update) +function saveItem() { + let method = editingItemId ? 'PUT' : 'POST'; + + // Validate required fields + if (!$('#itemType').val() || !$('#itemName').val()) { + showNotification('Harap isi semua field yang wajib', 'warning'); + return; + } + + // If no coordinates provided and not editing, get from temp click + if (!$('#itemLat').val() && !$('#itemLng').val() && tempClickLatLng) { + $('#itemLat').val(tempClickLatLng.lat); + $('#itemLng').val(tempClickLatLng.lng); + } + + // Always use POST with FormData for compatibility + let formData = new FormData($('#itemForm')[0]); + + // Log original method and current state + console.log('🔧 SAVEITEM DEBUG:'); + console.log('Original method:', method); + console.log('editingItemId:', editingItemId); + console.log('Item ID field value:', $('#itemId').val()); + + // For PUT requests, add _method parameter + if (method === 'PUT') { + formData.append('_method', 'PUT'); + + // Ensure ID is included for PUT request + if (editingItemId && !formData.get('id')) { + formData.set('id', editingItemId); + } + + // Also ensure we have the ID from the hidden field + if ($('#itemId').val() && !formData.get('id')) { + formData.set('id', $('#itemId').val()); + } + + // Log all data being sent + console.log('🚀 PUT Data being sent (all fields):'); + for (let pair of formData.entries()) { + console.log(' ' + pair[0] + ': ' + pair[1]); + } + } else { + console.log('🚀 POST Data being sent (new item)'); + } + + // Force POST method with explicit type declaration + let requestConfig = { + url: 'api/items.php', + type: 'POST', // Use 'type' instead of 'method' for better compatibility + method: 'POST', // Also set method for newer jQuery versions + data: formData, + processData: false, + contentType: false, + dataType: 'json', + cache: false, // Disable caching + success: function(response) { + if (response && response.success) { + $('#itemModal').modal('hide'); + + if (editingItemId) { + // Update existing marker + updateMarker(editingItemId, response.data); + showNotification('Item berhasil diupdate', 'success'); + } else { + // Add new marker + addMarkerToMap(response.data); + showNotification('Item berhasil ditambahkan', 'success'); + } + + updateStatistics(); + } else { + showNotification(response?.message || 'Error saving item', 'error'); + } + }, + error: function(xhr, status, error) { + console.error('AJAX Error:', error, xhr.responseText); + console.error('Response Text:', xhr.responseText); + showNotification('Error saving item: ' + error, 'error'); + } + }; + + console.log('🚀 Final request config:', { + url: requestConfig.url, + type: requestConfig.type, + method: requestConfig.method, + dataType: requestConfig.dataType + }); + + $.ajax(requestConfig); +} + +// Update marker on map +function updateMarker(itemId, itemData) { + if (markers[itemId]) { + // Remove old marker + map.removeLayer(markers[itemId]); + delete markers[itemId]; + } + + // Add updated marker + addMarkerToMap(itemData); +} + +// Delete item +function deleteItem(itemId) { + if (confirm('Apakah Anda yakin ingin menghapus item ini?')) { + $.ajax({ + url: 'api/items.php', + method: 'DELETE', + data: { id: itemId }, + success: function(response) { + if (response.success) { + // Remove marker from map + if (markers[itemId]) { + map.removeLayer(markers[itemId]); + delete markers[itemId]; + } + + // Remove any routes connected to this item + removeRoutesForItem(itemId); + + showNotification('Item berhasil dihapus', 'success'); + updateStatistics(); + } else { + showNotification(response.message || 'Error deleting item', 'error'); + } + }, + error: function() { + showNotification('Error deleting item', 'error'); + } + }); + } +} + +// Remove routes connected to item +function removeRoutesForItem(itemId) { + $.ajax({ + url: 'api/routes.php', + method: 'DELETE', + data: { item_id: itemId }, + success: function(response) { + if (response.success && response.deleted_routes) { + response.deleted_routes.forEach(function(routeId) { + if (routes[routeId]) { + map.removeLayer(routes[routeId]); + delete routes[routeId]; + } + }); + } + } + }); +} + +// Reset form +function resetForm() { + $('#itemForm')[0].reset(); + $('#itemId').val(''); + editingItemId = null; + tempClickLatLng = null; + updateColorPreview(); +} + +// Update color preview +function updateColorPreview() { + let selectedColor = $('#tubeColor option:selected').data('color'); + if (selectedColor) { + $('#tubeColor').css('border-left', `5px solid ${selectedColor}`); + } else { + $('#tubeColor').css('border-left', 'none'); + } +} + +// Show item list +function showItemList() { + $.ajax({ + url: 'api/items.php', + method: 'GET', + success: function(response) { + if (response.success) { + let itemListHtml = generateItemListHtml(response.data); + showModal('Daftar Item FTTH', itemListHtml, 'modal-xl'); + } + }, + error: function() { + showNotification('Error loading item list', 'error'); + } + }); +} + +// Generate item list HTML +function generateItemListHtml(items) { + let html = ` +

+ + + + + + + + + + + + + `; + + items.forEach(function(item) { + html += ` + + + + + + + + + `; + }); + + html += ` + +
JenisNamaAlamatKoordinatStatusAksi
+ + ${item.item_type_name} + ${item.name}${item.address || '-'}${(isNaN(parseFloat(item.latitude)) || isNaN(parseFloat(item.longitude))) ? 'Koordinat tidak valid' : `${parseFloat(item.latitude).toFixed(6)}, ${parseFloat(item.longitude).toFixed(6)}`} + + ${getStatusText(item.status)} + + + + + +
+
+ `; + + return html; +} + +// Get item color +function getItemColor(typeName) { + switch(typeName) { + case 'OLT': return '#FF6B6B'; + case 'Tiang Tumpu': return '#4ECDC4'; + case 'ODP': return '#45B7D1'; + case 'ODC': return '#96CEB4'; + case 'Pelanggan': return '#FFA500'; + default: return '#999'; + } +} + +// Focus on item in map +function focusOnItem(itemId) { + if (markers[itemId]) { + let marker = markers[itemId]; + map.setView(marker.getLatLng(), 16); + marker.openPopup(); + } +} + +// Show route list +function showRouteList() { + $.ajax({ + url: 'api/routes.php', + method: 'GET', + success: function(response) { + if (response.success) { + let routeListHtml = generateRouteListHtml(response.data); + showModal('Daftar Routing Kabel', routeListHtml, 'modal-xl'); + } + }, + error: function() { + showNotification('Error loading route list', 'error'); + } + }); +} + +// Generate route list HTML +function generateRouteListHtml(routes) { + let html = ` +
+ + + + + + + + + + + + + + `; + + routes.forEach(function(route) { + let distance = route.distance ? (route.distance / 1000).toFixed(2) + ' km' : '-'; + + html += ` + + + + + + + + + + `; + }); + + html += ` + +
DariKeJarakTipe KabelCoreStatusAksi
${route.from_item_name || 'Unknown'}${route.to_item_name || 'Unknown'}${distance}${route.cable_type || '-'}${route.core_count || '-'} + + ${getStatusText(route.status)} + + + + + +
+
+ `; + + return html; +} + +// Focus on route in map +function focusOnRoute(routeId) { + if (routes[routeId]) { + let route = routes[routeId]; + map.fitBounds(route.getBounds()); + route.openPopup(); + } +} + +// Delete route +function deleteRoute(routeId) { + if (confirm('Apakah Anda yakin ingin menghapus route ini?')) { + $.ajax({ + url: 'api/routes.php', + method: 'DELETE', + data: { id: routeId }, + success: function(response) { + if (response.success) { + if (routes[routeId]) { + map.removeLayer(routes[routeId]); + delete routes[routeId]; + } + showNotification('Route berhasil dihapus', 'success'); + } else { + showNotification(response.message || 'Error deleting route', 'error'); + } + }, + error: function() { + showNotification('Error deleting route', 'error'); + } + }); + } +} + +// Generic modal function +function showModal(title, content, size = 'modal-lg') { + if (!$('#genericModal').length) { + $('body').append(` + + `); + } + + $('#genericModalTitle').text(title); + $('#genericModalBody').html(content); + $('#genericModal').modal('show'); +} + +// Edit route function +function editRoute(routeId) { + // Get route data first + $.ajax({ + url: 'api/routes.php', + method: 'GET', + data: { id: routeId }, + success: function(response) { + if (response.success && response.data) { + let route = response.data; + showEditRouteModal(route); + } else { + showNotification('Error loading route data', 'error'); + } + }, + error: function() { + showNotification('Error loading route data', 'error'); + } + }); +} + +//terpasang kabel rx power +// Contoh marker pelanggan +// Event saat dropdown status diubah +// Fungsi untuk memuat RX Power di tengah kabel + + +// Show edit route modal +function showEditRouteModal(route) { + let modalHtml = ` +
+ + +
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + + Jarak dihitung otomatis berdasarkan routing +
+ +
+ + +
+
+ `; + + // Create modal if doesn't exist + if (!$('#routeEditModal').length) { + $('body').append(` + + `); + } + + $('#routeEditModalBody').html(modalHtml); + $('#routeEditModal').modal('show'); + + // Handle form submission + $('#editRouteForm').on('submit', function(e) { + e.preventDefault(); + saveRouteEdit(); + }); +} + +// Save route edit +function saveRouteEdit() { + let formData = new FormData(); + formData.append('_method', 'PUT'); + formData.append('id', $('#editRouteId').val()); + formData.append('cable_type', $('#editCableType').val()); + formData.append('core_count', $('#editCoreCount').val()); + formData.append('status', $('#editRouteStatus').val()); + + console.log('🚀 Route Edit Data being sent:'); + for (let pair of formData.entries()) { + console.log(' ' + pair[0] + ': ' + pair[1]); + } + + $.ajax({ + url: 'api/routes.php', + type: 'POST', + method: 'POST', + data: formData, + processData: false, + contentType: false, + dataType: 'json', + cache: false, + success: function(response) { + console.log('✅ Route update response:', response); + if (response.success) { + $('#routeEditModal').modal('hide'); + showNotification('Route berhasil diupdate', 'success'); + + // Refresh route list if open + if ($('#genericModal').hasClass('show')) { + showRouteList(); + } + + // Update route on map + loadRoutes(); + } else { + console.error('❌ Route update failed:', response.message); + showNotification(response.message || 'Error updating route', 'error'); + } + }, + error: function(xhr, status, error) { + console.error('❌ AJAX Error:', error, xhr.responseText); + console.error('Response Text:', xhr.responseText); + try { + let errorResponse = JSON.parse(xhr.responseText); + showNotification(errorResponse.message || 'Error updating route', 'error'); + } catch(e) { + showNotification('Error updating route: ' + error, 'error'); + } + } + }); +} + +// Calculate core available +function calculateCoreAvailable() { + let totalCapacity = parseInt($('#totalCoreCapacity').val()) || 0; + let coreUsed = parseInt($('#coreUsed').val()) || 0; + let coreAvailable = totalCapacity - coreUsed; + + $('#coreAvailable').val(coreAvailable + ' / ' + totalCapacity + ' Core'); + + // Set color based on availability + if (coreAvailable <= 0) { + $('#coreAvailable').removeClass('text-success text-warning').addClass('text-danger'); + } else if (coreAvailable <= totalCapacity * 0.2) { + $('#coreAvailable').removeClass('text-success text-danger').addClass('text-warning'); + } else { + $('#coreAvailable').removeClass('text-danger text-warning').addClass('text-success'); + } +} + +// Sync core usage from routes +function syncCoreUsageFromRoutes(itemId) { + if (!itemId) return; + + $.ajax({ + url: 'api/routes.php', + method: 'GET', + success: function(response) { + if (response.success) { + let totalCoreUsed = 0; + + response.data.forEach(function(route) { + if (route.from_item_id == itemId || route.to_item_id == itemId) { + totalCoreUsed += parseInt(route.core_count) || 0; + } + }); + + // Update core used in form + $('#coreUsed').val(totalCoreUsed); + calculateCoreAvailable(); + + console.log(`📊 Core usage synced for item ${itemId}: ${totalCoreUsed} cores used`); + } + }, + error: function() { + console.error('Failed to sync core usage from routes'); + } + }); +} + +// Enhanced edit item to include core sync +function editItemEnhanced(itemId) { + editItem(itemId); + // Sync core usage after loading item data + setTimeout(() => syncCoreUsageFromRoutes(itemId), 500); +} + +// Show item detail +function showItemDetail(itemId) { + $.ajax({ + url: 'api/items.php', + method: 'GET', + data: { id: itemId }, + success: function(response) { + if (response.success && response.data) { + let item = response.data; + showItemDetailModal(item); + } else { + showNotification('Error loading item data', 'error'); + } + }, + error: function() { + showNotification('Error loading item data', 'error'); + } + }); +} + +// Show item detail modal //ini detail jika mau edit +function showItemDetailModal(item) { + let modalHtml = ` +
+
+
+
+
+ + ${item.name} +
+
+
+
+ +
+
+ Informasi Dasar +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ID:${item.id}
Jenis Item: + + + ${item.item_type_name} + +
Nama:${item.name}
Deskripsi:${item.description || '-'}
Alamat:${item.address || '-'}
Status: + + ${getStatusText(item.status)} + +
+
+ + +
+
+ Informasi Lokasi +
+ + + + + + + + + + + + + + + + + +
Latitude:${item.latitude}
Longitude:${item.longitude}
Koordinat: + ${item.latitude}, ${item.longitude} + +
Google Maps: + + Buka di Maps + +
+
+
+ +
+ +
+ +
+
+ Informasi Core & Kabel +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
Warna Tube: + ${item.tube_color_name ? ` + + ${item.tube_color_name} + ` : '-'} +
Warna Core: + ${item.core_color_name ? ` + + ${item.core_color_name} + ` : '-'} +
Jenis Kabel: + ${item.item_cable_type ? ` + + ${getCableTypeText(item.item_cable_type)} + + ` : '-'} +
Kapasitas Core: + ${item.total_core_capacity || 24} Core +
Core Digunakan: + + ${item.core_used || 0} Core + +
Core Tersedia: + + ${(item.total_core_capacity || 24) - (item.core_used || 0)} Core + +
+
+ + +
+
+ Informasi Splitter +
+ + + + + + + + + +
Splitter Utama: + ${item.splitter_main_ratio ? ` + ${item.splitter_main_ratio} + ` : '-'} +
Splitter ODP: + ${item.splitter_odp_ratio ? ` + ${item.splitter_odp_ratio} + ` : '-'} +
+ +
+ Timestamp +
+ + + + + + + + + +
Dibuat:${formatDate(item.created_at)}
Diupdate:${formatDate(item.updated_at)}
+
+
+
+ +
+
+
+ `; + + // Create modal if doesn't exist + if (!$('#itemDetailModal').length) { + $('body').append(` + + `); + } + + $('#itemDetailModalBody').html(modalHtml); + $('#itemDetailModal').modal('show'); +} + +//detailredaman +// Fungsi untuk menampilkan detail redaman +function showRedamanDetail(item) { + let modalHtml = ` +
+
+
+
+
+ Detail Redaman +
+
+
+ + + + + + + + + + + + + + +
Serial Number (SN):${item.serial_number}
Rx Power:${item.rx_power}
PPPoE IP: + ${item.pppoe_ip && item.pppoe_ip !== 'Tidak tersedia' + ? `${item.pppoe_ip}` + : item.pppoe_ip} +
+
+ +
+
+
+ `; + + // Buat modal jika belum ada + if (!$('#redamanDetailModal').length) { + $('body').append(` + + `); + } + + $('#redamanDetailModalBody').html(modalHtml); + $('#redamanDetailModal').modal('show'); +} +// Contoh memanggil data dari API redaman +function loadRedamanDetail(id) { + if (!id) { + console.warn('ID tidak valid:', id); + alert('ID item tidak valid.'); + return; + } +//redaman url bisa + $.ajax({ + url: 'https://172.16.96.10/ftthplanner/api/detail_redaman.php', // path sesuai lokasi HTML/JS + method: 'GET', + data: { id: id }, // kirim 'id' sesuai PHP + dataType: 'json', + success: function(response) { + if (response && response.success && response.data) { + showRedamanDetail(response.data); + } else { + console.warn('Response tidak sesuai harapan:', response); + alert('Gagal memuat data redaman'); + } + }, + error: function(xhr, status, error) { + console.error('AJAX Error:', status, error, 'Response:', xhr.responseText); + alert('Terjadi kesalahan saat memuat data redaman'); + } + }); +} + + + + +// Helper function to copy text to clipboard +function copyToClipboard(text) { + navigator.clipboard.writeText(text).then(function() { + showNotification('Koordinat disalin ke clipboard', 'success'); + }).catch(function() { + showNotification('Gagal menyalin koordinat', 'error'); + }); +} + +// Format date helper +function formatDate(dateString) { + if (!dateString) return '-'; + const date = new Date(dateString); + return date.toLocaleString('id-ID', { + year: 'numeric', + month: 'long', + day: 'numeric', + hour: '2-digit', + minute: '2-digit' + }); +} + +// Export functions to global scope +window.showAddItemModal = showAddItemModal; +window.addNewItem = addNewItem; +window.editItem = editItem; +window.editItemEnhanced = editItemEnhanced; +window.deleteItem = deleteItem; +window.showItemDetail = showItemDetail; +window.showItemList = showItemList; +window.showRouteList = showRouteList; +window.focusOnItem = focusOnItem; +window.focusOnRoute = focusOnRoute; +window.deleteRoute = deleteRoute; +window.editRoute = editRoute; +window.calculateCoreAvailable = calculateCoreAvailable; +window.syncCoreUsageFromRoutes = syncCoreUsageFromRoutes; +window.copyToClipboard = copyToClipboard; + +// Helper functions for display +function getCableTypeBadge(cableType) { + switch(cableType) { + case 'backbone': return 'danger'; + case 'distribution': return 'primary'; + case 'drop_core': return 'success'; + case 'feeder': return 'info'; + case 'branch': return 'warning'; + default: return 'secondary'; + } +} + +function getCableTypeText(cableType) { + switch(cableType) { + case 'backbone': return 'Backbone'; + case 'distribution': return 'Distribution'; + case 'drop_core': return 'Drop Core'; + case 'feeder': return 'Feeder'; + case 'branch': return 'Branch'; + default: return '-'; + } +} + +function getCoreUsageBadge(used, total) { + if (!used || !total) return 'secondary'; + + let percentage = (used / total) * 100; + if (percentage >= 90) return 'danger'; + if (percentage >= 70) return 'warning'; + if (percentage >= 50) return 'info'; + return 'success'; +} + +// Export helper functions +window.getCableTypeBadge = getCableTypeBadge; +window.getCableTypeText = getCableTypeText; +window.getCoreUsageBadge = getCoreUsageBadge; \ No newline at end of file diff --git a/assets/js/kmz-export.js b/assets/js/kmz-export.js new file mode 100644 index 0000000..7295add --- /dev/null +++ b/assets/js/kmz-export.js @@ -0,0 +1,392 @@ +// KMZ Export functionality for FTTH Planner + +// Main export function +function exportToKMZ() { + showNotification('Menggenerate KMZ file...', 'info'); + + // Get all items and routes data + Promise.all([ + fetchAllItems(), + fetchAllRoutes() + ]).then(function(results) { + let items = results[0]; + let routes = results[1]; + + // Validate data + if (!items || items.length === 0) { + showNotification('Tidak ada data item untuk diekspor', 'warning'); + return; + } + + // Filter items with valid coordinates + let validItems = items.filter(function(item) { + let lat = parseFloat(item.latitude); + let lng = parseFloat(item.longitude); + return !isNaN(lat) && !isNaN(lng); + }); + + if (validItems.length === 0) { + showNotification('Tidak ada item dengan koordinat yang valid untuk diekspor', 'warning'); + return; + } + + if (validItems.length < items.length) { + let skipped = items.length - validItems.length; + showNotification(`${skipped} item dilewati karena koordinat tidak valid`, 'warning'); + } + + // Generate KML content + let kmlContent = generateKML(validItems, routes); + + // Create KMZ file and download + createKMZFile(kmlContent); + + }).catch(function(error) { + console.error('Error exporting KMZ:', error); + showNotification('Error menggenerate KMZ: ' + error.message, 'error'); + }); +} + +// Fetch all items from API +function fetchAllItems() { + return new Promise(function(resolve, reject) { + $.ajax({ + url: 'api/items.php', + method: 'GET', + success: function(response) { + if (response.success) { + resolve(response.data); + } else { + reject(new Error(response.message || 'Failed to fetch items')); + } + }, + error: function(xhr, status, error) { + reject(new Error('API error: ' + error)); + } + }); + }); +} + +// Fetch all routes from API +function fetchAllRoutes() { + return new Promise(function(resolve, reject) { + $.ajax({ + url: 'api/routes.php', + method: 'GET', + success: function(response) { + if (response.success) { + resolve(response.data); + } else { + reject(new Error(response.message || 'Failed to fetch routes')); + } + }, + error: function(xhr, status, error) { + reject(new Error('API error: ' + error)); + } + }); + }); +} + +// Generate KML content +function generateKML(items, routes) { + let kml = ` + + + FTTH Planner Export + Export data infrastruktur FTTH dari FTTH Planner + + ${generateStyles()} + ${generateItemPlacemarks(items)} + ${generateRoutePlacemarks(routes)} + + +`; + + return kml; +} + +// Generate KML styles for different item types +function generateStyles() { + return ` + + + + + + + + + + + + + + + + + + + + + + `; +} + +// Generate placemarks for items +function generateItemPlacemarks(items) { + let placemarks = ''; + + items.forEach(function(item) { + // Validate coordinates + let lat = parseFloat(item.latitude); + let lng = parseFloat(item.longitude); + + if (isNaN(lat) || isNaN(lng)) { + console.warn('Invalid coordinates for item:', item.name, 'lat:', item.latitude, 'lng:', item.longitude); + return; // Skip this item + } + + let styleId = getStyleId(item.item_type_name); + let description = generateItemDescription(item); + + placemarks += ` + + ${escapeXML(item.name)} + + #${styleId} + + ${lng},${lat},0 + + `; + }); + + return placemarks; +} + +// Generate placemarks for routes +function generateRoutePlacemarks(routes) { + let placemarks = ''; + + routes.forEach(function(route) { + if (route.route_coordinates) { + let coordinates = ''; + try { + let coordArray = JSON.parse(route.route_coordinates); + coordinates = coordArray.map(coord => `${coord.lng || coord[1]},${coord.lat || coord[0]},0`).join(' '); + } catch (e) { + console.warn('Invalid route coordinates for route', route.id); + return; + } + + let styleId = 'route-' + route.status; + let description = generateRouteDescription(route); + + placemarks += ` + + Route: ${escapeXML(route.from_item_name)} → ${escapeXML(route.to_item_name)} + + #${styleId} + + 1 + ${coordinates} + + `; + } + }); + + return placemarks; +} + +// Get style ID based on item type +function getStyleId(itemType) { + switch(itemType) { + case 'OLT': return 'olt-style'; + case 'Tiang Tumpu': return 'tiang-style'; + case 'ODP': return 'odp-style'; + case 'ODC': return 'odc-style'; + case 'Pelanggan': return 'pelanggan-style'; + default: return 'odp-style'; + } +} + +// Generate item description HTML +function generateItemDescription(item) { + let description = ` + + + `; + + if (item.description) { + description += ``; + } + + if (item.address) { + description += ``; + } + + // Handle coordinates safely + let lat = parseFloat(item.latitude); + let lng = parseFloat(item.longitude); + let coordText = (isNaN(lat) || isNaN(lng)) ? 'Koordinat tidak valid' : `${lat.toFixed(6)}, ${lng.toFixed(6)}`; + description += ``; + + if (item.tube_color_name) { + description += ``; + } + + if (item.core_used) { + description += ``; + } + + if (item.splitter_main_ratio) { + description += ``; + } + + if (item.splitter_odp_ratio) { + description += ``; + } + + description += ``; + description += `
Jenis:${item.item_type_name}
Nama:${escapeXML(item.name)}
Deskripsi:${escapeXML(item.description)}
Alamat:${escapeXML(item.address)}
Koordinat:${coordText}
Warna Tube:${item.tube_color_name}
Core Digunakan:${item.core_used}
Splitter Utama:${item.splitter_main_ratio}
Splitter ODP:${item.splitter_odp_ratio}
Status:${getStatusText(item.status)}
`; + + return description; +} + +// Generate route description HTML +function generateRouteDescription(route) { + let distance = route.distance ? (route.distance / 1000).toFixed(2) + ' km' : 'Unknown'; + + return ` + + + + + + + +
Dari:${escapeXML(route.from_item_name || 'Unknown')}
Ke:${escapeXML(route.to_item_name || 'Unknown')}
Jarak:${distance}
Tipe Kabel:${escapeXML(route.cable_type || 'Fiber Optic')}
Jumlah Core:${route.core_count || 24}
Status:${getStatusText(route.status)}
+ `; +} + +// Escape XML special characters +function escapeXML(text) { + if (!text) return ''; + return text.toString() + .replace(/&/g, '&') + .replace(//g, '>') + .replace(/"/g, '"') + .replace(/'/g, '''); +} + +// Get status text in Indonesian +function getStatusText(status) { + switch(status) { + case 'active': return 'Aktif'; + case 'inactive': return 'Tidak Aktif'; + case 'maintenance': return 'Maintenance'; + case 'planned': return 'Perencanaan'; + case 'installed': return 'Terpasang'; + default: return status || 'Unknown'; + } +} + +// Create KMZ file and trigger download +function createKMZFile(kmlContent) { + try { + // Create ZIP file containing the KML + let zip = new JSZip(); + zip.file("doc.kml", kmlContent); + + // Generate KMZ file + zip.generateAsync({type:"blob"}).then(function(content) { + // Create filename with timestamp + let timestamp = new Date().toISOString().slice(0,19).replace(/:/g,'-'); + let filename = `FTTH_Planner_Export_${timestamp}.kmz`; + + // Save file + saveAs(content, filename); + showNotification(`KMZ file berhasil diunduh: ${filename}`, 'success'); + }).catch(function(error) { + console.error('Error creating KMZ:', error); + showNotification('Error membuat file KMZ: ' + error.message, 'error'); + }); + + } catch (error) { + console.error('Error in createKMZFile:', error); + showNotification('Error membuat KMZ file: ' + error.message, 'error'); + } +} + +// Add export button to global scope +window.exportToKMZ = exportToKMZ; \ No newline at end of file diff --git a/assets/js/map.js b/assets/js/map.js new file mode 100644 index 0000000..f5f7b7a --- /dev/null +++ b/assets/js/map.js @@ -0,0 +1,972 @@ +// Map.js - FTTH Planner Map Functionality + +let map; +let markers = {}; +let routes = {}; +let isRoutingMode = false; +let routingFromItem = null; +let currentRoutes = []; + +// Initialize map +function initMap() { + // Create map with enhanced options + map = L.map('map', { + center: [-7.70298100, 114.01477000], // situbondo, Indonesia + zoom: 11, + minZoom: 5, + maxZoom: 20, + zoomControl: false, // We'll add custom zoom control + fullscreenControl: true, + fullscreenControlOptions: { + position: 'topleft' + } + }); + +// Buat custom search control +// Buat kontrol pencarian//tombol cari lokasi +var searchMarker = null; // Simpan marker yang sedang aktif + +var SearchControl = L.Control.extend({ + onAdd: function(map) { + var container = L.DomUtil.create('div', 'leaflet-bar leaflet-control leaflet-control-custom'); + + // Styling container lebih kecil + container.style.display = 'flex'; + container.style.alignItems = 'center'; + container.style.padding = '4px 8px'; + container.style.gap = '6px'; + container.style.minWidth = '160px'; + container.style.width = '28vw'; + container.style.maxWidth = '280px'; + container.style.boxSizing = 'border-box'; + + // Buat icon pencarian + var icon = L.DomUtil.create('span', '', container); + icon.innerHTML = '🔍'; + icon.style.fontSize = '14px'; + + // Buat input + var input = L.DomUtil.create('input', '', container); + input.type = "text"; + input.placeholder = "Cari lokasi..."; + input.style.flex = "1"; + input.style.padding = "4px"; + input.style.border = "none"; + input.style.outline = "none"; + input.style.fontSize = "13px"; + + // Tombol X untuk clear + var clearBtn = L.DomUtil.create('span', '', container); + clearBtn.innerHTML = '✖'; + clearBtn.style.cursor = 'pointer'; + clearBtn.style.fontSize = '12px'; + clearBtn.style.display = 'none'; + + clearBtn.addEventListener('click', function() { + if (searchMarker) { + map.removeLayer(searchMarker); + searchMarker = null; + } + input.value = ''; + clearBtn.style.display = 'none'; + }); + + // Event Enter untuk pencarian + L.DomEvent.addListener(input, 'keydown', function(e) { + if (e.key === 'Enter') { + fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(input.value)}`) + .then(res => res.json()) + .then(data => { + if (data.length > 0) { + var lat = parseFloat(data[0].lat); + var lon = parseFloat(data[0].lon); + map.setView([lat, lon], 15); + + if (searchMarker) { + map.removeLayer(searchMarker); + } + + searchMarker = L.marker([lat, lon]).addTo(map).bindPopup(input.value).openPopup(); + clearBtn.style.display = 'inline'; + } + }); + } + }); + + L.DomEvent.disableClickPropagation(container); + return container; + } +}); + +// Tambahkan ke peta +map.addControl(new SearchControl()); + +// Pindahkan ke container utama map +var searchEl = document.querySelector('.leaflet-control-custom'); +document.querySelector('.leaflet-container').appendChild(searchEl); + +// Posisi kiri atas dengan jarak dari fullscreen +searchEl.style.position = 'absolute'; +searchEl.style.top = '10px'; +searchEl.style.left = '50px'; // kasih jarak 50px biar gak nabrak tombol fullscreen +searchEl.style.background = 'white'; +searchEl.style.borderRadius = '4px'; +searchEl.style.boxShadow = '0 2px 6px rgba(0,0,0,0.3)'; +searchEl.style.zIndex = 1000; + + + + // Define multiple tile layers + const tileLayers = { + "OpenStreetMap": L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: '© OpenStreetMap contributors', + maxZoom: 19 + }), + + "CartoDB Positron": L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', { + attribution: '© OpenStreetMap contributors © CARTO', + maxZoom: 20 + }), + + "CartoDB Dark": L.tileLayer('https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', { + attribution: '© OpenStreetMap contributors © CARTO', + maxZoom: 20 + }), + + "Satellite": L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', { + attribution: 'Tiles © Esri — Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community', + maxZoom: 20 + }), + + "Terrain": L.tileLayer('https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', { + attribution: 'Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)', + maxZoom: 17 + }), + + "Google Hybrid": L.tileLayer('https://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}', { + attribution: '© Google', + maxZoom: 20 + }) + }; + + // Add default layer (OpenStreetMap) + tileLayers["OpenStreetMap"].addTo(map); + + // Add layer control + L.control.layers(tileLayers, null, { + position: 'topright', + collapsed: false + }).addTo(map); + + // Add custom zoom control with home button + const zoomControl = L.control.zoom({ + position: 'topleft' + }).addTo(map); + + // Add home button to zoom control + const homeControl = L.Control.extend({ + options: { + position: 'topleft' + }, + onAdd: function(map) { + const container = L.DomUtil.create('div', 'leaflet-bar leaflet-control leaflet-control-custom'); + container.style.backgroundColor = 'white'; + container.style.backgroundImage = 'none'; + container.style.width = '26px'; + container.style.height = '26px'; + container.style.cursor = 'pointer'; + container.innerHTML = ''; + container.title = 'Zoom to Indonesia'; + + container.onclick = function() { + map.setView([-2.5, 118], 5); // Indonesia overview + }; + + return container; + } + }); + + new homeControl().addTo(map); + + // Add scale control + L.control.scale({ + position: 'bottomright', + metric: true, + imperial: false + }).addTo(map); + + // Add coordinates display + const coordsControl = L.control({position: 'bottomleft'}); + coordsControl.onAdd = function(map) { + this._div = L.DomUtil.create('div', 'leaflet-control-coords'); + this._div.style.background = 'rgba(255,255,255,0.8)'; + this._div.style.padding = '5px'; + this._div.style.margin = '0'; + this._div.style.fontSize = '11px'; + this._div.innerHTML = 'Move mouse over map'; + return this._div; + }; + coordsControl.update = function(lat, lng) { + this._div.innerHTML = `Lat: ${lat.toFixed(6)}, Lng: ${lng.toFixed(6)}`; + }; + coordsControl.addTo(map); + + // Update coordinates on mouse move + map.on('mousemove', function(e) { + coordsControl.update(e.latlng.lat, e.latlng.lng); + }); + + // Enhanced zoom behavior + map.on('zoomend', function() { + const zoom = map.getZoom(); + if (zoom < 10) { + // Hide detailed markers at low zoom + Object.values(markers).forEach(marker => { + if (marker._icon) { + marker._icon.style.opacity = '0.7'; + } + }); + } else { + // Show detailed markers at high zoom + Object.values(markers).forEach(marker => { + if (marker._icon) { + marker._icon.style.opacity = '1'; + } + }); + } + }); + + // Add map click event for adding new items + map.on('click', function(e) { + if (!isRoutingMode) { + showAddItemModal(e.latlng.lat, e.latlng.lng); + } + }); + + // Load existing items + loadItems(); + loadRoutes(); + + // Add legend + addMapLegend(); + + console.log('🗺️ Enhanced map initialized with multiple tile layers and zoom controls'); + + // Add loading indicator + const mapContainer = document.getElementById('map'); + const loadingDiv = document.createElement('div'); + loadingDiv.className = 'map-loading'; + loadingDiv.innerHTML = ' Loading map...'; + mapContainer.appendChild(loadingDiv); + + // Hide loading indicator after tiles load + map.on('tilesloaded', function() { + if (loadingDiv.parentNode) { + loadingDiv.parentNode.removeChild(loadingDiv); + } + }); +} + +// Create custom marker icon +// Objek global untuk menyimpan marker berdasarkan SN +// Fungsi buat custom icon +function createCustomIcon(itemType, color) { + let iconClass = 'fas fa-circle'; + + switch(itemType) { + case 'OLT': + case '1': + iconClass = 'fas fa-server'; + break; + case 'Tiang Tumpu': + case '2': + iconClass = 'fas fa-tower-broadcast'; + break; + case 'ODP': + case '3': + iconClass = 'fas fa-project-diagram'; + break; + case 'ODC': + case '4': + iconClass = 'fas fa-network-wired'; + break; + case 'Pelanggan': + case '5': + iconClass = 'fas fa-home'; + break; + } + + // Default RX Power dulu + let rxPower = "Memuat..."; + + return L.divIcon({ + className: 'custom-div-icon', + html: ` +
+ +
+ ${rxPower} +
+ + +
+ `, + iconSize: [40, 50], + iconAnchor: [20, 40], + popupAnchor: [0, -25] + }); +} + +// Fungsi update RX Power untuk marker tertentu + + +// map.js//modifan saya + +// pastikan variabel sudah benar +// update RX Power setelah marker dirender + + +// Create popup content for item +function createPopupContent(item) { + let tubeColorName = item.tube_color_name || 'Tidak ada'; + let splitterMain = item.splitter_main_ratio || 'Tidak ada'; + let splitterOdp = item.splitter_odp_ratio || 'Tidak ada'; + let serialNumber = item.serial_number ? item.serial_number.trim() : ''; + + let html = ` +
+
${item.name}
+ + `; + + // Ambil RX Power setelah popup ada di DOM + // Lebih baik menggunakan requestAnimationFrame untuk memastikan DOM sudah diupdate + + return html; +} +// Get item icon based on type (moved to bottom for global export) + +// Get status badge class +function getStatusBadgeClass(status) { + switch(status) { + case 'active': return 'success'; + case 'inactive': return 'secondary'; + case 'maintenance': return 'warning'; + default: return 'primary'; + } +} + +// Get status text +function getStatusText(status) { + switch(status) { + case 'active': return 'Aktif'; + case 'inactive': return 'Tidak Aktif'; + case 'maintenance': return 'Maintenance'; + default: return status; + } +} + +// Load items from database +function loadItems() { + $.ajax({ + url: 'api/items.php', + method: 'GET', + success: function(response) { + if (response.success) { + response.data.forEach(function(item) { + addMarkerToMap(item); + }); + updateStatistics(); + } + }, + error: function() { + showNotification('Error loading items', 'error'); + } + }); +} + +// Add marker to map +function addMarkerToMap(item) { + let itemTypeColors = { + 'OLT': '#FF6B6B', + 'Tiang Tumpu': '#4ECDC4', + 'ODP': '#45B7D1', + 'ODC': '#96CEB4', + 'Pelanggan': '#FFA500' + }; + + let color = itemTypeColors[item.item_type_name] || '#999'; + let icon = createCustomIcon(item.item_type_name, color); + + let marker = L.marker([item.latitude, item.longitude], { + icon: icon, + draggable: true, + itemType: item.item_type_name, + itemId: item.id, + itemData: item + }).addTo(map); + + marker.bindPopup(createPopupContent(item)); + + // Add drag event + marker.on('dragend', function(e) { + let newPos = e.target.getLatLng(); + updateItemPosition(item.id, newPos.lat, newPos.lng); + }); + + // Add click event for routing mode + marker.on('click', function(e) { + if (isRoutingMode) { + handleRoutingClick(item); + e.originalEvent.stopPropagation(); + } + }); + + markers[item.id] = marker; +} + +// Update item position +function updateItemPosition(itemId, lat, lng) { + // Use FormData with method override for consistency + let formData = new FormData(); + formData.append('_method', 'PUT'); + formData.append('id', itemId); + formData.append('latitude', lat); + formData.append('longitude', lng); + + $.ajax({ + url: 'api/items.php', + method: 'POST', + data: formData, + processData: false, + contentType: false, + dataType: 'json', + success: function(response) { + if (response && response.success) { + showNotification('Posisi item berhasil dipindahkan', 'success'); + } else { + showNotification(response?.message || 'Error updating position', 'error'); + } + }, + error: function(xhr, status, error) { + console.error('Position update error:', error, xhr.responseText); + showNotification('Error updating position: ' + error, 'error'); + } + }); +} + +// Start routing mode +function startRouting(itemId) { + isRoutingMode = true; + routingFromItem = itemId; + map.getContainer().style.cursor = 'crosshair'; + showNotification('Pilih item tujuan untuk membuat route', 'info'); +} + +// Handle routing click +function handleRoutingClick(toItem) { + if (routingFromItem && routingFromItem !== toItem.id) { + createRoute(routingFromItem, toItem.id); + exitRoutingMode(); + } +} + +// Exit routing mode +function exitRoutingMode() { + isRoutingMode = false; + routingFromItem = null; + map.getContainer().style.cursor = ''; +} + +// Create route between two items +function createRoute(fromItemId, toItemId) { + let fromMarker = markers[fromItemId]; + let toMarker = markers[toItemId]; + + if (!fromMarker || !toMarker) { + showNotification('Marker tidak ditemukan', 'error'); + return; + } + + let fromPos = fromMarker.getLatLng(); + let toPos = toMarker.getLatLng(); + + console.log('Creating route from', fromPos, 'to', toPos); + + // Check if Leaflet Routing Machine is available + if (typeof L.Routing === 'undefined') { + console.log('Leaflet Routing Machine not available, creating simple line'); + // Create simple straight line if routing machine not available + createSimpleRoute(fromItemId, toItemId, fromPos, toPos); + return; + } + + try { + // Use routing machine to create route following roads + let routing = L.Routing.control({ + waypoints: [fromPos, toPos], + routeWhileDragging: false, + show: false, + createMarker: function() { return null; }, // Don't create default markers + addWaypoints: false, + draggableWaypoints: false, + fitSelectedRoutes: false + }); + + routing.on('routesfound', function(e) { + console.log('Route found:', e.routes[0]); + let route = e.routes[0]; + let coordinates = route.coordinates; + + // Save route to database + $.ajax({ + url: 'api/routes.php', + method: 'POST', + data: { + from_item_id: fromItemId, + to_item_id: toItemId, + route_coordinates: JSON.stringify(coordinates), + distance: route.summary.totalDistance, + cable_type: 'Fiber Optic', + core_count: 24, + status: 'planned' + }, + success: function(response) { + console.log('Route save response:', response); + if (response.success) { + // Add route line to map + let routeLine = L.polyline(coordinates, { + color: '#ffc107', + weight: 4, + opacity: 0.8, + dashArray: '10, 5' + }).addTo(map); + + // Add popup to route + routeLine.bindPopup(` +
+
Route Kabel
+

Jarak: ${(route.summary.totalDistance / 1000).toFixed(2)} km

+

Tipe Kabel: Fiber Optic

+

Jumlah Core: 24

+

Status: Perencanaan

+
+ `); + + routes[response.route_id] = routeLine; + showNotification('Route berhasil dibuat', 'success'); + + // Remove routing control + map.removeControl(routing); + } else { + showNotification(response.message || 'Gagal menyimpan route', 'error'); + } + }, + error: function(xhr, status, error) { + console.error('Error saving route:', error); + showNotification('Error menyimpan route: ' + error, 'error'); + } + }); + }); + + routing.on('routingerror', function(e) { + console.error('Routing error:', e.error); + showNotification('Error routing: ' + e.error.message, 'error'); + // Fallback to simple line + createSimpleRoute(fromItemId, toItemId, fromPos, toPos); + }); + + routing.addTo(map); + + } catch (error) { + console.error('Error creating route:', error); + showNotification('Error creating route, using simple line', 'warning'); + createSimpleRoute(fromItemId, toItemId, fromPos, toPos); + } +} + +// Create simple straight line route (fallback) +function createSimpleRoute(fromItemId, toItemId, fromPos, toPos) { + let coordinates = [[fromPos.lat, fromPos.lng], [toPos.lat, toPos.lng]]; + let distance = fromPos.distanceTo(toPos); + + $.ajax({ + url: 'api/routes.php', + method: 'POST', + data: { + from_item_id: fromItemId, + to_item_id: toItemId, + route_coordinates: JSON.stringify(coordinates), + distance: distance, + cable_type: 'Fiber Optic', + core_count: 24, + status: 'planned' + }, + success: function(response) { + if (response.success) { + // Add route line to map + let routeLine = L.polyline(coordinates, { + color: '#ffc107', + weight: 4, + opacity: 0.8, + dashArray: '10, 5' + }).addTo(map); + + routeLine.bindPopup(` +
+
Route Kabel (Direct)
+

Jarak: ${(distance / 1000).toFixed(2)} km

+

Tipe Kabel: Fiber Optic

+

Jumlah Core: 24

+

Status: Perencanaan

+
+ `); + + routes[response.route_id] = routeLine; + showNotification('Route sederhana berhasil dibuat', 'success'); + } + }, + error: function() { + showNotification('Error menyimpan route', 'error'); + } + }); +} + +// Load routes from database +function loadRoutes() { + $.ajax({ + url: 'api/routes.php', + method: 'GET', + success: function(response) { + if (response.success) { + response.data.forEach(function(route) { + if (route.route_coordinates) { + let coordinates = JSON.parse(route.route_coordinates); + let color = getRouteColor(route.status); + let dashArray = route.status === 'installed' ? null : '10, 5'; + + let routeLine = L.polyline(coordinates, { + color: color, + weight: 4, + opacity: 0.8, + dashArray: dashArray + }).addTo(map); + + routeLine.bindPopup(` +
+
Route Kabel
+

Jarak: ${(route.distance / 1000).toFixed(2)} km

+

Tipe Kabel: ${route.cable_type}

+

Jumlah Core: ${route.core_count}

+

Status: ${getStatusText(route.status)}

+
+ `); + + routes[route.id] = routeLine; + } + }); + } + } + }); +} + +// Get route color based on status +function getRouteColor(status) { + switch(status) { + case 'installed': return '#28a745'; + case 'planned': return '#ffc107'; + case 'maintenance': return '#dc3545'; + default: return '#6c757d'; + } +} + +// Add map legend +function addMapLegend() { + let legend = L.control({position: 'bottomleft'}); + + legend.onAdd = function(map) { + let div = L.DomUtil.create('div', 'map-legend'); + div.innerHTML = ` +
Legend
+
+
+ OLT +
+
+
+ Tiang Tumpu +
+
+
+ ODP +
+
+
+ ODC +
+
+
+ Pelanggan +
+
+
+
━━━ Terpasang
+
┅┅┅ Perencanaan
+
┅┅┅ Maintenance
+
+ `; + return div; + }; + + legend.addTo(map); +} + +//buatan saya + + +// Update statistics +function updateStatistics() { + $.ajax({ + url: 'api/statistics.php', + method: 'GET', + success: function(response) { + if (response.success) { + $('#stat-olt').text(response.data.olt || 0); + $('#stat-tiang').text(response.data.tiang_tumpu || 0); + $('#stat-odp').text(response.data.odp || 0); + $('#stat-odc').text(response.data.odc || 0); + $('#stat-pelanggan').text(response.data.pelanggan || 0); + $('#stat-routes').text(response.data.total_routes || 0); + } + } + }); +} + +// Show notification +function showNotification(message, type) { + let alertClass = 'alert-info'; + switch(type) { + case 'success': alertClass = 'alert-success'; break; + case 'error': alertClass = 'alert-danger'; break; + case 'warning': alertClass = 'alert-warning'; break; + } + + let notification = ` + + `; + + $('body').append(notification); + + setTimeout(function() { + $('.alert').fadeOut(); + }, 5000); +} + +// Show routing mode +function showRoutingMode() { + if (isRoutingMode) { + exitRoutingMode(); + showNotification('Mode routing dinonaktifkan', 'info'); + } else { + isRoutingMode = true; + map.getContainer().style.cursor = 'crosshair'; + showNotification('Mode routing aktif. Klik dua item untuk membuat route.', 'info'); + } +} + +// Zoom to specific bounds +function zoomToItems() { + if (Object.keys(markers).length > 0) { + const group = new L.featureGroup(Object.values(markers)); + map.fitBounds(group.getBounds().pad(0.1)); + } else { + showNotification('Tidak ada item untuk di-zoom', 'warning'); + } +} + +// Zoom to specific item type +function zoomToItemType(itemType) { + const filteredMarkers = Object.values(markers).filter(marker => { + return marker.options && marker.options.itemType === itemType; + }); + + if (filteredMarkers.length > 0) { + const group = new L.featureGroup(filteredMarkers); + map.fitBounds(group.getBounds().pad(0.1)); + + // Highlight markers of this type temporarily + filteredMarkers.forEach(marker => { + if (marker._icon) { + marker._icon.style.transform += ' scale(1.3)'; + marker._icon.style.zIndex = '1000'; + setTimeout(() => { + marker._icon.style.transform = marker._icon.style.transform.replace(' scale(1.3)', ''); + marker._icon.style.zIndex = ''; + }, 2000); + } + }); + + showNotification(`Menampilkan ${filteredMarkers.length} ${itemType}`, 'success'); + } else { + showNotification(`Tidak ada ${itemType} ditemukan`, 'info'); + } +} + +// Enhanced locate user function +function locateUser() { + if (navigator.geolocation) { + map.locate({ + setView: true, + maxZoom: 16, + enableHighAccuracy: true, + timeout: 10000 + }); + + map.on('locationfound', function(e) { + L.circle(e.latlng, e.accuracy).addTo(map) + .bindPopup('Anda berada di sekitar area ini').openPopup(); + showNotification('Lokasi berhasil ditemukan', 'success'); + }); + + map.on('locationerror', function(e) { + showNotification('Gagal menemukan lokasi: ' + e.message, 'error'); + }); + } else { + showNotification('Geolocation tidak didukung browser ini', 'error'); + } +} + +// Add keyboard shortcuts for zoom +function addKeyboardShortcuts() { + document.addEventListener('keydown', function(e) { + if (e.target.tagName.toLowerCase() === 'input' || e.target.tagName.toLowerCase() === 'textarea') { + return; // Don't interfere with form inputs + } + + switch(e.key) { + case '+': + case '=': + map.zoomIn(); + break; + case '-': + map.zoomOut(); + break; + case 'h': + case 'H': + map.setView([-2.5, 118], 5); // Home to Indonesia + break; + case 'f': + case 'F': + if (map.isFullscreen && map.isFullscreen()) { + map.toggleFullscreen(); + } else if (map.toggleFullscreen) { + map.toggleFullscreen(); + } + break; + case 'l': + case 'L': + locateUser(); + break; + case 'a': + case 'A': + zoomToItems(); + break; + } + }); +} + +// Enhanced map ready function +function onMapReady() { + addKeyboardShortcuts(); + + // Add help tooltip + const helpControl = L.control({position: 'bottomright'}); + helpControl.onAdd = function(map) { + const div = L.DomUtil.create('div', 'leaflet-control-help'); + div.innerHTML = ''; + div.style.background = 'rgba(255,255,255,0.8)'; + div.style.padding = '5px'; + div.style.borderRadius = '3px'; + div.style.cursor = 'help'; + return div; + }; + helpControl.addTo(map); + + console.log('🎮 Map keyboard shortcuts enabled: +/- zoom, H home, F fullscreen, L locate, A zoom to all'); +} + +// Helper functions needed by detail modal +function getItemIcon(typeName) { + switch(typeName) { + case 'OLT': return 'fas fa-server'; + case 'Tiang Tumpu': return 'fas fa-tower-broadcast'; + case 'ODP': return 'fas fa-project-diagram'; + case 'ODC': return 'fas fa-network-wired'; + case 'Pelanggan': return 'fas fa-home'; + default: return 'fas fa-circle'; + } +} + +function getStatusBadgeClass(status) { + switch(status) { + case 'active': return 'success'; + case 'inactive': return 'secondary'; + case 'maintenance': return 'warning'; + default: return 'secondary'; + } +} + +function getStatusText(status) { + switch(status) { + case 'active': return 'Aktif'; + case 'inactive': return 'Tidak Aktif'; + case 'maintenance': return 'Maintenance'; + default: return status || 'Unknown'; + } +} + +// Export functions to global scope for button access +window.zoomToItems = zoomToItems; +window.zoomToItemType = zoomToItemType; +window.locateUser = locateUser; +window.loadRoutes = loadRoutes; +window.getItemIcon = getItemIcon; +window.getStatusBadgeClass = getStatusBadgeClass; +window.getStatusText = getStatusText; + +// Initialize map when document is ready +$(document).ready(function() { + initMap(); + setTimeout(onMapReady, 1000); // Wait for map to fully initialize +}); diff --git a/auto_login_genieacs.php b/auto_login_genieacs.php new file mode 100644 index 0000000..197fd7e --- /dev/null +++ b/auto_login_genieacs.php @@ -0,0 +1,39 @@ + $username, + 'password' => $password +])); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); +curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); +curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__ . '/genieacs_cookie.txt'); // simpan cookie +curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__ . '/genieacs_cookie.txt'); +curl_setopt($ch, CURLOPT_HEADER, false); + +// Jalankan login +$response = curl_exec($ch); + +if (curl_errno($ch)) { + die('Login error: ' . curl_error($ch)); +} + +// Redirect user ke halaman target dengan session cookie +curl_close($ch); + +// Gunakan header untuk redirect +header('Location: ' . $genieacs_host . $target_path); +exit(); +?> diff --git a/auto_login_observium.php b/auto_login_observium.php new file mode 100644 index 0000000..a541c08 --- /dev/null +++ b/auto_login_observium.php @@ -0,0 +1,36 @@ + $username, + 'password' => $password, + 'login' => 'Login' +])); +curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); +curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); +curl_setopt($ch, CURLOPT_COOKIEJAR, __DIR__ . '/observium_cookie.txt'); // simpan cookie +curl_setopt($ch, CURLOPT_COOKIEFILE, __DIR__ . '/observium_cookie.txt'); +curl_setopt($ch, CURLOPT_HEADER, false); + +// Jalankan login +$response = curl_exec($ch); + +if (curl_errno($ch)) { + die('Login error: ' . curl_error($ch)); +} + +// Redirect user ke halaman dashboard Observium +curl_close($ch); + +header('Location: ' . $observium_host . '/'); // ganti path kalau mau ke halaman tertentu +exit(); +?> diff --git a/bg.jpg b/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f4bfe510e075164abd33339963f81eab5477fc7e GIT binary patch literal 432185 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

{R2Ol!*2K^fkVN3O|-8+w7)vXC9QY&~D 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

T=4BlIX2M2#2n%AtHRp3!F`7@kJ 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

# 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� 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 literal 0 HcmV?d00001 diff --git a/config/database.php b/config/database.php new file mode 100644 index 0000000..2d7d074 --- /dev/null +++ b/config/database.php @@ -0,0 +1,22 @@ +conn = null; + try { + $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name, $this->username, $this->password); + $this->conn->exec("set names utf8"); + $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } catch(PDOException $exception) { + echo "Connection error: " . $exception->getMessage(); + } + return $this->conn; + } +} +?> \ No newline at end of file diff --git a/database.sql b/database.sql new file mode 100644 index 0000000..9a6df76 --- /dev/null +++ b/database.sql @@ -0,0 +1,142 @@ +-- Database untuk FTTH Planner +CREATE DATABASE IF NOT EXISTS ftth_planner; +USE ftth_planner; + +-- Tabel untuk menyimpan jenis item FTTH +CREATE TABLE item_types ( + id INT PRIMARY KEY AUTO_INCREMENT, + name VARCHAR(50) NOT NULL, + icon VARCHAR(100), + color VARCHAR(20), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Tabel untuk menyimpan warna tube +CREATE TABLE tube_colors ( + id INT PRIMARY KEY AUTO_INCREMENT, + color_name VARCHAR(30) NOT NULL, + hex_code VARCHAR(7), + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Tabel untuk menyimpan jenis splitter +CREATE TABLE splitter_types ( + id INT PRIMARY KEY AUTO_INCREMENT, + type VARCHAR(20) NOT NULL, -- 'main' untuk jaringan utama, 'odp' untuk ODP + ratio VARCHAR(10) NOT NULL, -- 1:2, 1:3, 1:4, 1:8, 1:16 + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Tabel utama untuk menyimpan item-item FTTH di maps +CREATE TABLE ftth_items ( + id INT PRIMARY KEY AUTO_INCREMENT, + item_type_id INT, + name VARCHAR(100) NOT NULL, + description TEXT, + latitude DECIMAL(10, 8) NOT NULL, + longitude DECIMAL(11, 8) NOT NULL, + address TEXT, + tube_color_id INT, + core_used INT COMMENT 'Core yang sedang digunakan dari total kapasitas', + core_color_id INT NULL COMMENT 'Warna core yang digunakan (referensi ke tube_colors)', + item_cable_type ENUM('backbone', 'distribution', 'drop_core', 'feeder', 'branch') NULL DEFAULT 'distribution' COMMENT 'Jenis kabel yang digunakan pada item ini', + total_core_capacity INT NULL DEFAULT 24 COMMENT 'Total kapasitas core untuk item ini', + splitter_main_id INT, + splitter_odp_id INT, + status ENUM('active', 'inactive', 'maintenance') DEFAULT 'active', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + FOREIGN KEY (item_type_id) REFERENCES item_types(id), + FOREIGN KEY (tube_color_id) REFERENCES tube_colors(id), + FOREIGN KEY (core_color_id) REFERENCES tube_colors(id), + FOREIGN KEY (splitter_main_id) REFERENCES splitter_types(id), + FOREIGN KEY (splitter_odp_id) REFERENCES splitter_types(id) +); + +-- Tabel untuk menyimpan routing kabel +CREATE TABLE cable_routes ( + id INT PRIMARY KEY AUTO_INCREMENT, + from_item_id INT, + to_item_id INT, + route_coordinates TEXT, -- JSON array of lat,lng coordinates + distance DECIMAL(8,2), -- dalam meter + cable_type VARCHAR(50), + core_count INT, + status ENUM('planned', 'installed', 'maintenance') DEFAULT 'planned', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + FOREIGN KEY (from_item_id) REFERENCES ftth_items(id), + FOREIGN KEY (to_item_id) REFERENCES ftth_items(id) +); + +-- Insert data default untuk item types +INSERT INTO item_types (name, icon, color) VALUES +('OLT', 'fas fa-server', '#FF6B6B'), +('Tiang Tumpu', 'fas fa-tower-broadcast', '#4ECDC4'), +('ODP', 'fas fa-project-diagram', '#45B7D1'), +('ODC', 'fas fa-network-wired', '#96CEB4'), +('Pelanggan', 'fas fa-home', '#FFA500'); + +-- Insert data default untuk warna tube (32 warna total) +INSERT INTO tube_colors (color_name, hex_code) VALUES +('Biru', '#0066CC'), +('Orange', '#FF6600'), +('Hijau', '#00CC66'), +('Coklat', '#996633'), +('Abu-abu', '#666666'), +('Putih', '#FFFFFF'), +('Merah', '#CC0000'), +('Hitam', '#000000'), +('Kuning', '#FFCC00'), +('Violet', '#9900CC'), +('Pink', '#FF6699'), +('Aqua', '#00CCCC'), +('Turquoise', '#40E0D0'), +('Lime', '#32CD32'), +('Magenta', '#FF00FF'), +('Cyan', '#00FFFF'), +('Indigo', '#4B0082'), +('Crimson', '#DC143C'), +('Gold', '#FFD700'), +('Silver', '#C0C0C0'), +('Teal', '#008080'), +('Navy', '#000080'), +('Coral', '#FF7F50'), +('Salmon', '#FA8072'), +('Lavender', '#E6E6FA'), +('Beige', '#F5F5DC'), +('Olive', '#808000'), +('Maroon', '#800000'), +('Khaki', '#F0E68C'), +('Plum', '#DDA0DD'), +('Bronze', '#CD7F32'), +('Emerald', '#50C878'); + +-- Insert data default untuk splitter types +INSERT INTO splitter_types (type, ratio) VALUES +('main', '1:2'), +('main', '1:3'), +('main', '1:4'), +('odp', '1:2'), +('odp', '1:4'), +('odp', '1:8'), +('odp', '1:16'); + +-- Create indexes for performance optimization +CREATE INDEX idx_core_color ON ftth_items(core_color_id); +CREATE INDEX idx_cable_type ON ftth_items(item_cable_type); +CREATE INDEX idx_core_usage ON ftth_items(core_used, total_core_capacity); + +-- Tabel untuk menyimpan data user +CREATE TABLE users ( + id INT PRIMARY KEY AUTO_INCREMENT, + username VARCHAR(50) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + role ENUM('engineer', 'teknisi') NOT NULL DEFAULT 'teknisi', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +-- Contoh user default (password: admin123 untuk engineer, teknisi123 untuk teknisi) +INSERT INTO users (username, password, role) VALUES +('admin', MD5('admin123'), 'engineer'), +('teknisi', MD5('teknisi123'), 'teknisi'); diff --git a/get_clients.php b/get_clients.php new file mode 100644 index 0000000..b5479c3 --- /dev/null +++ b/get_clients.php @@ -0,0 +1,37 @@ +getConnection(); + + // Ambil hanya data yang punya koordinat valid + $query = "SELECT + id, + name, + description, + latitude, + longitude, + address, + serial_number, + status + FROM ftth_items + WHERE latitude IS NOT NULL AND longitude IS NOT NULL"; + $stmt = $db->prepare($query); + $stmt->execute(); + + $clients = $stmt->fetchAll(PDO::FETCH_ASSOC); + + echo json_encode([ + "success" => true, + "data" => $clients + ]); +} catch (Exception $e) { + echo json_encode([ + "success" => false, + "message" => "Gagal mengambil data client: " . $e->getMessage() + ]); +} diff --git a/get_rx_power.php b/get_rx_power.php new file mode 100644 index 0000000..6c595ce --- /dev/null +++ b/get_rx_power.php @@ -0,0 +1,43 @@ + null, 'error' => 'Serial number kosong']); + exit; +} + +function getRxPowerFromGenieACS($serialNumber) { + $query = json_encode(["_id" => $serialNumber]); + $encodedQuery = urlencode($query); // penting untuk URL-safe + + $url = "http://localhost:7557/devices/?query={$encodedQuery}"; + + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $response = curl_exec($ch); + + if ($response === false) { + return ['rx_power' => null, 'error' => curl_error($ch)]; + } + + curl_close($ch); + + $data = json_decode($response, true); + + if (!isset($data[0]['VirtualParameters']['RXPower']['_value'])) { + return ['rx_power' => null, 'error' => 'RX Power tidak ditemukan']; + } + + $rxPowerValue = $data[0]['VirtualParameters']['RXPower']['_value']; + return ['rx_power' => $rxPowerValue]; +} + +$result = getRxPowerFromGenieACS($serialNumber); +echo json_encode($result); diff --git a/hapus.php b/hapus.php new file mode 100644 index 0000000..6f9c076 --- /dev/null +++ b/hapus.php @@ -0,0 +1,15 @@ + 0) { + $stmt = $pdo->prepare("DELETE FROM items WHERE id = :id"); + $stmt->execute(['id' => $id]); + } + + header("Location: index.php"); + exit; +} +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..ffe2044 --- /dev/null +++ b/index.php @@ -0,0 +1,651 @@ + + + + + + + FTTH Megadata | Dashboard + + + + + + + + + + + + + + + + + +

+ + +
+ +

FTTH Megadata

+
+ + +
+ + + + + +
+ +
+
+
+
+

Dashboard FTTH Megadata

+
+
+ +
+
+
+
+ + +
+
+ +
+
+
+
+

+ + Peta Infrastruktur FTTH +

+
+ +
+ + + + + + + +
+ + +
+ + +
+
+ + + + +
+ + + + + +
+
+
+
+
+
+
+
+
+ + +
+
+
+
+

0

+

OLT

+
+
+ +
+
+
+
+
+
+

0

+

Tiang

+
+
+ +
+
+
+
+
+
+

0

+

ODP

+
+
+ +
+
+
+
+
+
+

0

+

ODC

+
+
+ +
+
+
+
+
+
+

0

+

Pelanggan

+
+
+ +
+
+
+
+
+
+

0

+

Routes

+
+
+ +
+
+
+
+
+ +
+ + +
+ Copyright © 2025 FTTH Megadata by Kuli Jaringan. + Semua hak dilindungi undang-undang. +
+ Versi 1.0.0 +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/login.php b/login.php new file mode 100644 index 0000000..3868bcd --- /dev/null +++ b/login.php @@ -0,0 +1,129 @@ +getConnection(); + +if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $username = trim($_POST['username']); + $password = trim($_POST['password']); + + try { + $stmt = $conn->prepare("SELECT * FROM users WHERE username = ?"); + $stmt->execute([$username]); + $user = $stmt->fetch(PDO::FETCH_ASSOC); + + if ($user && password_verify($password, $user['password'])) { + $_SESSION['user'] = $user['username']; + $_SESSION['role'] = $user['role']; + header("Location: index.php"); + exit; + } else { + $error = "Username atau password salah!"; + } + } catch (PDOException $e) { + $error = "Terjadi kesalahan: " . $e->getMessage(); + } +} +?> + + + + + + Login - FTTH Megadata + + + + + + diff --git a/logout.php b/logout.php new file mode 100644 index 0000000..7649023 --- /dev/null +++ b/logout.php @@ -0,0 +1,5 @@ +getConnection(); + +// CREATE +if (isset($_POST['create'])) { + $username = trim($_POST['username']); + $password = password_hash(trim($_POST['password']), PASSWORD_BCRYPT); + $role = $_POST['role']; + + $stmt = $conn->prepare("INSERT INTO users (username, password, role) VALUES (?, ?, ?)"); + $stmt->execute([$username, $password, $role]); + + header("Location: manajemen_users.php"); + exit; +} + +// UPDATE +if (isset($_POST['update'])) { + $id = $_POST['id']; + $username = trim($_POST['username']); + $role = $_POST['role']; + + if (!empty($_POST['password'])) { + $password = password_hash(trim($_POST['password']), PASSWORD_BCRYPT); + $stmt = $conn->prepare("UPDATE users SET username=?, password=?, role=? WHERE id=?"); + $stmt->execute([$username, $password, $role, $id]); + } else { + $stmt = $conn->prepare("UPDATE users SET username=?, role=? WHERE id=?"); + $stmt->execute([$username, $role, $id]); + } + + header("Location: manajemen_users.php"); + exit; +} + +// DELETE +if (isset($_GET['delete'])) { + $id = $_GET['delete']; + $stmt = $conn->prepare("DELETE FROM users WHERE id=?"); + $stmt->execute([$id]); + + header("Location: manajemen_users.php"); + exit; +} + +// READ +$stmt = $conn->query("SELECT * FROM users"); +$users = $stmt->fetchAll(PDO::FETCH_ASSOC); +?> + + + + + Manajemen Users - FTTH Megadata + + + + +
+

👥 Manajemen Users

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + +
IDUsernameRoleAksi
+ + + + Hapus +
+
+ + + +
+ + + + diff --git a/megadata.jpeg b/megadata.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..fe7c0c030b8a2b6a91960bba774c5b6b6e072eb6 GIT binary patch literal 20555 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 C7(A^2 literal 0 HcmV?d00001 diff --git a/register.php b/register.php new file mode 100644 index 0000000..e65d9ad --- /dev/null +++ b/register.php @@ -0,0 +1,133 @@ +getConnection(); + +if ($_SERVER['REQUEST_METHOD'] == 'POST') { + $username = trim($_POST['username']); + $password = password_hash(trim($_POST['password']), PASSWORD_DEFAULT); + $role = $_POST['role']; + + try { + $stmt = $conn->prepare("INSERT INTO users (username, password, role) VALUES (?, ?, ?)"); + $stmt->execute([$username, $password, $role]); + $success = "Pendaftaran berhasil! Silakan login."; + } catch (PDOException $e) { + $error = "Username sudah digunakan atau terjadi kesalahan."; + } +} +?> + + + + + + Register - FTTH Megadata + + + +
+ Logo +

Daftar Akun

+ $success

"; + if (!empty($error)) echo "

$error

"; + ?> +
+ + + + +
+

Sudah punya akun? Login di sini

+
+ + diff --git a/setup_instructions.md b/setup_instructions.md new file mode 100644 index 0000000..8edb6dd --- /dev/null +++ b/setup_instructions.md @@ -0,0 +1,100 @@ +# Instruksi Setup FTTH Planner + +## Langkah 1: Persiapan XAMPP + +1. **Download XAMPP**: Unduh dari https://www.apachefriends.org/ +2. **Install XAMPP**: Install di `C:\xampp\` +3. **Start Services**: + - Buka XAMPP Control Panel + - Start **Apache** dan **MySQL** + +## Langkah 2: Setup Database + +1. **Buka phpMyAdmin**: + - Browser → `http://localhost/phpmyadmin` + - Login tanpa password (default) + +2. **Buat Database**: + - Klik "New" di sidebar kiri + - Nama database: `ftth_planner` + - Collation: `utf8_general_ci` + - Klik "Create" + +3. **Import Database**: + - Pilih database `ftth_planner` + - Tab "Import" + - Choose file: pilih `database.sql` + - Klik "Go" + +## Langkah 3: Copy File Aplikasi + +1. **Copy folder**: Copy semua file ke `C:\xampp\htdocs\ftthplanner\` +2. **Struktur folder harus**: + ``` + C:\xampp\htdocs\ftthplanner\ + ├── index.php + ├── config/database.php + ├── api/ (semua file API) + ├── assets/ (CSS & JS) + ├── database.sql + └── README.md + ``` + +## Langkah 4: Test Aplikasi + +1. **Buka Browser**: `http://localhost/ftthplanner` +2. **Cek Map**: Pastikan peta OpenStreetMaps muncul +3. **Test Add Item**: Klik di peta → isi form → simpan +4. **Test Drag**: Drag marker yang sudah dibuat +5. **Test Route**: Klik "Mode Routing" → pilih 2 item + +## Troubleshooting Umum + +### Error: "Connection failed" +- Pastikan MySQL service berjalan di XAMPP +- Cek username/password di `config/database.php` + +### Error: "Table doesn't exist" +- Import ulang `database.sql` +- Pastikan database name = `ftth_planner` + +### Map tidak muncul +- Cek koneksi internet +- Allow JavaScript di browser +- Cek console browser (F12) untuk error + +### Item tidak bisa disimpan +- Cek permission folder (777 di Linux/Mac) +- Pastikan semua field required diisi +- Lihat Network tab di browser untuk error API + +## Konfigurasi Lanjutan + +### Ganti Default Location Map +Edit di `assets/js/map.js` baris 11: +```javascript +map = L.map('map').setView([-6.2088, 106.8456], 11); +``` +Ganti koordinat dengan lokasi yang diinginkan. + +### Tambah Warna Tube +Insert ke database: +```sql +INSERT INTO tube_colors (color_name, hex_code) VALUES ('Nama Warna', '#HEX_CODE'); +``` + +### Tambah Jenis Splitter +Insert ke database: +```sql +INSERT INTO splitter_types (type, ratio) VALUES ('main', '1:6'); +``` + +## Kontak Support + +Jika mengalami masalah, dokumentasikan: +1. Versi Windows +2. Versi XAMPP +3. Error message lengkap +4. Screenshot jika perlu + +Aplikasi sudah siap digunakan! 🎉 \ No newline at end of file diff --git a/testing_guide.md b/testing_guide.md new file mode 100644 index 0000000..40cd42c --- /dev/null +++ b/testing_guide.md @@ -0,0 +1,144 @@ +# Panduan Testing FTTH Planner + +## ✅ Masalah yang Telah Diperbaiki + +### 1. **Item Pelanggan/End User** +- ✅ Tambah item type "Pelanggan" dengan icon rumah (🏠) +- ✅ Warna orange (#FFA500) untuk pembeda +- ✅ Menu sidebar "Tambah Pelanggan" +- ✅ Form dapat memilih "Pelanggan" +- ✅ Statistik menampilkan jumlah pelanggan + +### 2. **Routing Cable (From-To)** +- ✅ Perbaiki bug routing yang tidak berfungsi +- ✅ Tambah error handling dan logging +- ✅ Fallback ke garis lurus jika routing gagal +- ✅ Console log untuk debugging + +## 🔧 Cara Setup & Update + +### Jika Database Sudah Ada +Jalankan file `update_database.sql` di phpMyAdmin untuk menambah item type Pelanggan: +```sql +INSERT IGNORE INTO item_types (id, name, icon, color) VALUES (5, 'Pelanggan', 'fas fa-home', '#FFA500'); +``` + +### Jika Database Baru +Import file `database.sql` yang sudah diupdate dengan item Pelanggan. + +## 🧪 Testing Checklist + +### Test 1: Item Pelanggan +1. **Buka aplikasi**: `http://localhost/ftthplanner` +2. **Cek sidebar**: Menu "Tambah Pelanggan" ada dengan icon 🏠 +3. **Klik "Tambah Pelanggan"**: + - Form modal terbuka + - Item Type otomatis terisi "Pelanggan" + - Isi nama: "Rumah Pak Budi" + - Klik di peta untuk set lokasi + - Klik "Simpan" +4. **Verifikasi**: + - Marker orange dengan icon rumah muncul di peta + - Statistik "Pelanggan" bertambah + - Popup info benar saat diklik marker + +### Test 2: Routing Cable +1. **Buat minimal 2 item** (misal: 1 OLT + 1 Pelanggan) +2. **Klik tombol "Mode Routing"** di header card +3. **Klik marker pertama** (misal OLT) +4. **Klik marker kedua** (misal Pelanggan) +5. **Verifikasi**: + - Garis route muncul (kuning putus-putus) + - Notifikasi "Route berhasil dibuat" + - Statistik "Routes" bertambah + +### Test 3: Routing Alternative +Jika routing normal gagal, akan otomatis fallback ke garis lurus: +1. **Buka Console Browser** (F12) +2. **Coba buat route** +3. **Cek console log**: + - "Creating route from [lat,lng] to [lat,lng]" + - Jika ada error: "Leaflet Routing Machine not available" + - "Route sederhana berhasil dibuat" + +### Test 4: Drag & Drop +1. **Drag marker** yang sudah dibuat ke lokasi baru +2. **Verifikasi**: Notifikasi "Posisi item berhasil dipindahkan" + +### Test 5: Edit/Delete +1. **Klik marker → Edit**: Form terisi data lama +2. **Update** dan simpan: Data terupdate +3. **Klik marker → Hapus**: Item terhapus dari peta + +## 🐛 Troubleshooting + +### Routing Tidak Berfungsi +**Gejala**: Tidak ada garis route muncul setelah klik 2 marker + +**Solusi**: +1. **Cek Console** (F12): + - Error loading Leaflet Routing Machine? + - Network error ke OSRM service? +2. **Cek Internet**: Routing butuh koneksi untuk akses map service +3. **Fallback**: Sistem otomatis buat garis lurus jika routing gagal + +**Test Manual**: +```javascript +// Di console browser +console.log(typeof L.Routing); // Should show 'object' +console.log(markers); // Should show object with marker IDs +``` + +### Item Pelanggan Tidak Muncul +**Solusi**: +1. **Cek Database**: Pastikan item_types id=5 ada +2. **Hard Refresh**: Ctrl+F5 untuk reload cache +3. **Cek Console**: Error JavaScript? + +### Statistik Tidak Update +**Gejala**: Angka statistik tidak berubah setelah tambah item + +**Solusi**: +1. **Refresh halaman**: F5 +2. **Cek API**: `http://localhost/ftthplanner/api/statistics.php` +3. **Cek Database**: Data tersimpan di tabel ftth_items? + +## 📊 Expected Results + +### Statistik Dashboard +- **OLT**: Jumlah OLT yang dibuat +- **Tiang**: Jumlah Tiang Tumpu +- **ODP**: Jumlah ODP +- **ODC**: Jumlah ODC +- **Pelanggan**: Jumlah Pelanggan ⭐ (BARU) +- **Routes**: Jumlah route cable ⭐ (BARU) + +### Legend Map +Harus menampilkan 5 item: +- 🔴 OLT +- 🔵 Tiang Tumpu +- 🔵 ODP +- 🟢 ODC +- 🟠 Pelanggan ⭐ (BARU) + +### Routing Visual +- **Garis hijau solid**: Route terpasang +- **Garis kuning putus**: Route perencanaan ⭐ +- **Garis merah putus**: Route maintenance + +## ✅ Success Criteria + +**✅ BERHASIL** jika: +1. Item Pelanggan bisa dibuat dan muncul di peta +2. Routing berfungsi (garis muncul antara 2 marker) +3. Statistik update otomatis +4. Drag & drop masih berfungsi +5. Edit/delete masih berfungsi + +**❌ GAGAL** jika: +1. Error JavaScript di console +2. Marker tidak muncul setelah simpan +3. Routing sama sekali tidak ada response +4. Database error di API calls + +Silakan test sesuai checklist di atas dan laporkan hasil atau error yang ditemukan! 🚀 \ No newline at end of file diff --git a/update_database.sql b/update_database.sql new file mode 100644 index 0000000..8f5f6d8 --- /dev/null +++ b/update_database.sql @@ -0,0 +1,8 @@ +-- Script untuk menambahkan item type Pelanggan ke database yang sudah ada +-- Jalankan script ini jika database sudah dibuat sebelumnya + +-- Tambah item type Pelanggan jika belum ada +INSERT IGNORE INTO item_types (id, name, icon, color) VALUES (5, 'Pelanggan', 'fas fa-home', '#FFA500'); + +-- Cek hasil +SELECT * FROM item_types; \ No newline at end of file diff --git a/wifi.png b/wifi.png new file mode 100644 index 0000000000000000000000000000000000000000..1926972f45b1da301252741c2c54d748afacc111 GIT binary patch literal 45159 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 literal 0 HcmV?d00001