diff --git a/apps/rpm/services.py b/apps/rpm/services.py index d1efebfe..005066b8 100644 --- a/apps/rpm/services.py +++ b/apps/rpm/services.py @@ -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() # 发送通知? diff --git a/apps/vm/services.py b/apps/vm/services.py index f1fd85f5..506a12db 100644 --- a/apps/vm/services.py +++ b/apps/vm/services.py @@ -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() # 发送通知? diff --git a/apps/wf/tasks.py b/apps/wf/tasks.py index 2ce66d32..a4fac145 100644 --- a/apps/wf/tasks.py +++ b/apps/wf/tasks.py @@ -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) # 自动流转 - from apps.wf.services import WfService - WfService.handle_ticket(ticket=ticket, transition=transition_obj, - new_ticket_data=ticket.ticket_data, by_task=True) + 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)