刷卡考勤推测优化

This commit is contained in:
caoqianming 2023-03-12 21:08:24 +08:00
parent 5f614bf164
commit 5f1ac8ce40
1 changed files with 10 additions and 8 deletions

View File

@ -333,14 +333,16 @@ class HrmService:
ep.last_check_time = s_time_f
ep.save()
# 判断是否有异常
cr_e = ClockRecord.objects.filter(create_time__lte=cr_20.create_time).exclude(id=cr_20.id).order_by('-create_time').first()
time_d = cr_20.create_time - cr_e.create_time
if time_d < timedelta(hours=7):
cr_20.exception_type = ClockRecord.E_TYPE_LESS
cr_20.save()
elif time_d > timedelta(hours=14):
cr_20.exception_type = ClockRecord.E_TYPE_MORE
cr_20.save()
# 找到最近的上班时间
cr_e = ClockRecord.objects.filter(create_time__lte=cr_20.create_time, type=10).order_by('-create_time').first()
if cr_e:
time_d = cr_20.create_time - cr_e.create_time
if time_d < timedelta(hours=7):
cr_20.exception_type = ClockRecord.E_TYPE_LESS
cr_20.save()
elif time_d > timedelta(hours=14):
cr_20.exception_type = ClockRecord.E_TYPE_MORE
cr_20.save()
# 进行相关方/访客项目更新
Visit.objects.filter(state=Visit.V_ENTER, visitors__employee__id_number=id_number).update(