diff --git a/apps/ofm/models.py b/apps/ofm/models.py index 806ebb4d..9455783b 100644 --- a/apps/ofm/models.py +++ b/apps/ofm/models.py @@ -3,6 +3,7 @@ from apps.utils.models import CommonADModel, BaseModel, CommonBDModel from apps.system.models import User from django.core.validators import RegexValidator from datetime import datetime +from rest_framework.exceptions import ParseError # Create your models here. @@ -84,7 +85,10 @@ class Vehicle(CommonBDModel): on_delete=models.SET_NULL, related_name='vehicle_ticket', null=True, blank=True, db_constraint=False) def save(self, *args, **kwargs): if self.end_km: - self.actual_km = self.end_km - self.start_km + if self.start_km <= self.end_km: + self.actual_km = self.end_km - self.start_km + else: + raise ParseError('归还公里数不能小于出发公里数') else: self.actual_km = 0 return super().save(*args, **kwargs) diff --git a/apps/ofm/services.py b/apps/ofm/services.py index b9093569..0cfad707 100644 --- a/apps/ofm/services.py +++ b/apps/ofm/services.py @@ -58,6 +58,11 @@ def bind_vehicle(ticket: Ticket, transition, new_ticket_data: dict): ins.save() +# def update_vehicle_endkm(ticket: Ticket, transition, new_ticket_data: dict): +# ins = Vehicle.objects.get(id=new_ticket_data['t_id']) +# ins.end_km = new_ticket_data['end_km'] +# ins.save() + def bind_file(ticket: Ticket, transition, new_ticket_data: dict): ins = BorrowRecord.objects.get(id=new_ticket_data['t_id']) ticket_data = ticket.ticket_data