finances
finances, cihaz veya saha bazlı gelir-gider hareketlerini tutan işlem tablosudur. Finans kategorisi, işlem tipi, tutar ve işlem zamanı gibi alanlar sayesinde operasyonel maliyet ve gelir takibi yapılabilir.
Bu tablo, finance_details içindeki kategori sözlüğünü gerçek finans kayıtlarıyla ilişkilendirir.
Yapilacaklar (Soft Delete ve Audit)
-
is_deletedvedelete_timealanlari eklendi; soft-delete semantigi netlestirildi. -
created_byveupdated_byalanlari zorunlu actor seti olarak korundu. -
create_timeveupdate_timealanlari zorunlu yasam dongusu alanlari olarak korundu. - Tutar, kategori ve durum degisikliklerini audit log tablosuna append-only yazmak.
FK Davranis Notlari
| FK | ON DELETE | ON UPDATE | Not |
|---|---|---|---|
finances.device_id -> devices.id | RESTRICT | CASCADE | Finans gecmisi olan cihazin fiziksel silinmesi engellenir. |
finance.transaction_type Enum Değerleri
| Değer | Anlamı |
|---|---|
income | Gelir |
expense | Gider |
Kolonlar
| Kolon | Tip | Null | Anlamı |
|---|---|---|---|
id | int | hayır | Finans kaydı birincil anahtarı |
device_id | varchar(21) | hayır | İlgili cihaz; devices.id |
detail_id | int | hayır | Finans kategorisi; finance_details.id |
transaction_type | finance.transaction_type | hayır | İşlem tipi |
transaction_time | timestamp | hayır | İşlemin gerçekleştiği zaman |
currency_code | varchar(10) | hayır | Para birimi kodu (DEFAULT: TRY) |
note | varchar(255) | evet | İşlem notu |
amount | decimal(14,2) | hayır | İşlem tutarı |
is_deleted | boolean | hayır | Soft delete bayrağı (DEFAULT: false) |
delete_time | timestamp | evet | Soft delete zamanı |
created_by | int | hayır | Kaydı oluşturan kullanıcı; users.id |
updated_by | int | hayır | Kaydı son güncelleyen kullanıcı; users.id |
update_time | timestamp | hayır | Son güncelleme zamanı |
create_time | timestamp | hayır | Kayıt oluşturulma zamanı |
İndeksler
| İndeks | Tip | Açıklama |
|---|---|---|
id | Primary Key | Tablo birincil anahtarı |
Örnek Kayıtlar
- Gelir - Elektrik Geliri
- Gider - Bakım
- Gider - Mazot
- Gider - İşçilik
{
"id": 1,
"device_id": "46000000C47CA670",
"detail_id": 1,
"transaction_type": "income",
"transaction_time": "2026-04-01 18:00:00",
"currency_code": "TRY",
"note": "Mart ayı enerji tasarruf geliri",
"amount": 1250.00,
"is_deleted": false,
"delete_time": null,
"created_by": 1,
"updated_by": 1,
"update_time": "2026-04-03 10:05:00",
"create_time": "2026-04-03 10:05:00"
}
Özet: C47CA670 cihazı için enerji tasarrufu kaynaklı gelir kaydı.
{
"id": 2,
"device_id": "46000000C47CA670",
"detail_id": 2,
"transaction_type": "expense",
"transaction_time": "2026-04-02 09:30:00",
"currency_code": "TRY",
"note": "Pompa bakım gideri",
"amount": 850.00,
"is_deleted": false,
"delete_time": null,
"created_by": 1,
"updated_by": 1,
"update_time": "2026-04-03 10:06:00",
"create_time": "2026-04-03 10:06:00"
}
Özet: Aynı cihaz için bakım gideri olarak işlenmiş finans kaydı.
{
"id": 3,
"device_id": "46000000C47CA671",
"detail_id": 3,
"transaction_type": "expense",
"transaction_time": "2026-04-02 14:15:00",
"currency_code": "TRY",
"note": "Saha ziyareti için mazot gideri",
"amount": 420.50,
"is_deleted": false,
"delete_time": null,
"created_by": 1,
"updated_by": 1,
"update_time": "2026-04-03 10:07:00",
"create_time": "2026-04-03 10:07:00"
}
Özet: Kullanıcıya özel mazot kategorisi ile kaydedilmiş saha gideri.
{
"id": 4,
"device_id": "46000000C47CA672",
"detail_id": 4,
"transaction_type": "expense",
"transaction_time": "2026-04-03 08:45:00",
"currency_code": "TRY",
"note": "Kurulum işçilik maliyeti",
"amount": 600.00,
"is_deleted": false,
"delete_time": null,
"created_by": 1,
"updated_by": 1,
"update_time": "2026-04-03 10:08:00",
"create_time": "2026-04-03 10:08:00"
}
Özet: Kullanıcıya özel işçilik kategorisine bağlı kurulum maliyeti kaydı.