fix: bulk attendance fill creates holiday records instead of skipping

Holidays now get leave_type: "holiday" with 8h so they count in fund calculation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
BOHA
2026-04-02 11:05:42 +02:00
parent d14e97d7bd
commit ecd97ae5a3

View File

@@ -1087,7 +1087,6 @@ export async function bulkCreateAttendance(data: BulkAttendanceData) {
const dow = date.getDay();
if (dow === 0 || dow === 6) continue;
if (isHoliday(dateStr)) continue;
if (existingSet.has(`${userId}:${dateStr}`)) {
skipped++;
@@ -1095,6 +1094,20 @@ export async function bulkCreateAttendance(data: BulkAttendanceData) {
}
const shiftDate = new Date(Date.UTC(yr, mo - 1, day, 12, 0, 0));
if (isHoliday(dateStr)) {
await prisma.attendance.create({
data: {
user_id: userId,
shift_date: shiftDate,
leave_type: "holiday",
leave_hours: 8,
},
});
inserted++;
continue;
}
await prisma.attendance.create({
data: {
user_id: userId,