42 lines
1.4 KiB
Python
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()
|
|
# 授予区域或围栏权限
|