refector: 工单 bind_x 优化

This commit is contained in:
caoqianming 2023-03-30 12:22:13 +08:00
parent a415859a26
commit 876c7734f1
3 changed files with 19 additions and 13 deletions

View File

@ -10,6 +10,7 @@ from django_celery_results.models import TaskResult
from threading import Thread
import uuid
from django.core.cache import cache
from rest_framework.exceptions import ParseError
def get_op_charger(state, ticket, new_ticket_data, handler):
@ -54,14 +55,16 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict):
})
ticket.ticket_data = ticket_data
ticket.create_by = opl.create_by
ticket.belong_dept = opl.belong_dept
ticket.save()
opl.ticket = ticket
opl.number = ticket.sn
opl.save()
op = opl.operation
if op.state == Operation.OP_CREATE:
op.state = Operation.OP_AUDIT
op.save()
if opl.ticket is None:
opl.ticket = ticket
opl.number = ticket.sn
opl.save()
op = opl.operation
if op.state == Operation.OP_CREATE:
op.state = Operation.OP_AUDIT
op.save()
def t_submit_close_mtask(ticket: Ticket, transition: Transition, new_ticket_data: dict):

View File

@ -38,12 +38,14 @@ def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
ticket_data = ticket.ticket_data
ticket_data.update({'belong_dept': rpj.belong_dept.id if rpj.belong_dept else '0'})
ticket.ticket_data = ticket_data
rpj.ticket = ticket
rpj.state = Rpj.RPJ_AUDIT
rpj.save()
ticket.belong_dept = rpj.belong_dept
ticket.create_by = rpj.create_by
ticket.save()
if rpj.ticket is None:
rpj.ticket = ticket
rpj.state = Rpj.RPJ_AUDIT
rpj.save()
def rpj_member_leave(i: Rpjmember):
"""人员离开项目

View File

@ -19,9 +19,6 @@ def bind_visit(ticket, transition, new_ticket_data: dict):
visit = Visit.objects.get(id=new_ticket_data['visit'])
if visit.level == 10 and (not Vpeople.objects.filter(visit=visit).exists()):
raise ParseError('请至少选择一位访客')
visit.ticket = ticket
visit.state = Visit.V_AUDIT
visit.save()
ticket_data = ticket.ticket_data
ticket_data.update({
'purpose': visit.purpose,
@ -31,6 +28,10 @@ def bind_visit(ticket, transition, new_ticket_data: dict):
ticket.belong_dept = visit.belong_dept
ticket.create_by = visit.create_by
ticket.save()
if visit.ticket is None:
visit.ticket = ticket
visit.state = Visit.V_AUDIT
visit.save()
def get_receptionist(state, ticket, new_ticket_data, handler):