From 83930902d9561348ba362d633b0c2652d5f76368 Mon Sep 17 00:00:00 2001
From: wujianwei <wjw@11.com>
Date: 星期二, 31 三月 2026 16:55:32 +0800
Subject: [PATCH] 导出应收费用对账单

---
 tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java |   40 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 37 insertions(+), 3 deletions(-)

diff --git a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java
index 5330742..02a06d9 100644
--- a/tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java
+++ b/tms/src/main/java/com/ruoyi/tms/service/impl/TmsReceivableFeeServiceImpl.java
@@ -1,15 +1,33 @@
 package com.ruoyi.tms.service.impl;
 
+import java.io.File;
+import java.io.FileOutputStream;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashMap;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.redis.RedisCache;
 import com.ruoyi.common.enums.SystemDataNoEnum;
+import com.ruoyi.common.exception.ServiceException;
 import com.ruoyi.common.utils.DateUtils;
+
+import com.ruoyi.common.utils.file.DownloadExportUtil;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.config.RuoYiConfig;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.streaming.SXSSFSheet;
+import org.apache.poi.xssf.streaming.SXSSFWorkbook;
+import org.apache.poi.xssf.usermodel.XSSFColor;
 import javax.annotation.Resource;
 
 import com.ruoyi.common.utils.SecurityUtils;
@@ -27,6 +45,8 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.scheduling.annotation.Async;
+import org.springframework.core.task.AsyncTaskExecutor;
+import org.springframework.core.task.SimpleAsyncTaskExecutor;
 import org.springframework.web.client.RestTemplate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -71,7 +91,8 @@
     @Value("${custom.cwxtApi.url}")
     private String url;
 
-
+    @Autowired
+    private RedisCache redisCache;
     /**
      * 鏌ヨ搴旀敹璐圭敤
      *
@@ -151,6 +172,16 @@
             return selectTmsReceivableFeeList(tmsReceivableFee);
         });
     }
+
+
+
+
+
+
+
+
+
+
 
 
     /**
@@ -327,7 +358,8 @@
         tmsArBillItemMapper.insertTmsArBillItemBatch(rmb);
 
         // 鍚戝閮ㄧ郴缁熸帹閫佹暟鎹�
-        pushToExternalSystem(tmsArBill, tmsReceivableFees);
+        AsyncTaskExecutor executor = new SimpleAsyncTaskExecutor();
+        executor.execute(() -> pushToExternalSystem(tmsArBill, tmsReceivableFees));
         
         return AjaxResult.success();
     }
@@ -415,8 +447,10 @@
                 // 鏋勫缓feeDetails閮ㄥ垎
                 List<java.util.Map<String, Object>> feeDetailsList = new java.util.ArrayList<>();
                 List<TmsReceivableFeeItem> items = fee.getItems();
-                for (TmsReceivableFeeItem item : items) {
+                for (int j = 0; j < items.size(); j++) {
+                    TmsReceivableFeeItem item = items.get(j);
                     java.util.Map<String, Object> feeDetailMap = new java.util.HashMap<>();
+                    feeDetailMap.put("serialNumber", String.format("%03d", j + 1));
                     feeDetailMap.put("feeType", item.getFeeType());
                     feeDetailMap.put("feeName", item.getFeeName());
                     feeDetailMap.put("billingUnit", "娆�");

--
Gitblit v1.8.0