From 08d2d9bc4b763ac87a8f646d9f965a8d54a15f18 Mon Sep 17 00:00:00 2001 From: lijiarao Date: Mon, 13 Dec 2021 13:45:00 +0800 Subject: [PATCH] =?UTF-8?q?add=20=E6=89=80=E6=9C=89=E7=9A=84=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E5=A2=9E=E5=8A=A0=E4=BC=9A=E8=AE=AE=E7=BA=AA=E8=A6=81?= =?UTF-8?q?=E7=9A=84=E5=AD=97=E6=AE=B5=EF=BC=8C=E9=85=92=E5=BA=97=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/12月8日需求变更新增.sql | 11 + .../jero/meeting/common/MeetingCommon.java | 8 + .../CommitteeMeetingController.java | 107 +-------- .../controller/CouncilMeetingController.java | 225 +++++++++++++++++ .../CouncilMeetingSituationController.java | 226 ++++++++++++++++++ .../controller/InternalMeetingController.java | 107 +-------- .../controller/OtherMeetingController.java | 107 +-------- .../controller/PayMeetingController.java | 23 +- .../StandardsMeetingController.java | 108 +-------- .../WorkGroupMeetingController.java | 94 +------- .../com/jero/meeting/entity/PayMeeting.java | 13 + .../meeting/service/IPayMeetingService.java | 10 +- .../service/impl/PayMeetingServiceImpl.java | 104 +++++++- .../meeting/valid/group/CouncilMeeting.java | 8 + .../com/jero/meeting/vo/PayMeetingVO.java | 18 +- .../vo/excel/CommitteeMeetingExcel.java | 15 ++ .../meeting/vo/excel/CouncilMeetingExcel.java | 94 ++++++++ .../vo/excel/InternationalMeetingExcel.java | 15 ++ .../meeting/vo/excel/OtherMeetingExcel.java | 15 ++ .../vo/excel/WorkingGroupMeetingExcel.java | 15 ++ 20 files changed, 819 insertions(+), 504 deletions(-) create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingController.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingSituationController.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/valid/group/CouncilMeeting.java create mode 100644 jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java diff --git a/db/12月8日需求变更新增.sql b/db/12月8日需求变更新增.sql index e69de29b..921b587f 100644 --- a/db/12月8日需求变更新增.sql +++ b/db/12月8日需求变更新增.sql @@ -0,0 +1,11 @@ +ALTER TABLE `pay_meeting` + ADD COLUMN `meeting_minute` varchar(1000) NULL COMMENT '会议纪要' AFTER `meeting_data`; +ALTER TABLE `pay_meeting` + ADD COLUMN `council_id` varbinary(50) NULL DEFAULT NULL COMMENT '理事会项目id' AFTER `standards_id`; +ALTER TABLE `pay_meeting` + ADD COLUMN `council_name` varbinary(50) NULL DEFAULT NULL COMMENT '理事会项目名称' AFTER `council_id`; + +INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time) +VALUES ('1470221428149047297', '1432280766382727169', '理事会会议', '6', '', 6, 1, 'LKGLZ', '2021-12-13 10:37:58'); +INSERT INTO sys_dict_item (id, dict_id, item_text, item_value, description, sort_order, status, create_by, create_time) +VALUES ('1470241235099570177', '1432944556812075009', '信息交流会', '3', '', 3, 1, 'LKGLZ', '2021-12-13 11:56:40'); \ No newline at end of file diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java index 8882cfce..e4c25d86 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/common/MeetingCommon.java @@ -48,6 +48,14 @@ public class MeetingCommon { * 分标委会议 */ public final static Integer COMMITTEE_MEETING_INT = 5; + /** + * 理事会会议 + */ + public final static String COUNCIL_MEETING = "6"; + /** + * 理事会会议 + */ + public final static Integer COUNCIL_MEETING_INT = 6; /** * 未提醒 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java index 7b4da6d9..c30355cb 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CommitteeMeetingController.java @@ -1,26 +1,18 @@ package com.jero.meeting.controller; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.enums.CompanyMessageEnums; -import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; 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.company.service.IPayContactsManagementService; -import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; @@ -30,20 +22,12 @@ import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.vo.PayMeetingVO; import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; -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; -import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; -import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining; -import com.jero.util.QrcodeUtil; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @@ -191,22 +175,12 @@ public class CommitteeMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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()); - } + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + return Result.OK(payMeetingVO); } @@ -218,75 +192,8 @@ public class CommitteeMeetingController extends JeroController queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); - List pageList = queryPageList.getRecords(); - 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.getRealname()); - 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<>()); - //标协会议查询酒店联系人列表 - switch (meetingType) { - case 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); - //保存数据 - 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: - //保存数据 - OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); - BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); - exportList.add(otherMeetingExcel); - 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; - } - } + List exportList = payMeetingService.getExportList(request,queryPageList); Class aClass = payMeetingService.getaClass(MeetingCommon.COMMITTEE_MEETING_INT); return super.exportListXls(exportList, aClass, "会议管理"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingController.java new file mode 100644 index 00000000..8878e588 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingController.java @@ -0,0 +1,225 @@ +package com.jero.meeting.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; +import com.jero.common.enums.CompanyMessageEnums; +import com.jero.common.system.api.ISysBaseAPI; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.vo.LoginUser; +import com.jero.common.util.AuthenticationUtils; +import com.jero.common.util.PasswordUtil; +import com.jero.common.util.ValidUtil; +import com.jero.company.service.IPayContactsManagementService; +import com.jero.data.service.IPayCaseCommitteeService; +import com.jero.meeting.common.MeetingCommon; +import com.jero.meeting.entity.PayMeeting; +import com.jero.meeting.entity.PayMeetingHotelContacts; +import com.jero.meeting.service.IPayMeetingHotelContactsService; +import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.vo.PayMeetingVO; +import com.jero.meeting.vo.PublishReminderVO; +import com.jero.meeting.vo.UploadFileVO; +import com.jero.modules.oss.service.IOSSFileService; +import com.jero.modules.system.volid.group.UpdateGroup; +import com.jero.project.service.IPayWorkingGroupService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.BeanUtils; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + + +/** + * @description: 会议管理 + * @author: jero-boot + * @date: 2021-09-02 + * @version: V1.0 + */ +@Api(tags = "会议管理-分标委会议") +@RestController +@RequestMapping("/meeting/committeeMeeting") +@Slf4j +public class CouncilMeetingController extends JeroController { + @Resource + private IPayMeetingService payMeetingService; + @Resource + private ISysBaseAPI sysBaseAPI; + @Resource + private IPayMeetingHotelContactsService meetingHotelContactsService; + @Resource + private IPayWorkingGroupService payWorkingGroupService; + @Resource + private AuthenticationUtils authenticationUtils; + @Resource + private IOSSFileService iossFileService; + @Resource + private IPayCaseCommitteeService payCaseCommitteeService; + @Resource + private IPayContactsManagementService payContactsManagementService; + + /** + * 分页列表查询 + */ + @RequiresPermissions("committeeMeeting:search") + @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) { + payMeeting.setMeetingType(MeetingCommon.COMMITTEE_MEETING_INT); + IPage pageList = payMeetingService.queryPageList(payMeeting, pageNo, pageSize, req); + + return Result.OK(pageList); + } + + /** + * 添加 + */ + @RequiresPermissions("committeeMeeting:add") + @AutoLog(value = "会议管理-添加") + @ApiOperation(value = "会议管理-添加", notes = "会议管理-添加") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingVO payMeetingVO) { + String meetingType = payMeetingVO.getMeetingType(); + if (!Objects.equals(meetingType, MeetingCommon.COMMITTEE_MEETING)) { + throw new RuntimeException(); + } + ValidUtil.validate(payMeetingVO); + payMeetingService.add(payMeetingVO); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @RequiresPermissions("committeeMeeting:edit") + @AutoLog(value = "会议管理-编辑") + @ApiOperation(value = "会议管理-编辑", notes = "会议管理-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingVO payMeetingVO) { + String id = payMeetingVO.getId(); + extracted(id); + ValidUtil.validate(payMeetingVO, UpdateGroup.class); + payMeetingService.editById(payMeetingVO); + return Result.OK("编辑成功!"); + } + + private void extracted(String id) { + PayMeeting payMeeting = payMeetingService.getById(id); + Integer meetingType = payMeeting.getMeetingType(); + if (!Objects.equals(meetingType, MeetingCommon.COMMITTEE_MEETING_INT)) { + throw new RuntimeException(); + } + } + + /** + * 通过id删除 + */ + @RequiresPermissions("committeeMeeting:delete") + @AutoLog(value = "会议管理-通过id删除") + @ApiOperation(value = "会议管理-通过id删除", notes = "会议管理-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + extracted(id); + payMeetingService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @RequiresPermissions("committeeMeeting:batchDel") + @AutoLog(value = "会议管理-批量删除") + @ApiOperation(value = "会议管理-批量删除", notes = "会议管理-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + List idList = Arrays.asList(ids.split(",")); + for (String id : idList) { + extracted(id); + } + this.payMeetingService.deleteByIds(idList); + return Result.OK("批量删除成功!"); + } + + /** + * 通过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 || !Objects.equals(meeting.getMeetingType(), MeetingCommon.COMMITTEE_MEETING_INT)) { + return Result.error("未找到对应数据"); + } + //查询会议负责人 + LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId()); + List departNamesByUsername = sysBaseAPI.getDepartNamesByUsername(user.getUsername()); + String departName = departNamesByUsername.get(0); + meeting.setDirectorName(user.getRealname()); + 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<>()); + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + + return Result.OK(payMeetingVO); + } + + /** + * 导出excel + */ + @RequiresPermissions("committeeMeeting:export") + @GetMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) { + payMeeting.setMeetingType(MeetingCommon.COMMITTEE_MEETING_INT); + IPage queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); + + List exportList = payMeetingService.getExportList(request,queryPageList); + Class aClass = payMeetingService.getaClass(MeetingCommon.COMMITTEE_MEETING_INT); + return super.exportListXls(exportList, aClass, "会议管理"); + } + + /** + * 上传资料 + */ + @AutoLog(value = "上传资料") + @RequiresPermissions("committeeMeeting:upload") + @ApiOperation(value = "上传资料", notes = "上传资料") + @PostMapping(value = "/uploadFile") + public Result uploadFile(@RequestBody UploadFileVO uploadFileVO) { + payMeetingService.uploadFileSendMsg(uploadFileVO, MeetingCommon.COMMITTEE_MEETING_INT); + return Result.OK("上传资料成功!"); + } + + /** + * 发布提醒 + */ + @AutoLog(value = "发布提醒", operateType = 2) + @RequiresPermissions("committeeMeeting:publish") + @ApiOperation(value = "发布提醒", notes = "发布提醒") + @PostMapping(value = "/publishReminder") + public Result publishReminder(@RequestBody PublishReminderVO publishReminderVO) { + payMeetingService.publishReminder(publishReminderVO, CompanyMessageEnums.MSG13,"C_OPEN_TYPE13"); + return Result.OK(); + } + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingSituationController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingSituationController.java new file mode 100644 index 00000000..28b071c6 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/CouncilMeetingSituationController.java @@ -0,0 +1,226 @@ +package com.jero.meeting.controller; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +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.service.RolePermissionService; +import com.jero.common.system.base.controller.JeroController; +import com.jero.common.system.query.QueryGenerator; +import com.jero.common.util.ValidUtil; +import com.jero.company.service.IPayCompanyManagementService; +import com.jero.company.service.IPayContactsManagementService; +import com.jero.meeting.common.MeetingCommon; +import com.jero.meeting.entity.PayMeetingSituation; +import com.jero.meeting.service.IPayMeetingService; +import com.jero.meeting.service.IPayMeetingSituationService; +import com.jero.meeting.vo.CheckVO; +import com.jero.meeting.vo.MergePayBillVO; +import com.jero.meeting.vo.PayMeetingSituationVO; +import com.jero.project.common.PayProjectCommon; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +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; +import java.util.Arrays; +import java.util.List; +import java.util.Objects; + + +/** + * @description: 参会人员信息 + * @author: jero-boot + * @date: 2021-09-02 + * @version: V1.0 + */ +@Api(tags = "参会人员信息-分标委会议") +@RestController +@RequestMapping("/meeting/committeeMeetingSituation") +@Slf4j +public class CouncilMeetingSituationController extends JeroController { + @Resource + private IPayMeetingSituationService payMeetingSituationService; + @Resource + private IPayContactsManagementService contactsManagementService; + @Resource + private IPayCompanyManagementService companyManagementService; + @Resource + private IPayMeetingService meetingService; + @Resource + private RolePermissionService rolePermissionService; + + private final Integer MEETING_TYPE = MeetingCommon.COMMITTEE_MEETING_INT; + /** + * 分页列表查询 + */ + @CompanyNameTranslate + @RequiresPermissions("committeeMeetingSituation:search") + @ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询") + @GetMapping(value = "/page") + public Result queryPageList(PayMeetingSituation payMeetingSituation, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + String meetingId = payMeetingSituation.getMeetingId(); + if (StringUtils.isBlank(meetingId)) { + throw new JeroBootException("会议id不能为空"); + } + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); + String particularYear = req.getParameter("particularYear"); + if (StringUtils.isNotBlank(particularYear)) { + queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )", particularYear); + } + + Page page = new Page<>(pageNo, pageSize); + IPage pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); + List situationList = pageList.getRecords(); + for (PayMeetingSituation meetingSituation : situationList) { + Integer payMode = meetingSituation.getPayMode(); + //汇款并且缴费凭证为空 + if (Objects.equals(payMode, 1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())) { + meetingSituation.setIdentification(PayProjectCommon.YES); + } else { + meetingSituation.setIdentification(PayProjectCommon.NO); + } + } + return Result.OK(pageList); + } + + /** + * 添加参会人 + */ + @RequiresPermissions("committeeMeetingSituation:add") + @AutoLog(value = "参会人员信息-添加参会人") + @ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人") + @PostMapping(value = "/add") + public Result add(@RequestBody PayMeetingSituation payMeetingSituation) { + + payMeetingSituationService.add(payMeetingSituation,MEETING_TYPE); + return Result.OK("添加成功!"); + } + + /** + * 编辑 + */ + @AutoLog(value = "参会人员信息-编辑") + @RequiresPermissions("committeeMeetingSituation:edit") + @ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑") + @PostMapping(value = "/edit") + public Result edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) { + payMeetingSituationService.editById(payMeetingSituationVO,MEETING_TYPE); + return Result.OK("编辑成功!"); + } + + /** + * 通过id删除 + */ + @RequiresPermissions("committeeMeetingSituation:delete") + @AutoLog(value = "参会人员信息-通过id删除") + @ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除") + @GetMapping(value = "/delete") + public Result delete(@RequestParam(name = "id") String id) { + payMeetingSituationService.deleteById(id); + return Result.OK("删除成功!"); + } + + /** + * 批量删除 + */ + @RequiresPermissions("committeeMeetingSituation:batchDel") + @AutoLog(value = "参会人员信息-批量删除") + @ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除") + @GetMapping(value = "/deleteBatch") + public Result deleteBatch(@RequestParam(name = "ids") String ids) { + List stringList = Arrays.asList(ids.split(",")); + this.payMeetingSituationService.deleteByIds(stringList); + 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); + } + + /** + * 导出excel + */ + @RequiresPermissions("committeeMeetingSituation:export") + @GetMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) { + + List objects = payMeetingSituationService.MeetingSituationGetModelAndView(request, payMeetingSituation,MEETING_TYPE); + Class aClass = payMeetingSituationService.getaClass(MEETING_TYPE); + return super.exportListXls(objects, aClass, "参会人员信息"); + } + + /** + * 审核付款凭证 + */ + @RequiresPermissions("committeeMeetingSituation:auditCredentials") + @AutoLog(value = "审核付款凭证") + @ApiOperation(value = "审核付款凭证") + @PostMapping(value = "/check") + public Result check(@RequestBody CheckVO checkVO) { + payMeetingSituationService.check(checkVO); + return Result.OK("审核成功!"); + } + + /** + * 审核报名信息 + */ + @AutoLog(value = "审核报名信息") + @RequiresPermissions("committeeMeetingSituation:auditSignUp") + @ApiOperation(value = "审核报名信息") + @PostMapping(value = "/checkRegister") + public Result checkRegister(@RequestBody CheckVO checkVO) { + payMeetingSituationService.checkRegister(checkVO); + return Result.OK("审核成功!"); + } + + /** + * 合并开票 + */ + @AutoLog(value = "合并开票") + @ApiOperation(value = "合并开票", notes = "合并开票") + @PostMapping(value = "/batchPayBill") + public Result mergePayBill(@RequestBody MergePayBillVO mergePayBillVO) { + ValidUtil.validate(mergePayBillVO); + payMeetingSituationService.mergePayBill(mergePayBillVO); + return Result.OK("合并开票成功!"); + } +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java index 9c3f9a65..f7d96be8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/InternalMeetingController.java @@ -1,25 +1,17 @@ package com.jero.meeting.controller; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; -import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; 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.company.service.IPayContactsManagementService; -import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; @@ -27,22 +19,13 @@ import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.service.IPayMeetingHotelContactsService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.vo.PayMeetingVO; -import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; -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; -import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; -import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining; -import com.jero.util.QrcodeUtil; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @@ -190,22 +173,11 @@ public class InternalMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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()); - } + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); return Result.OK(payMeetingVO); } @@ -217,75 +189,8 @@ public class InternalMeetingController extends JeroController queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); - List pageList = queryPageList.getRecords(); - 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.getRealname()); - 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<>()); - //标协会议查询酒店联系人列表 - switch (meetingType) { - case 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); - //保存数据 - 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: - //保存数据 - OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); - BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); - exportList.add(otherMeetingExcel); - 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; - } - } + List exportList = payMeetingService.getExportList(request,queryPageList); Class aClass = payMeetingService.getaClass(MeetingCommon.INTERNATIONAL_MEETING_INT); return super.exportListXls(exportList, aClass, "会议管理"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java index 96c868ed..57d58c84 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/OtherMeetingController.java @@ -1,25 +1,17 @@ package com.jero.meeting.controller; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; -import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; 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.company.service.IPayContactsManagementService; -import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; @@ -27,22 +19,13 @@ import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.service.IPayMeetingHotelContactsService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.vo.PayMeetingVO; -import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; -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; -import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; -import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining; -import com.jero.util.QrcodeUtil; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.web.bind.annotation.*; @@ -190,22 +173,11 @@ public class OtherMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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()); - } + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); return Result.OK(payMeetingVO); } @@ -217,75 +189,8 @@ public class OtherMeetingController extends JeroController queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); - List pageList = queryPageList.getRecords(); - 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.getRealname()); - 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<>()); - //标协会议查询酒店联系人列表 - switch (meetingType) { - case 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); - //保存数据 - 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: - //保存数据 - OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); - BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); - exportList.add(otherMeetingExcel); - 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; - } - } + List exportList = payMeetingService.getExportList(request,queryPageList); Class aClass = payMeetingService.getaClass(MeetingCommon.OTHER_MEETING_INT); return super.exportListXls(exportList, aClass, "会议管理"); } 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 803f19b4..e327f146 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 @@ -254,18 +254,17 @@ public class PayMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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)) { + //会议查询酒店联系人列表 + 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); + // 工作组项目查询工作组项目名 + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { String workingGroupId = meeting.getWorkingGroupId(); PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java index 4e8ddba9..6892b1c4 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/StandardsMeetingController.java @@ -1,25 +1,17 @@ package com.jero.meeting.controller; -import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; import com.jero.common.aspect.annotation.AutoLog; -import com.jero.common.exception.JeroBootException; import com.jero.common.system.api.ISysBaseAPI; import com.jero.common.system.base.controller.JeroController; -import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.vo.LoginUser; 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.company.service.IPayContactsManagementService; -import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.entity.PayMeeting; @@ -27,22 +19,14 @@ import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.service.IPayMeetingHotelContactsService; import com.jero.meeting.service.IPayMeetingService; import com.jero.meeting.vo.PayMeetingVO; -import com.jero.meeting.vo.PublishReminderVO; import com.jero.meeting.vo.UploadFileVO; -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; import com.jero.project.entity.PayWorkingGroup; import com.jero.project.service.IPayWorkingGroupService; -import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining; -import com.jero.util.QrcodeUtil; import io.swagger.annotations.Api; -import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.SecurityUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; @@ -217,18 +201,17 @@ public class StandardsMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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)) { + //会议查询酒店联系人列表 + 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); + // 工作组项目查询工作组项目名 + if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING)) { String workingGroupId = meeting.getWorkingGroupId(); PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); @@ -244,75 +227,8 @@ public class StandardsMeetingController extends JeroController queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); - List pageList = queryPageList.getRecords(); - 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.getRealname()); - 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<>()); - //标协会议查询酒店联系人列表 - switch (meetingType) { - case 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); - //保存数据 - 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: - //保存数据 - OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); - BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); - exportList.add(otherMeetingExcel); - 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; - } - } + List exportList = payMeetingService.getExportList(request, queryPageList); Class aClass = payMeetingService.getaClass(MeetingCommon.STANDARD_MEETING_INT); return super.exportListXls(exportList, aClass, "会议管理"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java index 7b764e5f..179b54f8 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/controller/WorkGroupMeetingController.java @@ -192,22 +192,15 @@ public class WorkGroupMeetingController extends JeroController()); - //标协会议查询酒店联系人列表 - 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()); - } + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + // 工作组项目查询工作组项目名 + String workingGroupId = meeting.getWorkingGroupId(); + PayWorkingGroup workingGroup = payWorkingGroupService.getById(workingGroupId); + payMeetingVO.setWorkingGroupName(workingGroup.getWorkingGroupProject()); return Result.OK(payMeetingVO); } @@ -219,75 +212,8 @@ public class WorkGroupMeetingController extends JeroController queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request); - List pageList = queryPageList.getRecords(); - 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.getRealname()); - 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<>()); - //标协会议查询酒店联系人列表 - switch (meetingType) { - case 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); - //保存数据 - 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: - //保存数据 - OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); - BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); - exportList.add(otherMeetingExcel); - 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; - } - } + List exportList = payMeetingService.getExportList(request, queryPageList); Class aClass = payMeetingService.getaClass(MeetingCommon.WORKING_GROUP_MEETING_INT); return super.exportListXls(exportList, aClass, "会议管理"); } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java index c8e07621..36d1c365 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/PayMeeting.java @@ -104,6 +104,15 @@ public class PayMeeting implements Serializable { @ApiModelProperty(value = "标协项目id") private String standardsId; + /**理事会项目id*/ + @ApiModelProperty(value = "理事会项目id") + private String councilId; + + /**理事会名称*/ + @Excel(name = "理事会名称", width = 15) + @ApiModelProperty(value = "理事会名称") + private String councilName; + /**开始时间*/ @Excel(name = "开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") @@ -244,6 +253,10 @@ public class PayMeeting implements Serializable { @ApiModelProperty(value = "会议资料") private String meetingData; + /**会议资料*/ + @ApiModelProperty(value = "会议纪要") + private String meetingMinute; + /**是否提醒*/ @ApiModelProperty(value = "是否提醒") @Dict(dicCode = "yn") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java index ca481ba0..5b64e4fc 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/service/IPayMeetingService.java @@ -28,7 +28,6 @@ public interface IPayMeetingService extends IService { /** * 新增标协会议 - * @param payMeeting */ void addStandards(PayMeeting payMeeting); @@ -59,7 +58,6 @@ public interface IPayMeetingService extends IService { /** * 发布提醒 - * @param publishReminderVO * @author lijiarao * @date 2021/9/27 */ @@ -72,5 +70,13 @@ public interface IPayMeetingService extends IService { void uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon); + /** + * 根据会议类型查询导出类 + */ Class getaClass(Integer meetingType); + + /** + * 根据会议类型查询导出数据 + */ + List getExportList(HttpServletRequest request, IPage queryPageList); } 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 f82e665e..06b901ff 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 @@ -20,13 +20,17 @@ import com.jero.common.system.vo.LoginUser; 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.company.entity.PayContactsManagement; import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayContactsManagementService; import com.jero.data.entity.PayCaseCommittee; import com.jero.data.entity.PayCaseCommitteeSubitem; +import com.jero.data.entity.PayCaseCouncil; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.data.service.IPayCaseCommitteeSubitemService; +import com.jero.data.service.IPayCaseCouncilService; +import com.jero.data.service.IPayCaseCouncilSubitemService; import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.entity.PayMeeting; @@ -106,6 +110,10 @@ public class PayMeetingServiceImpl extends ServiceImpl getExportList(HttpServletRequest request, IPage queryPageList) { + List pageList = queryPageList.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()); + } + if (pageList.isEmpty()) { + throw new JeroBootException("没有数据"); + } + List exportList = new ArrayList<>(); + for (PayMeeting meeting : pageList) { + //查询会议负责人 + LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId()); + + meeting.setDirectorName(user.getRealname()); + 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<>()); + //会议查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId()); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + payMeetingVO.setHotelContactsList(payMeetingHotelContactsList); + switch (meetingType) { + case MeetingCommon.STANDARD_MEETING: + //标协会议类型 + 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: + //保存数据 + OtherMeetingExcel otherMeetingExcel = new OtherMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, otherMeetingExcel); + exportList.add(otherMeetingExcel); + 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; + case MeetingCommon.COUNCIL_MEETING: + String councilId = meeting.getCouncilId(); + PayCaseCouncil payCaseCouncil = payCaseCouncilService.getById(councilId); + payMeetingVO.setCouncilName(payCaseCouncil.getName()); + + CouncilMeetingExcel councilMeetingExcel = new CouncilMeetingExcel(); + BeanUtils.copyProperties(payMeetingVO, councilMeetingExcel); + exportList.add(councilMeetingExcel); + break; + } + } + return exportList; + } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/valid/group/CouncilMeeting.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/valid/group/CouncilMeeting.java new file mode 100644 index 00000000..840c2dc9 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/valid/group/CouncilMeeting.java @@ -0,0 +1,8 @@ +package com.jero.meeting.valid.group; + +/** + * @author liJiaRao + * @date 2021-09-17 17:15 + */ +public @interface CouncilMeeting { +} 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 bef7faa3..8c23b9ff 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 @@ -5,10 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.jero.common.util.PasswordUtil; import com.jero.meeting.entity.PayMeetingHotelContacts; -import com.jero.meeting.valid.group.CaseCommitteeMeeting; -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.valid.group.*; import com.jero.modules.system.volid.group.UpdateGroup; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -68,7 +65,7 @@ public class PayMeetingVO implements Serializable { private String workingGroupName; /**分标委项目id*/ - @ApiModelProperty(value = "主键") + @ApiModelProperty(value = "分标委项目id") @NotBlank(message = "分标委项目名称不能为空", groups = CaseCommitteeMeeting.class) private String caseCommitteeId; @@ -77,6 +74,17 @@ public class PayMeetingVO implements Serializable { @ApiModelProperty(value = "分标委项目名称") private String caseCommitteeName; + + /**理事会项目id*/ + @ApiModelProperty(value = "理事会项目id") + @NotBlank(message = "理事会项目名称不能为空", groups = CouncilMeeting.class) + private String councilId; + + /**理事会名称*/ + @Excel(name = "理事会名称", width = 15) + @ApiModelProperty(value = "理事会名称") + private String councilName; + /**开始时间*/ @Excel(name = "会议开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss") @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java index 3f1dc12f..8c4055fa 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CommitteeMeetingExcel.java @@ -1,9 +1,11 @@ package com.jero.meeting.vo.excel; +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 @@ -68,6 +70,19 @@ public class CommitteeMeetingExcel { @Excel(name = "会议负责人手机号", width = 15) private String directorPhone; + /**酒店名称*/ + @Excel(name = "酒店名称", width = 15) + private String hotelName; + + /**酒店地址*/ + @Excel(name = "酒店地址", width = 15) + private String hotelAddress; + + /** + * 会议关联酒店联系人列表 + */ + private List hotelContactsList; + /**备注*/ @Excel(name = "备注", width = 15) private String remark; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java new file mode 100644 index 00000000..e3079a9f --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/CouncilMeetingExcel.java @@ -0,0 +1,94 @@ +package com.jero.meeting.vo.excel; + +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-12-13 11:25 + */ +@Data +public class CouncilMeetingExcel { + + /**分标委名称*/ + @Excel(name = "理事会名称", width = 15) + private String councilName; + + /**会议名称*/ + @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 hotelContactsList; + + /**备注*/ + @Excel(name = "备注", width = 15) + private String remark; + + /**通知正文*/ + @Excel(name = "通知正文", width = 15,orderNum = "1") + private String notice; + +} diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java index 5550f303..fb76a1c1 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/InternationalMeetingExcel.java @@ -1,5 +1,6 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.valid.group.InternationalMeeting; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; @@ -7,6 +8,7 @@ import org.jeecgframework.poi.excel.annotation.Excel; import javax.validation.constraints.NotBlank; import javax.validation.constraints.Size; import java.math.BigDecimal; +import java.util.List; /** * @author liJiaRao @@ -82,6 +84,19 @@ public class InternationalMeetingExcel { @Excel(name = "合作伙伴邀请码", width = 15) private java.lang.String cooperativeInvitationCode; + /**酒店名称*/ + @Excel(name = "酒店名称", width = 15) + private String hotelName; + + /**酒店地址*/ + @Excel(name = "酒店地址", width = 15) + private String hotelAddress; + + /** + * 会议关联酒店联系人列表 + */ + private List hotelContactsList; + /**备注*/ @Excel(name = "备注", width = 15) private String remark; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java index 180d0cc2..a9f91670 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/OtherMeetingExcel.java @@ -1,9 +1,11 @@ package com.jero.meeting.vo.excel; +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 @@ -63,6 +65,19 @@ public class OtherMeetingExcel { @Excel(name = "会议负责人手机号", width = 15) private String directorPhone; + /**酒店名称*/ + @Excel(name = "酒店名称", width = 15) + private String hotelName; + + /**酒店地址*/ + @Excel(name = "酒店地址", width = 15) + private String hotelAddress; + + /** + * 会议关联酒店联系人列表 + */ + private List hotelContactsList; + /**备注*/ @Excel(name = "备注", width = 15) private String remark; diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java index 94cb0719..bb1044db 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/vo/excel/WorkingGroupMeetingExcel.java @@ -1,9 +1,11 @@ package com.jero.meeting.vo.excel; +import com.jero.meeting.entity.PayMeetingHotelContacts; import lombok.Data; import org.jeecgframework.poi.excel.annotation.Excel; import java.math.BigDecimal; +import java.util.List; /** @@ -69,6 +71,19 @@ public class WorkingGroupMeetingExcel{ @Excel(name = "会议负责人手机号", width = 15) private String directorPhone; + /**酒店名称*/ + @Excel(name = "酒店名称", width = 15) + private String hotelName; + + /**酒店地址*/ + @Excel(name = "酒店地址", width = 15) + private String hotelAddress; + + /** + * 会议关联酒店联系人列表 + */ + private List hotelContactsList; + /**备注*/ @Excel(name = "备注", width = 15) private String remark;