Files
EmployeeManagementSystem/src/types.ts

88 lines
1.7 KiB
TypeScript

export interface Employee {
id: string;
name: string;
dept: string;
sub: string;
activity: string;
status: "Present" | "Absent";
in: string;
out: string;
remark: string;
}
export interface Contractor {
id: string;
name: string;
role: string;
employees: Employee[];
}
export interface Supervisor {
id: string;
name: string;
role: string;
dept: string;
contractors: Contractor[];
}
export interface User {
id: number;
username: string;
name: string;
role: string;
dept: string;
status: string;
}
export interface Allocation {
id: number;
empId: number;
employee: string;
contractor: string;
activity: string;
date: string;
totalQty: number;
completed: number;
remaining: number;
rate: number;
amount: number;
paid: number;
status: string;
}
export interface ChartData {
name: string;
value: number;
color?: string;
fill?: string;
}
export type AttendanceStatus = "CheckedIn" | "CheckedOut" | "Absent" | "HalfDay" | "Late";
export type SwapStatus = "Active" | "Completed" | "Cancelled";
export type SwapReason = "LeftWork" | "Sick" | "FinishedEarly" | "Other";
export interface EmployeeSwap {
id: number;
employee_id: number;
employee_name?: string;
original_department_id: number;
original_department_name?: string;
original_contractor_id?: number;
original_contractor_name?: string;
target_department_id: number;
target_department_name?: string;
target_contractor_id?: number;
target_contractor_name?: string;
swap_reason: SwapReason;
reason_details?: string;
work_completion_percentage: number;
swap_date: string;
swapped_by_id: number;
swapped_by_name?: string;
status: SwapStatus;
created_at: string;
updated_at: string;
}