88 lines
1.7 KiB
TypeScript
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;
|
|
}
|