相关方访客入厂关闭时同时关闭工单
This commit is contained in:
parent
d0b6e46613
commit
d91c0b2bfe
|
@ -21,3 +21,8 @@ def close_rpj_by_leave_time():
|
|||
else:
|
||||
i.state = Rpj.RPJ_CLOSE
|
||||
i.save()
|
||||
# 工单审批如果还未结束,直接关闭
|
||||
from apps.wf.models import Ticket
|
||||
from apps.wf.services import WfService
|
||||
if i.ticket and i.ticket.state != Ticket.TICKET_ACT_STATE_FINISH:
|
||||
WfService.close_by_task(i.ticket, '相关方入厂时间到期')
|
||||
|
|
|
@ -21,3 +21,8 @@ def close_visit_by_leave_time():
|
|||
else:
|
||||
i.state = Visit.V_CLOSE
|
||||
i.save()
|
||||
# 工单审批如果还未结束,直接关闭
|
||||
from apps.wf.models import Ticket
|
||||
from apps.wf.services import WfService
|
||||
if i.ticket and i.ticket.state != Ticket.TICKET_ACT_STATE_FINISH:
|
||||
WfService.close_by_task(i.ticket, '访客入厂时间到期')
|
||||
|
|
|
@ -435,6 +435,20 @@ class WfService(object):
|
|||
if state.participant_type == State.PARTICIPANT_TYPE_ROBOT:
|
||||
run_task.delay(ticket_id=ticket.id)
|
||||
|
||||
@classmethod
|
||||
def close_by_task(cls, ticket: Ticket, suggestion: str):
|
||||
# 定时任务触发的工单关闭
|
||||
end_state = WfService.get_workflow_end_state(ticket.workflow)
|
||||
ticket.state = end_state
|
||||
ticket.participant_type = 0
|
||||
ticket.participant = 0
|
||||
ticket.act_state = Ticket.TICKET_ACT_STATE_CLOSED
|
||||
ticket.save()
|
||||
# 更新流转记录
|
||||
TicketFlow.objects.create(ticket=ticket, state=ticket.state,
|
||||
ticket_data=WfService.get_ticket_all_field_value(ticket),
|
||||
suggestion=suggestion, participant_type=State.PARTICIPANT_TYPE_ROBOT,
|
||||
intervene_type=Transition.TRANSITION_INTERVENE_TYPE_CLOSE, transition=None)
|
||||
|
||||
def send_ticket_notice_t(ticket: Ticket):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue