fix: create startOfTour from startBegin on same day as tour start
This commit is contained in:
parent
b9fd09a79f
commit
c2b5f55d2d
|
|
@ -2,15 +2,15 @@ import { Logger } from '@nestjs/common';
|
|||
import { Anomaly, Employee, Prisma, Tour } from '@prisma/client';
|
||||
import {
|
||||
Interval,
|
||||
addDays,
|
||||
addMilliseconds,
|
||||
addMinutes,
|
||||
differenceInMinutes,
|
||||
format,
|
||||
getHours,
|
||||
getMinutes,
|
||||
isBefore,
|
||||
isWithinInterval,
|
||||
set,
|
||||
subMilliseconds,
|
||||
subMilliseconds
|
||||
} from 'date-fns';
|
||||
import { getTimezoneOffset, toZonedTime } from 'date-fns-tz';
|
||||
|
||||
|
|
@ -108,7 +108,7 @@ export class EmployeesLoggedInDetector extends AnomalyDetector {
|
|||
startOfTour,
|
||||
getTimezoneOffset('Europe/Berlin', startOfTour),
|
||||
),
|
||||
'HH:mm',
|
||||
'dd.MM.yy HH:mm',
|
||||
)}`,
|
||||
},
|
||||
...(attendanceInterval
|
||||
|
|
@ -119,7 +119,7 @@ export class EmployeesLoggedInDetector extends AnomalyDetector {
|
|||
attendanceInterval.start,
|
||||
getTimezoneOffset('Europe/Berlin', startOfTour),
|
||||
),
|
||||
'HH:mm',
|
||||
'dd.MM.yy HH:mm',
|
||||
)}${
|
||||
attendanceInterval.end
|
||||
? ` - ${format(
|
||||
|
|
@ -363,16 +363,13 @@ export class EmployeesLoggedInDetector extends AnomalyDetector {
|
|||
if (!startBegin) return null;
|
||||
|
||||
const [hours, minutes] = startBegin.split(':').map((v) => +v);
|
||||
const tempDate = subMilliseconds(
|
||||
let modifiedTime = subMilliseconds(
|
||||
set(startDate, { hours, minutes }),
|
||||
getTimezoneOffset('Europe/Berlin', startDate),
|
||||
);
|
||||
const hourValue = getHours(tempDate);
|
||||
const minuteValue = getMinutes(tempDate);
|
||||
const modifiedTime = set(startDate, {
|
||||
hours: hourValue,
|
||||
minutes: minuteValue,
|
||||
});
|
||||
if (differenceInMinutes(modifiedTime, startDate) / 60 < -4) {
|
||||
modifiedTime = addDays(modifiedTime, 1);
|
||||
}
|
||||
|
||||
// this.logger.debug(
|
||||
// `getStartOfTour(${startDate.toISOString()}, ${startBegin}): ${modifiedTime.toISOString()}`,
|
||||
|
|
|
|||
Loading…
Reference in New Issue