fix: 非工单节点下的流转不继续
This commit is contained in:
parent
14dc063f59
commit
2b054107c0
|
@ -309,6 +309,9 @@ class WfService(object):
|
|||
source_state = ticket.state
|
||||
source_ticket_data = ticket.ticket_data
|
||||
|
||||
if transition.source_state != source_state:
|
||||
raise ParseError('非该工单节点状态下的流转')
|
||||
|
||||
# 提交时可能进行的操作
|
||||
if transition.on_submit_func:
|
||||
module, func = transition.on_submit_func.rsplit(".", 1)
|
||||
|
|
|
@ -37,6 +37,8 @@ def send_ticket_notice(ticket_id):
|
|||
@shared_task(base=CustomTask)
|
||||
def run_task(ticket_id: str, retry_num=1):
|
||||
ticket = Ticket.objects.get(id=ticket_id)
|
||||
transition_obj = Transition.objects.filter(
|
||||
source_state=ticket.state, is_deleted=False).first()
|
||||
script_result = True
|
||||
script_result_msg = ''
|
||||
script_str = ticket.participant
|
||||
|
@ -61,15 +63,13 @@ def run_task(ticket_id: str, retry_num=1):
|
|||
ticket.script_run_last_result = False
|
||||
ticket.save()
|
||||
# 记录日志
|
||||
transition_obj = Transition.objects.filter(
|
||||
source_state=ticket.state, is_deleted=False).first()
|
||||
TicketFlow.objects.create(ticket=ticket, state=ticket.state,
|
||||
participant_type=State.PARTICIPANT_TYPE_ROBOT,
|
||||
participant_str='func:{}'.format(script_str),
|
||||
transition=transition_obj,
|
||||
suggestion=script_result_msg)
|
||||
# 自动流转
|
||||
if script_result:
|
||||
if script_result and transition_obj:
|
||||
from apps.wf.services import WfService
|
||||
WfService.handle_ticket(ticket=ticket, transition=transition_obj,
|
||||
new_ticket_data=ticket.ticket_data, by_task=True)
|
||||
|
|
Loading…
Reference in New Issue