20 lines
		
	
	
		
			742 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			742 B
		
	
	
	
		
			Python
		
	
	
	
from tabnanny import check
 | 
						|
from apps.em.models import ECheckRecord, Equipment
 | 
						|
from dateutil.relativedelta import relativedelta
 | 
						|
from django.utils import timezone
 | 
						|
class EmService:
 | 
						|
 | 
						|
    @classmethod
 | 
						|
    def update_check_date(cls, equip:Equipment):
 | 
						|
        # 根据校准检定记录变更下次日期
 | 
						|
        check = ECheckRecord.objects.filter(equipment=equip).order_by('id').last()
 | 
						|
        if check:
 | 
						|
            equip.check_date = check.check_date
 | 
						|
            if equip.cycle:
 | 
						|
                equip.next_check_date = equip.check_date + relativedelta(months=equip.cycle)
 | 
						|
            else:
 | 
						|
                equip.next_check_date = None
 | 
						|
        else:
 | 
						|
            equip.check_date = None
 | 
						|
            equip.next_check_date = None
 | 
						|
        equip.save() |