add 会议活动页面查询功能
This commit is contained in:
+36
-18
@@ -7,8 +7,6 @@ import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
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;
|
||||
@@ -20,6 +18,8 @@ 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;
|
||||
@@ -44,6 +44,7 @@ import com.jero.util.QrcodeUtil;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
@@ -79,11 +80,13 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
private IOSSFileService iossFileService;
|
||||
@Resource
|
||||
private IPayCaseCommitteeService payCaseCommitteeService;
|
||||
@Resource
|
||||
private IPayContactsManagementService payContactsManagementService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@RequiresPermissions("meeting:search")
|
||||
@RequiresPermissions({"meeting:search","meeting:search"})
|
||||
@ApiOperation(value = "会议管理-分页列表查询", notes = "会议管理-分页列表查询")
|
||||
@GetMapping(value = "/page")
|
||||
public Result<?> queryPageList(PayMeeting payMeeting,
|
||||
@@ -155,26 +158,41 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
|
||||
}
|
||||
String meetingStatus = req.getParameter("meetingStatus");
|
||||
String now = DateUtil.formatDate(new Date());
|
||||
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.le("date_format(end_time,'%Y-%m-%d')", now);
|
||||
break;
|
||||
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.le("date_format(end_time,'%Y-%m-%d')", now);
|
||||
break;
|
||||
}
|
||||
}
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String id = sysUser.getId();
|
||||
queryWrapper.and(
|
||||
a -> a.eq("pms.company_contact_id",id).or().eq("pms.post_contact_id",id)
|
||||
);
|
||||
|
||||
//会议报名状态:1可报名/2已报名
|
||||
String meetingSignUpType = req.getParameter("meetingSignUpType");
|
||||
if (Objects.equals(meetingSignUpType,1+"")) {
|
||||
queryWrapper.eq("pmrr.contact_id",id);
|
||||
}else if (Objects.equals(meetingSignUpType,2+"")) {
|
||||
queryWrapper.eq("pms.company_contact_id",id);
|
||||
}else {
|
||||
queryWrapper.and(
|
||||
a -> a.eq("pms.company_contact_id",id)
|
||||
.or()
|
||||
.eq("pms.post_contact_id",id)
|
||||
.or()
|
||||
.eq("pmrr.contact_id",id)
|
||||
);
|
||||
}
|
||||
|
||||
Page<PayMeeting> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayMeeting> pageList = payMeetingService.pageListContract(page, queryWrapper);
|
||||
IPage<PayMeeting> pageList = payMeetingService.pageListContract(page, queryWrapper, now);
|
||||
for (PayMeeting meeting : pageList.getRecords()) {
|
||||
//查询会议负责人
|
||||
LoginUser user = sysBaseApi.getUserById(meeting.getDirectorId());
|
||||
|
||||
@@ -256,4 +256,10 @@ public class PayMeeting implements Serializable {
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "meeting_pay_type")
|
||||
private Integer payMode;
|
||||
/**
|
||||
* 会议状态 未开始:2 进行中:3 已结束4
|
||||
*/
|
||||
@TableField(exist = false)
|
||||
@Dict(dicCode = "meeting_status")
|
||||
private Integer meetingStatus;
|
||||
}
|
||||
|
||||
+5
@@ -65,4 +65,9 @@ public class PayMeetingRemindRecord implements Serializable {
|
||||
@ApiModelProperty(value = "成员id")
|
||||
private String subitemId;
|
||||
|
||||
/**联系人id*/
|
||||
@Excel(name = "联系人id", width = 15)
|
||||
@ApiModelProperty(value = "联系人id")
|
||||
private String contactId;
|
||||
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,7 +1,5 @@
|
||||
package com.jero.meeting.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
@@ -18,5 +16,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
*/
|
||||
public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
|
||||
|
||||
IPage<PayMeeting> pageListContract(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
|
||||
IPage<PayMeeting> pageListContract(Page<PayMeeting> page,
|
||||
@Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper,
|
||||
@Param("now") String now);
|
||||
}
|
||||
|
||||
+9
-1
@@ -31,12 +31,20 @@
|
||||
<result column="hotel_contacts" property="hotelContacts" />
|
||||
<result column="remark" property="remark" />
|
||||
<result column="pay_mode" property="payMode"/>
|
||||
<result column="meetingStatus" property="meetingStatus"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="pageListContract" resultMap="PayMeetingResultMap">
|
||||
select pm.*,pms.pay_mode
|
||||
select pm.*,pms.pay_mode,
|
||||
(case when date_format(start_time,'%Y-%m-%d') > #{now} then 2
|
||||
when date_format(start_time,'%Y-%m-%d') <![CDATA[<=]]> #{now}
|
||||
and #{now} <![CDATA[<=]]> date_format(end_time,'%Y-%m-%d') then 3
|
||||
when date_format(end_time,'%Y-%m-%d') <![CDATA[<=]]> #{now} then 4
|
||||
END
|
||||
) as meetingStatus
|
||||
from pay_meeting pm
|
||||
left join pay_meeting_situation pms on pm.id = pms.meeting_id
|
||||
left join pay_meeting_remind_record pmrr on pm.id = pmrr.meeting_id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
+4
-4
@@ -46,9 +46,9 @@ public interface IPayMeetingRemindRecordService extends IService<PayMeetingRemin
|
||||
* 关联会议和工作组成员的提醒次数
|
||||
* @author lijiaro
|
||||
* @date 2021/9/23 17:54
|
||||
* @param meetingIdList 会议id
|
||||
* @param subitemIdList 成员id
|
||||
*
|
||||
* @param meetingIdList 会议id
|
||||
* @param subitemIdList 成员id
|
||||
*
|
||||
*/
|
||||
void addList(List<String> meetingIdList, List<String> subitemIdList);
|
||||
void addList(List<String> meetingIdList, List<PayMeetingRemindRecord> subitemIdList);
|
||||
}
|
||||
|
||||
+1
-2
@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
import com.jero.meeting.vo.PublishReminderVO;
|
||||
|
||||
@@ -65,5 +64,5 @@ public interface IPayMeetingService extends IService<PayMeeting> {
|
||||
void publishReminder(PublishReminderVO publishReminderVO);
|
||||
|
||||
|
||||
IPage<PayMeeting> pageListContract(Page<PayMeeting> page, QueryWrapper<PayMeeting> queryWrapper);
|
||||
IPage<PayMeeting> pageListContract(Page<PayMeeting> page, QueryWrapper<PayMeeting> queryWrapper, String now);
|
||||
}
|
||||
|
||||
+4
-8
@@ -67,16 +67,12 @@ public class PayMeetingRemindRecordServiceImpl extends ServiceImpl<PayMeetingRem
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addList(List<String> meetingIdList, List<String> subitemIdList) {
|
||||
List<PayMeetingRemindRecord> payMeetingRemindRecordList = new ArrayList<>();
|
||||
public void addList(List<String> meetingIdList, List<PayMeetingRemindRecord> meetingRemindRecordList) {
|
||||
for (String meetingId : meetingIdList) {
|
||||
for (String subitemId : subitemIdList) {
|
||||
PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord();
|
||||
payMeetingRemindRecord.setMeetingId(meetingId);
|
||||
payMeetingRemindRecord.setSubitemId(subitemId);
|
||||
payMeetingRemindRecordList.add(payMeetingRemindRecord);
|
||||
for (PayMeetingRemindRecord meetingRemindRecord : meetingRemindRecordList) {
|
||||
meetingRemindRecord.setMeetingId(meetingId);
|
||||
save(meetingRemindRecord);
|
||||
}
|
||||
}
|
||||
this.saveBatch(payMeetingRemindRecordList);
|
||||
}
|
||||
}
|
||||
|
||||
+43
-21
@@ -7,7 +7,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.common.dto.SendMessageDTO;
|
||||
import com.jero.common.enums.CompanyMessageEnums;
|
||||
import com.jero.common.enums.ManagementMessageEnums;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
@@ -25,7 +24,6 @@ import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingHotelContacts;
|
||||
import com.jero.meeting.entity.PayMeetingRemindRecord;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.mapper.PayMeetingMapper;
|
||||
import com.jero.meeting.service.IPayMeetingHotelContactsService;
|
||||
import com.jero.meeting.service.IPayMeetingRemindRecordService;
|
||||
@@ -37,14 +35,11 @@ import com.jero.meeting.valid.group.StandardMeeting;
|
||||
import com.jero.meeting.valid.group.WorkingGroupMeeting;
|
||||
import com.jero.meeting.vo.PayMeetingVO;
|
||||
import com.jero.meeting.vo.PublishReminderVO;
|
||||
import com.jero.modules.oss.service.IOSSFileService;
|
||||
import com.jero.project.entity.PayWorkingGroup;
|
||||
import com.jero.project.entity.PayWorkingGroupSubItem;
|
||||
import com.jero.project.service.IPayWorkingGroupService;
|
||||
import com.jero.project.service.IPayWorkingGroupSubItemService;
|
||||
import com.jero.standards.xuanguan.stablecrosstraining.service.IStableCrossTrainingService;
|
||||
import com.jero.temporary.entity.PayContactsManagementTemporary;
|
||||
import com.jero.temporary.service.IPayContactsManagementTemporaryService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.util.CollectionUtils;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -55,7 +50,6 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
|
||||
@@ -384,33 +378,61 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
//用于新增关联关系
|
||||
List<String> meetingIdList = new ArrayList<>();
|
||||
List<String> subitemIdList = new ArrayList<>();
|
||||
List<PayMeetingRemindRecord> meetingRemindRecordList = new ArrayList<>();
|
||||
//组装查询联系人条件
|
||||
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
|
||||
List<String> contactsIdList = new ArrayList<>();
|
||||
//工作组项目查询公司
|
||||
if (Objects.equals(projectType,1)){
|
||||
List<String> companyIds = new ArrayList<>();
|
||||
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
|
||||
//把单位会员中所有的联系人和有机联系人取出
|
||||
//把单位会员中所有的联系人取出
|
||||
for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) {
|
||||
subitemIdList.add(payWorkingGroupSubItem.getId());
|
||||
String companyId = payWorkingGroupSubItem.getChargeCompanyId();
|
||||
companyIds.add(companyId);
|
||||
String groupSubItemId = payWorkingGroupSubItem.getId();
|
||||
String contactsIdOne = payWorkingGroupSubItem.getContactsIdOne();
|
||||
if (StringUtils.isNotBlank(contactsIdOne)) {
|
||||
contactsIdList.add(contactsIdOne);
|
||||
meetingRemindRecordList.add(
|
||||
new PayMeetingRemindRecord()
|
||||
.setSubitemId(groupSubItemId)
|
||||
.setContactId(contactsIdOne)
|
||||
);
|
||||
}
|
||||
String contactsIdTwo = payWorkingGroupSubItem.getContactsIdTwo();
|
||||
if (StringUtils.isNotBlank(contactsIdTwo)) {
|
||||
contactsIdList.add(contactsIdTwo);
|
||||
meetingRemindRecordList.add(
|
||||
new PayMeetingRemindRecord()
|
||||
.setSubitemId(groupSubItemId)
|
||||
.setContactId(contactsIdTwo)
|
||||
);
|
||||
}
|
||||
String contactsIdThree = payWorkingGroupSubItem.getContactsIdThree();
|
||||
if (StringUtils.isNotBlank(contactsIdThree)) {
|
||||
contactsIdList.add(contactsIdThree);
|
||||
meetingRemindRecordList.add(
|
||||
new PayMeetingRemindRecord()
|
||||
.setSubitemId(groupSubItemId)
|
||||
.setContactId(contactsIdThree)
|
||||
);
|
||||
}
|
||||
}
|
||||
wrapper.in(PayContactsManagement::getCompanyId,companyIds);
|
||||
// 分标委项目查询人
|
||||
}else if (Objects.equals(projectType,2)){
|
||||
List<String> contactsIdList = new ArrayList<>();
|
||||
List<PayCaseCommitteeSubitem> payCaseCommitteeSubitems = payCaseCommitteeSubitemService.listByIds(subitemIds);
|
||||
|
||||
for (PayCaseCommitteeSubitem payCaseCommitteeSubitem : payCaseCommitteeSubitems) {
|
||||
subitemIdList.add(payCaseCommitteeSubitem.getId());
|
||||
contactsIdList.add(payCaseCommitteeSubitem.getContactsId());
|
||||
String committeeSubitemId = payCaseCommitteeSubitem.getId();
|
||||
String contactsId = payCaseCommitteeSubitem.getContactsId();
|
||||
contactsIdList.add(contactsId);
|
||||
meetingRemindRecordList.add(
|
||||
new PayMeetingRemindRecord()
|
||||
.setSubitemId(committeeSubitemId)
|
||||
.setContactId(contactsId)
|
||||
);
|
||||
}
|
||||
wrapper.in(PayContactsManagement::getId,contactsIdList);
|
||||
|
||||
}else {
|
||||
throw new JeroBootException("项目类型不正确");
|
||||
}
|
||||
wrapper.in(PayContactsManagement::getId,contactsIdList);
|
||||
List<PayContactsManagement> list = payContactsManagementService.list(wrapper);
|
||||
|
||||
//标记会议为已提醒
|
||||
@@ -450,11 +472,11 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
||||
|
||||
}
|
||||
}
|
||||
payMeetingRemindRecordService.addList(meetingIdList,subitemIdList);
|
||||
payMeetingRemindRecordService.addList(meetingIdList,meetingRemindRecordList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<PayMeeting> pageListContract(Page<PayMeeting> page, QueryWrapper<PayMeeting> queryWrapper) {
|
||||
return baseMapper.pageListContract(page,queryWrapper);
|
||||
public IPage<PayMeeting> pageListContract(Page<PayMeeting> page, QueryWrapper<PayMeeting> queryWrapper, String now) {
|
||||
return baseMapper.pageListContract(page,queryWrapper,now);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user