(Feat-Fix): Lots of fixes.

This commit is contained in:
2025-12-21 10:31:13 +00:00
parent 2d3412f79a
commit d36d925e38
3 changed files with 161 additions and 40 deletions

View File

@@ -36,12 +36,20 @@ router.get(
e.name as employee_name, e.username as employee_username,
s.name as supervisor_name,
d.name as department_name,
c.name as contractor_name
COALESCE(oc.name, c.name) as contractor_name,
es.id as active_swap_id,
es.original_contractor_id,
es.target_contractor_id,
oc.name as original_contractor_name,
tc.name as target_contractor_name
FROM attendance a
JOIN users e ON a.employee_id = e.id
JOIN users s ON a.supervisor_id = s.id
LEFT JOIN departments d ON e.department_id = d.id
LEFT JOIN users c ON e.contractor_id = c.id
LEFT JOIN employee_swaps es ON es.employee_id = e.id AND es.status = 'Active' AND es.swap_date <= a.work_date
LEFT JOIN users oc ON es.original_contractor_id = oc.id
LEFT JOIN users tc ON es.target_contractor_id = tc.id
WHERE 1=1
`;
const queryParams: unknown[] = [];
@@ -97,12 +105,18 @@ router.get("/:id", authenticateToken, async (ctx) => {
e.name as employee_name, e.username as employee_username,
s.name as supervisor_name,
d.name as department_name,
c.name as contractor_name
COALESCE(oc.name, c.name) as contractor_name,
es.id as active_swap_id,
oc.name as original_contractor_name,
tc.name as target_contractor_name
FROM attendance a
JOIN users e ON a.employee_id = e.id
JOIN users s ON a.supervisor_id = s.id
LEFT JOIN departments d ON e.department_id = d.id
LEFT JOIN users c ON e.contractor_id = c.id
LEFT JOIN employee_swaps es ON es.employee_id = e.id AND es.status = 'Active' AND es.swap_date <= a.work_date
LEFT JOIN users oc ON es.original_contractor_id = oc.id
LEFT JOIN users tc ON es.target_contractor_id = tc.id
WHERE a.id = ?`,
[attendanceId],
);