根据校准记录变更下次校准日期
This commit is contained in:
parent
e4c7f4856c
commit
accfedb1d7
|
@ -27,7 +27,7 @@ class EquipmentListSerializer(ModelSerializer):
|
|||
class EquipmentCreateUpdateSerializer(ModelSerializer):
|
||||
class Meta:
|
||||
model = Equipment
|
||||
exclude = ['create_by', 'update_by', 'create_time', 'update_time']
|
||||
exclude = ['create_by', 'update_by', 'create_time', 'update_time', 'check_date', 'next_check_date']
|
||||
|
||||
def validate(self, attrs):
|
||||
if attrs['type'] == Equipment.EQUIP_TYPE_TEST:
|
||||
|
|
|
@ -1,7 +1,18 @@
|
|||
from apps.em.models import Equipment
|
||||
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):
|
||||
# 根据校准检定记录变更下次日期
|
||||
pass
|
||||
check = ECheckRecord.objects.filter(equipment=equip).order_by('id').last()
|
||||
if check:
|
||||
if equip.cycle:
|
||||
equip.check_date = check.check_date
|
||||
if equip.next_check_date:
|
||||
equip.next_check_date = equip.next_check_date + relativedelta(months=equip.cycle)
|
||||
else:
|
||||
equip.next_check_date = timezone.now() + relativedelta(months=equip.cycle)
|
||||
equip.save()
|
|
@ -12,7 +12,7 @@ from apps.em.serializers import DaqCreateSerializer, EChcekRecordCreateSerialize
|
|||
EquipmentCreateUpdateSerializer, EquipmentListSerializer
|
||||
from apps.em.services import EmService
|
||||
from apps.system.mixins import CreateUpdateModelAMixin, OptimizationMixin
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from django.utils import timezone
|
||||
from django.db import transaction
|
||||
|
||||
|
@ -57,14 +57,15 @@ class EChcekRecordViewSet(CreateUpdateModelAMixin, OptimizationMixin,
|
|||
serializer = self.get_serializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
instance = serializer.save(create_by=request.user)
|
||||
EmService.update_check_date(equip=instance)
|
||||
EmService.update_check_date(equip=instance.equipment)
|
||||
return Response()
|
||||
|
||||
@transaction.atomic
|
||||
def destroy(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
EmService.update_check_date(equip=instance)
|
||||
instance.delete()
|
||||
return super().destroy(request, *args, **kwargs)
|
||||
EmService.update_check_date(equip=instance.equipment)
|
||||
return Response()
|
||||
|
||||
import uuid
|
||||
import os
|
||||
|
|
Loading…
Reference in New Issue