From 455a6807198c5a2fad7c446bed769ea4730901b8 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期三, 28 一月 2026 09:33:00 +0800
Subject: [PATCH] 修改为下单类型

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java |   22 ++++++++++++++++++++++
 1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
index 64cef04..ba10b24 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.tms.service.impl;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.time.ZoneId;
 import java.util.*;
@@ -156,6 +157,20 @@
         if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
             throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
         }
+
+        TmsTrip tmsTrip1 = tmsTripMapper.selectOne(new LambdaQueryWrapper<TmsTrip>()
+                .eq(TmsTrip::getDispatchOrderId, dispatchOrderId)
+                .orderByDesc(TmsTrip::getId)
+                .last("limit 1")
+        );
+        if (tmsTrip1 != null){
+            BigDecimal currentOdometer = tmsTrip.getOdometer();
+            BigDecimal lastOdometer = tmsTrip1.getOdometer();
+            if (currentOdometer!=null && lastOdometer != null && currentOdometer.compareTo(lastOdometer) < 0) {
+                throw new IllegalArgumentException("杞﹁締閲岀▼鏁板紓甯革紝褰撳墠閲岀▼蹇呴』澶т簬涓婁竴琛岀▼");
+            }
+        }
+
         TmsDriver tmsDriver = tmsDriverMapper.selectTmsDriverById(tmsDispatchOrder.getMainDriverId());
         if (tmsDriver == null){
             throw new RuntimeException("鏈壘鍒板徃鏈烘暟鎹�");
@@ -171,6 +186,13 @@
                 tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
             }
         }
+        if (tmsTrip.getTripType() == 5){
+            tmsDispatchOrder.setIscc(tmsTrip.getIscc());
+        }
+        if (tmsTrip.getTripType() == 100){
+            tmsDispatchOrder.setIsfk(0);
+        }
+
         tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
         tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
         tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());

--
Gitblit v1.8.0