From 0028d554cb0dcae4d5250dac3d0f2a1e5d2f2da2 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期三, 26 七月 2023 15:27:57 +0800
Subject: [PATCH] 修改字段

---
 ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java |   93 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 80 insertions(+), 13 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 ac64e1f..782e319 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;
 
@@ -450,7 +448,7 @@
     @Log(title = "瀹℃牳璐圭敤", businessType = BusinessType.OTHER)
     @PostMapping("/checkfund")
     public AjaxResult checkFund(@RequestBody CheckFundVO checkFundVO) {
-        logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}",checkFundVO);
+        logger.info("serviceFundController---checkFund鐨勫叆鍙傚�糲heckFundVO :{}", checkFundVO);
         ServiceFund serviceFund = serviceFundService.getById(checkFundVO.getFundid());
         if (serviceFund != null) {
             Integer TotalLevel = 0;
@@ -459,7 +457,7 @@
             serviceFundflowrule.setFundtype(2);
             serviceFundflowrule.setApplytype(serviceFund.getApplytype());
             serviceFundflowrule.setCheckuserno(loginUser.getUsername());
-            logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}",serviceFundflowrule);
+            logger.info("serviceFundController---checkFund---queryList鐨勫叆鍙傚�約erviceFundflowrule:{}", serviceFundflowrule);
 
             List<ServiceFundflowrule> serviceFundflowrules = serviceFundflowruleService.queryList(serviceFundflowrule);
 
@@ -493,10 +491,15 @@
                 FlowLevel = FlowLevel + 1;
             } else {
                 CheckFlag = 2;
-                RecordStatus = (FlowLevel + 1) * 2 - 1;
-                FlowLevel = (FlowLevel - 1);
-                if (FlowLevel < 0) {
+                if (CheckFlag == 2) {
+                    //搴斿尰闄㈣姹傚鏋滃嚭鐜伴��鍥烇紝鐩存帴閫�鍒板彂璧疯��
                     FlowLevel = 0;
+                } else {
+                    RecordStatus = (FlowLevel + 1) * 2 - 1;
+                    FlowLevel = (FlowLevel - 1);
+                    if (FlowLevel < 0) {
+                        FlowLevel = 0;
+                    }
                 }
             }
 
@@ -550,7 +553,7 @@
                     columnMap.put("fundID", checkFundVO.getFundid());
                     //鑾峰彇璇︽儏鏁版嵁
                     List<ServiceFunddetail> serviceFunddetails = serviceFunddetailMapper.selectByMap(columnMap);
-                    logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}",serviceFunddetails);
+                    logger.info("serviceFundController---checkFund鐨勮繑鍥炲�約erviceFunddetails :{}", serviceFunddetails);
                     List<ServiceFunddetailShared> serviceFunddetailShareds = DtoConversionUtils.sourceToTarget(serviceFunddetails, ServiceFunddetailShared.class);
                     for (int i = 0; i < serviceFunddetails.size(); i++) {
                         serviceFunddetailShareds.get(i).setFundid(serviceFundShared.getId());
@@ -589,11 +592,30 @@
     @PutMapping
     @RepeatSubmit
     public AjaxResult edit(@RequestBody ServiceFund serviceFund) {
-        boolean bret = serviceFundService.updateById(serviceFund);
+        List<ServiceFund> infoByInfoIdList = serviceFundService.getInfoByInfoId(serviceFund.getId());
+        for (ServiceFund sf : infoByInfoIdList) {
+            //濡傛灉绛変簬100锛岃鏄庡凡缁忚蛋鍒板尰闄㈣储鍔¢偅杈逛簡锛涜储鍔¢偅杈瑰彇鏁版嵁鏄粠鍒嗕韩琛ㄥ彇锛屾墍浠ワ紝杩欓噷鐩存帴寰�鍒嗕韩琛ㄩ噷娣诲姞鏁版嵁灏辫浜�
+            if (sf.getBackflowlevel() == 100 || sf.getBackflowlevel() == 199) {
+                ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
+                serviceFundShared.setId(null);
+                serviceFundShared.setDel_flag(0);
+                fundSharedService.save(serviceFundShared);
+
+                //灏唂und琛ㄧ殑瀹℃牳鐘舵�佹敼鎴�100
+                sf.setBackflowlevel(100);
+                serviceFundService.updateById(sf);
+                return success();
+            } else {
+                serviceFund.setFlowlevel(sf.getBackflowlevel());
+                boolean bret = serviceFundService.updateById(serviceFund);
 //        if (bret) {
 //            addReiSharedDatd(serviceFund, 2);
 //        }
-        return toAjax(bret);
+                return toAjax(bret);
+            }
+        }
+
+        return toAjax(false);
     }
 
     /**
@@ -623,7 +645,7 @@
         Template t = null;
         try {
             //鎹愮尞琛�.ftl涓鸿瑁呰浇鐨勬ā鏉�
-            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟.ftl");
+            t = configuration.getTemplate("涓撳鍔冲姟璐瑰彂鏀剧敵璇峰崟(1).ftl");
         } catch (IOException e) {
             e.printStackTrace();
         }
@@ -664,7 +686,8 @@
         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.getTaxedcost() + "鍏� (鍏朵腑绋庡悗璐圭敤鐢变腑蹇冩壙鎷呯◣璐�)銆�");
         dataMap.put("FYXM2", "");
         dataMap.put("FYXM3", "");
         dataMap.put("JEXS", serviceFund.getAmountrequested());
@@ -690,6 +713,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() + ")";
@@ -711,12 +735,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::getSubjecttypename, 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