From 5c3154277d1f6d94d511cb7fd70e7b88ab318a99 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期三, 07 一月 2026 17:00:39 +0800
Subject: [PATCH] 新增开票接口

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceDetailServiceImpl.java |   52 +++++++++++++++++++++++++++++-----------------------
 1 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceDetailServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceDetailServiceImpl.java
index 4ca6cdb..bf15895 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceDetailServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceDetailServiceImpl.java
@@ -1,23 +1,21 @@
 package com.ruoyi.tms.service.impl;
 
 import java.math.BigDecimal;
-import java.util.Collections;
 import java.util.List;
 
 import cn.hutool.core.bean.BeanUtil;
 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.enums.SystemDataNoEnum;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
 
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.service.ISysUserService;
 import com.ruoyi.system.service.ISystemDataNoService;
-import com.ruoyi.tms.domain.TmsDispatchOrder;
 import com.ruoyi.tms.domain.TmsFinance;
-import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
+import com.ruoyi.tms.domain.vo.FinanceDetailItem;
 import com.ruoyi.tms.mapper.TmsFinanceMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
@@ -53,8 +51,7 @@
     @Resource
     private TmsFinanceMapper tmsFinanceMapper;
 
-    @Resource
-    private TmsDispatchOrderMapper tmsDispatchOrderMapper;
+
     @Autowired
     ISystemDataNoService systemDataNoService;
     @Autowired
@@ -111,17 +108,7 @@
         if (dispatchId !=null){
             eq.eq(TmsFinanceDetail::getDispatchOrderId, dispatchId);
         }
-        List<TmsFinanceDetail> tmsFinanceDetails = tmsFinanceDetailMapper.selectList(eq);
-        if (tmsFinanceDetails != null && !tmsFinanceDetails.isEmpty()){
-            tmsFinanceDetails.forEach(tmsFinanceDetail -> {
-                TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectById(tmsFinanceDetail.getDispatchOrderId());
-                if (tmsDispatchOrder != null){
-                    tmsFinanceDetail.setDispatchNo(tmsDispatchOrder.getDispatchNo());
-                    tmsFinanceDetail.setCustomerName(tmsDispatchOrder.getCustomerName());
-                }
-            });
-        }
-        return tmsFinanceDetails;
+        return tmsFinanceDetailMapper.selectList(eq);
     }
 
     /**
@@ -158,13 +145,32 @@
                 .ne(TmsFinance::getStatus, 2)
                 .last("limit 1")
         );
+
+
+        if (StringUtils.isNotEmpty(tmsFinanceDetail.getFeeType())){
+            addItem(tmsFinance, tmsFinanceDetail);
+        }
+
+        // 1銆佹煡璇㈠綋鍓嶈皟搴﹀崟瀵瑰簲鐨勮垂鐢�
+        List<FinanceDetailItem> items = tmsFinanceDetail.getItems();
+
+        if (items != null && !items.isEmpty()){
+            items.forEach(item->{
+                TmsFinanceDetail tmsFinanceDetailNew = BeanUtil.copyProperties(tmsFinanceDetail, TmsFinanceDetail.class);
+                BeanUtil.copyProperties(item, tmsFinanceDetailNew);
+                tmsFinanceDetailNew.setActualFeeAmount(item.getPrice().multiply(BigDecimal.valueOf(item.getCount())));
+                addItem(tmsFinance, tmsFinanceDetailNew);
+            });
+        }
+        return 1;
+    }
+
+
+    public void addItem (TmsFinance tmsFinance, TmsFinanceDetail tmsFinanceDetail){
         if (tmsFinance == null){
 
-            TmsDispatchOrder tmsDispatchOrder = tmsDispatchOrderMapper.selectTmsDispatchOrderById(tmsFinanceDetail.getDispatchOrderId());
-            if (tmsDispatchOrder == null){
-                throw new RuntimeException("鏈壘鍒板搴旂殑璋冨害鍗�");
-            }
-            tmsFinance = BeanUtil.copyProperties(tmsDispatchOrder,TmsFinance.class);
+
+            tmsFinance = new TmsFinance();
             SystemDataNoEnum systemDataNoEnum = tmsFinanceDetail.getFinanceType() == 0 ? SystemDataNoEnum.YFD :
                     tmsFinanceDetail.getFinanceType() == 1 ? SystemDataNoEnum.YSD : SystemDataNoEnum.OF;
             tmsFinance.setSystemCode(systemDataNoService.getNoByKey(systemDataNoEnum));
@@ -189,7 +195,7 @@
         tmsFinanceDetail.setCreateId(SecurityUtils.getUserId());
         tmsFinanceDetail.setFeeCreateTime(DateUtils.getNowDate());
         tmsFinanceDetail.setCreateTime(DateUtils.getNowDate());
-        return tmsFinanceDetailMapper.insertTmsFinanceDetail(tmsFinanceDetail);
+        tmsFinanceDetailMapper.insertTmsFinanceDetail(tmsFinanceDetail);
     }
 
     /**

--
Gitblit v1.8.0