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 69bea06d..d1f9a84d 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 @@ -119,6 +119,16 @@ public class PayMeetingController extends JeroController> queryMeetingSummary(MeetingSummary meetingSummary, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + IPage pageList = payMeetingService.queryMeetingSummary(meetingSummary, pageNo, pageSize, req); + return Result.OK(pageList); + } + /** * 企业端-会议-分页列表查询参会人的会议 */ diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/MeetingSummary.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/MeetingSummary.java new file mode 100644 index 00000000..d7b79f51 --- /dev/null +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/entity/MeetingSummary.java @@ -0,0 +1,26 @@ +package com.jero.meeting.entity; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author: liao + * @Date: 2023/2/1611:12 + * 会议汇总 + */ +@Data +@ApiModel(value="会议汇总", description="会议汇总") +public class MeetingSummary extends PayMeeting { + /* + * 企业名称 + * */ + @ApiModelProperty(value = "企业名称") + private String enterpriseName; + + /* + * 参加人 + * */ + @ApiModelProperty(value = "参加人") + private String participant; +} 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 b5d87e0f..860b0780 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 @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.system.vo.LoginUser; +import com.jero.meeting.entity.MeetingSummary; import com.jero.meeting.entity.PayMeeting; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.PayMeetingVO; @@ -69,6 +70,8 @@ public interface IPayMeetingService extends IService { IPage queryPageList(PayMeeting payMeeting, Integer pageNo, Integer pageSize, HttpServletRequest req); + IPage queryMeetingSummary(MeetingSummary meetingSummary, Integer pageNo, Integer pageSize, HttpServletRequest req); + void uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon); /** 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 0ed7207f..624bc08a 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 @@ -58,6 +58,8 @@ import com.jero.project.service.IPayWorkingGroupSubItemContactsService; import com.jero.project.service.IPayWorkingGroupSubItemService; import com.jero.standards.xuanguan.stablecrosstraining.entity.StableCrossTraining; import com.jero.standards.xuanguan.stablecrosstraining.service.IStableCrossTrainingService; +import org.apache.commons.beanutils.ConvertUtils; +import org.apache.commons.beanutils.ConvertUtilsBean; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.util.CollectionUtils; @@ -984,6 +986,87 @@ public class PayMeetingServiceImpl extends ServiceImpl queryMeetingSummary(MeetingSummary meetingSummary, Integer pageNo, Integer pageSize, HttpServletRequest req) { + PayMeeting payMeeting = new PayMeeting(); + BeanUtils.copyProperties(meetingSummary, payMeeting); + + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, req.getParameterMap()); + String meetingStartTime = req.getParameter("meetingStartTime"); + String meetingEndTime = req.getParameter("meetingEndTime"); + String enterpriseName = req.getParameter("enterpriseName"); + String participant = req.getParameter("participant"); + boolean flag1 = StringUtils.isNotBlank(enterpriseName); + boolean flag2 = StringUtils.isNotBlank(participant); + if (flag1 || flag2) { + LambdaQueryWrapper pmsWrapper = new LambdaQueryWrapper<>(); + pmsWrapper.like(flag1, PayMeetingSituation::getCompanyName, enterpriseName); + pmsWrapper.like(flag2, PayMeetingSituation::getCompanyContactName, participant); + List list = payMeetingSituationService.list(pmsWrapper); + List idList = list.stream().map(PayMeetingSituation::getMeetingId).collect(Collectors.toList()); + if (idList.size() > 0) { + queryWrapper.in("id", idList); + } + } + if (ObjectUtil.isNotEmpty(meetingStartTime) && ObjectUtil.isNotEmpty(meetingEndTime)) { + queryWrapper.not( + a -> a.gt("start_time", meetingEndTime).or().lt("end_time", meetingStartTime) + ); + } else if (ObjectUtil.isNotEmpty(meetingStartTime)) { + queryWrapper.not( + a -> a.lt("end_time", meetingStartTime) + ); + } else if (ObjectUtil.isNotEmpty(meetingEndTime)) { + queryWrapper.not( + a -> a.gt("start_time", meetingEndTime) + ); + } + Page page = new Page<>(pageNo, pageSize); + + IPage pageList = page(page, queryWrapper); + + for (PayMeeting meeting : pageList.getRecords()) { + //查询会议负责人 + LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId()); + meeting.setDirectorName(user.getRealname()); + meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone())); + PayMeetingVO payMeetingVO = new PayMeetingVO(); + BeanUtils.copyProperties(payMeetingVO, payMeeting); + String meetingId = meeting.getId(); + //查询酒店联系人列表 + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId); + List payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper); + meeting.setHotelContactsList(payMeetingHotelContactsList); + //查询会议联系人列表 + LambdaQueryWrapper queryWrapper1 = new LambdaQueryWrapper<>(); + queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId); + List meetingContactsList = meetingContactsService.list(queryWrapper1); + for (PayMeetingContacts payMeetingContacts : meetingContactsList) { + String meetingContactsId = payMeetingContacts.getMeetingContactsId(); + LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId); + payMeetingContacts.setMeetingContactsName(loginUser.getRealname()); + String phone = loginUser.getPhone(); + payMeetingContacts.setMeetingContactsPhone(PasswordUtil.decrypt(phone)); + } + meeting.setMeetingContactsList(meetingContactsList); + Optional.ofNullable(meeting.getAddQuestionStatue()).ifPresent(statue->{ + if (meeting.getEndTimeAddQuestion().before(new Date())) { + if(1==statue){ + PayMeeting payMeeting1 = new PayMeeting(); + payMeeting1.setAddQuestionStatue(0); + payMeeting1.setId(meeting.getId()); + updateById(payMeeting1); + } + } + }); + } + return pageList; + } + @Override @Transactional public void uploadFileSendMsg(UploadFileVO uploadFileVO, Integer meetingCommon) {