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;
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.jero.common.api.vo.Result;
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.mail.entity.PayMailBill;
import com.jero.mail.entity.PayMailBillProject;
@@ -23,12 +27,20 @@ import com.jero.project.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import org.apache.commons.collections.CollectionUtils;
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.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -144,12 +144,10 @@ public class PayPaymentRecordController extends JeroController<PayPaymentRecord,
/**
* 导出excel
*
* @param request
* @param payPaymentRecord
*/
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayPaymentRecord payPaymentRecord) {
return super.exportXls(request, payPaymentRecord, PayPaymentRecord.class, "pay_payment_record");
public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject) {
return payPaymentRecordService.exportXls(request, payCommonProject, PayCommonProject.class, "pay_payment_record");
}
@@ -23,4 +23,11 @@ public interface PayPaymentRecordMapper extends BaseMapper<PayPaymentRecord> {
* @return
*/
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.payment.entity.PayPaymentRecord;
import com.jero.project.entity.PayCommonProject;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -29,4 +31,13 @@ public interface IPayPaymentRecordService extends IService<PayPaymentRecord> {
* @param 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 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.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.common.api.vo.Result;
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.meeting.entity.PayMeetingSituation;
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.mapper.PayCommonProjectMapper;
import com.jero.project.mapper.PayWorkingGroupSubItemMapper;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.collections.CollectionUtils;
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.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Description: pay_payment_record
@@ -56,6 +70,9 @@ public class PayPaymentRecordServiceImpl extends ServiceImpl<PayPaymentRecordMap
@Resource
private TbMemberProjectSubitemMapper tbMemberProjectSubitemMapper;
@Value("${jero.path.upload}")
private String upLoadPath;
/**
* 到账开票主列表
* @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.TableName;
import com.jero.common.aspect.annotation.Dict;
import com.jero.payment.entity.PayPaymentRecord;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
@@ -31,7 +32,7 @@ import javax.validation.constraints.*;
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@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;
/**主键*/