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.dahua import dhClient
from apps.third.tapis import dhapis from apps.third.tapis import dhapis
from apps.hrm.services import HrmService from apps.hrm.services import HrmService
from django.utils import timezone
from datetime import timedelta
import time 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) Employee.objects.all().update(is_atwork=False, last_check_time=None, not_work_remark=None)
@shared_task @shared_task
def correct_swip_task(start_time, end_time): def correct_swip_task(start_time="", end_time=""):
from apps.monitor.models import DrfRequestLog # from apps.monitor.models import DrfRequestLog
from apps.hrm.services import HrmService # 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) # lgs = DrfRequestLog.objects.filter(path='/api/third/dahua/c_swip/', requested_at__gte=start_time, requested_at__lte=end_time)
for i in lgs: # for i in lgs:
HrmService.swipe(data=eval(i.data)) # 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 @shared_task
def correct_card_time(): 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}", "url": "/evo-apigw/evo-event/1.2.0/alarm-record/detail?alarmCode={alarmCode}&dbType={dbType}&alarmDate={alarmDate}",
"method": "get" "method": "get"
}, },
"swipe_list": {
"url": "/evo-apigw/evo-accesscontrol/1.2.0/card/accessControl/swingCardRecord/bycondition/combined",
"method": "post"
},
"dev_snap": { "dev_snap": {
"url": "/evo-apigw/admin/API/EVO/invoke/DMS", "url": "/evo-apigw/admin/API/EVO/invoke/DMS",
"method": "post" "method": "post"