From 47f5004419c3c703919b5351034fc9cfa0ac39f8 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期四, 08 一月 2026 14:52:30 +0800
Subject: [PATCH] 新增大屏接口

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java |   84 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 7 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
index 4b478ad..cc1ac58 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsDispatchOrderServiceImpl.java
@@ -19,10 +19,7 @@
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ISystemDataNoService;
 import com.ruoyi.tms.domain.*;
-import com.ruoyi.tms.domain.vo.DpDriverDispatchItemVo;
-import com.ruoyi.tms.domain.vo.DpDriverDispatchVo;
-import com.ruoyi.tms.domain.vo.DriverDispatchVo;
-import com.ruoyi.tms.domain.vo.ServiceProviderVo;
+import com.ruoyi.tms.domain.vo.*;
 import com.ruoyi.tms.mapper.*;
 import com.ruoyi.tms.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -87,6 +84,8 @@
     private TmsServiceProviderMapper tmsServiceProviderMapper;
     @Resource
     private TmsCustomsServiceProviderMapper tmsCustomsServiceProviderMapper;
+    @Resource
+    private  TmsTripMapper tmsTripMapper;
 
     /**
      * 鏌ヨ璋冨害鍗曠鐞�
@@ -166,6 +165,9 @@
         tmsDispatchOrderNew.setLicensePlate(null);
         tmsDispatchOrderNew.setUpdateBy(null);
         tmsDispatchOrderNew.setId(null);
+        tmsDispatchOrderNew.setAccountsReceivableStatus(0);
+        tmsDispatchOrderNew.setAccountsPayableStatus(0);
+
 
 
         int i = insertTmsDispatchOrder(tmsDispatchOrderNew);
@@ -196,6 +198,27 @@
         return AjaxResult.success("鎿嶄綔鎴愬姛");
     }
 
+    @Override
+    public AjaxResult close(Integer id) {
+        TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(id);
+        if (tmsDispatchOrder == null){
+            return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+        }
+        if (tmsDispatchOrder.getIsfk() == 0){
+            return AjaxResult.success();
+        }
+        TmsTrip tmsTrip = tmsTripMapper.selectOne(new LambdaQueryWrapper<TmsTrip>().eq(TmsTrip::getDispatchOrderId, id)
+                .eq(TmsTrip::getTripType, 0)
+                .orderByDesc(TmsTrip::getId)
+                .last("limit 1")
+        );
+
+        if (tmsTrip != null){
+            return AjaxResult.error("璇ヨ皟搴﹀崟鐘舵�佷负銆愬湪閫斻�戯紝涓斿徃鏈轰簬銆�"+DateUtils.parseDateToStr("yyyy-MM-dd HH:mm:ss", tmsTrip.getTripTime())+"銆戝凡鍙戣溅锛屼笉鍏佽浣滃簾锛屽闇�鍙栨秷琛岀▼锛�" +
+                    "璇烽�氱煡鍙告満鎿嶄綔杩旂┖鍗冲彲銆�");
+        }
+        return AjaxResult.success("鎿嶄綔鎴愬姛");
+    }
 
     @Override
     public AjaxResult connectHang(TmsDriverDispatch driverDispatch) {
@@ -208,6 +231,27 @@
         return AjaxResult.success();
     }
 
+    @Override
+    public AjaxResult closeOrder(TmsDispatchOrder order) {
+        TmsDispatchOrder tmsDispatchOrder = selectTmsDispatchOrderById(order.getId());
+        if (tmsDispatchOrder == null){
+            return AjaxResult.error("鏈壘鍒拌鏁版嵁");
+        }
+        AjaxResult close = close(tmsDispatchOrder.getId());
+        if (close.isSuccess()){
+            tmsDispatchOrder.setStatus(5);
+            tmsDispatchOrder.setCloseBy(SecurityUtils.getUsername());
+            tmsDispatchOrder.setCloseTime(DateUtils.getNowDate());
+            tmsDispatchOrder.setCloseRemark(tmsDispatchOrder.getCloseRemark());
+            tmsDispatchOrder.setCloseWhy(tmsDispatchOrder.getCloseWhy());
+            tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
+            // TODO 鍔犳棩蹇�
+
+            return AjaxResult.success("鎿嶄綔鎴愬姛");
+        }else{
+            return close;
+        }
+    }
 
     @Override
     public int customsOrder(TmsDispatchOrder tmsDispatchOrder) {
@@ -400,6 +444,27 @@
         return tmsDispatchOrderMapper.updateTmsDispatchOrder(tmsDispatchOrder);
     }
 
+    @Override
+    public int printDispatchOrder(TmsDispatchOrder tmsDispatchOrder)
+    {
+        return tmsDispatchOrderMapper.update(null,new LambdaUpdateWrapper<TmsDispatchOrder>()
+                .eq(TmsDispatchOrder::getId,tmsDispatchOrder.getId())
+                .set(TmsDispatchOrder::getIsPrint,0)
+                        .setSql("print_count = IFNULL(print_count, 0) + 1")
+                        .set(TmsDispatchOrder::getPrintTime,new Date())
+                        .set(TmsDispatchOrder::getPrintBy,SecurityUtils.getUsername())
+                        .set(TmsDispatchOrder::getSixLinkNo,tmsDispatchOrder.getSixLinkNo())
+                        .set(TmsDispatchOrder::getPortName,tmsDispatchOrder.getPortName())
+                        .set(TmsDispatchOrder::getBillNo,tmsDispatchOrder.getBillNo())
+                        .set(TmsDispatchOrder::getTerminalName,tmsDispatchOrder.getTerminalName())
+                        .set(TmsDispatchOrder::getCargoName,tmsDispatchOrder.getCargoName())
+                        .set(TmsDispatchOrder::getPieceCount,tmsDispatchOrder.getPieceCount())
+                        .set(TmsDispatchOrder::getWeight,tmsDispatchOrder.getWeight())
+                        .set(TmsDispatchOrder::getContactName,tmsDispatchOrder.getContactName())
+                        .set(TmsDispatchOrder::getContactPhone,tmsDispatchOrder.getContactPhone())
+                );
+    }
+
     /**
      * 淇敼璋冨害鍗曠鐞哰鎵归噺]
      *
@@ -541,7 +606,7 @@
                     // 闈炶嚜钀ラ渶瑕佹湁杩愯垂
                     // 杞﹁締鏈嶅姟鍟�
                     // 瀹為檯杞﹀瀷
-                    String actualVehicleType = tmsDispatchOrder.getActualVehicleType();
+                    String actualVehicleType = tmsDispatchOrder.getRequiredVehicleTypes();
                     // 鍑哄彂璺嚎 44,4404,440402,440402102
                     String shipperRegionCode = tmsDispatchOrder.getStartRegionCode();
                     // 鐩殑鍦拌矾绾� 81,8100,810000
@@ -551,8 +616,8 @@
                     TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectOne(new LambdaQueryWrapper<TmsQuoteDetail>()
                             .eq(TmsQuoteDetail::getCustomerId, customerId)
                             .eq(TmsQuoteDetail::getVehicleType, actualVehicleType)
-                            .eq(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
-                            .eq(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
+                            .likeRight(TmsQuoteDetail::getStartRegionCode, shipperRegionCode)
+                            .likeRight(TmsQuoteDetail::getEndRegionCode, receiverRegionCode)
                             .eq(TmsQuoteDetail::getPlanType, 0)
                             .last("limit 1")
                     );
@@ -1064,4 +1129,9 @@
     public DpDriverDispatchItemVo selectDataByNo(String no) {
         return tmsDispatchOrderMapper.selectDataByNo(no);
     }
+
+    @Override
+    public List<DpItineraryLogVo> selectItineraryLog() {
+        return tmsDispatchOrderMapper.selectItineraryLog();
+    }
 }

--
Gitblit v1.8.0