From 3849263b31a16a91ff08acaa42786ecfde76f33c Mon Sep 17 00:00:00 2001
From: zhangback <zhangback@163.com>
Date: 星期四, 27 十一月 2025 20:18:08 +0800
Subject: [PATCH] 提交

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java |   83 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java
index 027b9d9..1541a12 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsFinanceServiceImpl.java
@@ -1,9 +1,19 @@
 package com.ruoyi.tms.service.impl;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.utils.DateUtils;
 import javax.annotation.Resource;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.tms.domain.TmsDispatchOrder;
+import com.ruoyi.tms.domain.TmsFinanceDetail;
+import com.ruoyi.tms.domain.TmsQuoteDetail;
+import com.ruoyi.tms.mapper.TmsDispatchOrderMapper;
+import com.ruoyi.tms.mapper.TmsFinanceDetailMapper;
+import com.ruoyi.tms.mapper.TmsQuoteDetailMapper;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.stereotype.Service;
 import org.springframework.scheduling.annotation.Async;
@@ -34,6 +44,13 @@
     @Resource
     private TmsFinanceMapper tmsFinanceMapper;
 
+    @Resource
+    private TmsFinanceDetailMapper tmsFinanceDetailMapper;
+    @Resource
+    private TmsQuoteDetailMapper tmsQuoteDetailMapper;
+
+    @Resource
+    private TmsDispatchOrderMapper tmsDispatchOrderMapper;
 
     /**
      * 鏌ヨ璐圭敤涓昏〃
@@ -119,6 +136,39 @@
         return rows;
     }
 
+    @Override
+    public int insertTmsFinanceYFBatch(List<TmsFinance> tmsFinances) {
+        // 娣诲姞涓昏〃
+        int i = tmsFinanceMapper.insertTmsFinanceBatch(tmsFinances);
+        List<TmsFinanceDetail> collect = tmsFinances.stream().map(item -> {
+            Integer quoteId;
+
+            if (item.getType() == 0) {
+                quoteId = item.getCollectionPlanDetailId();
+            } else {
+                quoteId = item.getPaymentPlanDetailId();
+            }
+            TmsQuoteDetail tmsQuoteDetail = tmsQuoteDetailMapper.selectById(quoteId);
+
+            TmsFinanceDetail tmsFinanceDetail = new TmsFinanceDetail();
+            tmsFinanceDetail.setFinanceId(item.getId());
+            tmsFinanceDetail.setFinanceType(item.getType());
+            tmsFinanceDetail.setFeeType("99");
+            tmsFinanceDetail.setInitialFeeAmount(tmsQuoteDetail.getFreightPrice());
+            tmsFinanceDetail.setActualFeeAmount(tmsQuoteDetail.getFreightPrice());
+            tmsFinanceDetail.setDispatchOrderId(item.getDispatchId());
+            tmsFinanceDetail.setDataSource(0);
+            tmsFinanceDetail.setCreateTime(DateUtils.getNowDate());
+            tmsFinanceDetail.setCreateBy(SecurityUtils.getUsername());
+            tmsFinanceDetail.setFeeCreateTime(DateUtils.getNowDate());
+            tmsFinanceDetail.setCreateId(SecurityUtils.getUserId());
+            tmsFinanceDetail.setStatus(0);
+            return tmsFinanceDetail;
+        }).collect(Collectors.toList());
+        return tmsFinanceDetailMapper.insertTmsFinanceDetailBatch( collect);
+
+    }
+
     /**
      * 淇敼璐圭敤涓昏〃
      *
@@ -179,4 +229,37 @@
     {
         return tmsFinanceMapper.deleteTmsFinanceById(id);
     }
+
+
+    @Override
+    public int cancelFinance(Integer id) {
+        // 1銆佷綔搴燂紝澶�
+        TmsFinance tmsFinance = selectTmsFinanceById(id);
+        tmsFinance.setStatus(2);
+        updateTmsFinance(tmsFinance);
+        // 3銆佸皢鍘熸潵鐨勮皟搴﹀崟鍙樺洖涓烘湭缁撶畻
+        LambdaUpdateWrapper<TmsDispatchOrder> eq = new LambdaUpdateWrapper<TmsDispatchOrder>()
+                .eq(TmsDispatchOrder::getId, tmsFinance.getDispatchId());
+        if (tmsFinance.getType() == 0){
+            eq.set(TmsDispatchOrder::getAccountsReceivableStatus, 0)
+                .set(TmsDispatchOrder::getCollectionPlanId, null);
+        }else if (tmsFinance.getType() == 1){
+            eq.set(TmsDispatchOrder::getAccountsPayableStatus, 0)
+                .set(TmsDispatchOrder::getPaymentPlanId, null)
+            ;
+        }
+
+        return tmsDispatchOrderMapper.update(eq);
+    }
+
+    @Override
+    public int confirmFinance(Integer id) {
+        // 1銆佷綔搴燂紝澶�
+        TmsFinance tmsFinance = selectTmsFinanceById(id);
+        tmsFinance.setStatus(1);
+        tmsFinance.setConfirmBy(SecurityUtils.getUsername());
+        tmsFinance.setConfirmTime(DateUtils.getNowDate());
+
+        return updateTmsFinance(tmsFinance);
+    }
 }

--
Gitblit v1.8.0