From a61aab6e092edb968ac83fc54c80c7ccae125066 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= <18222067976@163.com> Date: Fri, 15 Oct 2021 11:42:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9bug#40701?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PayPackCompanyController.java | 85 +++++++++++++++---- .../pack/mapper/PayPackCompanyMapper.java | 2 +- .../pack/mapper/xml/PayPackCompanyMapper.xml | 12 ++- .../pack/service/IPayPackCompanyService.java | 4 +- .../impl/PayPackCompanyServiceImpl.java | 4 +- 5 files changed, 84 insertions(+), 23 deletions(-) diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java index 55f1ac14..396ada8d 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/controller/PayPackCompanyController.java @@ -4,6 +4,7 @@ import java.math.BigDecimal; import java.util.Arrays; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,22 +17,28 @@ import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; +import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; +import com.jero.common.util.oConvertUtils; import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.service.IPayMailBillProjectService; import com.jero.pack.entity.PayPackCompany; import com.jero.pack.entity.PayPackCompanyProject; import com.jero.pack.service.IPayPackCompanyProjectService; import com.jero.pack.service.IPayPackCompanyService; -import com.jero.pack.vo.PayPackCompanyProjectInput; import com.jero.project.entity.PayCommonProject; import com.jero.temporary.entity.PayContactsManagementTemporary; import com.jero.temporary.service.IPayContactsManagementTemporaryService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.jeecgframework.poi.excel.def.NormalExcelConstants; +import org.jeecgframework.poi.excel.entity.ExportParams; +import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; +import org.springframework.core.env.Environment; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; import io.swagger.annotations.Api; @@ -56,6 +63,8 @@ public class PayPackCompanyController extends JeroController pageList = payPackCompanyService.page(page, queryWrapper); if(!CollectionUtils.isEmpty(pageList.getRecords())){ List list = pageList.getRecords(); + // 获取 打包费用,实际到账金额 + List listPackIds = list.stream().map(PayPackCompany::getId).collect(Collectors.toList()); + List listPayCommonProject = payPackCompanyService.queryPackListCount(listPackIds); list.forEach(p->{ - // 获取 打包费用,实际到账金额 - PayPackCompanyProjectInput input = new PayPackCompanyProjectInput(); - input.setCompanyId(p.getCompanyId()); - input.setPackId(p.getId()); - PayCommonProject payCommonProject = payPackCompanyService.queryPackListCount(input); - if(!Objects.isNull(payCommonProject)){ - p.setReceiptExpense(payCommonProject.getPaidAmount()); - }else{ + if(!CollectionUtils.isEmpty(listPayCommonProject)){ + List listCount = listPayCommonProject.stream().filter(item->Objects.equals(p.getId(),item.getId())).collect(Collectors.toList()); + if(!CollectionUtils.isEmpty(listCount)){ + p.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount()); + } + } + if(Objects.isNull(p.getReceiptExpense())){ p.setReceiptExpense(new BigDecimal("0.00")); } if(Objects.isNull(p.getPackChargeTotal())){ @@ -216,12 +227,9 @@ public class PayPackCompanyController extends JeroController listPayCommonProject = payPackCompanyService.queryPackListCount(Arrays.asList(payPackCompany.getId().split(","))); + if(!CollectionUtils.isEmpty(listPayCommonProject)){ + payPackCompany.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount()); }else{ payPackCompany.setReceiptExpense(new BigDecimal("0.00")); } @@ -252,7 +260,52 @@ public class PayPackCompanyController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payPackCompany, request.getParameterMap()); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + + // Step.2 获取导出数据 + List pageList = payPackCompanyService.list(queryWrapper); + List exportList = null; + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + exportList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } else { + exportList = pageList; + } + if(!CollectionUtils.isEmpty(exportList)){ + List listPackIds = exportList.stream().map(PayPackCompany::getId).collect(Collectors.toList()); + List listPayCommonProject = payPackCompanyService.queryPackListCount(listPackIds); + exportList.forEach(p->{ + if (!CollectionUtils.isEmpty(listPayCommonProject)) { + List listCount = listPayCommonProject.stream().filter(item -> Objects.equals(p.getId(), item.getId())).collect(Collectors.toList()); + if (!CollectionUtils.isEmpty(listCount)) { + p.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount()); + } + } + if (Objects.isNull(p.getReceiptExpense())) { + p.setReceiptExpense(new BigDecimal("0.00")); + } + if (Objects.isNull(p.getPackChargeTotal())) { + p.setPackChargeTotal(new BigDecimal("0.00")); + } + }); + } + + // Step.3 AutoPoi 导出Excel + ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); + mv.addObject(NormalExcelConstants.FILE_NAME, "打包企业管理"); //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.CLASS, PayPackCompany.class); + //update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置-------------------- + ExportParams exportParams=new ExportParams("打包企业管理", "打包企业管理"); + exportParams.setImageBasePath(env.getProperty("jero.path.upload")); + //update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置---------------------- + mv.addObject(NormalExcelConstants.PARAMS,exportParams); + mv.addObject(NormalExcelConstants.DATA_LIST, exportList); + return mv; } /** diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java index 52b81ac9..f6febaeb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/PayPackCompanyMapper.java @@ -24,7 +24,7 @@ public interface PayPackCompanyMapper extends BaseMapper { * @Return * @Exception */ - PayCommonProject queryPackListCount(PayPackCompanyProjectInput input); + List queryPackListCount(List listPackIds); /** * @Description 导出excel数据 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml index 968ccfde..5e8ae9a4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/mapper/xml/PayPackCompanyMapper.xml @@ -2,8 +2,16 @@ \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java index 2c703c19..906285c9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/IPayPackCompanyService.java @@ -36,9 +36,9 @@ public interface IPayPackCompanyService extends IService { * @Description 查询金额 * @Author lqt * @Date 2021/9/13 - * @Param + * @Param listPackIds 打包企业id * @Return * @Exception */ - PayCommonProject queryPackListCount(PayPackCompanyProjectInput input); + List queryPackListCount(List listPackIds); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java index 1cdad6a4..2b03d77f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/pack/service/impl/PayPackCompanyServiceImpl.java @@ -89,8 +89,8 @@ public class PayPackCompanyServiceImpl extends ServiceImpl queryPackListCount(List listPackIds) { + return payPackCompanyMapper.queryPackListCount(listPackIds); } /**