修改bug#40701
This commit is contained in:
+69
-16
@@ -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<PayPackCompany, IPa
|
||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||
@Resource
|
||||
private IPayMailBillProjectService payMailBillProjectService;
|
||||
@Resource
|
||||
private Environment env;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -78,15 +87,17 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
||||
IPage<PayPackCompany> pageList = payPackCompanyService.page(page, queryWrapper);
|
||||
if(!CollectionUtils.isEmpty(pageList.getRecords())){
|
||||
List<PayPackCompany> list = pageList.getRecords();
|
||||
// 获取 打包费用,实际到账金额
|
||||
List<String> listPackIds = list.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
List<PayCommonProject> 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<PayCommonProject> 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<PayPackCompany, IPa
|
||||
}
|
||||
}
|
||||
// 获取 打包费用,实际到账金额
|
||||
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
||||
input.setCompanyId(payPackCompany.getCompanyId());
|
||||
input.setPackId(payPackCompany.getId());
|
||||
PayCommonProject payCommonProject = payPackCompanyService.queryPackListCount(input);
|
||||
if(!Objects.isNull(payCommonProject)){
|
||||
payPackCompany.setReceiptExpense(payCommonProject.getPaidAmount());
|
||||
List<PayCommonProject> 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<PayPackCompany, IPa
|
||||
@GetMapping(value = "/exportXls")
|
||||
@RequiresPermissions("packCompany:export")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayPackCompany payPackCompany) {
|
||||
return super.exportXls(request, payPackCompany, PayPackCompany.class, "打包企业管理");
|
||||
// Step.1 组装查询条件
|
||||
QueryWrapper<PayPackCompany> queryWrapper = QueryGenerator.initQueryWrapper(payPackCompany, request.getParameterMap());
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
// Step.2 获取导出数据
|
||||
List<PayPackCompany> pageList = payPackCompanyService.list(queryWrapper);
|
||||
List<PayPackCompany> exportList = null;
|
||||
|
||||
// 过滤选中数据
|
||||
String selections = request.getParameter("selections");
|
||||
if (oConvertUtils.isNotEmpty(selections)) {
|
||||
List<String> 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<String> listPackIds = exportList.stream().map(PayPackCompany::getId).collect(Collectors.toList());
|
||||
List<PayCommonProject> listPayCommonProject = payPackCompanyService.queryPackListCount(listPackIds);
|
||||
exportList.forEach(p->{
|
||||
if (!CollectionUtils.isEmpty(listPayCommonProject)) {
|
||||
List<PayCommonProject> 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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -24,7 +24,7 @@ public interface PayPackCompanyMapper extends BaseMapper<PayPackCompany> {
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
||||
List<PayCommonProject> queryPackListCount(List<String> listPackIds);
|
||||
|
||||
/**
|
||||
* @Description 导出excel数据
|
||||
|
||||
+10
-2
@@ -2,8 +2,16 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.jero.pack.mapper.PayPackCompanyMapper">
|
||||
<select id="queryPackListCount" resultType="com.jero.project.entity.PayCommonProject">
|
||||
SELECT sum(ppr.amount_received) AS paid_amount FROM pay_pack_company_project ppcp
|
||||
SELECT sum(ppr.amount_received) AS paid_amount, ppcp.pack_id AS id FROM pay_pack_company_project ppcp
|
||||
LEFT JOIN pay_payment_record ppr ON ppcp.project_id = ppr.project_id
|
||||
WHERE ppcp.pack_id = #{packId}
|
||||
<where>
|
||||
<if test="listPackIds != null and listPackIds.size() > 0">
|
||||
ppcp.pack_id in
|
||||
<foreach collection="listPackIds" item="item" index="index" open="(" close=")" separator=",">
|
||||
#{item}
|
||||
</foreach>
|
||||
</if>
|
||||
</where>
|
||||
group by ppcp.pack_id
|
||||
</select>
|
||||
</mapper>
|
||||
+2
-2
@@ -36,9 +36,9 @@ public interface IPayPackCompanyService extends IService<PayPackCompany> {
|
||||
* @Description 查询金额
|
||||
* @Author lqt
|
||||
* @Date 2021/9/13
|
||||
* @Param
|
||||
* @Param listPackIds 打包企业id
|
||||
* @Return
|
||||
* @Exception
|
||||
*/
|
||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
||||
List<PayCommonProject> queryPackListCount(List<String> listPackIds);
|
||||
}
|
||||
|
||||
+2
-2
@@ -89,8 +89,8 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
||||
}
|
||||
|
||||
@Override
|
||||
public PayCommonProject queryPackListCount(PayPackCompanyProjectInput input) {
|
||||
return payPackCompanyMapper.queryPackListCount(input);
|
||||
public List<PayCommonProject> queryPackListCount(List<String> listPackIds) {
|
||||
return payPackCompanyMapper.queryPackListCount(listPackIds);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user