diff --git a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java index 48f0f969..cbbd68eb 100644 --- a/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java +++ b/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/common/system/base/controller/JeroController.java @@ -85,17 +85,14 @@ public class JeroController> { * * @param */ - protected ModelAndView exportListXls(List object, Class clazz, String title) { + protected ModelAndView exportListXls(List object, Class clazz, String title) { // Step.3 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); - mv.addObject(NormalExcelConstants.FILE_NAME, title); //此处设置的filename无效 ,前端会重更新设置一下 + //此处设置的filename无效 ,前端会重更新设置一下 + mv.addObject(NormalExcelConstants.FILE_NAME, title); 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, null); + mv.addObject(NormalExcelConstants.PARAMS,new ExportParams(title, title)); + mv.addObject(NormalExcelConstants.DATA_LIST, object); return mv; } @@ -167,7 +164,7 @@ public class JeroController> { /** * 导出Excel模板 */ - public ModelAndView exportTemplate(Class exportClass, String title) { + public ModelAndView exportTemplate(Class exportClass, String title) { // AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); //此处设置的filename无效 ,前端会重更新设置一下 diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java index 58db42e7..5516ceee 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/PayMeetingController.java @@ -1,7 +1,10 @@ package com.jero.meeting.controller; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -14,6 +17,7 @@ import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; import com.jero.common.util.PasswordUtil; import com.jero.common.util.ValidUtil; +import com.jero.common.util.oConvertUtils; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; @@ -24,8 +28,15 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.meeting.vo.PayMeetingVO; import com.jero.modules.system.volid.group.UpdateGroup; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.service.IPayWorkingGroupService; import lombok.extern.slf4j.Slf4j; import com.jero.common.system.base.controller.JeroController; +import org.apache.commons.beanutils.PropertyUtils; +import org.apache.poi.ss.formula.functions.T; +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.BeanUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -34,160 +45,229 @@ import io.swagger.annotations.ApiOperation; import com.jero.common.aspect.annotation.AutoLog; - /** +/** * @description: 会议管理 * @author: jero-boot - * @date: 2021-09-02 + * @date: 2021-09-02 * @version: V1.0 */ -@Api(tags="会议管理") +@Api(tags = "会议管理") @RestController @RequestMapping("/meeting/payMeeting") @Slf4j public class PayMeetingController extends JeroController { - @Resource - private IPayMeetingService payMeetingService; - @Resource - private ISysBaseAPI sysBaseApi; - @Resource - private IPayMeetingHotelContactsService meetingHotelContactsService; - - /** - * 分页列表查询 - */ - @AutoLog(value = "会议管理-分页列表查询") - @ApiOperation(value="会议管理-分页列表查询", notes="会议管理-分页列表查询") - @GetMapping(value = "/page") - public Result queryPageList(PayMeeting payMeeting, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap()); - Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingService.page(page, queryWrapper); - for (PayMeeting meeting : pageList.getRecords()) { - //查询会议负责人 - LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); - meeting.setDirectorName(user.getUsername()); - meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); - PayMeetingVO payMeetingVO = new PayMeetingVO(); - BeanUtils.copyProperties(payMeetingVO,payMeeting); - //查询酒店联系人列表 - if (meeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId,meeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - meeting.setHotelContactsList(payMeetingHotelContactsList); - } - } - - return Result.OK(pageList); - } + @Resource + private IPayMeetingService payMeetingService; + @Resource + private ISysBaseAPI sysBaseApi; + @Resource + private IPayMeetingHotelContactsService meetingHotelContactsService; + @Resource + private IPayWorkingGroupService payWorkingGroupService; /** - * 列表查询 - */ - @AutoLog(value = "会议管理-列表查询") - @ApiOperation(value="会议管理-列表查询", notes="会议管理-列表查询") - @GetMapping(value = "/list") - public Result> queryList() { + * 分页列表查询 + */ + @AutoLog(value = "会议管理-分页列表查询") + @ApiOperation(value = "会议管理-分页列表查询", notes = "会议管理-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(PayMeeting payMeeting, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap()); + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingService.page(page, queryWrapper); + for (PayMeeting meeting : pageList.getRecords()) { + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(payMeetingVO, payMeeting); + //查询酒店联系人列表 + if (meeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + meeting.setHotelContactsList(payMeetingHotelContactsList); + } + } + + return Result.OK(pageList); + } + + /** + * 列表查询 + */ + @AutoLog(value = "会议管理-列表查询") + @ApiOperation(value = "会议管理-列表查询", notes = "会议管理-列表查询") + @GetMapping(value = "/list") + public Result> queryList() { List list = payMeetingService.queryList(); return Result.OK(list); - } - - /** - * 添加 - */ - @AutoLog(value = "会议管理-添加") - @ApiOperation(value="会议管理-添加", notes="会议管理-添加") - @PostMapping(value = "/add") - public Result add(@RequestBody PayMeetingVO payMeetingVO) { - ValidUtil.validate(payMeetingVO); - payMeetingService.add(payMeetingVO); - return Result.OK("添加成功!"); - } - - /** - * 编辑 - */ - @AutoLog(value = "会议管理-编辑") - @ApiOperation(value="会议管理-编辑", notes="会议管理-编辑") - @PostMapping(value = "/edit") - public Result edit(@RequestBody PayMeetingVO payMeetingVO) { - ValidUtil.validate(payMeetingVO, UpdateGroup.class); - payMeetingService.editById(payMeetingVO); - return Result.OK("编辑成功!"); - } - - /** - * 通过id删除 - */ - @AutoLog(value = "会议管理-通过id删除") - @ApiOperation(value="会议管理-通过id删除", notes="会议管理-通过id删除") - @GetMapping(value = "/delete") - public Result delete(@RequestParam(name="id") String id) { - payMeetingService.deleteById(id); - return Result.OK("删除成功!"); - } - - /** - * 批量删除 - */ - @AutoLog(value = "会议管理-批量删除") - @ApiOperation(value="会议管理-批量删除", notes="会议管理-批量删除") - @GetMapping(value = "/deleteBatch") - public Result deleteBatch(@RequestParam(name="ids") String ids) { - this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); - return Result.OK("批量删除成功!"); - } - - /** - * 通过id查询 - */ - @AutoLog(value = "会议管理-通过id查询") - @ApiOperation(value="会议管理-通过id查询", notes="会议管理-通过id查询") - @GetMapping(value = "/queryById") - public Result queryById(@RequestParam(name="id") String id) { - PayMeeting payMeeting = payMeetingService.queryById(id); - if(payMeeting==null) { - return Result.error("未找到对应数据"); - } - //查询会议负责人 - LoginUser user = sysBaseApi.getUserById(payMeeting.getDirectorId()); - payMeeting.setDirectorName(user.getUsername()); - payMeeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); - PayMeetingVO payMeetingVO = new PayMeetingVO(); - BeanUtils.copyProperties(payMeetingVO,payMeeting); - //查询酒店联系人列表 - LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(PayMeetingHotelContacts::getMeetingId,payMeeting.getId()); - List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); - payMeeting.setHotelContactsList(payMeetingHotelContactsList); - return Result.OK(payMeeting); - } + } /** - * 导出excel - */ + * 添加 + */ + @AutoLog(value = "会议管理-添加") + @ApiOperation(value = "会议管理-添加", notes = "会议管理-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingVO payMeetingVO) { + ValidUtil.validate(payMeetingVO); + payMeetingService.add(payMeetingVO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @AutoLog(value = "会议管理-编辑") + @ApiOperation(value = "会议管理-编辑", notes = "会议管理-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingVO payMeetingVO) { + ValidUtil.validate(payMeetingVO, UpdateGroup.class); + payMeetingService.editById(payMeetingVO); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ + @AutoLog(value = "会议管理-通过id删除") + @ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + payMeetingService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @AutoLog(value = "会议管理-批量删除") + @ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + this.payMeetingService.deleteByIds(Arrays.asList(ids.split(","))); + return Result.OK("批量删除成功!"); + } + + /** + * 通过id查询 + */ + @AutoLog(value = "会议管理-通过id查询") + @ApiOperation(value = "会议管理-通过id查询", notes = "会议管理-通过id查询") + @GetMapping(value = "/queryById") + public Result queryById(@RequestParam(name = "id") String id) { + PayMeeting meeting = payMeetingService.queryById(id); + if (meeting == null) { + return Result.error("未找到对应数据"); + } + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(meeting, payMeetingVO); + String meetingType = meeting.getMeetingType().toString(); + //String meetingType1 = sysBaseApi.translateDict("meeting_type", meetingType); + payMeetingVO.setMeetingType(meetingType); + payMeetingVO.setTbMeetingType(meeting.getMeetingType().toString()); + //payMeetingVO.setHotelContactsList(new ArrayList<>()); + //标协会议查询酒店联系人列表 + if (meetingType.equals(MeetingCommon.STANDARD_MEETING)) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List 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()); + } + return Result.OK(payMeetingVO); + } + + /** + * 导出excel + */ @GetMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) { - return super.exportXls(request, payMeeting, PayMeeting.class, "会议管理"); + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); + List pageList = payMeetingService.list(queryWrapper); + List exportList = new ArrayList<>(); + // 过滤选中数据 + 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()); + } + for (PayMeeting meeting : pageList) { + //查询会议负责人 + LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getUsername()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(meeting, payMeetingVO); + String 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 wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List 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()); + } + exportList.add(payMeetingVO); + } + return super.exportListXls(exportList, PayMeetingVO.class, "会议管理"); } /** - * 导出excel模板 - */ + * 导出excel模板 + */ @GetMapping(value = "/exportTemplate") public ModelAndView exportTemplate() { - return super.exportTemplate(PayMeeting.class, "会议管理"); + return super.exportTemplate(PayMeetingVO.class, "会议管理"); } /** - * 通过excel导入数据 - */ + * 通过excel导入数据 + */ @PostMapping(value = "/importExcel") public Result importExcel(HttpServletRequest request, HttpServletResponse response) { return super.importExcel(request, response, PayMeeting.class); } + /** + * 获取对象ID + * + * @return + */ + private String getId(PayMeeting 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/meeting/entity/PayMeetingHotelContacts.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java index 7699992a..4978160f 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeetingHotelContacts.java @@ -35,7 +35,6 @@ public class PayMeetingHotelContacts implements Serializable { private String id; /**会议id*/ - @Excel(name = "会议id", width = 15) @ApiModelProperty(value = "会议id") private String meetingId; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java index f09a509a..066a48a1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/impl/PayMeetingServiceImpl.java @@ -16,6 +16,8 @@ import com.jero.meeting.valid.group.InternationalMeeting; import com.jero.meeting.valid.group.StandardMeeting; import com.jero.meeting.valid.group.WorkingGroupMeeting; import com.jero.meeting.vo.PayMeetingVO; +import com.jero.project.entity.PayWorkingGroup; +import com.jero.project.service.IPayWorkingGroupService; import org.apache.shiro.util.CollectionUtils; import org.jetbrains.annotations.NotNull; import org.springframework.beans.BeanUtils; @@ -23,6 +25,7 @@ import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; +import java.util.Map; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -42,7 +45,8 @@ public class PayMeetingServiceImpl extends ServiceImpl codeList = new ArrayList<>(); - //VIP邀请码 - String vipInvitationCode = payMeetingVO.getVipInvitationCode(); - codeList.add(vipInvitationCode); - //演讲嘉宾邀请码 - String speakerInvitationCode = payMeetingVO.getSpeakerInvitationCode(); - if (codeList.contains(speakerInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(speakerInvitationCode); - //特邀嘉宾邀请码 - String guestInvitationCode = payMeetingVO.getGuestInvitationCode(); - if (codeList.contains(guestInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(guestInvitationCode); - //合作伙伴邀请码 - String cooperativeInvitationCode = payMeetingVO.getCooperativeInvitationCode(); - if (codeList.contains(cooperativeInvitationCode)) { - throw new JeroBootException("邀请码不能重复"); - } - codeList.add(cooperativeInvitationCode); + switch (meetingType) { + case MeetingCommon.WORKING_GROUP_MEETING: + ValidUtil.validate(payMeetingVO, WorkingGroupMeeting.class); + String workingGroupId = payMeetingVO.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + if (workingGroup == null){ + throw new JeroBootException("工作组项目不存在"); + } + break; + case MeetingCommon.STANDARD_MEETING: + ValidUtil.validate(payMeetingVO, StandardMeeting.class); + //标协会议类型 + Map standardMeetingType = sysBaseApi.queryDictItemsMapByCode("standard_meeting_type"); + String tbMeetingType = payMeetingVO.getTbMeetingType(); + if (!standardMeetingType.containsKey(tbMeetingType)){ + throw new JeroBootException("标协会议类型不存在"); + } + hotelContactsList = payMeetingVO.getHotelContactsList(); + for (PayMeetingHotelContacts hotelContacts : hotelContactsList) { + ValidUtil.validate(hotelContacts, StandardMeeting.class); + } + break; + case MeetingCommon.INTERNATIONAL_MEETING: + ValidUtil.validate(payMeetingVO, InternationalMeeting.class); + //邀请码不能有重复的 + List codeList = new ArrayList<>(); + //VIP邀请码 + String vipInvitationCode = payMeetingVO.getVipInvitationCode(); + codeList.add(vipInvitationCode); + //演讲嘉宾邀请码 + String speakerInvitationCode = payMeetingVO.getSpeakerInvitationCode(); + if (codeList.contains(speakerInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(speakerInvitationCode); + //特邀嘉宾邀请码 + String guestInvitationCode = payMeetingVO.getGuestInvitationCode(); + if (codeList.contains(guestInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(guestInvitationCode); + //合作伙伴邀请码 + String cooperativeInvitationCode = payMeetingVO.getCooperativeInvitationCode(); + if (codeList.contains(cooperativeInvitationCode)) { + throw new JeroBootException("邀请码不能重复"); + } + codeList.add(cooperativeInvitationCode); + break; + default: } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java index 82609541..4c5a9522 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/PayMeetingVO.java @@ -1,6 +1,7 @@ package com.jero.meeting.vo; import com.fasterxml.jackson.annotation.JsonFormat; +import com.jero.common.util.PasswordUtil; import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.valid.group.InternationalMeeting; import com.jero.meeting.valid.group.StandardMeeting; @@ -10,6 +11,7 @@ import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; +import org.jeecgframework.poi.excel.annotation.ExcelCollection; import org.springframework.format.annotation.DateTimeFormat; import javax.validation.constraints.Max; @@ -43,24 +45,24 @@ public class PayMeetingVO implements Serializable { private String meetingName; /**会议类型*/ - @Excel(name = "会议类型", width = 15,dicCode = "meeting_type") + @Excel(name = "会议类型", width = 15) @ApiModelProperty(value = "会议类型") @NotBlank(message = "会议类型不能为空") private String meetingType; /**标协会议类型*/ - @Excel(name = "标协会议类型", width = 15,dicCode = "standard_meeting_type") + @Excel(name = "标协会议类型", width = 15) @ApiModelProperty(value = "标协会议类型") @NotBlank(message = "标协会议类型不能为空", groups = StandardMeeting.class) private String tbMeetingType; /**工作组项目id*/ - @Excel(name = "工作组项目名称", width = 15, dictTable = "pay_working_group",dicText = "working_group_project",dicCode = "id") @ApiModelProperty(value = "工作组项目id") @NotBlank(message = "工作组项目名称不能为空", groups = WorkingGroupMeeting.class) private String workingGroupId; /**工作组项目名称*/ + @Excel(name = "工作组项目名称", width = 15) @ApiModelProperty(value = "工作组项目名称") private String workingGroupName; @@ -185,17 +187,17 @@ public class PayMeetingVO implements Serializable { private Integer meetingCostsVip; /**会议负责人id*/ - @Excel(name = "会议负责人", width = 15,dictTable = "sys_user",dicText = "username",dicCode = "id") @ApiModelProperty(value = "会议负责人id") @NotBlank(message = "会议负责人不能为空") private String directorId; /**会议负责人*/ + @Excel(name = "会议负责人", width = 15) @ApiModelProperty(value = "会议负责人") private String directorName; /**会议负责人手机号*/ - @Excel(name = "会议负责人手机号", width = 15,exportConvert = true) + @Excel(name = "会议负责人手机号", width = 15) @ApiModelProperty(value = "会议负责人手机号") private String directorPhone; @@ -216,6 +218,7 @@ public class PayMeetingVO implements Serializable { /** * 会议关联酒店联系人列表 */ + @ExcelCollection(name = "酒店联系人列表") @NotNull(message = "酒店联系人不能为空",groups = StandardMeeting.class) @Size(max = 5, message = "酒店联系人最多为5个",groups = StandardMeeting.class) private List hotelContactsList;