diff --git a/apps/hrm/serializers.py b/apps/hrm/serializers.py index 74796643..3c0f69a1 100755 --- a/apps/hrm/serializers.py +++ b/apps/hrm/serializers.py @@ -78,15 +78,17 @@ class EmployeeCreateUpdateSerializer(CustomModelSerializer): # 同时去除门禁授权 if settings.DAHUA_ENABLED and dhClient: # 如果是正式员工或相关方且有门禁权限: + now = datetime.now() if instance.type in ['employee', 'remployee']: start_time = None end_time = None + if instance.third_info.get('dh_face_card', None) is None and instance.type == 'employee': # 如果是正式员工,给长时间期限 + start_time = now + end_time = now + timedelta(days=7300) if instance.job_state == 20 and old_job_state == 10: # 离职 - now = datetime.now() start_time = now end_time = now + timedelta(minutes=60) elif instance.job_state == 10 and old_job_state == 20 and instance.type == 'employee': # 正式员工重新在职 - now = datetime.now() start_time = now end_time = now + timedelta(days=7300) HrmService.sync_dahua_employee(ep=instance, old_photo=old_photo, diff --git a/apps/hrm/services.py b/apps/hrm/services.py index 3fad11d9..db099536 100755 --- a/apps/hrm/services.py +++ b/apps/hrm/services.py @@ -7,7 +7,7 @@ from apps.third.models import TDevice from apps.third.tapis import dhapis from apps.third.dahua import dhClient from apps.utils.tools import rannum, ranstr -from datetime import datetime +from datetime import datetime, timedelta from django.utils import timezone myLogger = logging.getLogger('log') @@ -133,10 +133,9 @@ class HrmService: cardId = res['id'] cardNumber = str(ep.id)[3:8] + rannum(5) now = datetime.now() - if start_time is None: # 如果未规定时间范围, 默认50年 + if start_time is None: # 如果未规定时间范围, 默认1小时 startDate = now.strftime("%Y-%m-%d %H:%M:%S") - endDate = (datetime(year=now.year+50, - month=now.month, day=1)).strftime("%Y-%m-%d %H:%M:%S") + endDate = (now+timedelta(minutes=60)).strftime("%Y-%m-%d %H:%M:%S") else: startDate = start_time.strftime("%Y-%m-%d %H:%M:%S") endDate = end_time.strftime("%Y-%m-%d %H:%M:%S") diff --git a/apps/rpm/services.py b/apps/rpm/services.py index ea217e63..a3495d9d 100644 --- a/apps/rpm/services.py +++ b/apps/rpm/services.py @@ -29,7 +29,7 @@ def sync_to_rep(ep: Employee): def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict): rpj = Rpj.objects.get(id=new_ticket_data['rpj']) ticket_data = ticket.ticket_data - ticket_data.update({'belong_dept': rpj.belong_dept}) + ticket_data.update({'belong_dept': rpj.belong_dept.id}) ticket.ticket_data = ticket_data rpj.ticket = ticket rpj.state = Rpj.RPJ_AUDIT diff --git a/apps/system/views.py b/apps/system/views.py index b1ead9fe..0cb32ccb 100755 --- a/apps/system/views.py +++ b/apps/system/views.py @@ -424,7 +424,7 @@ class UserViewSet(CustomModelViewSet): search_fields = ['username', 'name', 'phone', 'email'] select_related_fields = ['superior', 'belong_dept', 'post'] prefetch_related_fields = ['posts', 'roles', 'depts'] - ordering = ['type', 'create_time'] + ordering = ['create_time', 'type'] # def filter_queryset(self, queryset): # if not self.detail: