add 标协会议报名信息维护导出

This commit is contained in:
lijiarao
2024-03-13 17:00:46 +08:00
parent 6841333d71
commit 682a1833c7
4 changed files with 171 additions and 16 deletions
@@ -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<PayMeeti
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> 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<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.queryStandardPage(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.queryStandardPage(page, payMeetingSituation, req);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -218,6 +206,16 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
return super.exportListXls(objects, aClass, "参会人员信息");
}
/**
* 导出标协报名信息excel
*/
@RequiresPermissions("standardsMeetingSituation:export")
@GetMapping(value = "/exportStandardXls")
public ModelAndView exportStandardXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
List<Object> objects = payMeetingSituationService.StandardMeetingSituationGetModelAndView(request, payMeetingSituation);
return super.exportListXls(objects, StandardsAllSituationExcel.class, "参会人员信息");
}
/**
* 审核缴费凭证
*/
@@ -87,10 +87,12 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
IPage<PayMeetingSituation> pageListContract(String meetingId, Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper, Integer meetingType);
IPage<PayMeetingSituation> queryStandardPage(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper);
IPage<PayMeetingSituation> queryStandardPage(Page<PayMeetingSituation> page, PayMeetingSituation payMeetingSituation, HttpServletRequest req);
List<Object> MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType);
List<Object> StandardMeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation);
@Nullable
Class<?> getaClass(Integer meetingType);
@@ -985,7 +985,27 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
@Override
public IPage<PayMeetingSituation> queryStandardPage(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper) {
public IPage<PayMeetingSituation> queryStandardPage(Page<PayMeetingSituation> page, PayMeetingSituation payMeetingSituation, HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> 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<PayMeetingSituat
return exportList;
}
@Override
public List<Object> StandardMeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
Page<PayMeetingSituation> page = new Page<>(-1, -1);
IPage<PayMeetingSituation> queryStandardPage = this.queryStandardPage(page, payMeetingSituation, request);
List<PayMeetingSituation> pageList = queryStandardPage.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
List<Object> 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;
@@ -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;
}