From 2a83e96652851ca20794278b9be3607bbe4186fa Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期五, 05 十二月 2025 11:09:51 +0800
Subject: [PATCH] 提交

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java |   78 +++++++++++++++++++++++++++-----------
 1 files changed, 55 insertions(+), 23 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 78c85b6..b38d4d5 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,36 +1,41 @@
 package com.ruoyi.tms.service.impl;
 
+import java.io.File;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.core.domain.AjaxResult;
-import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.common.utils.*;
+
 import javax.annotation.Resource;
 
-import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.file.FileUploadUtils;
+import com.ruoyi.common.utils.uuid.Seq;
 import com.ruoyi.system.service.ISysUserService;
-import com.ruoyi.tms.domain.TmsDispatchOrder;
-import com.ruoyi.tms.domain.TmsDriver;
-import com.ruoyi.tms.domain.TmsDriverDispatch;
+import com.ruoyi.tms.domain.*;
 import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
 import com.ruoyi.tms.mapper.TmsDriverDispatchMapper;
 import com.ruoyi.tms.mapper.TmsDriverMapper;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.FilenameUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
 import org.springframework.scheduling.annotation.Async;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.constant.Constants;
 import com.ruoyi.common.annotation.DataSource;
 import com.ruoyi.common.enums.DataSourceType;
 import com.ruoyi.common.core.service.BaseService;
 
 import com.ruoyi.tms.mapper.TmsTripMapper;
-import com.ruoyi.tms.domain.TmsTrip;
 import com.ruoyi.tms.service.ITmsTripService;
 import com.ruoyi.common.core.text.Convert;
 
@@ -58,6 +63,11 @@
 
     @Resource
     private TmsDriverMapper tmsDriverMapper;
+    @Autowired
+    private TmsVehicleServiceImpl tmsVehicleServiceImpl;
+
+    @Autowired
+    private AsyncPdfService asyncPdfService;
     /**
      * 鏌ヨ琛岀▼
      *
@@ -136,8 +146,7 @@
      * @return 缁撴灉
      */
     @Override
-    public int insertTmsTrip(TmsTrip tmsTrip)
-    {
+    public int insertTmsTrip(TmsTrip tmsTrip) throws Exception {
         Integer dispatchOrderId = tmsTrip.getDispatchOrderId();
         TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectTmsDispatchOrderById(dispatchOrderId);
         if (tmsDispatchOrder == null){
@@ -146,6 +155,11 @@
         if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
             throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
         }
+        TmsDriver tmsDriver = tmsDriverMapper.selectTmsDriverById(tmsDispatchOrder.getMainDriverId());
+        if (tmsDriver == null){
+            throw new RuntimeException("鏈壘鍒板徃鏈烘暟鎹�");
+        }
+
         tmsDispatchOrder.setStatus(2);
         tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
         tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
@@ -153,7 +167,11 @@
         tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
         tmsTrip.setCreateBy(SecurityUtils.getUsername());
         tmsTrip.setCreateTime(DateUtils.getNowDate());
-        return tmsTripMapper.insertTmsTrip(tmsTrip);
+        tmsTripMapper.insertTmsTrip(tmsTrip);
+        if (StringUtils.isNotEmpty(tmsTrip.getSignImg())){
+            asyncPdfService.generateTripPdfAsync(tmsTrip,tmsDispatchOrder,tmsDriver);
+        }
+        return 1;
     }
     @Override
     public AjaxResult submitDropHook(TmsTrip tmsTrip){
@@ -162,23 +180,23 @@
         if (tmsDispatchOrder == null){
             throw new RuntimeException("鏈壘鍒拌皟搴﹀崟鏁版嵁");
         }
-        if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
+        if (tmsDispatchOrder.getStatus() != 6){
             throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
         }
         tmsDispatchOrderMapper.update(
-                null,
                 new LambdaUpdateWrapper<TmsDispatchOrder>()
                         .eq(TmsDispatchOrder::getId, dispatchOrderId)
-                        .set(TmsDispatchOrder::getStatus, 2)
+                        .set(TmsDispatchOrder::getStatus, 7)
                         .set(TmsDispatchOrder::getMainDriverId, null)
                         .set(TmsDispatchOrder::getMainDriverName, null)
+                        .set(TmsDispatchOrder::getVehicleId, null)
+                        .set(TmsDispatchOrder::getLicensePlate, null)
         );
 
         tmsDriverDispatchMapper.update(
-                null,
                 new LambdaUpdateWrapper<TmsDriverDispatch>()
                         .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
-                        .eq(TmsDriverDispatch::getDriverId, tmsTrip.getDriverId())
+                        .eq(TmsDriverDispatch::getDriverId, tmsDispatchOrder.getMainDriverId())
                         .set(TmsDriverDispatch::getStatus, 3)
         );
         tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
@@ -196,27 +214,41 @@
         if (tmsDispatchOrder == null){
             throw new RuntimeException("鏈壘鍒拌皟搴﹀崟鏁版嵁");
         }
-        if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
+        if (tmsDispatchOrder.getStatus() != 7){
             throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
         }
         Integer driverId = tmsTrip.getDriverId();
         TmsDriver tmsDriver = tmsDriverMapper.selectTmsDriverById(driverId);
+        TmsDriverDispatch driverDispatch = tmsDriverDispatchMapper.selectOne(new LambdaUpdateWrapper<TmsDriverDispatch>()
+                .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
+                .eq(TmsDriverDispatch::getDriverId, driverId)
+                .eq(TmsDriverDispatch::getStatus, 2)
+        );
+        if (driverDispatch == null){
+            throw new RuntimeException("鏈壘鍒板叧鑱旀暟鎹�");
+        }
+
+
+        TmsVehicle tmsVehicle = tmsVehicleServiceImpl.selectTmsVehicleById(driverDispatch.getDriverId());
 
         tmsDispatchOrderMapper.update(
-                null,
                 new LambdaUpdateWrapper<TmsDispatchOrder>()
                         .eq(TmsDispatchOrder::getId, dispatchOrderId)
+                        .set(TmsDispatchOrder::getStatus, 2)
                         .set(TmsDispatchOrder::getMainDriverId, tmsDriver.getId())
                         .set(TmsDispatchOrder::getMainDriverName, tmsDriver.getDriverName())
+                        .set(TmsDispatchOrder::getVehicleId, tmsVehicle.getId())
+                        .set(TmsDispatchOrder::getLicensePlate, tmsVehicle.getLicensePlate())
         );
-        TmsDriverDispatch tmsDriverDispatch = new TmsDriverDispatch();
-        tmsDriverDispatch.setDispatchId(dispatchOrderId);
-        tmsDriverDispatch.setDriverId(driverId);
-        tmsDriverDispatch.setStatus(4);
+        tmsDriverDispatchMapper.update(
+                new LambdaUpdateWrapper<TmsDriverDispatch>()
+                        .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
+                        .eq(TmsDriverDispatch::getDriverId, tmsTrip.getDriverId())
+                        .set(TmsDriverDispatch::getStatus, 4)
+        );
+
         tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
         tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
-
-        tmsDriverDispatchMapper.insertTmsDriverDispatch(tmsDriverDispatch);
         tmsTrip.setDriverName(tmsDriver.getDriverName());
         tmsTrip.setCreateBy(SecurityUtils.getUsername());
         tmsTrip.setCreateTime(DateUtils.getNowDate());

--
Gitblit v1.8.0