// import 'package:dart_eval/dart_eval.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/ayarlar/model_ayarlar.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/calisma_kayit/calisma_kayit.dart'; class CalismaKayitHesaplamalar { CalismaKayitHesaplamalar({ required this.aktifCalisma, }); CalismaKayit aktifCalisma; // /** Brüt Ücretler */ // // double brutNormal = 0.0; // // double brutFazlaMesai = 0.0; // // double brutEkOdemeler = 0.0; // // double brutToplam = 0.0; // /** */ // // double kesintilerToplam = 0.0; // // double vergilerToplam = 0.0; // double vergilerKumulatifToplam = 0.0; // /** */ // // double netNormalUcret = 0.0; // // double netFazlaMesai = 0.0; // // double netEkUcretler = 0.0; // double? kumulatifMatrah; // double kumulatifVergi = 0.0; // // double odenecekUcret = 0.0; // // double toplamKesinti = 0.0; // // double gelirVergisiMatrahi = 0.0; // Future hesapla() async { // //---> // // double brutToplamlar$ = aktifCalisma.brutToplam; // // double kesintiToplam = 0.0; // // double kesintiNetFazlaMesaiHesap = 0.0; // // double kesintiEkOdemeNetHesap = 0.0; // // toplamKesinti = 0.0; // // kesintiToplam = aktifCalisma.kesintiToplam; // // kesintiNetFazlaMesaiHesap = aktifCalisma.kesintiler?.hesapla(ucret: aktifCalisma.brutFazlaMesai) ?? 0.0; // // kesintiEkOdemeNetHesap = aktifCalisma.kesintiler?.hesapla(ucret: aktifCalisma.ekOdemeler!.toplam()) ?? 0.0; // //---> // // gelirVergisiMatrahi = aktifCalisma.brutToplam - kesintiHesap; // kumulatifVergi = 0; // //---> // // vergilerToplam = aktifCalisma.vergiler?.hesaplaDuzOran(ucret: aktifCalisma.gelirVergisiMatrahi) ?? 0.0; // // netFazlaMesai = aktifCalisma.brutFazlaMesai - (aktifCalisma.kesintiler?.hesapla(ucret: aktifCalisma.brutFazlaMesai) ?? 0.0) - (aktifCalisma.vergiler?.hesaplaDuzOran(ucret: aktifCalisma.brutFazlaMesai - (aktifCalisma.kesintiler?.hesapla(ucret: aktifCalisma.brutFazlaMesai) ?? 0.0)) ?? 0.0); // // print(kesintiEkOdemeNetHesap); // // netEkUcretler = (aktifCalisma.vergiler?.hesaplaDuzOran(ucret: aktifCalisma.ekOdemeler!.toplam()) ?? 0.0); // //---> // // kumulatifVergi = kumulatifVergiHesapla(); // //---> // // odenecekUcret = aktifCalisma.brutToplam - (aktifCalisma.kesintiToplam + aktifCalisma.vergilerToplam + kumulatifVergi); // // toplamKesinti = aktifCalisma.brutToplam - aktifCalisma.odenecekUcret; // // print((brutToplamlar1)); // return this; // } // Future kumulatifMatrahGuncelle() async { // kumulatifMatrah = await aktifCalisma.kumulatifMatrahHesapla(); // return kumulatifMatrah ?? 0.0; // } // double kumulatifVergiHesapla() { // double toplamVergi = 0.0; // double toplamGelir = aktifCalisma.gelirVergisiMatrahi + (kumulatifMatrah ?? 0.0); // Bu ayki gelir ve kümülatif gelir toplamı // double oncekiVergi = 0.0; // double oncekiMatrah = kumulatifMatrah ?? 0.0; // for (var dilim in aktifCalisma.vergiler ?? []) { // if (dilim.turu == VergiTuru.KUMULATIF) { // // Yeni gelir üzerinden vergi hesapla // if (toplamGelir > (dilim.kumulatifAltSinir ?? 0.0)) { // double altSinir = dilim.kumulatifAltSinir ?? 0.0; // double ustSinir = dilim.kumulatifUstSinir ?? double.infinity; // // Vergilendirilebilir kısmı hesapla // double vergilendirilebilirTutar = (toplamGelir > ustSinir ? ustSinir : toplamGelir) - altSinir; // toplamVergi += (dilim.miktar ?? 0.0) + vergilendirilebilirTutar * ((dilim.oran ?? 0.0) / 100); // } // // Önceki matrah üzerinden vergi hesapla // if (toplamGelir > (dilim.kumulatifAltSinir ?? 0.0)) { // double altSinir = dilim.kumulatifAltSinir ?? 0.0; // double ustSinir = dilim.kumulatifUstSinir ?? double.infinity; // double vergilendirilebilirTutar = (oncekiMatrah > ustSinir ? ustSinir : oncekiMatrah) - altSinir; // oncekiVergi += (dilim.miktar ?? 0.0) + vergilendirilebilirTutar * ((dilim.oran ?? 0.0) / 100); // } // } // } // kumulatifVergi = toplamVergi - oncekiVergi; // if (kumulatifVergi < 0) { // kumulatifVergi = 0; // } // return kumulatifVergi; // } }