From a88e19be56fab4f06aae0248575b55fed41eaa1e Mon Sep 17 00:00:00 2001 From: yxh <172933527@qq.com> Date: 星期四, 04 一月 2024 09:47:20 +0800 Subject: [PATCH] yxh --- ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java | 62 ++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 18 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..5288147 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; @@ -137,8 +139,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 +680,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(); @@ -690,14 +701,11 @@ if (CollectionUtils.isEmpty(serviceFunddetails)) { throw new BaseException("serviceFunddetails涓虹┖鍠�"); } + + BigDecimal bigDecimal = new BigDecimal(0.0); // 淇濆瓨璇︽儏鏁版嵁 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()); } @@ -705,9 +713,13 @@ //灏囬檮浠惰浆鎴恓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); @@ -716,8 +728,13 @@ } else { serviceFunddetailService.updateById(serviceFunddetail); } - } + bigDecimal = bigDecimal.add(BigDecimal.valueOf(serviceFunddetailVO.getAmount())); + + + } + serviceFundVO.setPretaxcost(bigDecimal.doubleValue()); + serviceFundMapper.updateById(serviceFundVO); return id; } @@ -758,7 +775,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 +792,6 @@ //鐢ㄤ簬杩斿洖excel List<ServiceFunddetailExcel> serviceFunddetailList = new ArrayList<>(); - //鎵撳嵃excel - ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class); if (totalTaxVO.getIsTaxAfter() == 1) { //閫氳繃鍙楃泭浜哄悕绉帮紝灏嗙◣鍓嶃�佺◣鍚庣殑鍊肩浉鍔� @@ -796,8 +816,10 @@ } serviceFunddetailList.add(serviceFunddetailExcel); } - //鎵撳嵃绠楄繃绋庝箣鍚庣殑锛屽悎璁xcel - util.exportExcel(serviceFunddetailList, "鍚堣涓◣锛堢◣鍚庯級"); + //杩斿洖绠楄繃绋庝箣鍚庣殑锛屽悎璁� + map.put("鍚堣涓◣锛堢◣鍚庯級", serviceFunddetailList); + return map; + } else { a: for (ServiceFunddetail serviceFunddetail : serviceFunddetails) { @@ -814,7 +836,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 +882,10 @@ if (ObjectUtils.isNotEmpty(sfeAfter.getBeneficiaryname())) serviceFunddetailList.add(sfeAfter); } - //鎵撳嵃绠楃◣涔嬪墠鐨勶紝鍚堣excel - util.exportExcel(serviceFunddetailList, "鍚堣涓◣锛堢◣鍓嶏級"); + //杩斿洖绠楃◣涔嬪墠鐨勶紝鍚堣 + map.put("鍚堣涓◣锛堢◣鍓嶏級", serviceFunddetailList); + return map; } - return true; } -- Gitblit v1.9.3