add 会议导出区分类型

This commit is contained in:
lijiarao
2021-09-22 15:17:54 +08:00
parent 6f5ff7c4c8
commit 6c57b498b0
10 changed files with 543 additions and 214 deletions
@@ -4,7 +4,6 @@ import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.http.HttpUtil;
@@ -12,6 +11,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.jero.common.api.vo.Result;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
@@ -19,6 +19,9 @@ import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.data.entity.PayCaseCommittee;
import com.jero.data.entity.PayCaseCommitteeSubitem;
import com.jero.data.service.IPayCaseCommitteeService;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingHotelContacts;
@@ -30,7 +33,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.meeting.vo.PublishReminderVO;
import com.jero.meeting.vo.UploadFileVO;
import com.jero.meeting.vo.WorkingGroupMeetingExcel;
import com.jero.meeting.vo.excel.*;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.system.volid.group.UpdateGroup;
@@ -72,6 +75,8 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
private AuthenticationUtils authenticationUtils;
@Resource
private IOSSFileService iossFileService;
@Resource
private IPayCaseCommitteeService payCaseCommitteeService;
/**
* 分页列表查询
*/
@@ -225,13 +230,17 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
List<PayMeetingVO> exportList = new ArrayList<>();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
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());
}
if (pageList.isEmpty()){
throw new JeroBootException("没有数据");
}
String meetingType = pageList.get(0).getMeetingType().toString();
for (PayMeeting meeting : pageList) {
//查询会议负责人
LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId());
@@ -239,29 +248,78 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
PayMeetingVO payMeetingVO = new PayMeetingVO();
BeanUtils.copyProperties(meeting, payMeetingVO);
String meetingType = meeting.getMeetingType().toString();
meetingType = meeting.getMeetingType().toString();
String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType);
payMeetingVO.setMeetingType(meetingType1);
payMeetingVO.setHotelContactsList(new ArrayList<>());
//标协会议查询酒店联系人列表
if (meetingType.equals(MeetingCommon.STANDARD_MEETING)) {
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
//标协会议类型
String tbMeetingType = meeting.getTbMeetingType().toString();
String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType);
payMeetingVO.setTbMeetingType(type);
// 工作组项目查询工作组项目名
} else if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) {
String workingGroupId = meeting.getWorkingGroupId();
PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId);
payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject());
switch (meetingType) {
case MeetingCommon.STANDARD_MEETING:
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
//标协会议类型
String tbMeetingType = meeting.getTbMeetingType().toString();
String type = sysBaseApi.translateDict("standard_meeting_type", tbMeetingType);
payMeetingVO.setTbMeetingType(type);
//保存数据
StandardsMeetingExcel standardsMeetingExcel = new StandardsMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, standardsMeetingExcel);
exportList.add(standardsMeetingExcel);
// 工作组项目查询工作组项目名
break;
case MeetingCommon.WORKING_GROUP_MEETING:
String workingGroupId = meeting.getWorkingGroupId();
PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId);
payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject());
//保存数据
WorkingGroupMeetingExcel workingGroupMeetingExcel = new WorkingGroupMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, workingGroupMeetingExcel);
exportList.add(workingGroupMeetingExcel);
break;
case MeetingCommon.INTERNATIONAL_MEETING:
//保存数据
InternationalMeetingExcel internationalMeetingExcel = new InternationalMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, internationalMeetingExcel);
exportList.add(internationalMeetingExcel);
break;
case MeetingCommon.OTHER_MEETING:
//保存数据
BaseExcel baseExcel = new BaseExcel();
BeanUtils.copyProperties(payMeetingVO, baseExcel);
exportList.add(baseExcel);
break;
case MeetingCommon.COMMITTEE_MEETING:
String caseCommitteeId = meeting.getCaseCommitteeId();
PayCaseCommittee payCaseCommittee = payCaseCommitteeService.getById(caseCommitteeId);
payMeetingVO.setCaseCommitteeName(payCaseCommittee.getName());
CommitteeMeetingExcel committeeMeetingExcel = new CommitteeMeetingExcel();
BeanUtils.copyProperties(payMeetingVO, committeeMeetingExcel);
exportList.add(committeeMeetingExcel);
break;
}
exportList.add(payMeetingVO);
}
return super.exportListXls(exportList, PayMeetingVO.class, "会议管理");
Class<?> classToExport = null;
switch (meetingType) {
case MeetingCommon.WORKING_GROUP_MEETING:
classToExport = WorkingGroupMeetingExcel.class;
break;
case MeetingCommon.STANDARD_MEETING:
classToExport = StandardsMeetingExcel.class;
break;
case MeetingCommon.INTERNATIONAL_MEETING:
classToExport = InternationalMeetingExcel.class;
break;
case MeetingCommon.OTHER_MEETING:
classToExport = BaseExcel.class;
break;
case MeetingCommon.COMMITTEE_MEETING:
classToExport = CommitteeMeetingExcel.class;
break;
}
return super.exportListXls(exportList, classToExport, "会议管理");
}
/**
* 导出excel
@@ -298,22 +356,6 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
return super.exportListXls(exportList, WorkingGroupMeetingExcel.class, "会议管理");
}
/**
* 导出excel模板
*/
@GetMapping(value = "/exportTemplate")
public ModelAndView exportTemplate() {
return super.exportTemplate(PayMeetingVO.class, "会议管理");
}
/**
* 通过excel导入数据
*/
@PostMapping(value = "/importExcel")
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, PayMeeting.class);
}
/**
* 上传资料
*/
@@ -286,6 +286,10 @@ public class PayMeetingSituation implements Serializable {
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String paymentRecord;
/**订单后4位编码*/
@ApiModelProperty(value = "订单后4位编码")
private String orderCode;
/**状态(1未导入、2已导入、3参会人)*/
@ApiModelProperty(value = "状态(1未导入、2已导入、3参会人)")
private Integer status;
@@ -40,11 +40,13 @@ import com.jero.project.service.IPayWorkingGroupSubItemService;
import com.jero.standards.memberinfo.service.IMemberInfoService;
import com.jero.temporary.service.IPayCompanyManagementTemporaryService;
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
import org.apache.commons.lang3.StringUtils;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
@@ -147,8 +149,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
//判断报名时间
Date registerDeadline = payMeeting.getRegisterDeadline();
DateTime date = DateUtil.beginOfDay(DateUtil.date());
if ((DateUtil.compare(date,registerDeadline) > 0)) {
throw new JeroBootException("报名截止时间为:"+DateUtil.formatDate(registerDeadline));
if ((DateUtil.compare(date, registerDeadline) > 0)) {
throw new JeroBootException("报名截止时间为:" + DateUtil.formatDate(registerDeadline));
}
//会议类型
Integer meetingType = payMeeting.getMeetingType();
@@ -189,7 +191,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
String id = checkVO.getId();
PayMeetingSituation meetingSituation = getById(id);
Integer registerCheckResult = meetingSituation.getRegisterCheckResult();
if (registerCheckResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_0)){
if (registerCheckResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_0)) {
throw new JeroBootException("报名信息未审核");
}
String paymentRecord = meetingSituation.getPaymentRecord();
@@ -210,13 +212,15 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
meetingSituation.setPaidAmount(meetingSituation.getAmountReceivable());
meetingSituation.setCheckResult(checkResult);
saveOrUpdate(meetingSituation);
List<PayPaymentRecord> payPaymentRecords = new ArrayList<>();
PayPaymentRecord payPaymentRecord = new PayPaymentRecord();
payPaymentRecord.setProjectId(meetingSituation.getId());
payPaymentRecord.setProjectType(Integer.parseInt(PayIncomeContractCommon.PROJECT_TYPE3));
payPaymentRecord.setAmountReceived(meetingSituation.getAmountReceivable());
payPaymentRecord.setPaymentDate(new Date());
// payPaymentRecordService.addAmountReceived(payPaymentRecord);
payPaymentRecords.add(payPaymentRecord);
//添加来款
payPaymentRecordService.addAmountReceived(payPaymentRecords);
}
@Override
@@ -224,18 +228,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
String id = checkVO.getId();
PayMeetingSituation meetingSituation = getById(id);
Integer registerCheckResult = meetingSituation.getRegisterCheckResult();
if (!registerCheckResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_0)){
throw new JeroBootException("报名信息已审核");
if (registerCheckResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_1)) {
throw new JeroBootException("报名信息已审核通过");
}
Integer checkResult = checkVO.getCheckResult();
if (checkResult.equals(MeetingSubitemCommon.SIGNUP_STATUS_2)) {
meetingSituation.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_2);
meetingSituation.setRegisterCheckResult(checkResult);
//TODO 提示信息
}else {
meetingSituation.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_1);
}
//TODO 提示信息
saveOrUpdate(meetingSituation);
}
@@ -326,7 +325,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
if (payMeeting == null) {
throw new JeroBootException("会议不存在");
}
if (!belongCalendar(new Date(),payMeeting.getStartSignInTime(),payMeeting.getEndSignInTime())) {
if (!belongCalendar(new Date(), payMeeting.getStartSignInTime(), payMeeting.getEndSignInTime())) {
throw new JeroBootException("不在会议可签到时间内,无法签到");
}
String companyContactId = signInVO.getCompanyContactId();
@@ -342,8 +341,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
PayMeetingSituation meetingSituation = getOne(wrapper);
if (meetingSituation == null) {
throw new JeroBootException("会议不存在此参会人");
}
//如果是线上缴费并且缴费凭证为空
Integer payMode = meetingSituation.getPayMode();
if (payMode.equals(2)&& StringUtils.isBlank(meetingSituation.getPaymentRecord())){
throw new JeroBootException("请上传缴费凭证后再签到");
}
meetingSituation.setCheckIn(PayProjectCommon.YES);
saveOrUpdate(meetingSituation);
}
@@ -456,7 +461,9 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
ValidUtil.validate(commonPeopleVO, NotPack.class);
payMeetingSituation1.setNeedInvoice(payMeetingSituation.getNeedInvoice());
payMeetingSituation1.setPaymentRecord(payMeetingSituation.getPaymentRecord());
String paymentRecord = payMeetingSituation.getPaymentRecord();
payMeetingSituation1.setPaymentRecord(paymentRecord);
StringUtils.isBlank(paymentRecord);
//如果是标协会议判断会员类型
if (meetingType.equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
//根据企业名称和会员类型不为null判断是否为标协会员
@@ -496,29 +503,29 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_1);
//如果是工作组会议或者分标委会议,判断是否为成员
if (meetingType.equals(Integer.parseInt(MeetingCommon.WORKING_GROUP_MEETING))){
LambdaQueryWrapper<PayWorkingGroupSubItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId,payMeeting.getWorkingGroupId());
wrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId,payMeetingSituation1.getCompanyId());
wrapper.and(i -> i.eq(PayWorkingGroupSubItem::getContactsIdOne,payMeetingSituation1.getCompanyContactId())
if (meetingType.equals(Integer.parseInt(MeetingCommon.WORKING_GROUP_MEETING))) {
LambdaQueryWrapper<PayWorkingGroupSubItem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayWorkingGroupSubItem::getWorkingGroupId, payMeeting.getWorkingGroupId());
wrapper.eq(PayWorkingGroupSubItem::getChargeCompanyId, payMeetingSituation1.getCompanyId());
wrapper.and(i -> i.eq(PayWorkingGroupSubItem::getContactsIdOne, payMeetingSituation1.getCompanyContactId())
.or()
.eq(PayWorkingGroupSubItem::getContactsIdTwo,payMeetingSituation1.getCompanyContactId())
.eq(PayWorkingGroupSubItem::getContactsIdTwo, payMeetingSituation1.getCompanyContactId())
.or()
.eq(PayWorkingGroupSubItem::getContactsIdThree,payMeetingSituation1.getCompanyContactId())
.eq(PayWorkingGroupSubItem::getContactsIdThree, payMeetingSituation1.getCompanyContactId())
);
int count = payWorkingGroupSubItemService.count(wrapper);
if (count<=0){
if (count <= 0) {
payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
}
}else if (meetingType.equals(Integer.parseInt(MeetingCommon.COMMITTEE_MEETING))){
LambdaQueryWrapper<PayCaseCommitteeSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId,payMeeting.getCaseCommitteeId());
wrapper.eq(PayCaseCommitteeSubitem::getCompanyId,payMeetingSituation1.getCompanyId());
wrapper.eq(PayCaseCommitteeSubitem::getContactsId,payMeetingSituation1.getCompanyContactId());
} else if (meetingType.equals(Integer.parseInt(MeetingCommon.COMMITTEE_MEETING))) {
LambdaQueryWrapper<PayCaseCommitteeSubitem> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayCaseCommitteeSubitem::getCommitteeId, payMeeting.getCaseCommitteeId());
wrapper.eq(PayCaseCommitteeSubitem::getCompanyId, payMeetingSituation1.getCompanyId());
wrapper.eq(PayCaseCommitteeSubitem::getContactsId, payMeetingSituation1.getCompanyContactId());
int count = payCaseCommitteeSubitemService.count(wrapper);
if (count<=0){
if (count <= 0) {
payMeetingSituation1.setRegisterCheckResult(MeetingSubitemCommon.SIGNUP_STATUS_0);
}
}
@@ -638,6 +645,11 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))) {
throw new JeroBootException("只有国际研讨会议可以设置对接人");
}
//对接人不能是负责人
String directorId = payMeeting.getDirectorId();
if (directorId.equals(dockId)){
throw new JeroBootException("对接人不能是负责人");
}
payMeetingSituation.setDockId(dockId);
payMeetingSituation.setDockName(username);
saveOrUpdate(payMeetingSituation);
@@ -62,15 +62,20 @@ public class PayMeetingVO implements Serializable {
@NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupMeeting.class)
private String workingGroupId;
/**工作组项目名称*/
@Excel(name = "工作组项目名称", width = 15)
@ApiModelProperty(value = "工作组项目名称")
private String workingGroupName;
/**分标委项目id*/
@ApiModelProperty(value = "主键")
@NotBlank(message = "分标委项目名称不能为空", groups = CaseCommitteeMeeting.class)
private String caseCommitteeId;
/**工作组项目名称*/
@Excel(name = "工作组项目名称", width = 15)
@ApiModelProperty(value = "工作组项目名称")
private String workingGroupName;
/**分标委项目名称*/
@Excel(name = "分标委项目名称", width = 15)
@ApiModelProperty(value = "分标委项目名称")
private String caseCommitteeName;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@@ -1,144 +0,0 @@
package com.jero.meeting.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.*;
/**
* @author liJiaRao
* @date 2021-09-07 18:29
*/
@Data
public class WorkingGroupMeetingExcel {
private static final long serialVersionUID = 1L;
/**会议名称*/
@Excel(name = "会议名称", width = 15)
@ApiModelProperty(value = "会议名称")
@NotBlank(message = "会议名称不能为空")
@Size(max = 50,message = "会议名称最长为50字符")
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
@ApiModelProperty(value = "会议类型")
@NotBlank(message = "会议类型不能为空")
private String meetingType;
/**工作组项目id*/
@ApiModelProperty(value = "工作组项目id")
@NotBlank(message = "工作组项目名称不能为空")
private String workingGroupId;
/**工作组项目名称*/
@Excel(name = "工作组项目名称", width = 15)
@ApiModelProperty(value = "工作组项目名称")
private String workingGroupName;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议开始时间")
@NotNull(message = "会议召开时间不能为空")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "会议结束时间")
@NotNull(message = "会议召开时间不能为空")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
@ApiModelProperty(value = "年份")
@NotBlank(message = "年份不能为空")
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
@ApiModelProperty(value = "召开地点")
@NotBlank(message = "召开地点不能为空")
@Size(max = 50, message = "召开地点最大为50字符")
private String venue;
/**召开地点对照码*/
@ApiModelProperty(value = "召开地点对照码")
@NotBlank(message = "召开地点对照码不能为空")
private String convokeLocale;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
@ApiModelProperty(value = "详细地址")
@NotBlank(message = "详细地址不能为空")
@Size(max = 100, message = "召开地点最大为100字符")
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
@ApiModelProperty(value = "预计参加人数")
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
@ApiModelProperty(value = "会议内容")
@NotBlank(message = "会议内容不能为空")
@Size(max = 200, message = "会议内容最大为200字符")
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "报名截止时间")
@NotNull(message = "报名截止时间不能为空")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
@ApiModelProperty(value = "会议费用")
@NotNull(message = "会议费用不能为空")
@DecimalMax(value = "9999999999.99",message = "会议费用格式错误")
private Integer meetingCosts;
/**会议负责人id*/
@ApiModelProperty(value = "会议负责人id")
@NotBlank(message = "会议负责人不能为空")
private String directorId;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
@ApiModelProperty(value = "会议负责人")
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
@ApiModelProperty(value = "会议负责人手机号")
private String directorPhone;
/**备注*/
@Excel(name = "备注", width = 15)
@ApiModelProperty(value = "备注")
@Size(max = 200, message = "备注最大为200字符")
private String remark;
/**会议通知文件*/
@ApiModelProperty(value = "会议通知文件")
@Size(max = 1000, message = "会议通知文件数量超出最大限制")
private String meetingFiles;
/**会议资料*/
@ApiModelProperty(value = "会议资料")
@Size(max = 1000, message = "会议资料数量超出最大限制")
private String meetingData;
/**是否提醒*/
@ApiModelProperty(value = "是否提醒")
private Integer remind;
}
@@ -0,0 +1,69 @@
package com.jero.meeting.vo.excel;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* @author liJiaRao
* @date 2021-09-22 14:02
*/
@Data
public class BaseExcel {
/**会议名称*/
@Excel(name = "会议名称", width = 15)
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
private String meetingType;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
private String venue;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
private BigDecimal meetingCosts;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
private String directorPhone;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
}
@@ -0,0 +1,79 @@
package com.jero.meeting.vo.excel;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* @author liJiaRao
* @date 2021-09-22 14:59
*/
@Data
public class CommitteeMeetingExcel {
/**分标委名称项目名称*/
@Excel(name = "分标委名称项目名称", width = 15)
private String caseCommitteeName;
/**会议名称*/
@Excel(name = "会议名称", width = 15)
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
private String meetingType;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
private String venue;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
private BigDecimal meetingCosts;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
private String directorPhone;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
/**通知正文*/
@Excel(name = "通知正文", width = 15,orderNum = "1")
private String notice;
}
@@ -0,0 +1,88 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.valid.group.InternationalMeeting;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
/**
* @author liJiaRao
* @date 2021-09-22 15:01
*/
@Data
public class InternationalMeetingExcel {
/**会议名称*/
@Excel(name = "会议名称", width = 15)
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
private String meetingType;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
private String venue;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
private BigDecimal meetingCosts;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
private String directorPhone;
/**VIP邀请码*/
@Excel(name = "VIP邀请码", width = 15)
private java.lang.String vipInvitationCode;
/**演讲嘉宾邀请码*/
@Excel(name = "演讲嘉宾邀请码", width = 15)
private java.lang.String speakerInvitationCode;
/**特邀嘉宾邀请码*/
@Excel(name = "特邀嘉宾邀请码", width = 15)
private java.lang.String guestInvitationCode;
/**合作伙伴邀请码*/
@Excel(name = "合作伙伴邀请码", width = 15)
private java.lang.String cooperativeInvitationCode;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
}
@@ -0,0 +1,94 @@
package com.jero.meeting.vo.excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.math.BigDecimal;
import java.util.List;
/**
* @author liJiaRao
* @date 2021-09-22 14:39
*/
@Data
public class StandardsMeetingExcel {
/**会议名称*/
@Excel(name = "会议名称", width = 15)
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
private String meetingType;
/**标协会议类型*/
@Excel(name = "标协会议类型", width = 15,dicCode = "standard_meeting_type")
private Integer tbMeetingType;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
private String venue;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
private BigDecimal meetingCosts;
/**会议费用(标协会员)*/
@Excel(name = "会议费用(标协会员)", width = 15)
@JsonFormat(shape = JsonFormat.Shape.STRING)
private BigDecimal meetingCostsVip;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
private String directorPhone;
/**酒店名称*/
@Excel(name = "酒店名称", width = 15)
private String hotelName;
/**酒店地址*/
@Excel(name = "酒店地址", width = 15)
private String hotelAddress;
/**
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
}
@@ -0,0 +1,80 @@
package com.jero.meeting.vo.excel;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.math.BigDecimal;
/**
* @author liJiaRao
* @date 2021-09-07 18:29
*/
@Data
public class WorkingGroupMeetingExcel{
/**工作组项目名称*/
@Excel(name = "工作组项目名称", width = 15)
private String workingGroupName;
/**会议名称*/
@Excel(name = "会议名称", width = 15)
private String meetingName;
/**会议类型*/
@Excel(name = "会议类型", width = 15)
private String meetingType;
/**开始时间*/
@Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date startTime;
/**结束时间*/
@Excel(name = "会议结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date endTime;
/**年份*/
@Excel(name = "年份", width = 15)
private String particularYear;
/**召开地点*/
@Excel(name = "召开地点", width = 15)
private String venue;
/**详细地址*/
@Excel(name = "详细地址", width = 15)
private String address;
/**预计参加人数*/
@Excel(name = "预计参加人数", width = 15)
private String estimatedNumber;
/**会议内容*/
@Excel(name = "会议内容", width = 15)
private String meetingContent;
/**报名截止时间*/
@Excel(name = "报名截止时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date registerDeadline;
/**会议费用*/
@Excel(name = "会议费用", width = 15)
private BigDecimal meetingCosts;
/**会议负责人*/
@Excel(name = "会议负责人", width = 15)
private String directorName;
/**会议负责人手机号*/
@Excel(name = "会议负责人手机号", width = 15)
private String directorPhone;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
/**通知正文*/
@Excel(name = "通知正文", width = 15,orderNum = "1")
private String notice;
}