diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java index 82c5020d..ac783604 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/mail/service/impl/PayMailBillServiceImpl.java @@ -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; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java index aae42271..de69aaef 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/controller/PayPaymentRecordController.java @@ -144,12 +144,10 @@ public class PayPaymentRecordController extends JeroController { * @return */ List mainList(Page page, @Param("payCommonProject")PayCommonProject payCommonProject); + + /** + * 到账开票主列表 + * @param payCommonProject + * @return + */ + List mainList(@Param("payCommonProject")PayCommonProject payCommonProject); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java index 29010222..76a5d337 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/IPayPaymentRecordService.java @@ -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 { * @param payPaymentRecord */ Result addPhase(PayPaymentRecord payPaymentRecord); + /** + * 导出 + * @param request + * @param payCommonProject + * @param clazz + * @param title + * @return + */ + public ModelAndView exportXls(HttpServletRequest request, PayCommonProject payCommonProject, Class clazz, String title); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java index 89eeaeb3..191d4396 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/payment/service/impl/PayPaymentRecordServiceImpl.java @@ -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 clazz, String title) { + + // Step.2 获取导出数据 + List pageList=payPaymentRecordMapper.mainList(payCommonProject); + 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(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; + } + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java index 3bab39bb..6ab5da85 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/project/entity/PayCommonProject.java @@ -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; /**主键*/