diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java index 8c035bdc..88c123d9 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingSituationController.java @@ -18,6 +18,7 @@ import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.vo.*; +import com.jero.meeting.vo.excel.StandardsAllSituationExcel; import com.jero.project.common.PayProjectCommon; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -101,21 +102,8 @@ public class StandardsMeetingSituationController extends JeroController queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); - String year = req.getParameter("year"); - if (StringUtils.isBlank(year)){ - throw new JeroBootException("年份不能为空"); - } - queryWrapper.eq("pm.particular_year",year); - - String particularYear = req.getParameter("particularYear"); - if (StringUtils.isNotBlank(particularYear)){ - queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); - } - queryWrapper.eq("pm.meeting_type", MEETING_TYPE); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingSituationService.queryStandardPage(page, queryWrapper); + IPage pageList = payMeetingSituationService.queryStandardPage(page, payMeetingSituation, req); List situationList = pageList.getRecords(); for (PayMeetingSituation meetingSituation : situationList) { Integer payMode = meetingSituation.getPayMode(); @@ -218,6 +206,16 @@ public class StandardsMeetingSituationController extends JeroController objects = payMeetingSituationService.StandardMeetingSituationGetModelAndView(request, payMeetingSituation); + return super.exportListXls(objects, StandardsAllSituationExcel.class, "参会人员信息"); + } + /** * 审核缴费凭证 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java index 58e4a6dc..cb9895e5 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingSituationService.java @@ -87,10 +87,12 @@ public interface IPayMeetingSituationService extends IService pageListContract(String meetingId, Page page, QueryWrapper queryWrapper, Integer meetingType); - IPage queryStandardPage(Page page, QueryWrapper queryWrapper); + IPage queryStandardPage(Page page, PayMeetingSituation payMeetingSituation, HttpServletRequest req); List MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType); + List StandardMeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation); + @Nullable Class getaClass(Integer meetingType); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java index dc47f292..b5759236 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingSituationServiceImpl.java @@ -985,7 +985,27 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl queryStandardPage(Page page, QueryWrapper queryWrapper) { + public IPage queryStandardPage(Page page, PayMeetingSituation payMeetingSituation, HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + String year = req.getParameter("year"); + if (StringUtils.isBlank(year)){ + throw new JeroBootException("年份不能为空"); + } + queryWrapper.eq("pm.particular_year",year); + + String particularYear = req.getParameter("particularYear"); + if (StringUtils.isNotBlank(particularYear)){ + queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); + } + String meetingName = payMeetingSituation.getMeetingName(); + if (StringUtils.isNotBlank(meetingName)){ + queryWrapper.like("pm.meeting_name",meetingName); + } + String tbMeetingType = payMeetingSituation.getTbMeetingType(); + if (StringUtils.isNotBlank(tbMeetingType)){ + queryWrapper.eq("pm.tb_meeting_type",tbMeetingType); + } + queryWrapper.eq("pm.meeting_type", MeetingCommon.STANDARD_MEETING_INT); return baseMapper.queryStandardPage(page, queryWrapper); } @@ -1757,6 +1777,42 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl StandardMeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation) { + Page page = new Page<>(-1, -1); + IPage queryStandardPage = this.queryStandardPage(page, payMeetingSituation, request); + + List pageList = queryStandardPage.getRecords(); + + // 过滤选中数据 + String selections = request.getParameter("selections"); + if (oConvertUtils.isNotEmpty(selections)) { + List selectionList = Arrays.asList(selections.split(",")); + pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList()); + } + List exportList = new ArrayList<>(); + for (PayMeetingSituation meetingSituation : pageList) { + + String companyContactId = meetingSituation.getCompanyContactId(); + PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId); + meetingSituation.setCompanyContactName(contactsManagement.getName()); + meetingSituation.setPost(contactsManagement.getPost()); + meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone())); + meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail())); + PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId()); + meetingSituation.setCompanyName(companyManagement.getCompanyName()); + String checkFile = meetingSituation.getCheckFile(); + if (StringUtils.isNotBlank(checkFile)) { + OSSFile ossFile = ossFileService.getById(checkFile); + meetingSituation.setCheckFile(ossFile.getUrl()); + } + StandardsAllSituationExcel standardsSituationExcel = new StandardsAllSituationExcel(); + BeanUtils.copyProperties(meetingSituation, standardsSituationExcel); + exportList.add(standardsSituationExcel); + } + return exportList; + } + @Override public Class getaClass(Integer meetingType) { Class classToExport = null; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsAllSituationExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsAllSituationExcel.java new file mode 100644 index 00000000..4cf4008c --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/StandardsAllSituationExcel.java @@ -0,0 +1,99 @@ +package com.jero.meeting.vo.excel; + +import com.jero.common.aspect.annotation.Dict; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.math.BigDecimal; + +/** + * @author liJiaRao + * @date 2021-09-22 15:40 + */ +@Data +public class StandardsAllSituationExcel extends SituationBaseExcel { + + /**会议id*/ + @Excel(name = "会议名称", width = 15,dictTable = "pay_meeting",dicCode = "id",dicText = "meeting_name") + private String meetingId; + + @ApiModelProperty(value = "会议类型") + @Dict(dicCode = "standard_meeting_type") + @Excel(name = "会议类型", width = 15, dicCode = "standard_meeting_type") + private String tbMeetingType; + + /**企业id*/ + @Excel(name = "企业名称", width = 15) + private String companyName; + + /**企业联系人id*/ + @Excel(name = "企业联系人名称", width = 15) + private String companyContactName; + + /**职务*/ + @Excel(name = "职务", width = 15) + private String post; + + /**手机号*/ + @Excel(name = "手机号", width = 15) + private String phone; + + /**邮箱*/ + @Excel(name = "邮箱", width = 15) + private String email; + + /**身份*/ + @Dict(dicCode = "meet_identify_type") + @Excel(name = "身份", width = 15,dicCode = "meet_identify_type") + private Integer identity; + + /**是否入住协议酒店*/ + @Excel(name = "是否入住酒店", width = 15,dicCode = "yn") + private Integer checkInHotel; + + /**抵达时间*/ + @Excel(name = "抵达时间", width = 20, format = "yyyy-MM-dd") + private java.util.Date arrivalTime; + + /**离开时间*/ + @Excel(name = "离开时间", width = 20, format = "yyyy-MM-dd") + private java.util.Date departureTime; + + /**邮寄联系人*/ + @Excel(name = "邮寄联系人", width = 15, dictTable = "pay_contacts_management", dicText = "name", dicCode = "id") + private String postContactId; + + /**邮寄联系人地址*/ + @Excel(name = "邮寄联系人地址", width = 15) + private String postContactAddress; + + /**邮编*/ + @Excel(name = "邮编", width = 15) + private String postCode; + + /** + * 待确收金额 + */ + @Excel(name = "待确收金额", width = 15) + private BigDecimal amountReceivable; + + /** + * 实收金额 + */ + @Excel(name = "实收金额", width = 15) + private BigDecimal paidAmount; + + /**缴费方式*/ + @Excel(name = "缴费方式", width = 15,dicCode = "meeting_pay_type") + private Integer payMode; + + /**需要发票*/ + @Excel(name = "需要发票", width = 15,dicCode = "invoice_type") + private Integer needInvoice; + + /**订单后4位编码*/ + @Excel(name = "订单后4位编码", width = 15) + private String orderCode; + +}