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 | 70 +++++++++++++++++++++++++++++++++++
1 files changed, 70 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 167f43d..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
@@ -11,6 +11,8 @@
import com.ruoyi.common.utils.poi.ExcelUtil;
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;
@@ -22,6 +24,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
+import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.ZoneId;
import java.time.temporal.TemporalAdjusters;
@@ -220,4 +223,71 @@
startPage();
return getDataTable(serviceFunddetailService.getListBySpStatBonus(spStatBonusReq));
}
+
+ /**
+ * 瀵煎嚭缁╂晥濂栭噾缁熻
+ */
+ @ApiOperation("瀵煎嚭缁╂晥濂栭噾缁熻")
+ @Log(title = "缁╂晥缁熻", businessType = BusinessType.EXPORT)
+ @GetMapping("/exportBonus")
+ public AjaxResult exportBonus(SpStatBonusReq spStatBonusReq) {
+ List<SpStatBonus> list = serviceFunddetailService.getListBySpStatBonus(spStatBonusReq);
+ // 閲戦 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