refector: correct_swip_task 从大华打卡记录里校正打卡记录

This commit is contained in:
caoqianming 2023-03-15 00:29:01 +08:00
parent f0b4544813
commit 7cec134265
2 changed files with 28 additions and 6 deletions

View File

@ -7,6 +7,8 @@ from datetime import datetime, timedelta
from apps.third.dahua import dhClient
from apps.third.tapis import dhapis
from apps.hrm.services import HrmService
from django.utils import timezone
from datetime import timedelta
import time
@ -18,12 +20,28 @@ def update_all_employee_not_atwork():
Employee.objects.all().update(is_atwork=False, last_check_time=None, not_work_remark=None)
@shared_task
def correct_swip_task(start_time, end_time):
from apps.monitor.models import DrfRequestLog
from apps.hrm.services import HrmService
lgs = DrfRequestLog.objects.filter(path='/api/third/dahua/c_swip/', requested_at__gte=start_time, requested_at__lte=end_time)
for i in lgs:
HrmService.swipe(data=eval(i.data))
def correct_swip_task(start_time="", end_time=""):
# from apps.monitor.models import DrfRequestLog
# from apps.hrm.services import HrmService
# lgs = DrfRequestLog.objects.filter(path='/api/third/dahua/c_swip/', requested_at__gte=start_time, requested_at__lte=end_time)
# for i in lgs:
# HrmService.swipe(data=eval(i.data))
# 从大华历史记录校正打卡记录
now = timezone.now()
if start_time == "":
start_time = (now - timedelta(days=1)).strftime("%Y-%m-%d %H:%M:%S")
elif end_time == "":
end_time = now.strftime("%Y-%m-%d %H:%M:%S")
data = {
"pageNum":1,
"pageSize":"400",
"startSwingTime":start_time,
"endSwingTime":end_time,
"openType":"61"
}
_, res = dhClient.request(**dhapis['swipe_list'], json=data)
for i in res['pageData']:
HrmService.swipe_next(i['channelCode'], i['paperNumber'], i['swingTime'], i['enterOrExit'], i)
@shared_task
def correct_card_time():

View File

@ -108,6 +108,10 @@ dhapis = {
"url": "/evo-apigw/evo-event/1.2.0/alarm-record/detail?alarmCode={alarmCode}&dbType={dbType}&alarmDate={alarmDate}",
"method": "get"
},
"swipe_list": {
"url": "/evo-apigw/evo-accesscontrol/1.2.0/card/accessControl/swingCardRecord/bycondition/combined",
"method": "post"
},
"dev_snap": {
"url": "/evo-apigw/admin/API/EVO/invoke/DMS",
"method": "post"