This commit is contained in:
baozhipeng
2021-09-13 11:58:50 +08:00
parent a69ec1934c
commit d11dad7ec9
6 changed files with 101 additions and 5 deletions
@@ -1,9 +1,13 @@
package com.jero.mail.service.impl; package com.jero.mail.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils;
import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.mail.entity.PayMailBill; import com.jero.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject; import com.jero.mail.entity.PayMailBillProject;
@@ -23,12 +27,20 @@ import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
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.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -144,12 +144,10 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
/** /**
* 导出excel * 导出excel
* *
* @param request
* @param payPaymentRecord
*/ */
@RequestMapping(value = "/exportXls") @RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayPaymentRecord payPaymentRecord) { public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject) {
return super.exportXls(request, payPaymentRecord, PayPaymentRecord.class, "pay_payment_record"); return payPaymentRecordService.exportXls(request, payCommonProject, PayCommonProject.class, "pay_payment_record");
} }
@@ -23,4 +23,11 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
* @return * @return
*/ */
List<PayCommonProject> mainList(Page page, @Param("payCommonProject")PayCommonProject payCommonProject); List<PayCommonProject> mainList(Page page, @Param("payCommonProject")PayCommonProject payCommonProject);
/**
* 到账开票主列表
* @param payCommonProject
* @return
*/
List<PayCommonProject> mainList(@Param("payCommonProject")PayCommonProject payCommonProject);
} }
@@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.payment.entity.PayPaymentRecord; import com.jero.payment.entity.PayPaymentRecord;
import com.jero.project.entity.PayCommonProject; import com.jero.project.entity.PayCommonProject;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
/** /**
@@ -29,4 +31,13 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
* @param payPaymentRecord * @param payPaymentRecord
*/ */
Result<?> addPhase(PayPaymentRecord payPaymentRecord); Result<?> addPhase(PayPaymentRecord payPaymentRecord);
/**
* 导出
* @param request
* @param payCommonProject
* @param clazz
* @param title
* @return
*/
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject, Class<PayCommonProject> clazz, String title);
} }
@@ -2,12 +2,16 @@ package com.jero.payment.service.impl;
import cn.hutool.http.HttpUtil; import cn.hutool.http.HttpUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result; import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException; import com.jero.common.exception.JeroBootException;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils;
import com.jero.contract.common.PayIncomeContractCommon; import com.jero.contract.common.PayIncomeContractCommon;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingSituationMapper; import com.jero.meeting.mapper.PayMeetingSituationMapper;
@@ -23,17 +27,27 @@ import com.jero.project.entity.PayWorkingGroup;
import com.jero.project.entity.PayWorkingGroupSubItem; import com.jero.project.entity.PayWorkingGroupSubItem;
import com.jero.project.mapper.PayCommonProjectMapper; import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper; import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import org.apache.commons.beanutils.PropertyUtils;
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.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
* @Description: pay_payment_record * @Description: pay_payment_record
@@ -56,6 +70,9 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
@Resource @Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper; private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Value("${jero.path.upload}")
private String upLoadPath;
/** /**
* 到账开票主列表 * 到账开票主列表
* @param page * @param page
@@ -298,4 +315,54 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
} }
} }
/**
* 导出
* @param request
* @param payCommonProject
* @param clazz
* @param title
* @return
*/
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject, Class<PayCommonProject> clazz, String title) {
// Step.2 获取导出数据
List<PayCommonProject> pageList=payPaymentRecordMapper.mainList(payCommonProject);
List<PayCommonProject> 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(getId(item))).collect(Collectors.toList());
} else {
exportList = pageList;
}
// Step.3 AutoPoi 导出Excel
ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下
mv.addObject(NormalExcelConstants.CLASS, clazz);
//update-begin--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置--------------------
ExportParams exportParams=new ExportParams(title, title);
exportParams.setImageBasePath(upLoadPath);
//update-end--Author:liusq Date:20210126 for:图片导出报错,ImageBasePath未设置----------------------
mv.addObject(NormalExcelConstants.PARAMS,exportParams);
mv.addObject(NormalExcelConstants.DATA_LIST, exportList);
return mv;
}
/**
* 获取对象ID
*
* @return
*/
private String getId(PayCommonProject item) {
try {
return PropertyUtils.getProperty(item, "id").toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
} }
@@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.jero.common.aspect.annotation.Dict; import com.jero.common.aspect.annotation.Dict;
import com.jero.payment.entity.PayPaymentRecord;
import lombok.Data; import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@@ -31,7 +32,7 @@ import javax.validation.constraints.*;
@Accessors(chain = true) @Accessors(chain = true)
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_common_project对象", description="pay_common_project") @ApiModel(value="pay_common_project对象", description="pay_common_project")
public class PayCommonProject implements Serializable { public class PayCommonProject extends PayPaymentRecord implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**主键*/ /**主键*/