From 5f1ac8ce40062cc4a5a7901197ad3417bccd6579 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Sun, 12 Mar 2023 21:08:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=B7=E5=8D=A1=E8=80=83=E5=8B=A4=E6=8E=A8?= =?UTF-8?q?=E6=B5=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/hrm/services.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/apps/hrm/services.py b/apps/hrm/services.py index 2f6a7455..e8d35b5d 100755 --- a/apps/hrm/services.py +++ b/apps/hrm/services.py @@ -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(