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