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:
@@ -1087,7 +1087,6 @@ export async function bulkCreateAttendance(data: BulkAttendanceData) {
|
|||||||
const dow = date.getDay();
|
const dow = date.getDay();
|
||||||
|
|
||||||
if (dow === 0 || dow === 6) continue;
|
if (dow === 0 || dow === 6) continue;
|
||||||
if (isHoliday(dateStr)) continue;
|
|
||||||
|
|
||||||
if (existingSet.has(`${userId}:${dateStr}`)) {
|
if (existingSet.has(`${userId}:${dateStr}`)) {
|
||||||
skipped++;
|
skipped++;
|
||||||
@@ -1095,6 +1094,20 @@ export async function bulkCreateAttendance(data: BulkAttendanceData) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const shiftDate = new Date(Date.UTC(yr, mo - 1, day, 12, 0, 0));
|
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({
|
await prisma.attendance.create({
|
||||||
data: {
|
data: {
|
||||||
user_id: userId,
|
user_id: userId,
|
||||||
|
|||||||
Reference in New Issue
Block a user