diff --git a/apps/opm/services.py b/apps/opm/services.py index 0459ddeb..2b43ee4c 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -59,6 +59,13 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict): op.save() +def t_submit_close_mtask(ticket: Ticket, transition: Transition, new_ticket_data: dict): + # 提交作业关闭时关闭作业监控 + opl = Opl.objects.filter(ticket=ticket).first() + if opl and opl.mtask: + close_mtask(opl.mtask.task_id) + + def opl_audit_end(ticket: Ticket): # 任务执行1 opl = Opl.objects.get(ticket=ticket) @@ -99,11 +106,13 @@ def start_mtask(opl: Opl): # 找到作业点的摄像头, 如果指定摄像头就用指定的摄像头 if op.vchannels: vc_codes = list(op.vchannels.all().values_list('code', flat=True)) - opl_id = opl.id - task = opl_task.delay(vc_codes, opl_id) - time.sleep(3) - opl.mtask = TaskResult.objects.get(task_id=task.task_id) - opl.save() + opl_id = opl.id + task = opl_task.delay(vc_codes, opl_id) + time.sleep(3) + opl.mtask = TaskResult.objects.get(task_id=task.task_id) + opl.save() + return dict(vc_codes=vc_codes) + return dict(vc_codes=[]) def close_mtask(task_id: str): diff --git a/apps/opm/views.py b/apps/opm/views.py index fab8842b..4de61d35 100644 --- a/apps/opm/views.py +++ b/apps/opm/views.py @@ -86,8 +86,8 @@ class OplViewSet(CustomModelViewSet): if obj.mtask: # 先关闭 close_mtask(obj.mtask.task_id) - start_mtask(obj) - return Response() + res = start_mtask(obj) + return Response(res) @action(methods=['post'], detail=True, perms_map={'post': '*'}, serializer_class=Serializer, logging_methods=[])