重跑一段时间的打卡记录

This commit is contained in:
caoqianming 2022-11-03 12:42:34 +08:00
parent 8d5a2a0983
commit 9f6f3ddb62
3 changed files with 28 additions and 1 deletions

View File

@ -204,3 +204,8 @@ class CertificateSerializer(CustomModelSerializer):
class Meta: class Meta:
model = Certificate model = Certificate
fields = '__all__' fields = '__all__'
class CorrectSerializer(serializers.Serializer):
start_time = serializers.DateTimeField()
end_time = serializers.DateTimeField()

View File

@ -10,3 +10,11 @@ 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
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))

View File

@ -18,7 +18,7 @@ from apps.hrm.serializers import (CertificateCreateUpdateSerializer, Certificate
EmployeeCreateUpdateSerializer, EmployeeDetailSerializer, EmployeeImproveSerializer, EmployeeCreateUpdateSerializer, EmployeeDetailSerializer, EmployeeImproveSerializer,
EmployeeNotWorkRemarkSerializer, EmployeeNotWorkRemarkSerializer,
EmployeeSerializer, EmployeeSerializer,
NotWorkRemarkListSerializer) NotWorkRemarkListSerializer, CorrectSerializer)
from apps.hrm.services import HrmService from apps.hrm.services import HrmService
from apps.third.dahua import dhClient from apps.third.dahua import dhClient
@ -254,6 +254,20 @@ class ClockRecordViewSet(ListModelMixin, CustomGenericViewSet):
) )
return Response({'path': export_excel(field_data, data, '打卡记录')}) return Response({'path': export_excel(field_data, data, '打卡记录')})
@action(methods=['post'], detail=False, perms_map={'post': '*'},
serializer_class=CorrectSerializer)
def correct_swip(self, request, pk=None):
"""
重跑一段时间的打卡记录
重跑一段时间的打卡记录
"""
sr = CorrectSerializer(data=request.data)
sr.is_valid(raise_exception=True)
vdata = sr.validated_data
from apps.hrm.tasks import correct_swip_task
correct_swip_task.delay(vdata['start_time'], vdata['start_time'])
return Response()
class NotWorkRemarkViewSet(ListModelMixin, CustomGenericViewSet): class NotWorkRemarkViewSet(ListModelMixin, CustomGenericViewSet):
""" """