refector: swipe_next 优化

This commit is contained in:
caoqianming 2023-04-12 17:06:38 +08:00
parent 1b55669a82
commit f4aacc2129
1 changed files with 16 additions and 20 deletions

View File

@ -277,7 +277,7 @@ class HrmService:
# 先直接创建记录 # 先直接创建记录
cr = ClockRecord.objects.filter(employee=ep, create_time=s_time_f).first() cr = ClockRecord.objects.filter(employee=ep, create_time=s_time_f).first()
if cr: if cr:
pass ClockRecord.objects.filter(id=cr.id).update(exception_type=None, detail=detail)
else: else:
cr = ClockRecord() cr = ClockRecord()
cr.type = card_type cr.type = card_type
@ -307,27 +307,23 @@ class HrmService:
time_d = last_obj.create_time - cr_e.create_time time_d = last_obj.create_time - cr_e.create_time
if cr_e.type == 10: if cr_e.type == 10:
if time_d < timedelta(hours=7): if time_d < timedelta(hours=7):
last_obj.exception_type = ClockRecord.E_TYPE_LESS ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_LESS)
last_obj.save()
elif time_d > timedelta(hours=14): elif time_d > timedelta(hours=14):
last_obj.exception_type = ClockRecord.E_TYPE_MORE ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_MORE)
last_obj.save()
elif time_d > timedelta(hours=10): elif time_d > timedelta(hours=10):
last_obj.exception_type = ClockRecord.E_TYPE_ADD ClockRecord.objects.filter(id=last_obj.id).update(type=ClockRecord.E_TYPE_ADD)
last_obj.save()
elif cr_e.type == 20: elif cr_e.type == 20:
last_obj.exception_type = ClockRecord.E_TYPE_MISS ClockRecord.objects.filter(id=last_obj.id).update(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() last_obj_t = ClockRecord.objects.filter(employee=ep, type__in=[10,20]).order_by('-create_time').first()
if last_obj_t: if last_obj_t:
ep.last_check_time = last_obj_t.create_time update_fields = {'last_check_time': last_obj_t.create_time}
if last_obj_t.type == 10: if last_obj_t.type == 10:
ep.is_atwork = True update_fields['is_at_work'] = True
else: else:
ep.is_atwork = False update_fields['is_at_work'] = False
ep.save() Employee.objects.filter(id=ep.id).update(**update_fields)