attendence records, extra hours , rewards and punishment funnctionality have been added

This commit is contained in:
Daniah Ayad Al-sultani
2026-02-10 16:27:08 +03:00
parent cd7ba8e9d5
commit 1002937045
25 changed files with 1048 additions and 181 deletions

View File

@@ -0,0 +1,21 @@
import 'finance_record.dart';
class AttendanceModel extends FinanceRecord {
final DateTime? loginTime;
final DateTime? logoutTime;
final int? workHours;
final DateTime? createdAt;
final bool isDeleted;
AttendanceModel({
required super.id,
required super.employeeId,
super.date,
super.reason,
this.loginTime,
this.logoutTime,
this.workHours,
this.createdAt,
required this.isDeleted,
});
}

View File

@@ -0,0 +1,17 @@
import 'finance_record.dart';
class ExtraPaymentModel extends FinanceRecord {
final double amount;
final String? note;
final bool isPenalty;
ExtraPaymentModel({
required super.id,
required super.employeeId,
super.date,
super.reason,
required this.amount,
this.note,
required this.isPenalty,
});
}

View File

@@ -0,0 +1 @@
enum FinanceCategory { attendance, overtime, bonus, penalty }

View File

@@ -0,0 +1,13 @@
abstract class FinanceRecord {
final String id;
final String employeeId;
final DateTime? date;
final String? reason;
FinanceRecord({
required this.id,
required this.employeeId,
this.date,
this.reason,
});
}

View File

@@ -0,0 +1,16 @@
import 'finance_record.dart';
class OvertimeModel extends FinanceRecord {
final double hours;
final double hourlyRateAtTheTime;
final double totalAmount;
OvertimeModel({
required super.id,
required super.employeeId,
super.date,
required this.hours,
required this.hourlyRateAtTheTime,
required this.totalAmount,
});
}