门禁重新授权
This commit is contained in:
parent
fcffe29f05
commit
b90fe9078f
|
|
@ -98,8 +98,9 @@ class EmployeeImproveSerializer(CustomModelSerializer):
|
||||||
|
|
||||||
|
|
||||||
class ChannelAuthoritySerializer(serializers.Serializer):
|
class ChannelAuthoritySerializer(serializers.Serializer):
|
||||||
pks = serializers.ListField(child=serializers.CharField(max_length=20), label="员工ID列表")
|
# pks = serializers.ListField(child=serializers.CharField(max_length=20), label="员工ID列表")
|
||||||
channels = serializers.ListField(child=serializers.CharField(max_length=20), label="门通道ID列表")
|
start_time = serializers.DateTimeField(label="开始时间")
|
||||||
|
end_time = serializers.DateTimeField(label="结束时间")
|
||||||
|
|
||||||
|
|
||||||
class EmployeeSerializer(CustomModelSerializer):
|
class EmployeeSerializer(CustomModelSerializer):
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@ from apps.hrm.serializers import (CertificateCreateUpdateSerializer, Certificate
|
||||||
EmployeeNotWorkRemarkSerializer,
|
EmployeeNotWorkRemarkSerializer,
|
||||||
EmployeeSerializer,
|
EmployeeSerializer,
|
||||||
NotWorkRemarkListSerializer)
|
NotWorkRemarkListSerializer)
|
||||||
|
from apps.hrm.services import HrmService
|
||||||
|
|
||||||
from apps.third.clients import dhClient
|
from apps.third.clients import dhClient
|
||||||
from apps.third.tapis import dhapis
|
from apps.third.tapis import dhapis
|
||||||
|
|
@ -122,38 +123,40 @@ class EmployeeViewSet(CustomModelViewSet):
|
||||||
raise ParseError(**NO_NEED_LEVEL_REMARK)
|
raise ParseError(**NO_NEED_LEVEL_REMARK)
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
@action(methods=['post'], detail=False, perms_map={'post': 'employee.channel_authority'},
|
@action(methods=['post'], detail=True, perms_map={'post': 'employee.channel_authority'},
|
||||||
serializer_class=ChannelAuthoritySerializer)
|
serializer_class=serializers.Serializer)
|
||||||
def channel_authority(self, request, pk=None):
|
def channel_authority(self, request, pk=None):
|
||||||
"""门通道授权
|
"""重新门禁授权
|
||||||
|
|
||||||
门通道授权
|
重新门禁授权
|
||||||
"""
|
"""
|
||||||
serializer = self.get_serializer(data=request.data)
|
obj = self.get_object()
|
||||||
serializer.is_valid(raise_exception=True)
|
if obj.third_info.get('dh_face_card', None):
|
||||||
vdata = serializer.validated_data
|
HrmService.door_auth()
|
||||||
objs = Employee.objects.filter(pk__in=vdata['pks'], third_info__dh_face_card__isnull=False)
|
else:
|
||||||
infos = objs.values('third_info')
|
raise ParseError('该员工缺少主卡')
|
||||||
cards = []
|
# objs = Employee.objects.filter(pk__in=vdata['pks'], third_info__dh_face_card__isnull=False)
|
||||||
for i in infos:
|
# infos = objs.values('third_info')
|
||||||
if isinstance(i['third_info'], dict) and 'dh_face_card' in i['third_info']:
|
# cards = []
|
||||||
cards.append(i['third_info']['dh_face_card'])
|
# for i in infos:
|
||||||
details = []
|
# if isinstance(i['third_info'], dict) and 'dh_face_card' in i['third_info']:
|
||||||
for i in vdata['channels']:
|
# cards.append(i['third_info']['dh_face_card'])
|
||||||
details.append({
|
# details = []
|
||||||
"privilegeType": 1,
|
# for i in vdata['channels']:
|
||||||
"resouceCode": i
|
# details.append({
|
||||||
})
|
# "privilegeType": 1,
|
||||||
if cards and details:
|
# "resouceCode": i
|
||||||
json_data = {
|
# })
|
||||||
"cardNumbers": cards,
|
# if cards and details:
|
||||||
"timeQuantumId": 1,
|
# json_data = {
|
||||||
"cardPrivilegeDetails": details
|
# "cardNumbers": cards,
|
||||||
}
|
# "timeQuantumId": 1,
|
||||||
dhClient.request(**dhapis['card_door_authority'], json=json_data)
|
# "cardPrivilegeDetails": details
|
||||||
for i in objs:
|
# }
|
||||||
i.third_info['dh_channels'] = vdata['channels']
|
# dhClient.request(**dhapis['card_door_authority'], json=json_data)
|
||||||
Employee.objects.bulk_update(objs, fields=['third_info'])
|
# for i in objs:
|
||||||
|
# i.third_info['dh_channels'] = vdata['channels']
|
||||||
|
# Employee.objects.bulk_update(objs, fields=['third_info'])
|
||||||
return Response()
|
return Response()
|
||||||
|
|
||||||
@transaction.atomic
|
@transaction.atomic
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue