Documentation Index
Fetch the complete documentation index at: https://docs.azalt.co/llms.txt
Use this file to discover all available pages before exploring further.
FormElementSubmission, bir FormSubmission içindeki tek bir form alanının gerçek değerini saklar. Çok dönemli veri, TIMESTAMP kayıtları, değer bazında iş akışı durumu ve aynı dönem için çoklu girişleri destekler.
Temel Amaç
FormElementSubmission, formlarda girilen gerçek veri değerlerini saklar:
- Bireysel Alan Değerleri: Her form alanı yanıtı bir FormElementSubmission olur
- Çok dönemli destek: Yıllık, çeyreklik, aylık veya TIMESTAMP
- Çoklu Girişler: Birden fazla yanıtı alan başına destekle (dış formlar, tedarikçi verileri)
- Hesaplama Sonuçları: Hem giriş değerlerini hem de hesaplanan çıktıları sakla
Veri Depolama Mimarisi
Çok Dönemli Veri Depolama: Her gönderim birden fazla zaman periyodunda değer saklayabilir
FormElementSubmission {
formElementId: "energy-consumption-field",
periodUnit: 3, // Mart (aylık: 1..12)
sequence: 0, // Bu periyot için ilk giriş
value: 1250.5, // Gerçek kWh değeri
activityId: null // Karmaşık hesaplama gerekli değil
}
Karmaşık Hesaplama Depolama: Gelişmiş hesaplamalar için Activity sonuçlarına bağlantı
FormElementSubmission {
formElementId: "emissions-calculation",
periodUnit: 1, // Q1 (çeyreklik: 1..4)
sequence: 0,
value: 2847.3, // Hesaplanan tCO2e sonucu
activityId: "act_123" // Activity hesaplamasına referans
}
Çoklu Giriş Desteği: Alan/periyot başına birden fazla gönderimi işle (özellikle dış formlar için)
// Tedarikçi A'nın verisi
FormElementSubmission { periodUnit: 6, sequence: 0, value: 850 }
// Tedarikçi B'nin verisi
FormElementSubmission { periodUnit: 6, sequence: 1, value: 1200 }
// İç tahmin
FormElementSubmission { periodUnit: 6, sequence: 2, value: 1000 }
Esnek Değer Depolama
JSON tabanlı depolama her veri türünü destekler:
- Sayılar:
1250.5 (enerji tüketimi, emisyonlar, maliyetler)
- Metin:
"Sertifikalı tedarikçiden doğal gaz" (açıklamalar, notlar)
- Diziler:
["Şebeke elektriği", "Güneş panelleri"] (çoklu seçimler)
- Nesneler:
{"scope1": 450, "scope2": 280, "total": 730} (karmaşık hesaplamalar)
Zaman Periyodu Yönetimi
Periyot Birimleri: Veri toplama için farklı ayrıntı düzeyleri
- Yıllık (periodUnit = 1)
- Aylık (periodUnit 1–12)
- Çeyreklik (periodUnit 1–4)
- TIMESTAMP: UTC
recordedAt zorunludur; periodUnit ay bilgisinden türetilir
Sıra Numaraları: Aynı periyot için birden fazla gönderimi işle
— sequence = 1, 2, 3…: Aynı periyottaki ek girişler
Veri Türleri ve Doğrulama
Veri Türleri ve Doğrulama
Örnekler:
- Sayısal:
{"value": 1250.75}
- Metin:
{"value": "Yenilenebilir elektrik satın alındı"}
- Seçim (tek/çoklu):
{"value": ["Güneş", "Rüzgar"]}
Activity Entegrasyonu
Hesaplanan Değerler: FormElement’ler karmaşık hesaplamalar için Activity’leri kullandığında
FormElementSubmission {
formElementId: "scope1-emissions",
value: 2847.3, // Nihai hesaplanan sonuç
activityId: "act_xyz789", // Girişler/formül ile Activity'ye bağlantı
status: "COMPLETED"
}
Ekler (destekleyici dokümanlar)
Destekleyici dokümanlar değer (FormElementSubmission) bazında ilişkilendirilir ve API’lerle değer kimliği üzerinden alınır. Dosyalar value JSON içinde saklanmaz.
- Çekmece akışı: Gönderim arayüzünde element/periyot başına açılan yan çekmece aracılığıyla dosya yüklenir veya indirilir. Özel gönderimlerde dosyalar doğrudan FormElementSubmission kaydına eklenir; halka açık gönderimlerde önce taslak gönderim oluşturularak yükleme yapılır.
- Rozetler: Ataş simgesi, mevcut dosya sayısını rozet olarak gösterdiği için onaycılar kanıtların varlığını hemen görür.
- Silme yetkileri: Yükleme yapabilen anonim kullanıcılar dosya silemez; silme işlemleri yalnızca yetkili dahili kullanıcılar tarafından yapılır.
Veri Toplama ve Toplama
Site Hiyerarşisi Toplama: Alt site verileri ana sitelere toplanır
Kurumsal (tüm bölgelerin toplamı)
├── Kuzey Amerika Bölgesi (tesislerin toplamı)
│ ├── Tesis A: 1.250 kWh
│ └── Tesis B: 980 kWh
└── Avrupa Bölgesi (tesislerin toplamı)
└── Tesis C: 1.100 kWh
Zaman Periyodu Toplama: Aylık veriler çeyreklik veya yıllık olarak toplanabilir
Yıllık Toplam = Q1 + Q2 + Q3 + Q4
Q1 Toplam = Ocak + Şubat + Mart
Gerçek Dünya Örnekleri
Enerji tüketimi (TIMESTAMP)
{
"formElementId": "electricity",
"periodUnit": 3,
"sequence": 1,
"value": 15420.5,
"recordedAt": "2024-03-31T23:59:59Z",
"status": "COMPLETED"
}
Tedarikçi değerlendirme (YILLIK)
{
"formElementId": "supplier-emissions",
"periodUnit": 1,
"sequence": 1,
"value": {
"scope1": 450.2,
"scope2": 280.7,
"scope3": 125.9,
"total": 856.8
},
"status": "APPROVED"
}
Doküman yükleme: Dosyalar değerle ilişkilidir; value JSON dosyayı değil, gerekirse referansları barındırır.
Sorgu ve Alma Desenleri
Form Elementine Göre: Siteler/periyotlar boyunca belirli bir alan için tüm gönderimleri al
Site ve Periyoda Göre: Belirli bir zaman periyodunda bir site için tüm alan değerlerini al
Gönderime Göre: Tek bir form gönderim oturumu içindeki tüm alan değerlerini al
Toplanmış Görünümler: Birden fazla gönderim boyunca değerleri topla veya say
İş Akışı Durumu
Her değer, yapılandırılmış iş akışına göre bir duruma sahiptir (COMPLETED, APPROVED, REJECTED). Onaylar değer bazında uygulanır; ACTIVITY için toplu işlemler mevcuttur.
Operasyonel Faydalar
Esneklik: JSON tabanlı değer depolama ile her türlü veriyi sakla
Ölçeklenebilirlik: Büyük organizasyonlar boyunca milyonlarca veri noktasını işle
Entegrasyon: Hesaplamalar, dashboard’lar ve raporlama ile bağlantı