diff --git a/apps/hrm/services.py b/apps/hrm/services.py index 3e551956..53b9d4ee 100755 --- a/apps/hrm/services.py +++ b/apps/hrm/services.py @@ -214,7 +214,7 @@ class HrmService: nodeCode = data['info']['nodeCode'] swip_time = data['info']['extend']['swingTime'] e_type = data['info']['extend']['enterOrExit'] - cls.swipe_next(nodeCode, swip_time, e_type, data['info']['extend']) + cls.swipe_next(nodeCode, id_number, swip_time, e_type, data['info']['extend']) @classmethod def swipe_offline(cls, data:dict): @@ -226,7 +226,7 @@ class HrmService: nodeCode = i['acsChannelCode'] swip_time = i['swingTime'] e_type = i['enterOrExit'] - Thread(target=cls.swipe_next, args=(nodeCode, swip_time, e_type, i), daemon=True).start() + Thread(target=cls.swipe_next, args=(nodeCode, id_number, swip_time, e_type, i), daemon=True).start() @classmethod def swipe_next(cls, nodeCode: str, id_number: str, swip_time: str, e_type:int, detail:dict): @@ -295,7 +295,7 @@ class HrmService: ep.save() # 判断是否有异常 # 找到最近的打卡时间 - cr_e = ClockRecord.objects.filter(create_time__lte=cr_20.create_time, employee=ep).order_by('-create_time').first() + cr_e = ClockRecord.objects.filter(create_time__lt=cr_20.create_time, employee=ep).exclude(id=cr_20.id).order_by('-create_time').first() if cr_e: time_d = cr_20.create_time - cr_e.create_time if cr_e.type == 10: @@ -373,7 +373,7 @@ class HrmService: ep.save() # 判断是否有异常 # 找到最近的打卡时间 - cr_e = ClockRecord.objects.filter(create_time__lte=cr_20.create_time, employee=ep).order_by('-create_time').first() + cr_e = ClockRecord.objects.filter(create_time__lt=cr_20.create_time, employee=ep).exclude(id=cr_20.id).order_by('-create_time').first() if cr_e: time_d = cr_20.create_time - cr_e.create_time if cr_e.type == 10: