填写离岗说明
This commit is contained in:
parent
3d90952cba
commit
1b09d39b8f
|
@ -14,6 +14,10 @@ class EmployeeSerializer(DynamicFieldsSerializerMixin, ModelSerializer):
|
||||||
model = Employee
|
model = Employee
|
||||||
exclude = ['face_data']
|
exclude = ['face_data']
|
||||||
|
|
||||||
|
class EmployeeNotWorkRemarkSerializer(ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = Employee
|
||||||
|
fields = ['not_work_remark']
|
||||||
class FaceLoginSerializer(serializers.Serializer):
|
class FaceLoginSerializer(serializers.Serializer):
|
||||||
base64 = serializers.CharField()
|
base64 = serializers.CharField()
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from functools import update_wrapper
|
from functools import update_wrapper
|
||||||
|
from venv import create
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
@ -8,8 +9,8 @@ from apps.hrm.filters import ClockRecordFilterSet, EmployeeFilterSet
|
||||||
from apps.hrm.services import HRMService
|
from apps.hrm.services import HRMService
|
||||||
from apps.hrm.tasks import update_all_user_facedata_cache
|
from apps.hrm.tasks import update_all_user_facedata_cache
|
||||||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||||
from apps.hrm.models import ClockRecord, Employee
|
from apps.hrm.models import ClockRecord, Employee, NotWorkRemark
|
||||||
from apps.hrm.serializers import ClockRecordListSerializer, EmployeeSerializer, FaceClockCreateSerializer, FaceLoginSerializer
|
from apps.hrm.serializers import ClockRecordListSerializer, EmployeeNotWorkRemarkSerializer, EmployeeSerializer, FaceClockCreateSerializer, FaceLoginSerializer
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -53,6 +54,39 @@ class EmployeeViewSet(CreateUpdateModelAMixin, OptimizationMixin, UpdateModelMix
|
||||||
serializer.save(update_by=request.user)
|
serializer.save(update_by=request.user)
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
|
@action(methods=['post'], detail=True, perms_map={'post': 'employee_notworkremark'}
|
||||||
|
, serializer_class=EmployeeNotWorkRemarkSerializer)
|
||||||
|
def not_work_remark(self, request, pk=None):
|
||||||
|
"""
|
||||||
|
填写离岗说明
|
||||||
|
"""
|
||||||
|
obj = self.get_object()
|
||||||
|
if not obj.is_atwork:
|
||||||
|
remark = request.data.get('not_work_remark', '')
|
||||||
|
obj.not_work_remark = remark
|
||||||
|
obj.save()
|
||||||
|
now_local = timezone.localtime()
|
||||||
|
instance, created = NotWorkRemark.objects.get_or_create(
|
||||||
|
year = now_local.year,
|
||||||
|
month = now_local.month,
|
||||||
|
day = now_local.day,
|
||||||
|
user = obj.user,
|
||||||
|
defaults={
|
||||||
|
"year":now_local.year,
|
||||||
|
"month":now_local.month,
|
||||||
|
"day":now_local.day,
|
||||||
|
"user":obj.user,
|
||||||
|
"remark":remark,
|
||||||
|
"create_by":request.user,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if not created:
|
||||||
|
instance.remark = remark
|
||||||
|
instance.update_by = request.user
|
||||||
|
instance.save()
|
||||||
|
return Response()
|
||||||
|
return Response('无需填写离岗说明', status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
|
||||||
class ClockRecordViewSet(CreateModelMixin, ListModelMixin, GenericViewSet):
|
class ClockRecordViewSet(CreateModelMixin, ListModelMixin, GenericViewSet):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue