From a485c380200759905753498875dd260cce9cddf7 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期三, 28 十月 2026 17:02:18 +0800
Subject: [PATCH] 修改了统计

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
index ff19deb..d03d66f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFunddetailController.java
@@ -12,6 +12,7 @@
 import com.ruoyi.project.domain.FunddetailReqVo;
 import com.ruoyi.project.domain.ServiceFunddetail;
 import com.ruoyi.project.domain.SpStatBonus;
+import com.ruoyi.project.domain.SpStatBonusDept;
 import com.ruoyi.project.domain.SpStatBonusReq;
 import com.ruoyi.project.domain.vo.TaxMoneyByItemEO;
 import com.ruoyi.project.domain.vo.TaxMoneySumEO;
@@ -234,11 +235,58 @@
         // 閲戦 0.00 涓嶆樉绀�
         for (SpStatBonus row : list) {
             row.setAmount(blankZero(row.getAmount()));
+            row.setMamount(blankZero(row.getMamount()));
+            row.setSamount(blankZero(row.getSamount()));
+            row.setYamount(blankZero(row.getYamount()));
         }
         ExcelUtil<SpStatBonus> util = new ExcelUtil<SpStatBonus>(SpStatBonus.class);
         return util.exportExcel(list, "缁╂晥缁熻鏁版嵁");
     }
 
+    /**
+     * 瀵煎嚭缁╂晥缁熻锛堟寜涓氬姟缁勶級
+     */
+    @ApiOperation("瀵煎嚭缁╂晥缁熻锛堟寜涓氬姟缁勶級")
+    @Log(title = "缁╂晥缁熻", businessType = BusinessType.EXPORT)
+    @GetMapping("/exportBonusDept")
+    public AjaxResult exportBonusDept(SpStatBonusReq spStatBonusReq) {
+        List<SpStatBonus> list = serviceFunddetailService.getListBySpStatBonus(spStatBonusReq);
+        Map<String, SpStatBonusDept> grouped = new LinkedHashMap<String, SpStatBonusDept>();
+        for (SpStatBonus row : list) {
+            String key = row.getDeptId() != null ? String.valueOf(row.getDeptId()) : row.getDeptName();
+            if (key == null) {
+                key = "";
+            }
+            SpStatBonusDept dept = grouped.get(key);
+            if (dept == null) {
+                dept = new SpStatBonusDept();
+                dept.setDeptname(row.getDeptName() == null ? "鏈垎缁�" : row.getDeptName());
+                dept.setAmount(BigDecimal.ZERO);
+                dept.setMamount(BigDecimal.ZERO);
+                dept.setSamount(BigDecimal.ZERO);
+                dept.setYamount(BigDecimal.ZERO);
+                grouped.put(key, dept);
+            }
+            dept.setAmount(dept.getAmount().add(nz(row.getAmount())));
+            dept.setMamount(dept.getMamount().add(nz(row.getMamount())));
+            dept.setSamount(dept.getSamount().add(nz(row.getSamount())));
+            dept.setYamount(dept.getYamount().add(nz(row.getYamount())));
+        }
+        List<SpStatBonusDept> result = new ArrayList<SpStatBonusDept>(grouped.values());
+        for (SpStatBonusDept dept : result) {
+            dept.setAmount(blankZero(dept.getAmount()));
+            dept.setMamount(blankZero(dept.getMamount()));
+            dept.setSamount(blankZero(dept.getSamount()));
+            dept.setYamount(blankZero(dept.getYamount()));
+        }
+        ExcelUtil<SpStatBonusDept> util = new ExcelUtil<SpStatBonusDept>(SpStatBonusDept.class);
+        return util.exportExcel(result, "缁╂晥缁熻锛堟寜涓氬姟缁勶級");
+    }
+
+    private BigDecimal nz(BigDecimal value) {
+        return value == null ? BigDecimal.ZERO : value;
+    }
+
     private BigDecimal blankZero(BigDecimal value) {
         return (value == null || value.compareTo(BigDecimal.ZERO) == 0) ? null : value;
     }

--
Gitblit v1.9.3