feat: add entities for staff personal info, reports, shifts, and user sessions

- Implemented StaffPersonalInfo entity for staff profile data.
- Created ReportSummary entity for summarizing report metrics.
- Added SpendReport and SpendDataPoint entities for spend reporting.
- Introduced AssignedShift, CancelledShift, CompletedShift, OpenShift, PendingAssignment, ShiftDetail, TodayShift entities for shift management.
- Developed ClientSession and StaffSession entities for user session management.
This commit is contained in:
Achintha Isuru
2026-03-16 15:59:22 -04:00
parent 641dfac73d
commit 4834266986
159 changed files with 6857 additions and 3937 deletions

View File

@@ -255,7 +255,7 @@ class ViewOrdersCubit extends Cubit<ViewOrdersState>
return filtered;
} else if (state.filterTab == 'active') {
final List<OrderItem> filtered = ordersOnDate
.where((OrderItem s) => s.status == 'IN_PROGRESS')
.where((OrderItem s) => s.status == ShiftStatus.active)
.toList();
print(
'ViewOrders tab=active statuses=${ordersOnDate.map((OrderItem s) => s.status).toList()} filtered=${filtered.length}',
@@ -263,7 +263,7 @@ class ViewOrdersCubit extends Cubit<ViewOrdersState>
return filtered;
} else if (state.filterTab == 'completed') {
final List<OrderItem> filtered = ordersOnDate
.where((OrderItem s) => s.status == 'COMPLETED')
.where((OrderItem s) => s.status == ShiftStatus.completed)
.toList();
print(
'ViewOrders tab=completed statuses=${ordersOnDate.map((OrderItem s) => s.status).toList()} filtered=${filtered.length}',
@@ -284,14 +284,14 @@ class ViewOrdersCubit extends Cubit<ViewOrdersState>
return state.orders
.where(
(OrderItem s) =>
s.date == selectedDateStr && s.status == 'IN_PROGRESS',
s.date == selectedDateStr && s.status == ShiftStatus.active,
)
.length;
} else if (category == 'completed') {
return state.orders
.where(
(OrderItem s) =>
s.date == selectedDateStr && s.status == 'COMPLETED',
s.date == selectedDateStr && s.status == ShiftStatus.completed,
)
.length;
}

View File

@@ -111,7 +111,7 @@ class _ViewOrderCardState extends State<ViewOrderCard> {
/// Returns true if the edit icon should be shown.
/// Hidden for completed orders and for past orders (shift has ended).
bool _canEditOrder(OrderItem order) {
if (order.status == 'COMPLETED') return false;
if (order.status == ShiftStatus.completed) return false;
if (order.date.isEmpty) return true;
try {
final DateTime orderDate = DateTime.parse(order.date);