# Madran Su Dağıtım Takip Sistemi - Google Sheets Kurulum Rehberi Bu klasördeki dosyalar Madran Su için Google Sheets üzerinde kullanılabilecek boş/demo operasyon şablonlarıdır. Dosyalarda gerçek müşteri adı, gerçek telefon, gerçek adres veya gerçek sipariş verisi bulunmaz. ## Önerilen kurulum: Apps Script otomasyonu CSV dosyalarını tek tek içe aktarmak yerine `google-sheets-setup.gs` dosyasındaki Apps Script kodunu Google Sheets içinde çalıştırmanız önerilir. 1. Google Drive içinde yeni boş bir Google Sheets dosyası oluşturun. 2. `Uzantılar > Apps Script` menüsüne girin. 3. `google-sheets-setup.gs` veya alternatif olarak `google-sheets-setup.txt` dosyasındaki kodu Apps Script editörüne yapıştırın. 4. Yeni boş dosyada `setupMadranSuDagitim()` fonksiyonunu çalıştırın. 5. İçinde veri olan mevcut dosyada mümkün olduğunca veri silmeden otomasyon eklemek için `upgradeMadranSuAutomation()` fonksiyonunu çalıştırın. 6. Google yetki isterse yalnızca mevcut Google Sheets dosyası için onay verin. 7. Dosyayı yenileyince üst menüde `Madran Su` menüsü görünecektir. Bu otomasyon Google Sheets API bağlantısı, OAuth entegrasyonu, backend, veritabanı veya canlı site bağlantısı kurmaz. Kod yalnızca kullanıcı tarafından açılan Google Sheets dosyasında çalıştırılır. ## Hangi fonksiyon ne işe yarar? - `setupMadranSuDagitim()`: Yeni boş Google Sheets dosyasında tüm sayfaları temiz şekilde kurar. Mevcut sayfaları temizleyebilir. - `upgradeMadranSuAutomation()`: İçinde veri olan dosyada başlıkları, açılır listeleri, biçimleri ve otomasyonları mümkün olduğunca veri silmeden günceller. - `fixToplamTutarErrors()`: Günlük Siparişler sayfasındaki Toplam Tutar alanlarını formüle bağlı kalmadan Apps Script ile yeniden hesaplar. - `recalculateAllOrders()`: Tüm günlük sipariş satırlarını yeniden hesaplar. - `createRoutePlan()`: Bugünün iptal olmayan siparişlerinden Motor 1 / Motor 2 rota listesini oluşturur. - `refreshEndOfDayReport()`: Bugünün siparişlerinden gün sonu özetini çıkarır. - `addQuickOrderToList()`: Hızlı Sipariş formundaki bilgileri Günlük Siparişler sayfasına ekler. ## Otomatik hesaplama mantığı Varsayılan fiyatlar: - Damacana Su: `115 TL` - Depozito: `85 TL` - Pompa: `0 TL` Günlük Siparişler sayfasında kullanıcı minimum bilgi girdiğinde script şu alanları otomatik tamamlar: - Tarih - Saat - Sipariş No - Ürün - Adet - Birim Fiyat - Yeni Depozito Adedi - Depozito Tutarı - Pompa Tutarı - Toplam Tutar - Ödeme Tipi - Durum Toplam Tutar formülü: ```text Toplam Tutar = Adet x Birim Fiyat + Depozito Tutarı + Pompa Tutarı ``` Örnekler: - 1 adet damacana, 0 depozito = `115 TL` - 1 adet damacana, 1 yeni depozito = `200 TL` - 2 adet damacana, 0 depozito = `230 TL` Toplam Tutar artık kırılgan hücre formülüyle değil, Apps Script ile hesaplandığı için formül error bırakmaması hedeflenir. ## Hızlı Sipariş akışı 1. `Hızlı Sipariş` sayfasındaki form alanlarını doldurun. 2. Üst menüden `Madran Su > Hızlı Siparişi Listeye Ekle` seçeneğine basın. 3. Sipariş `Günlük Siparişler` sayfasına eklenir. 4. Tarih, saat, sipariş no, fiyat, depozito ve toplam tutar otomatik hesaplanır. 5. Telefon müşteri listesinde yoksa kullanıcı tarafından girilen bilgilerle yeni müşteri kaydı oluşturulabilir. 6. İşlemden sonra Hızlı Sipariş form alanları temizlenir. ## Rota ve rapor akışı - `Madran Su > Rota Planını Oluştur`: Bugünün iptal olmayan siparişlerini Motor 1 / Motor 2 ve Sıra No alanlarına göre rota listesine taşır. Gerçek harita optimizasyonu yapmaz. - `Madran Su > Gün Sonu Raporunu Yenile`: Toplam sipariş, teslim edilen, bekleyen, iptal, damacana adedi, ciro, tahsilat ve en yoğun mahalle özetini çıkarır. ## Sayfa yapısı Apps Script şu sayfaları oluşturur veya günceller: - `Müşteri Listesi` - `Günlük Siparişler` - `Hızlı Sipariş` - `Rota Planı` - `Depozito Takibi` - `Gün Sonu Raporu` - `Ayarlar` ## CSV dosyaları CSV dosyaları manuel kullanım veya yedek şablon olarak klasörde tutulur: - `01-musteri-listesi.csv` - `02-gunluk-siparisler.csv` - `03-rota-plani.csv` - `04-depozito-takibi.csv` - `05-gun-sonu-raporu.csv` - `06-ayarlar.csv` Otomasyonlu kullanım için CSV içe aktarma yerine Apps Script kurulumu tercih edilmelidir. ## Gerçek veri girmeden önce Gerçek müşteri verisi, telefon, adres ve ödeme bilgisi girmeden önce dosyanın bir kopyasını alın. Yalnızca doğrulanmış ve izinli müşteri verilerini kullanın. Bu klasördeki örnekler demo/şablon amaçlıdır.