From 73a4a892517ac3f60334b0c4132bf619726b4854 Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期六, 15 十一月 2025 13:28:47 +0800
Subject: [PATCH] 提交

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsTripServiceImpl.java |  103 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 1 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 04eba79..78c85b6 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,13 +1,23 @@
 package com.ruoyi.tms.service.impl;
 
+import java.util.Collections;
 import java.util.List;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
 
 import com.ruoyi.common.utils.SecurityUtils;
+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.mapper.TmsDispatchOrderMapper;
+import com.ruoyi.tms.mapper.TmsDriverDispatchMapper;
+import com.ruoyi.tms.mapper.TmsDriverMapper;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
 import org.springframework.scheduling.annotation.Async;
@@ -40,7 +50,14 @@
 
     @Resource
     private TmsDispatchOrderMapper tmsDispatchOrderMapper;
+    @Autowired
+    private ISysUserService userService;
 
+    @Resource
+    private TmsDriverDispatchMapper tmsDriverDispatchMapper;
+
+    @Resource
+    private TmsDriverMapper tmsDriverMapper;
     /**
      * 鏌ヨ琛岀▼
      *
@@ -78,6 +95,19 @@
     public List<TmsTrip> selectTmsTripList(TmsTrip tmsTrip)
     {
         return tmsTripMapper.selectTmsTripList(tmsTrip);
+    }
+
+    @Override
+    public List<TmsTrip> tmsTripList(Integer dispatchId) {
+        Integer deviceId = userService.getDeviceId(SecurityUtils.getUserId());
+        if (deviceId == null){
+            return null;
+        }
+        return tmsTripMapper.selectList(new LambdaQueryWrapper<TmsTrip>()
+                .eq(TmsTrip::getDispatchOrderId,dispatchId)
+                .eq(TmsTrip::getDriverId,deviceId)
+                .orderByDesc(TmsTrip::getId)
+        );
     }
 
     /**
@@ -118,11 +148,82 @@
         }
         tmsDispatchOrder.setStatus(2);
         tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
-
+        tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
+        tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
+        tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
         tmsTrip.setCreateBy(SecurityUtils.getUsername());
         tmsTrip.setCreateTime(DateUtils.getNowDate());
         return tmsTripMapper.insertTmsTrip(tmsTrip);
     }
+    @Override
+    public AjaxResult submitDropHook(TmsTrip tmsTrip){
+        Integer dispatchOrderId = tmsTrip.getDispatchOrderId();
+        TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectTmsDispatchOrderById(dispatchOrderId);
+        if (tmsDispatchOrder == null){
+            throw new RuntimeException("鏈壘鍒拌皟搴﹀崟鏁版嵁");
+        }
+        if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
+            throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
+        }
+        tmsDispatchOrderMapper.update(
+                null,
+                new LambdaUpdateWrapper<TmsDispatchOrder>()
+                        .eq(TmsDispatchOrder::getId, dispatchOrderId)
+                        .set(TmsDispatchOrder::getStatus, 2)
+                        .set(TmsDispatchOrder::getMainDriverId, null)
+                        .set(TmsDispatchOrder::getMainDriverName, null)
+        );
+
+        tmsDriverDispatchMapper.update(
+                null,
+                new LambdaUpdateWrapper<TmsDriverDispatch>()
+                        .eq(TmsDriverDispatch::getDispatchId, dispatchOrderId)
+                        .eq(TmsDriverDispatch::getDriverId, tmsTrip.getDriverId())
+                        .set(TmsDriverDispatch::getStatus, 3)
+        );
+        tmsTrip.setDriverName(tmsDispatchOrder.getMainDriverName());
+        tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
+        tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
+        tmsTrip.setCreateBy(SecurityUtils.getUsername());
+        tmsTrip.setCreateTime(DateUtils.getNowDate());
+         tmsTripMapper.insertTmsTrip(tmsTrip);
+         return AjaxResult.success();
+    }
+    @Override
+    public AjaxResult submitPickHook(TmsTrip tmsTrip){
+        Integer dispatchOrderId = tmsTrip.getDispatchOrderId();
+        TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectTmsDispatchOrderById(dispatchOrderId);
+        if (tmsDispatchOrder == null){
+            throw new RuntimeException("鏈壘鍒拌皟搴﹀崟鏁版嵁");
+        }
+        if (tmsDispatchOrder.getStatus() != 1 && tmsDispatchOrder.getStatus() != 2){
+            throw new RuntimeException("璋冨害鍗曟暟鎹姸鎬佸紓甯�");
+        }
+        Integer driverId = tmsTrip.getDriverId();
+        TmsDriver tmsDriver = tmsDriverMapper.selectTmsDriverById(driverId);
+
+        tmsDispatchOrderMapper.update(
+                null,
+                new LambdaUpdateWrapper<TmsDispatchOrder>()
+                        .eq(TmsDispatchOrder::getId, dispatchOrderId)
+                        .set(TmsDispatchOrder::getMainDriverId, tmsDriver.getId())
+                        .set(TmsDispatchOrder::getMainDriverName, tmsDriver.getDriverName())
+        );
+        TmsDriverDispatch tmsDriverDispatch = new TmsDriverDispatch();
+        tmsDriverDispatch.setDispatchId(dispatchOrderId);
+        tmsDriverDispatch.setDriverId(driverId);
+        tmsDriverDispatch.setStatus(4);
+        tmsTrip.setVehicleId(tmsDispatchOrder.getVehicleId());
+        tmsTrip.setVehicleNumber(tmsDispatchOrder.getLicensePlate());
+
+        tmsDriverDispatchMapper.insertTmsDriverDispatch(tmsDriverDispatch);
+        tmsTrip.setDriverName(tmsDriver.getDriverName());
+        tmsTrip.setCreateBy(SecurityUtils.getUsername());
+        tmsTrip.setCreateTime(DateUtils.getNowDate());
+         tmsTripMapper.insertTmsTrip(tmsTrip);
+         return AjaxResult.success();
+    }
+
 
     /**
      * 鏂板琛岀▼[鎵归噺]

--
Gitblit v1.8.0