fix: 打卡记录推测bug

This commit is contained in:
caoqianming 2023-03-14 23:17:56 +08:00
parent 717c43ca50
commit f0b4544813
1 changed files with 4 additions and 4 deletions

View File

@ -214,7 +214,7 @@ class HrmService:
nodeCode = data['info']['nodeCode'] nodeCode = data['info']['nodeCode']
swip_time = data['info']['extend']['swingTime'] swip_time = data['info']['extend']['swingTime']
e_type = data['info']['extend']['enterOrExit'] 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 @classmethod
def swipe_offline(cls, data:dict): def swipe_offline(cls, data:dict):
@ -226,7 +226,7 @@ class HrmService:
nodeCode = i['acsChannelCode'] nodeCode = i['acsChannelCode']
swip_time = i['swingTime'] swip_time = i['swingTime']
e_type = i['enterOrExit'] 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 @classmethod
def swipe_next(cls, nodeCode: str, id_number: str, swip_time: str, e_type:int, detail:dict): 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() 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: if cr_e:
time_d = cr_20.create_time - cr_e.create_time time_d = cr_20.create_time - cr_e.create_time
if cr_e.type == 10: if cr_e.type == 10:
@ -373,7 +373,7 @@ class HrmService:
ep.save() 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: if cr_e:
time_d = cr_20.create_time - cr_e.create_time time_d = cr_20.create_time - cr_e.create_time
if cr_e.type == 10: if cr_e.type == 10: