From 73ad6ba1c639e8b231291a1efd7fae0d6d394143 Mon Sep 17 00:00:00 2001
From: chengf <cgf12138@163.com>
Date: 星期一, 18 八月 2025 20:36:56 +0800
Subject: [PATCH] 费用报表0815

---
 service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeCmd.java |   40 +++++++++++++++++++++++++++++++++-------
 1 files changed, 33 insertions(+), 7 deletions(-)

diff --git a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeCmd.java b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeCmd.java
index 686f5d2..0ba2831 100644
--- a/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeCmd.java
+++ b/service-fee/src/main/java/com/java110/fee/cmd/fee/ReportFeeCmd.java
@@ -6,7 +6,10 @@
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
 import com.java110.dto.community.CommunityDto;
+import com.java110.dto.dict.DictDto;
+import com.java110.dto.fee.FeeDto;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.dev.IDictV1InnerServiceSMO;
 import com.java110.intf.fee.IReportFeeInnerServiceSMO;
 import com.java110.po.fee.PayFeePo;
 import com.java110.utils.exception.CmdException;
@@ -20,6 +23,7 @@
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -31,6 +35,9 @@
 
     @Autowired
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Autowired
+    private IDictV1InnerServiceSMO dictV1InnerServiceSMOImpl;
 
     @Override
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
@@ -48,16 +55,35 @@
         feeQueryParams.setStartYear(startYear);
         int currentYear = java.time.Year.now().getValue();
         feeQueryParams.setEndYear(currentYear + 2);
-        List<Map> result = reportFeeInnerServiceSMOImpl.repostPaidInFee(feeQueryParams);
-
         int endYear = feeQueryParams.getEndYear();
-        double[][] reports = new double[22 * (endYear - startYear)][endYear - startYear + 1];
-        for(int j = 0 ; j < result.size() ; j++){
-            for (int i = startYear; i <= endYear; i++) {
-                reports[j][i-startYear] = (double) result.get(j).get(i+"骞存敹璐归噾棰�(鍏�)");
+        List<Map> result = reportFeeInnerServiceSMOImpl.repostPaidInFee(feeQueryParams);
+        DictDto dictDto = new DictDto();
+        dictDto.setTableName("pay_fee_config");
+        dictDto.setTableColumns("fee_type_cd");
+        List<DictDto> dictDtos = dictV1InnerServiceSMOImpl.queryDicts(dictDto);
+        int doYear = endYear - startYear;
+        List<FeeDto> reportFeeDtos = new ArrayList<>();
+        for (int i = startYear; i <= endYear; i++) {
+            for (Map map : result) {
+                if (map.get("缁熻鍛ㄦ湡")!=null&&map.get("缁熻鍛ㄦ湡").equals(i)){
+                    FeeDto feeDto = new FeeDto();
+                    feeDto.setCurYear((i)+"");
+                    feeDto.setFeeTypeCdName(map.get("璐圭敤绫诲瀷鍚嶇О")+"");
+                    double[] doubles = new double[doYear];
+                    for (int j = startYear ; j <= endYear ; j++) {
+                        if(map.get((j)+"骞存敹璐归噾棰�(鍏�)")!=null){
+                            doubles[j-startYear] = ((BigDecimal)map.get((j)+"骞存敹璐归噾棰�(鍏�)")).doubleValue();
+                        }
+                    }
+                    feeDto.setReport(doubles);
+                    reportFeeDtos.add(feeDto);
+                }
             }
         }
-        ResultVo resultVo = new ResultVo(reports);
+
+
+
+        ResultVo resultVo = new ResultVo(reportFeeDtos);
 
         ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
 

--
Gitblit v1.8.0