ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceFundController.java
@@ -1,6 +1,7 @@ package com.ruoyi.web.controller.project; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.annotation.RepeatSubmit; @@ -13,6 +14,7 @@ import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.tax.TaxtUtils; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; @@ -2126,12 +2128,20 @@ @PostMapping("/totaltax") @RepeatSubmit public AjaxResult totaltax(@RequestBody TotalTaxVO totalTaxVO) { Boolean totaltax = serviceFundService.totaltax(totalTaxVO); if (totaltax) { return AjaxResult.success("合计个税成功,请去E:\\OPO\\WEB\\Upload\\download 中查找文件"); Map<String, List<ServiceFunddetailExcel>> totaltax = serviceFundService.totaltax(totalTaxVO); if (ObjectUtils.isEmpty(totaltax)) { throw new BaseException("合计个税失败"); } return AjaxResult.success("合计失败,请稍后重试"); Set<String> strings = totaltax.keySet(); String key2 = null; for (String key : strings) { key2 = key; } ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class); return AjaxResult.success(util.exportExcel(totaltax.get(key2), key2)); } } ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceFundService.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.project.domain.ServiceFund; import com.ruoyi.project.domain.ServiceFunddetail; import com.ruoyi.project.domain.ServiceFunddetailExcel; import com.ruoyi.project.domain.vo.*; import org.springframework.web.bind.annotation.PathVariable; @@ -66,6 +67,6 @@ */ Map<String, Long> performance(ServiceFundVO serviceFundVO); Boolean totaltax(TotalTaxVO totalTaxVO); Map<String, List<ServiceFunddetailExcel>> totaltax(TotalTaxVO totalTaxVO); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceFundServiceImpl.java
@@ -758,7 +758,9 @@ } @Override public Boolean totaltax(TotalTaxVO totalTaxVO) { public Map<String, List<ServiceFunddetailExcel>> totaltax(TotalTaxVO totalTaxVO) { Map<String, List<ServiceFunddetailExcel>> map = new HashMap<>(); if (totalTaxVO.getIsTaxAfter() == null) { //如何为空,默认当没有算过税,进行合计 totalTaxVO.setIsTaxAfter(0); @@ -770,8 +772,6 @@ //用于返回excel List<ServiceFunddetailExcel> serviceFunddetailList = new ArrayList<>(); //打印excel ExcelUtil<ServiceFunddetailExcel> util = new ExcelUtil<ServiceFunddetailExcel>(ServiceFunddetailExcel.class); if (totalTaxVO.getIsTaxAfter() == 1) { //通过受益人名称,将税前、税后的值相加 @@ -796,8 +796,10 @@ } serviceFunddetailList.add(serviceFunddetailExcel); } //打印算过税之后的,合计excel util.exportExcel(serviceFunddetailList, "合计个税(税后)"); //返回算过税之后的,合计 map.put("合计个税(税后)", serviceFunddetailList); return map; } else { a: for (ServiceFunddetail serviceFunddetail : serviceFunddetails) { @@ -814,7 +816,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 +862,10 @@ if (ObjectUtils.isNotEmpty(sfeAfter.getBeneficiaryname())) serviceFunddetailList.add(sfeAfter); } //打印算税之前的,合计excel util.exportExcel(serviceFunddetailList, "合计个税(税前)"); //返回算税之前的,合计 map.put("合计个税(税前)", serviceFunddetailList); return map; } return true; }