query_params._mutable

This commit is contained in:
曹前明 2022-07-11 10:30:52 +08:00
parent c9b71edf3d
commit f58311bbc4
5 changed files with 17 additions and 2 deletions

View File

@ -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)

View File

@ -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

View File

@ -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()
# 发送通知?

View File

@ -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)

View File

@ -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