From 90c52bfb0f6f1092917277c6aeb0b00e428d0c47 Mon Sep 17 00:00:00 2001
From: liusheng <337615773@qq.com>
Date: 星期四, 29 二月 2024 10:17:47 +0800
Subject: [PATCH] 代码提交

---
 ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java |  111 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 72 insertions(+), 39 deletions(-)

diff --git a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
index 2e2f0b6..0c78571 100644
--- a/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
+++ b/ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -1,6 +1,7 @@
 package com.ruoyi.project.service.impl;
 
 import java.io.File;
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -10,6 +11,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.annotation.NotRepeatCommit;
 import com.ruoyi.common.config.RuoYiConfig;
 import com.ruoyi.common.exception.base.BaseException;
 import com.ruoyi.common.utils.ChineseUtils;
@@ -107,6 +109,9 @@
         if (serviceFund.getUploadtime() != null) {
             wrappers.eq(ServiceFund::getUploadtime, serviceFund.getUploadtime());
         }
+        if (serviceFund.getUploadStates() != null) {
+            wrappers.eq(ServiceFund::getUploadStates, serviceFund.getUploadStates());
+        }
         if (serviceFund.getFlowlevel() != null) {
             wrappers.eq(ServiceFund::getFlowlevel, serviceFund.getFlowlevel());
         }
@@ -137,8 +142,18 @@
     }
 
     @Override
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public Boolean addFundSharedInfo(Long id) {
+        log.info("fund琛ㄧ殑id锛歿}", id);
+        //鍒ゆ柇涓�涓嬶紝share琛ㄦ槸鍚﹀凡缁忓瓨鍦ㄤ簡
+        Map<String, Object> map = new HashMap<>();
+        map.put("serfunid", id);
+        map.put("del_flag", 0);
+        List<ServiceFundShared> serviceFundSharedList = serviceFundSharedMapper.selectByMap(map);
+        if (!CollectionUtils.isEmpty(serviceFundSharedList)) {
+            return true;
+        }
+
         ServiceFund serviceFund = serviceFundMapper.selectById(id);
         ServiceFundShared serviceFundShared = DtoConversionUtils.sourceToTarget(serviceFund, ServiceFundShared.class);
         serviceFundShared.setSerfunid(serviceFundShared.getId());
@@ -668,7 +683,6 @@
     @Override
     public int countItem(Long infoid, Long itemid) {
         List<ServiceFund> serviceFunds = serviceFundMapper.getInfoByInfoId(infoid);
-
         int count = 0;
         for (ServiceFund s : serviceFunds) {
             long fundid = s.getId();
@@ -684,40 +698,50 @@
     public Long addOrUpdateNew(ServiceFundVO serviceFundVO) {
         Long id = null;
         //灏嗘暟鎹繚瀛樺埌fund琛�
+        serviceFundVO.setUploadStates(0);
         id = saveFund(serviceFundVO);
 
         List<ServiceFunddetailVO> serviceFunddetails = serviceFundVO.getServiceFunddetails();
-        if (CollectionUtils.isEmpty(serviceFunddetails)) {
-            throw new BaseException("serviceFunddetails涓虹┖鍠�");
-        }
-        // 淇濆瓨璇︽儏鏁版嵁
-        for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
-            if (StringUtils.isEmpty(serviceFunddetailVO.getIdcardno())) {
-                throw new BaseException("璇锋鏌ヨ韩浠借瘉鍙�,韬唤璇佸彿涓虹┖浜�,濮撳悕锛�" + serviceFunddetailVO.getBeneficiaryname());
-            }
-            if (StringUtils.isEmpty(serviceFunddetailVO.getTitle()) || ChineseUtils.isChinese(serviceFunddetailVO.getTitle())) {
-                throw new BaseException("璇锋鏌ヨ亴绉版槸鍚︿负绌猴紙鎴栦笉鏄腑鏂囷級,濮撳悕锛�" + serviceFunddetailVO.getBeneficiaryname() + "  鑱岀О:" + serviceFunddetailVO.getTitle());
-            }
-            if (StringUtils.isEmpty(serviceFunddetailVO.getBankcardno())) {
-                throw new BaseException("璇锋鏌ラ摱琛屽崱鍙锋槸鍚︿负绌�,濮撳悕锛�" + serviceFunddetailVO.getBeneficiaryname());
-            }
-            serviceFunddetailVO.setFundid(id);
-            //灏囬檮浠惰浆鎴恓son
-            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
-                serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
-            }
-            if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoicefilesList())) {
-                serviceFunddetailVO.setInvoicefiles(JSON.toJSONString(serviceFunddetailVO.getInvoicefilesList()));
-            }
-            ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
 
-            if (serviceFunddetailVO.getId() == null) {
-                serviceFunddetailService.save(serviceFunddetail);
-            } else {
-                serviceFunddetailService.updateById(serviceFunddetail);
+        BigDecimal bigDecimal = new BigDecimal(0.0);
+        if (!CollectionUtils.isEmpty(serviceFunddetails)) {
+
+            // 淇濆瓨璇︽儏鏁版嵁
+            for (ServiceFunddetailVO serviceFunddetailVO : serviceFunddetails) {
+                //鍘绘帀韬唤璇佺殑棣栧熬绌烘牸
+                if (StringUtils.isNotEmpty(serviceFunddetailVO.getIdcardno())) {
+                    serviceFunddetailVO.setIdcardno(serviceFunddetailVO.getIdcardno().trim());
+                }
+
+                if (StringUtils.isEmpty(serviceFunddetailVO.getBankcardno())) {
+                    throw new BaseException("璇锋鏌ラ摱琛屽崱鍙锋槸鍚︿负绌�,濮撳悕锛�" + serviceFunddetailVO.getBeneficiaryname());
+                }
+                serviceFunddetailVO.setFundid(id);
+                //灏囬檮浠惰浆鎴恓son
+                if (!CollectionUtils.isEmpty(serviceFunddetailVO.getAnnexfilesList())) {
+                    serviceFunddetailVO.setAnnexfiles(JSON.toJSONString(serviceFunddetailVO.getAnnexfilesList()));
+                } else {
+                    serviceFunddetailVO.setAnnexfiles(null);
+                }
+                if (!CollectionUtils.isEmpty(serviceFunddetailVO.getInvoicefilesList())) {
+                    serviceFunddetailVO.setInvoicefiles(JSON.toJSONString(serviceFunddetailVO.getInvoicefilesList()));
+                } else {
+                    serviceFunddetailVO.setInvoicefiles(null);
+                }
+                ServiceFunddetail serviceFunddetail = DtoConversionUtils.sourceToTarget(serviceFunddetailVO, ServiceFunddetail.class);
+
+                if (serviceFunddetailVO.getId() == null) {
+                    serviceFunddetailService.save(serviceFunddetail);
+                } else {
+                    serviceFunddetailService.updateById(serviceFunddetail);
+                }
+
+                bigDecimal = bigDecimal.add(BigDecimal.valueOf(serviceFunddetailVO.getAmount()));
+
             }
         }
-
+        serviceFundVO.setPretaxcost(bigDecimal.doubleValue());
+        serviceFundMapper.updateById(serviceFundVO);
         return id;
     }
 
@@ -758,7 +782,12 @@
     }
 
     @Override
-    public Boolean totaltax(TotalTaxVO totalTaxVO) {
+    public Map<String, List<ServiceFunddetailExcel>> totaltax(TotalTaxVO totalTaxVO) {
+        if (CollectionUtils.isEmpty(totalTaxVO.getFundids())) {
+            throw new BaseException("璇峰嬀閫変箣鍚庯紝鍐嶈繘琛屽悎璁′釜绋�");
+        }
+        Map<String, List<ServiceFunddetailExcel>> map = new HashMap<>();
+
         if (totalTaxVO.getIsTaxAfter() == null) {
             //濡備綍涓虹┖锛岄粯璁ゅ綋娌℃湁绠楄繃绋庯紝杩涜鍚堣
             totalTaxVO.setIsTaxAfter(0);
@@ -770,8 +799,6 @@
 
         //鐢ㄤ簬杩斿洖excel
         List<ServiceFunddetailExcel> serviceFunddetailList = new ArrayList<>();
-        //鎵撳嵃excel
-        ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class);
 
         if (totalTaxVO.getIsTaxAfter() == 1) {
             //閫氳繃鍙楃泭浜哄悕绉帮紝灏嗙◣鍓嶃�佺◣鍚庣殑鍊肩浉鍔�
@@ -796,8 +823,10 @@
                 }
                 serviceFunddetailList.add(serviceFunddetailExcel);
             }
-            //鎵撳嵃绠楄繃绋庝箣鍚庣殑锛屽悎璁xcel
-            util.exportExcel(serviceFunddetailList, "鍚堣涓◣锛堢◣鍚庯級");
+            //杩斿洖绠楄繃绋庝箣鍚庣殑锛屽悎璁�
+            map.put("鍚堣涓◣锛堢◣鍚庯級", serviceFunddetailList);
+            return map;
+
         } else {
             a:
             for (ServiceFunddetail serviceFunddetail : serviceFunddetails) {
@@ -814,7 +843,11 @@
 
                 for (ServiceFunddetail serviceFunddetail2 : serviceFunddetails) {
                     if (StringUtils.isEmpty(serviceFunddetail2.getServicesscopename())) {
-                        throw new BaseException("鏈嶅姟璇存槑涓虹┖,璇锋鏌ュ悗鍐嶈绠�");
+                        ServiceFund serviceFund = null;
+                        if (serviceFunddetail2.getFundid() == null) {
+                            serviceFund = serviceFundMapper.selectById(serviceFunddetail2.getFundid());
+                        }
+                        throw new BaseException("鏈嶅姟璇存槑涓虹┖,璇锋鏌ュ悗鍐嶈绠�,鎹愮尞鑰呬负 :" + serviceFund.getDonorname());
                     }
                     if (serviceFunddetail.getBeneficiaryname().equals(serviceFunddetail2.getBeneficiaryname()) && !(serviceFunddetail2.getServicesscopename().equals("绋庡悗"))) {
                         //绱绋庡墠
@@ -856,10 +889,10 @@
                 if (ObjectUtils.isNotEmpty(sfeAfter.getBeneficiaryname())) serviceFunddetailList.add(sfeAfter);
 
             }
-            //鎵撳嵃绠楃◣涔嬪墠鐨勶紝鍚堣excel
-            util.exportExcel(serviceFunddetailList, "鍚堣涓◣锛堢◣鍓嶏級");
+            //杩斿洖绠楃◣涔嬪墠鐨勶紝鍚堣
+            map.put("鍚堣涓◣锛堢◣鍓嶏級", serviceFunddetailList);
+            return map;
         }
-        return true;
     }
 
 

--
Gitblit v1.9.3