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):
rpj = Rpj.objects.get(ticket=ticket)
rpj.state = Rpj.RPJ_ENTER
rpj.save()
# 更新入厂项目人员库
for i in Rpjmember.objects.filter(rpj=rpj):
rep = i.remployee
@ -69,4 +67,6 @@ def rpj_audit_end(ticket):
rf.file_cate = i.file_cate
for m in i.files.all():
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):
visit = Visit.objects.get(ticket=ticket)
visit.state = Visit.V_ENTER
visit.save()
# 更新企业访客人员库
for i in Vpeople.objects.filter(visit=visit):
visitor = i.visitor
@ -47,4 +45,6 @@ def visit_audit_end(ticket):
visitor.save()
# 同步至大华人员库并下发人脸
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
from __future__ import absolute_import, unicode_literals
import importlib
import logging
import traceback
from apps.utils.task import CustomTask
from celery import shared_task
from apps.wf.models import State, Ticket, TicketFlow, Transition
myLogger = logging.getLogger('log')
@shared_task(base=CustomTask)
def send_ticket_notice(ticket_id):
@ -26,8 +29,10 @@ def run_task(ticket_id: str):
f = getattr(m, func)
f(ticket)
except Exception as e:
err_detail = traceback.format_exc()
myLogger.error(err_detail)
script_result = False
script_result_msg = e.__str__()
script_result_msg = err_detail
ticket = Ticket.objects.filter(id=ticket_id).first()
if not script_result:
ticket.script_run_last_result = False
@ -40,6 +45,7 @@ def run_task(ticket_id: str):
transition=transition_obj,
suggestion=script_result_msg)
# 自动流转
if script_result:
from apps.wf.services import WfService
WfService.handle_ticket(ticket=ticket, transition=transition_obj,
new_ticket_data=ticket.ticket_data, by_task=True)