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