新增起草组-会议-参会人信息-导出,审核报名信息,批量设置资料状态

This commit is contained in:
sunzheng
2024-01-08 11:02:10 +08:00
parent 4aaeb58af8
commit 178a6f3f10
4 changed files with 254 additions and 5 deletions
@@ -6,14 +6,18 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.aspect.annotation.CompanyNameTranslate;
import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.aspect.annotation.DictPoint;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.ValidUtil;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.CheckVO;
import com.jero.meeting.vo.PayMeetingSituationVO;
import com.jero.meeting.vo.SetGuestsUploadFileVO;
import com.jero.project.common.PayProjectCommon;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -21,6 +25,7 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@@ -29,10 +34,8 @@ import java.util.List;
import java.util.Objects;
/**
* @description: 参会人信息
* @author: jero-boot
* @date: 2021-09-02
* @version: V1.0
* 起草组会议 参会人信息
* 2024-01-08
*/
@Api(tags = "参会人员信息-起草组会议")
@RestController
@@ -132,4 +135,70 @@ public class DraftGroupMeetingSituationController extends JeroController<PayMeet
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*/
@CompanyNameTranslate
@DictPoint
@ApiOperation(value = "参会人员信息-通过id查询", notes = "参会人员信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<?> queryById(@RequestParam(name = "id") String id) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
if (payMeetingSituation == null) {
return Result.error("未找到对应数据");
}
return Result.OK(payMeetingSituation);
}
/**
* 通过会议id查询自己的参会人信息
*/
// @CompanyNameTranslate
// @DictPoint
@ApiOperation(value = "参会人员信息-通过会议id查询自己的参会人信息")
@GetMapping(value = "/queryByMeetingId")
public Result<?> queryByMeetingId(@RequestParam(name = "meetingId") String meetingId) {
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryByMeetingIdAndContactId(meetingId);
if (payMeetingSituation == null) {
return Result.error("未找到对应数据");
}
return Result.OK(payMeetingSituation);
}
/**
* 审核报名信息
*/
@AutoLog(value = "审核报名信息")
// @RequiresPermissions("draftGroupMeetingSituation:auditSignUp")
@ApiOperation(value = "审核报名信息")
@PostMapping(value = "/checkRegister")
public Result<?> checkRegister(@RequestBody CheckVO checkVO) {
payMeetingSituationService.checkRegister(checkVO);
return Result.OK("审核成功!");
}
/**
* 设置嘉宾上传文件
*/
// @RequiresPermissions("draftGroupMeetingSituation:guestsUploadFileFlag")
@AutoLog(value = "设置嘉宾上传文件")
@ApiOperation(value = "设置嘉宾上传文件", notes = "设置嘉宾上传文件")
@PostMapping(value = "/setGuestsUploadFile")
public Result<?> setGuestsUploadFile(@RequestBody SetGuestsUploadFileVO setGuestsUploadFileVO) {
ValidUtil.validate(setGuestsUploadFileVO);
payMeetingSituationService.setGuestsUploadFile(setGuestsUploadFileVO,MEETING_TYPE);
return Result.OK("设置嘉宾上传文件成功!");
}
/**
* 导出excel
*/
// @RequiresPermissions("draftGroupMeetingSituation:export")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
List<Object> objects = payMeetingSituationService.MeetingSituationGetModelAndView(request, payMeetingSituation,MEETING_TYPE);
Class<?> aClass = payMeetingSituationService.getaClass(MEETING_TYPE);
return super.exportListXls(objects, aClass, "参会人员信息");
}
}
@@ -1728,9 +1728,14 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
BeanUtils.copyProperties(meetingSituation, councilSituationExcel);
exportList.add(councilSituationExcel);
break;
case MeetingCommon.DRAFTING_GROUP_MEETING:
//保存数据
DraftingGroupSituationExcel draftingGroupSituationExcel = new DraftingGroupSituationExcel();
BeanUtils.copyProperties(meetingSituation, draftingGroupSituationExcel);
exportList.add(draftingGroupSituationExcel);
break;
}
}
return exportList;
}
@@ -1749,6 +1754,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
classToExport = CommitteeSituationExcel.class;
}else if (meetingType.equals(MeetingCommon.COUNCIL_MEETING_INT)){
classToExport = CouncilSituationExcel.class;
}else if (meetingType.equals(MeetingCommon.DRAFTING_GROUP_MEETING_INT)){
classToExport = DraftingGroupSituationExcel.class;
}
return classToExport;
}
@@ -0,0 +1,98 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.math.BigDecimal;
import java.util.List;
@Data
public class DraftingGroupMeetingExcel {
/**工作组项目名称*/
@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 hotelName;
/**酒店地址*/
@Excel(name = "酒店地址", width = 15)
private String hotelAddress;
/**
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
private String remark;
/**通知正文*/
@Excel(name = "通知正文", width = 15,orderNum = "1")
private String notice;
}
@@ -0,0 +1,75 @@
package com.jero.meeting.vo.excel;
import com.jero.common.aspect.annotation.Dict;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
@Data
public class DraftingGroupSituationExcel extends SituationBaseExcel {
/**会议id*/
@Excel(name = "会议名称", width = 15,dictTable = "pay_meeting",dicCode = "id",dicText = "meeting_name")
private String meetingId;
/**企业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,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;
}