From 3ba3f0a71400f51139c3125846b10824ae537ebd Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 19 七月 2023 10:25:19 +0800
Subject: [PATCH] 专家劳务费统计表

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java |   50 ++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 46 insertions(+), 4 deletions(-)

diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
index b5eee76..87e72dc 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -1,7 +1,5 @@
 package com.ruoyi.web.controller.project;
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.annotation.RepeatSubmit;
 import com.ruoyi.common.config.RuoYiConfig;
@@ -13,7 +11,6 @@
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.enums.BusinessType;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.HttpClientKit;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
@@ -33,6 +30,7 @@
 import java.math.BigDecimal;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.ruoyi.web.controller.project.ServiceReimbursementController.convert;
 
@@ -647,7 +645,7 @@
         Template t = null;
         try {
             //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
-            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl");
+            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl");
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -714,6 +712,7 @@
         for (ServiceFunddetail f : fd) {
             Map<String, Object> map = new HashMap<String, Object>();
 
+
             map.put("XH", f.getItemcode() == null ? "" : f.getItemcode());
             String itemName = f.getItemname() == null ? "" : f.getItemname();
             String servicesscopename = f.getServicesscopename() == null ? "" : "(" + f.getServicesscopename() + ")";
@@ -735,12 +734,55 @@
             newsList.add(map);
         }
 
+        //  涓撳鍔冲姟璐圭粺璁¤〃
+        List<Map<String, Object>> lists = new ArrayList<Map<String, Object>>();
+
+        List<Double> sqljList = new ArrayList<>();
+        List<Double> ksljList = new ArrayList<>();
+        List<Double> shljList = new ArrayList<>();
+        Map<String, Optional<ServiceFunddetailAssort>> result = fd.stream().collect(Collectors.groupingBy(ServiceFunddetail::getApplytypename, Collectors.mapping(obj -> new ServiceFunddetailAssort(obj.getAmount(), obj.getTaxamount(), obj.getTaxedamount()), Collectors.reducing(ServiceFunddetailAssort::add))));
+        result.forEach((FWFL, serviceFunddetailAssort) -> {
+            Map<String, Object> map1 = new HashMap<String, Object>();
+            map1.put("FWFL", FWFL);
+            map1.put("SQXJ", serviceFunddetailAssort.get().getSQXJ());
+            map1.put("KSXJ", serviceFunddetailAssort.get().getKSXJ());
+            map1.put("SHXJ", serviceFunddetailAssort.get().getSHXJ());
+            sqljList.add(serviceFunddetailAssort.get().getSQXJ());
+            ksljList.add(serviceFunddetailAssort.get().getKSXJ());
+            shljList.add(serviceFunddetailAssort.get().getSHXJ());
+            lists.add(map1);
+        });
+
+        double sqxj = 0;
+        double kslj = 0;
+        double shlj = 0;
+        for (Double sqx : sqljList) {
+            sqxj += sqx;
+        }
+        for (Double ksl : ksljList) {
+            kslj += ksl;
+        }
+        for (Double shl : shljList) {
+            shlj += shl;
+        }
+
+        //鏁版嵁灏佽
         dataMap.put("list", newsList);
+        for (int i = 0; i < lists.size(); i++) {
+            Map<String, Object> map = lists.get(i);
+            map.put("XH", i+1);
+        }
+
+        dataMap.put("item", lists);
 
         dataMap.put("SQHJ", sq);
         dataMap.put("KSHJ", ks);
         dataMap.put("SHHJ", sh);
 
+        dataMap.put("SQLJ", sqxj);
+        dataMap.put("KSLJ", kslj);
+        dataMap.put("SHLJ", shlj);
+
     }
 
 

--
Gitblit v1.9.3