From 34669fa71bd2cc4a4ff57d7d2440a95da998b6b5 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期一, 30 三月 2026 15:47:55 +0800
Subject: [PATCH] 修改异步
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java | 63 ++++++++++++++++++++++++++++++-
1 files changed, 61 insertions(+), 2 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 aaef49c..ee880c2 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,12 +1,14 @@
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.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.*;
@@ -121,6 +123,34 @@
);
}
+ @Override
+ public Map<String, Object> tmsTripListPage(Integer dispatchId, Integer pageNum, Integer pageSize) {
+ Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+ if (deviceId == null) {
+ Map<String, Object> empty = new HashMap<>();
+ empty.put("rows", Collections.emptyList());
+ empty.put("total", 0);
+ return empty;
+ }
+
+ LambdaQueryWrapper<TmsTrip> wrapper = new LambdaQueryWrapper<TmsTrip>()
+ .eq(TmsTrip::getDriverId, deviceId);
+ // dispatchId 鍙�夛紝涓嶄紶鏃舵煡璇ュ徃鏈哄叏閮ㄨ绋�
+ if (dispatchId != null) {
+ wrapper.eq(TmsTrip::getDispatchOrderId, dispatchId);
+ }
+ // 鎸夎绋嬫椂闂村�掑簭
+ wrapper.orderByDesc(TmsTrip::getTripTime);
+
+ Page<TmsTrip> page = new Page<>(pageNum, pageSize);
+ Page<TmsTrip> result = tmsTripMapper.selectPage(page, wrapper);
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("rows", result.getRecords());
+ map.put("total", result.getTotal());
+ return map;
+ }
+
/**
* 鏌ヨ琛岀▼鍒楄〃 寮傛 瀵煎嚭
*
@@ -156,13 +186,42 @@
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("鏈壘鍒板徃鏈烘暟鎹�");
}
+ Integer status = tmsDispatchOrder.getStatus();
+ if (status == 1){
+ tmsDispatchOrder.setStatus(2);
+ }
+ if (tmsTrip.getTripType() == 8 || tmsTrip.getTripType() == 100){
+ if (status == 2){
+ tmsDispatchOrder.setStatus(3);
+ tmsDispatchOrder.setOkTime(DateUtils.getNowDate());
+ tmsDispatchOrder.setUpdateBy(SecurityUtils.getUsername());
+ }
+ }
+ if (tmsTrip.getTripType() == 5){
+ tmsDispatchOrder.setIscc(tmsTrip.getIscc());
+ }
+ if (tmsTrip.getTripType() == 100){
+ tmsDispatchOrder.setIsfk(0);
+ }
-
- tmsDispatchOrder.setStatus(2);
tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
--
Gitblit v1.8.0