factory/apps/opm/tasks.py

42 lines
1.4 KiB
Python

# Create your tasks here
from __future__ import absolute_import, unicode_literals
from apps.opm.models import Operation, Opl
from apps.utils.tasks import CustomTask
from celery import shared_task
from apps.wf.models import Ticket
@shared_task(base=CustomTask)
def correct_operation_state():
"""
矫正作业状态
"""
for op in Operation.objects.filter(state=Operation.OP_AUDIT):
need_backs = []
for opl in Opl.objects.filter(operation=op):
if (opl.ticket is None) or (opl.ticket and opl.ticket.state.type == 1): # 如果在初始状态
need_backs.append(True)
else:
need_backs.append(False)
if False in need_backs:
pass
else:
Operation.objects.filter(id=op.id).update(state=Operation.OP_CREATE)
# @shared_task(base=CustomTask)
# def opl_audit_start(ticket_id):
# operation = Opl.objects.get(ticket__id=ticket_id).operation
# if operation.state == Operation.OP_CREATE:
# operation.state = Operation.OP_AUDIT
# operation.save()
# @shared_task(base=CustomTask)
# def opl_audit_end(ticket_id):
# opl = Opl.objects.get(ticket__id=ticket_id)
# operation = opl.operation
# if operation.state == Operation.OP_AUDIT:
# operation.state = Operation.OP_WORK
# operation.save()
# 授予区域或围栏权限