wf run_task bug

This commit is contained in:
曹前明 2022-07-15 13:16:32 +08:00
parent 8141e8131f
commit 50f5627a41
3 changed files with 14 additions and 8 deletions

View File

@ -20,8 +20,6 @@ def bind_rpj(ticket: Ticket, transition: Transition, new_ticket_data: dict):
def rpj_audit_end(ticket): def rpj_audit_end(ticket):
rpj = Rpj.objects.get(ticket=ticket) rpj = Rpj.objects.get(ticket=ticket)
rpj.state = Rpj.RPJ_ENTER
rpj.save()
# 更新入厂项目人员库 # 更新入厂项目人员库
for i in Rpjmember.objects.filter(rpj=rpj): for i in Rpjmember.objects.filter(rpj=rpj):
rep = i.remployee rep = i.remployee
@ -69,4 +67,6 @@ def rpj_audit_end(ticket):
rf.file_cate = i.file_cate rf.file_cate = i.file_cate
for m in i.files.all(): for m in i.files.all():
rf.files.add(m) rf.files.add(m)
rpj.state = Rpj.RPJ_ENTER
rpj.save()
# 发送通知? # 发送通知?

View File

@ -22,8 +22,6 @@ def get_receptionist(state, ticket, new_ticket_data, handler):
def visit_audit_end(ticket): def visit_audit_end(ticket):
visit = Visit.objects.get(ticket=ticket) visit = Visit.objects.get(ticket=ticket)
visit.state = Visit.V_ENTER
visit.save()
# 更新企业访客人员库 # 更新企业访客人员库
for i in Vpeople.objects.filter(visit=visit): for i in Vpeople.objects.filter(visit=visit):
visitor = i.visitor visitor = i.visitor
@ -47,4 +45,6 @@ def visit_audit_end(ticket):
visitor.save() visitor.save()
# 同步至大华人员库并下发人脸 # 同步至大华人员库并下发人脸
HrmService.sync_dahua_employee(ep, '', visit.visit_time, visit.leave_time) HrmService.sync_dahua_employee(ep, '', visit.visit_time, visit.leave_time)
visit.state = Visit.V_ENTER
visit.save()
# 发送通知? # 发送通知?

View File

@ -1,10 +1,13 @@
# Create your tasks here # Create your tasks here
from __future__ import absolute_import, unicode_literals from __future__ import absolute_import, unicode_literals
import importlib import importlib
import logging
import traceback
from apps.utils.task import CustomTask from apps.utils.task import CustomTask
from celery import shared_task from celery import shared_task
from apps.wf.models import State, Ticket, TicketFlow, Transition from apps.wf.models import State, Ticket, TicketFlow, Transition
myLogger = logging.getLogger('log')
@shared_task(base=CustomTask) @shared_task(base=CustomTask)
def send_ticket_notice(ticket_id): def send_ticket_notice(ticket_id):
@ -26,8 +29,10 @@ def run_task(ticket_id: str):
f = getattr(m, func) f = getattr(m, func)
f(ticket) f(ticket)
except Exception as e: except Exception as e:
err_detail = traceback.format_exc()
myLogger.error(err_detail)
script_result = False script_result = False
script_result_msg = e.__str__() script_result_msg = err_detail
ticket = Ticket.objects.filter(id=ticket_id).first() ticket = Ticket.objects.filter(id=ticket_id).first()
if not script_result: if not script_result:
ticket.script_run_last_result = False ticket.script_run_last_result = False
@ -40,6 +45,7 @@ def run_task(ticket_id: str):
transition=transition_obj, transition=transition_obj,
suggestion=script_result_msg) suggestion=script_result_msg)
# 自动流转 # 自动流转
from apps.wf.services import WfService if script_result:
WfService.handle_ticket(ticket=ticket, transition=transition_obj, from apps.wf.services import WfService
new_ticket_data=ticket.ticket_data, by_task=True) WfService.handle_ticket(ticket=ticket, transition=transition_obj,
new_ticket_data=ticket.ticket_data, by_task=True)