修改bug#40701
This commit is contained in:
+69
-16
@@ -4,6 +4,7 @@ import java.math.BigDecimal;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
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.aspect.annotation.AutoLog;
|
||||||
import com.jero.common.system.base.controller.JeroController;
|
import com.jero.common.system.base.controller.JeroController;
|
||||||
import com.jero.common.system.query.QueryGenerator;
|
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.PasswordUtil;
|
||||||
import com.jero.common.util.ValidUtil;
|
import com.jero.common.util.ValidUtil;
|
||||||
|
import com.jero.common.util.oConvertUtils;
|
||||||
import com.jero.mail.entity.PayMailBillProject;
|
import com.jero.mail.entity.PayMailBillProject;
|
||||||
import com.jero.mail.service.IPayMailBillProjectService;
|
import com.jero.mail.service.IPayMailBillProjectService;
|
||||||
import com.jero.pack.entity.PayPackCompany;
|
import com.jero.pack.entity.PayPackCompany;
|
||||||
import com.jero.pack.entity.PayPackCompanyProject;
|
import com.jero.pack.entity.PayPackCompanyProject;
|
||||||
import com.jero.pack.service.IPayPackCompanyProjectService;
|
import com.jero.pack.service.IPayPackCompanyProjectService;
|
||||||
import com.jero.pack.service.IPayPackCompanyService;
|
import com.jero.pack.service.IPayPackCompanyService;
|
||||||
import com.jero.pack.vo.PayPackCompanyProjectInput;
|
|
||||||
import com.jero.project.entity.PayCommonProject;
|
import com.jero.project.entity.PayCommonProject;
|
||||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
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.bind.annotation.*;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
@@ -56,6 +63,8 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
|||||||
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
|
||||||
@Resource
|
@Resource
|
||||||
private IPayMailBillProjectService payMailBillProjectService;
|
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);
|
IPage<PayPackCompany> pageList = payPackCompanyService.page(page, queryWrapper);
|
||||||
if(!CollectionUtils.isEmpty(pageList.getRecords())){
|
if(!CollectionUtils.isEmpty(pageList.getRecords())){
|
||||||
List<PayPackCompany> list = 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->{
|
list.forEach(p->{
|
||||||
// 获取 打包费用,实际到账金额
|
if(!CollectionUtils.isEmpty(listPayCommonProject)){
|
||||||
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
List<PayCommonProject> listCount = listPayCommonProject.stream().filter(item->Objects.equals(p.getId(),item.getId())).collect(Collectors.toList());
|
||||||
input.setCompanyId(p.getCompanyId());
|
if(!CollectionUtils.isEmpty(listCount)){
|
||||||
input.setPackId(p.getId());
|
p.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount());
|
||||||
PayCommonProject payCommonProject = payPackCompanyService.queryPackListCount(input);
|
}
|
||||||
if(!Objects.isNull(payCommonProject)){
|
}
|
||||||
p.setReceiptExpense(payCommonProject.getPaidAmount());
|
if(Objects.isNull(p.getReceiptExpense())){
|
||||||
}else{
|
|
||||||
p.setReceiptExpense(new BigDecimal("0.00"));
|
p.setReceiptExpense(new BigDecimal("0.00"));
|
||||||
}
|
}
|
||||||
if(Objects.isNull(p.getPackChargeTotal())){
|
if(Objects.isNull(p.getPackChargeTotal())){
|
||||||
@@ -216,12 +227,9 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 获取 打包费用,实际到账金额
|
// 获取 打包费用,实际到账金额
|
||||||
PayPackCompanyProjectInput input = new PayPackCompanyProjectInput();
|
List<PayCommonProject> listPayCommonProject = payPackCompanyService.queryPackListCount(Arrays.asList(payPackCompany.getId().split(",")));
|
||||||
input.setCompanyId(payPackCompany.getCompanyId());
|
if(!CollectionUtils.isEmpty(listPayCommonProject)){
|
||||||
input.setPackId(payPackCompany.getId());
|
payPackCompany.setReceiptExpense(listPayCommonProject.get(0).getPaidAmount());
|
||||||
PayCommonProject payCommonProject = payPackCompanyService.queryPackListCount(input);
|
|
||||||
if(!Objects.isNull(payCommonProject)){
|
|
||||||
payPackCompany.setReceiptExpense(payCommonProject.getPaidAmount());
|
|
||||||
}else{
|
}else{
|
||||||
payPackCompany.setReceiptExpense(new BigDecimal("0.00"));
|
payPackCompany.setReceiptExpense(new BigDecimal("0.00"));
|
||||||
}
|
}
|
||||||
@@ -252,7 +260,52 @@ public class PayPackCompanyController extends JeroController<PayPackCompany, IPa
|
|||||||
@GetMapping(value = "/exportXls")
|
@GetMapping(value = "/exportXls")
|
||||||
@RequiresPermissions("packCompany:export")
|
@RequiresPermissions("packCompany:export")
|
||||||
public ModelAndView exportXls(HttpServletRequest request, PayPackCompany payPackCompany) {
|
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
|
* @Return
|
||||||
* @Exception
|
* @Exception
|
||||||
*/
|
*/
|
||||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
List<PayCommonProject> queryPackListCount(List<String> listPackIds);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description 导出excel数据
|
* @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">
|
<!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">
|
<mapper namespace="com.jero.pack.mapper.PayPackCompanyMapper">
|
||||||
<select id="queryPackListCount" resultType="com.jero.project.entity.PayCommonProject">
|
<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
|
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>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+2
-2
@@ -36,9 +36,9 @@ public interface IPayPackCompanyService extends IService<PayPackCompany> {
|
|||||||
* @Description 查询金额
|
* @Description 查询金额
|
||||||
* @Author lqt
|
* @Author lqt
|
||||||
* @Date 2021/9/13
|
* @Date 2021/9/13
|
||||||
* @Param
|
* @Param listPackIds 打包企业id
|
||||||
* @Return
|
* @Return
|
||||||
* @Exception
|
* @Exception
|
||||||
*/
|
*/
|
||||||
PayCommonProject queryPackListCount(PayPackCompanyProjectInput input);
|
List<PayCommonProject> queryPackListCount(List<String> listPackIds);
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -89,8 +89,8 @@ public class PayPackCompanyServiceImpl extends ServiceImpl<PayPackCompanyMapper,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PayCommonProject queryPackListCount(PayPackCompanyProjectInput input) {
|
public List<PayCommonProject> queryPackListCount(List<String> listPackIds) {
|
||||||
return payPackCompanyMapper.queryPackListCount(input);
|
return payPackCompanyMapper.queryPackListCount(listPackIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user