diff --git a/apps/hrm/views.py b/apps/hrm/views.py index 2dc8e51d..42a72582 100755 --- a/apps/hrm/views.py +++ b/apps/hrm/views.py @@ -43,6 +43,7 @@ class EmployeeViewSet(CustomModelViewSet): def filter_queryset(self, queryset): if not self.detail: + self.request.query_params._mutable = True self.request.query_params.setdefault('type', 'employee') return super().filter_queryset(queryset) diff --git a/apps/opm/services.py b/apps/opm/services.py index ac9eac8a..5ec2bb2b 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -23,6 +23,11 @@ def get_op_workers(state, ticket, new_ticket_data, handler): return list(OplWorker.objects.filter(opl=opl).values_list('worker__id', flat=True)) +def get_op_monitor(state, ticket, new_ticket_data, handler): + opl = Opl.objects.filter(ticket=ticket).first() + if opl: + return [opl.monitor.id] + def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict): opl = Opl.objects.get(id=new_ticket_data['opl']) ticket_data = ticket.ticket_data diff --git a/apps/rpm/services.py b/apps/rpm/services.py index 361ac907..06ad97b6 100644 --- a/apps/rpm/services.py +++ b/apps/rpm/services.py @@ -1,4 +1,6 @@ +from threading import Thread from apps.hrm.models import Employee +from apps.hrm.services import HrmService from apps.wf.models import Ticket, Transition from apps.rpm.models import Rcertificate, Rpj, Rpjmember @@ -35,7 +37,7 @@ def rpj_audit_end(ticket): rep.save() # 更新入厂项目人员证书库 for i in Rcertificate.objects.filter(rpj=rpj): - + pass # 同步至大华人员库并下发人脸 - Thread(target=HrmService.sync_dahua_employee, args=(ep, '', visit.visit_time, visit.leave_time)).start() + Thread(target=HrmService.sync_dahua_employee, args=(ep, '', rpj.come_time, rpj.leave_time)).start() # 发送通知? diff --git a/apps/system/views.py b/apps/system/views.py index 027be07f..d7ffde5e 100755 --- a/apps/system/views.py +++ b/apps/system/views.py @@ -315,6 +315,7 @@ class DeptViewSet(CustomModelViewSet): def filter_queryset(self, queryset): if not self.detail: + self.request.query_params._mutable = True self.request.query_params.setdefault('type', 'dept') return super().filter_queryset(queryset) @@ -402,6 +403,7 @@ class UserViewSet(CustomModelViewSet): def filter_queryset(self, queryset): if not self.detail: + self.request.query_params._mutable = True self.request.query_params.setdefault('type', 'employee') return super().filter_queryset(queryset) diff --git a/apps/wf/services.py b/apps/wf/services.py index a066dbfb..5baa5770 100755 --- a/apps/wf/services.py +++ b/apps/wf/services.py @@ -365,6 +365,11 @@ class WfService(object): participant_type=0, intervene_type=Transition.TRANSITION_INTERVENE_TYPE_CC, participant=None, participant_cc=destination_state.participant_cc) + if destination_state.type == State.STATE_TYPE_END: + TicketFlow.objects.create(ticket=ticket, state=destination_state, + participant_type=0, intervene_type=0, + participant=None) + cls.task_ticket(ticket=ticket) return ticket