From 8f30b77a480f8921bffe2bf176bf3479f5bcbedc Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期三, 01 四月 2026 16:38:34 +0800
Subject: [PATCH] 新增手动推送应付,应收账单
---
tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 53 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 64cef04..29ea620 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,6 +186,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 +215,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());
@@ -182,10 +233,10 @@
asyncPdfService.generateTripPdfAsync(tmsTrip,tmsDispatchOrder,tmsDriver);
}
// 瀹屾垚韬綋妫�鏌�
- if (tmsTrip.getTripType() == 1){
+ if (tmsTrip.getTripType() == 1 && tmsDispatchOrder.getOperationMode() == 0){
// 娣诲姞 棰嗛挜鍖� 鎸囦护璁板綍
TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(tmsDispatchOrder.getVehicleId());
-
+ logger.info("娣诲姞 棰嗛挜鍖� 鎸囦护璁板綍,{},{}",tmsDispatchOrder.getVehicleId(),tmsVehicle.getCarKeyNo());
TmsCarKeyDispatch tmsCarKeyDispatch = new TmsCarKeyDispatch();
tmsCarKeyDispatch.setDispatchOrderId(dispatchOrderId);
tmsCarKeyDispatch.setDispatchOrderNo(tmsDispatchOrder.getDispatchNo());
--
Gitblit v1.8.0