fix: swipe_next还是通过save,这样可见update_time 变动

This commit is contained in:
caoqianming 2023-04-19 17:36:10 +08:00
parent aa84d50957
commit 6a0929dc10
1 changed files with 15 additions and 11 deletions

View File

@ -278,15 +278,15 @@ class HrmService:
# 先直接创建记录
cr = ClockRecord.objects.filter(employee=ep, create_time=s_time_f).first()
if cr:
ClockRecord.objects.filter(id=cr.id).update(exception_type=None, detail=detail, type=card_type, trigger=trigger)
pass
else:
cr = ClockRecord()
cr.employee = ep
cr.create_time = s_time_f
cr.type = card_type
cr.exception_type = None
cr.employee = ep
cr.trigger = trigger
cr.detail = detail
cr.create_time = s_time_f
cr.save()
if card_type == 10:
@ -304,17 +304,21 @@ class HrmService:
# 判断是否有异常
# 找到最近的上下打卡时间不一定是当天的
cr_e = ClockRecord.objects.filter(create_time__lt=last_obj.create_time, employee=ep, type__in=[10, 20]).order_by('-create_time').first()
if cr_e:
if cr_e and last_obj:
time_d = last_obj.create_time - cr_e.create_time
if cr_e.type == 10:
if time_d < timedelta(hours=7):
ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_LESS)
last_obj.type = ClockRecord.E_TYPE_LESS
last_obj.save()
elif time_d > timedelta(hours=14):
ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_MORE)
last_obj.type = ClockRecord.E_TYPE_MORE
last_obj.save()
elif time_d > timedelta(hours=10):
ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_ADD)
last_obj.type = ClockRecord.E_TYPE_ADD
last_obj.save()
elif cr_e.type == 20:
ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_MISS)
last_obj.type = ClockRecord.E_TYPE_MISS
last_obj.save()
# 记录在岗情况
last_obj_t = ClockRecord.objects.filter(employee=ep, type__in=[10,20]).order_by('-create_time').first()