重跑一段时间的打卡记录

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:
model = Certificate
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)
@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,
EmployeeNotWorkRemarkSerializer,
EmployeeSerializer,
NotWorkRemarkListSerializer)
NotWorkRemarkListSerializer, CorrectSerializer)
from apps.hrm.services import HrmService
from apps.third.dahua import dhClient
@ -254,6 +254,20 @@ class ClockRecordViewSet(ListModelMixin, CustomGenericViewSet):
)
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):
"""