Compare commits

..

2 Commits

Author SHA1 Message Date
BOHA
40cb5a4d76 1.4.2 2026-04-02 11:05:42 +02:00
BOHA
ecd97ae5a3 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>
2026-04-02 11:05:42 +02:00
3 changed files with 17 additions and 4 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "app-ts", "name": "app-ts",
"version": "1.4.1", "version": "1.4.2",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "app-ts", "name": "app-ts",
"version": "1.4.1", "version": "1.4.2",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@dnd-kit/core": "^6.3.1", "@dnd-kit/core": "^6.3.1",

View File

@@ -1,6 +1,6 @@
{ {
"name": "app-ts", "name": "app-ts",
"version": "1.4.1", "version": "1.4.2",
"description": "", "description": "",
"main": "dist/server.js", "main": "dist/server.js",
"scripts": { "scripts": {

View File

@@ -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,