From 4b6e55140537e4932f4ea46f6c62c72af1ddb40e Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期一, 07 八月 2023 16:38:01 +0800
Subject: [PATCH] 加上日志

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java |  106 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 85 insertions(+), 21 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..c239a71 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,8 @@
 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.tax.TaxtUtils;
+import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.DtoConversionUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
 import com.ruoyi.project.domain.*;
@@ -25,14 +24,17 @@
 import freemarker.template.TemplateException;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.annotations.Options;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.*;
 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;
 
@@ -42,6 +44,7 @@
  * @author ruoyi
  * @date 2022-01-24
  */
+@Slf4j
 @Api("璐圭敤鐢宠涓�")
 @RestController
 @RequestMapping("/project/fund")
@@ -428,20 +431,14 @@
      */
     @ApiOperation("鏂板璐圭敤姹囨��")
     @Log(title = "鏂板璐圭敤姹囨��", businessType = BusinessType.INSERT)
-    @PostMapping("/addnew")
+    @PostMapping("/addOrUpdateNew")
     @RepeatSubmit
     @Options(useGeneratedKeys = true, keyProperty = "id")
-    public AjaxResult addnew(@RequestBody ServiceFundVO serviceFundVO) {
-        boolean b = serviceFundService.save(serviceFundVO);
-        Long id = serviceFundVO.getId();
-//        if (b) {
-//            addReiSharedDatd(serviceFundVO, 1);
-//        }
-        List<ServiceFunddetail> serviceFunddetails = serviceFundVO.getServiceFunddetails();
-        serviceFunddetails.forEach(item -> item.setFundid(id));
-        serviceFunddetailService.saveBatch(serviceFunddetails);
-        return AjaxResult.success(id);
+    public AjaxResult addOrUpdateNew(@RequestBody ServiceFundVO serviceFundVO) {
+
+        return AjaxResult.success(serviceFundService.addOrUpdateNew(serviceFundVO));
     }
+
 
     /**
      * 瀹℃牳璐圭敤
@@ -586,15 +583,19 @@
 
 
     /**
-     * 淇敼璐圭敤鐢宠涓�
+     * 淇敼璐圭敤鐢宠
      */
-    @ApiOperation("淇敼璐圭敤鐢宠涓�")
+    @ApiOperation("淇敼璐圭敤鐢宠")
     //@PreAuthorize("@ss.hasPermi('project:fund:edit')")
     @Log(title = "璐圭敤鐢宠涓�", businessType = BusinessType.UPDATE)
     @PutMapping
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceFund serviceFund) {
-        List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getId());
+        List<ServiceFund> infoByInfoIdList = serviceFundService.queryInfoById(serviceFund);
+        if (CollectionUtils.isEmpty(infoByInfoIdList)) {
+            log.info("淇敼璐圭敤鐢宠锛岄�氳繃鍏ュ弬鏌ヨ serviceFundService.queryInfoById鏁版嵁涓虹┖,鍏ュ弬:{}", serviceFund);
+            return toAjax(false);
+        }
         for (ServiceFund sf : infoByInfoIdList) {
             //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
             if (sf.getBackflowlevel() == 100 || sf.getBackflowlevel() == 199) {
@@ -647,7 +648,7 @@
         Template t = null;
         try {
             //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
-            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl");
+            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl");
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -688,11 +689,12 @@
         dataMap.put("BXDFJ", serviceFund.getAttachcount() == 0 ? "   " : serviceFund.getAttachcount());
         dataMap.put("JXZXM", serviceFund.getDonorname() == null ? "" : serviceFund.getDonorname());
         dataMap.put("JSR", serviceFund.getUsername() == null ? "" : serviceFund.getUsername());
-        dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+//        dataMap.put("FYXM1", "鏀粯涓撳璐圭敤锛屽叾涓◣鍓嶉噾棰�" + serviceFund.getPretaxcost() + "鍏冿紝绋庡悗閲戦" + serviceFund.getTaxedcost() + "鍏冦��");
+        dataMap.put("FYXM1", "浜轰綋鍣ㄥ畼鎹愮尞涓撳鍔冲姟璐�:" + serviceFund.getPretaxcost() + "鍏� (鍏朵腑绋庡悗璐圭敤鐢变腑蹇冩壙鎷呯◣璐�)銆�");
         dataMap.put("FYXM2", "");
         dataMap.put("FYXM3", "");
-        dataMap.put("JEXS", serviceFund.getAmountrequested());
-        dataMap.put("JEDS", convert(serviceFund.getAmountrequested()) + "鏁�");
+        dataMap.put("JEXS", serviceFund.getPretaxcost());
+        dataMap.put("JEDS", convert(serviceFund.getPretaxcost()) + "鏁�");
         dataMap.put("BXBZ", serviceFund.getRemark() == null ? "" : serviceFund.getRemark());
 
 
@@ -713,6 +715,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();
@@ -735,12 +738,73 @@
             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, ServiceFunddetailAssort> funddetailMap = new HashMap<>();
+        for (ServiceFunddetail serviceFunddetail : fd) {
+            boolean b = funddetailMap.containsKey(serviceFunddetail.getSubjecttypename());
+            if (b == true) {
+                ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+                serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+                serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+                serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+            } else {
+                funddetailMap.put(serviceFunddetail.getSubjecttypename(), new ServiceFunddetailAssort());
+                ServiceFunddetailAssort serviceFunddetailAssort = funddetailMap.get(serviceFunddetail.getSubjecttypename());
+                serviceFunddetailAssort.setKSXJ(serviceFunddetailAssort.getKSXJ() + serviceFunddetail.getTaxamount());
+                serviceFunddetailAssort.setSQXJ(serviceFunddetailAssort.getSQXJ() + serviceFunddetail.getAmount());
+                serviceFunddetailAssort.setSHXJ(serviceFunddetailAssort.getSHXJ() + serviceFunddetail.getTaxedamount());
+            }
+        }
+
+        funddetailMap.forEach((FWFL, serviceFunddetailAssort) -> {
+            Map<String, Object> map1 = new HashMap<String, Object>();
+            map1.put("FWFL", FWFL);
+            map1.put("SQXJ", serviceFunddetailAssort.getSQXJ());
+            map1.put("KSXJ", serviceFunddetailAssort.getKSXJ());
+            map1.put("SHXJ", serviceFunddetailAssort.getSHXJ());
+            sqljList.add(serviceFunddetailAssort.getSQXJ());
+            ksljList.add(serviceFunddetailAssort.getKSXJ());
+            shljList.add(serviceFunddetailAssort.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