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 a42cb078..96fcc964 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,20 +1,14 @@ package com.jero.meeting.controller; -import java.io.File; import java.util.*; import java.util.stream.Collectors; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; -import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; -import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.jero.common.api.vo.Result; -import com.jero.common.dto.SendMessageDTO; -import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; import com.jero.common.service.SendMessageService; import com.jero.common.system.api.ISysBaseAPI; @@ -24,12 +18,10 @@ 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.IPayContactsManagementService; import com.jero.data.entity.PayCaseCommittee; import com.jero.data.service.IPayCaseCommitteeService; import com.jero.meeting.common.MeetingCommon; -import com.jero.meeting.common.MeetingSubitemCommon; import com.jero.meeting.entity.PayMeeting; import com.jero.meeting.entity.PayMeetingHotelContacts; import com.jero.meeting.entity.PayMeetingSituation; @@ -40,16 +32,13 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.meeting.service.IPayMeetingSituationService; 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.common.PayProjectCommon; 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.ApiImplicitParam; import lombok.extern.slf4j.Slf4j; @@ -123,71 +112,11 @@ public class PayMeetingController extends JeroController queryPageListContract(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()); - String meetingStartTime; - String meetingEndTime; - Date month = payMeeting.getMonth(); - if (Objects.nonNull(month)) { - meetingStartTime = DateUtil.formatDate(DateUtil.beginOfMonth(month)); - meetingEndTime = DateUtil.formatDate(DateUtil.endOfMonth(month)); - } else { - meetingStartTime = req.getParameter("meetingStartTime"); - meetingEndTime = req.getParameter("meetingEndTime"); - } - 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) - ); - } - String meetingStatus = req.getParameter("meetingStatus"); - String now = DateUtil.formatDate(new Date()); - if (StringUtils.isNotBlank(meetingStatus)) { - switch (meetingStatus) { - case MeetingCommon.MEETING_STATUS_2: - queryWrapper.gt("date_format(start_time,'%Y-%m-%d')", now); - break; - case MeetingCommon.MEETING_STATUS_3: - queryWrapper.le("date_format(start_time,'%Y-%m-%d')", now); - queryWrapper.ge("date_format(end_time,'%Y-%m-%d')", now); - break; - case MeetingCommon.MEETING_STATUS_4: - queryWrapper.lt("date_format(end_time,'%Y-%m-%d')", now); - break; - } - } + HttpServletRequest request) { LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); String contactId = sysUser.getId(); - - //会议报名状态:1可报名/2已报名 - String meetingSignUpType = req.getParameter("meetingSignUpType"); - if (Objects.equals(meetingSignUpType, 1 + "")) { - queryWrapper.eq("pmrr.contact_id", contactId); - queryWrapper.isNull("pms.company_contact_id"); - queryWrapper.ge("date_format(end_time,'%Y-%m-%d')", now); - } else if (Objects.equals(meetingSignUpType, 2 + "")) { - queryWrapper.eq("pms.company_contact_id", contactId); - } else { - queryWrapper.and( - a -> a.eq("pms.company_contact_id", contactId) - .or() - .eq("pms.post_contact_id", contactId) - .or() - .eq("pmrr.contact_id", contactId) - ); - } - - queryWrapper.orderByDesc("pm.start_time"); Page page = new Page<>(pageNo, pageSize); - IPage pageList = payMeetingService.pageListContract(page, queryWrapper, now); + IPage pageList = payMeetingService.pageListContract(page, payMeeting, request,sysUser); for (PayMeeting meeting : pageList.getRecords()) { //查询会议负责人 LoginUser user = sysBaseAPI.getUserById(meeting.getDirectorId()); @@ -198,11 +127,15 @@ public class PayMeetingController extends JeroController wrapper = new LambdaQueryWrapper<>(); wrapper.eq(PayMeetingSituation::getMeetingId, meeting.getId()); wrapper.eq(PayMeetingSituation::getCompanyContactId, contactId); - int count = payMeetingSituationService.count(wrapper); - if (count > 0) { + PayMeetingSituation meetingSituation = payMeetingSituationService.getOne(wrapper); + if (meetingSituation!=null) { meeting.setMeetingSignUpType(2); + meeting.setRegisterCheckResult(meetingSituation.getRegisterCheckResult()); + meeting.setSituationId(meetingSituation.getId()); + meeting.setPayMode(meetingSituation.getPayMode()); } else { meeting.setMeetingSignUpType(1); + meeting.setPayMode(null); } } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java index 30363316..c2e0d665 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/PayMeetingMapper.java @@ -8,8 +8,6 @@ import org.apache.ibatis.annotations.Param; import com.jero.meeting.entity.PayMeeting; import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import java.util.List; - /** * @Description: 会议管理 * @Author: jero-boot @@ -19,12 +17,22 @@ import java.util.List; public interface PayMeetingMapper extends BaseMapper { IPage pageListContract(Page page, - @Param(Constants.WRAPPER) QueryWrapper queryWrapper, - @Param("now") String now); + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("now") String now); + + IPage pageListContract2(Page page, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("now") String now); + + IPage pageListContract3(Page page, + @Param(Constants.WRAPPER) QueryWrapper queryWrapper, + @Param("now") String now); IPage internelPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage workGroupPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); IPage standardPage(Page page, @Param(Constants.WRAPPER) QueryWrapper queryWrapper); + + } diff --git a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml index 5ddea2e1..e5b5cd1c 100644 --- a/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml +++ b/jero-boot-incoming-payment/src/main/java/com/jero/meeting/mapper/xml/PayMeetingMapper.xml @@ -35,53 +35,207 @@ + + + + + + + select distinct pm.* from pay_meeting pm - left join pay_meeting_situation pms on pm.id = pms.meeting_id - ${ew.customSqlSegment} + left join pay_meeting_situation pms on pm.id = pms.meeting_id + ${ew.customSqlSegment} \ No newline at end of file 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 6f125667..ca481ba0 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 @@ -1,9 +1,9 @@ package com.jero.meeting.service; -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.common.enums.CompanyMessageEnums; +import com.jero.common.system.vo.LoginUser; import com.jero.meeting.entity.PayMeeting; import com.baomidou.mybatisplus.extension.service.IService; import com.jero.meeting.vo.PayMeetingVO; @@ -66,7 +66,7 @@ public interface IPayMeetingService extends IService { void publishReminder(PublishReminderVO publishReminderVO, CompanyMessageEnums companyMessageEnums, String busType); - IPage pageListContract(Page page, QueryWrapper queryWrapper, String now); + IPage pageListContract(Page page, PayMeeting payMeeting, HttpServletRequest request, LoginUser sysUser); IPage queryPageList(PayMeeting payMeeting, Integer pageNo, Integer pageSize, HttpServletRequest req); 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 505c1681..18d4eb77 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 @@ -9,7 +9,6 @@ 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.common.RoleCommon; import com.jero.common.dto.SendMessageDTO; import com.jero.common.enums.CompanyMessageEnums; import com.jero.common.exception.JeroBootException; @@ -564,8 +563,88 @@ public class PayMeetingServiceImpl extends ServiceImpl pageListContract(Page page, QueryWrapper queryWrapper, String now) { - return baseMapper.pageListContract(page, queryWrapper, now); + public IPage pageListContract(Page page, PayMeeting payMeeting, HttpServletRequest request, LoginUser sysUser) { + QueryWrapper queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap()); + String meetingStartTime; + String meetingEndTime; + Date month = payMeeting.getMonth(); + if (Objects.nonNull(month)) { + meetingStartTime = DateUtil.formatDate(DateUtil.beginOfMonth(month)); + meetingEndTime = DateUtil.formatDate(DateUtil.endOfMonth(month)); + } else { + meetingStartTime = request.getParameter("meetingStartTime"); + meetingEndTime = request.getParameter("meetingEndTime"); + } + 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) + ); + } + String meetingStatus = request.getParameter("meetingStatus"); + String now = DateUtil.formatDate(new Date()); + if (StringUtils.isNotBlank(meetingStatus)) { + switch (meetingStatus) { + case MeetingCommon.MEETING_STATUS_2: + queryWrapper.gt("date_format(start_time,'%Y-%m-%d')", now); + break; + case MeetingCommon.MEETING_STATUS_3: + queryWrapper.le("date_format(start_time,'%Y-%m-%d')", now); + queryWrapper.ge("date_format(end_time,'%Y-%m-%d')", now); + break; + case MeetingCommon.MEETING_STATUS_4: + queryWrapper.lt("date_format(end_time,'%Y-%m-%d')", now); + break; + } + } + String contactId = sysUser.getId(); + + queryWrapper.orderByDesc("pm.start_time"); + //会议报名状态:1可报名/2已报名 + String meetingSignUpType = request.getParameter("meetingSignUpType"); + if (Objects.equals(meetingSignUpType, 1 + "")) { + //queryWrapper.ne("pms.company_contact_id",contactId); + queryWrapper.ge("date_format(register_deadline,'%Y-%m-%d')", now); + queryWrapper.ge("date_format(end_time,'%Y-%m-%d')", now); + queryWrapper.and( + b -> b.eq("pm.meeting_type",MeetingCommon.STANDARD_MEETING) + .or() + .eq("pm.meeting_type",MeetingCommon.INTERNATIONAL_MEETING) + .or() + .eq("pm.meeting_type",MeetingCommon.OTHER_MEETING) + .or() + .eq("pmrr.contact_id", contactId) + ); + queryWrapper.groupBy("meeting_name"); + queryWrapper.having("company_contact_ids not like concat('%',{0},'%')",contactId); + return baseMapper.pageListContract(page, queryWrapper, now); + } else if (Objects.equals(meetingSignUpType, 2 + "")) { + queryWrapper.eq("pms.company_contact_id", contactId); + return baseMapper.pageListContract2(page, queryWrapper, now); + } else { + queryWrapper.and( + a -> a.eq("pms.company_contact_id", contactId) + .or() + .eq("pms.post_contact_id", contactId) + .or() + .eq("pmrr.contact_id", contactId) + .or() + .eq("pm.meeting_type",MeetingCommon.STANDARD_MEETING) + .or() + .eq("pm.meeting_type",MeetingCommon.INTERNATIONAL_MEETING) + .or() + .eq("pm.meeting_type",MeetingCommon.OTHER_MEETING) + ); + queryWrapper.groupBy("meeting_name"); + return baseMapper.pageListContract3(page, queryWrapper, now); + } } @Override