add 会议联系人权限,查询,导出

This commit is contained in:
lijiarao
2022-01-05 11:59:02 +08:00
parent 9737afc852
commit 5faa0c6671
14 changed files with 127 additions and 18 deletions
@@ -20,7 +20,10 @@
left JOIN pay_case_committee_subitem pm on (pe.id = pm.committee_id)
left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id)
left join pay_company_management pcm on(pm.company_id=pcm.id)
left join pay_meeting pme on (pe.id=pme.case_committee_id)
<if test=" userId!=null and userId != ''">
left join pay_meeting pme on (pe.id=pme.case_committee_id)
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
</if>
<where>
<if test=" name!=null and name != ''">
AND pt.name LIKE CONCAT('%',#{name},'%')
@@ -32,7 +35,10 @@
AND pe.name LIKE CONCAT('%',#{fenBiaoWeiName},'%')
</if>
<if test=" userId!=null and userId != ''">
AND (pe.create_by_id = #{userId} or pme.director_id = #{userId})
AND (pe.create_by_id = #{userId}
or pme.director_id = #{userId}
OR pmc.meeting_contacts_id = #{userId}
)
</if>
</where>
group by pe.id
@@ -20,7 +20,10 @@
left JOIN pay_case_council_subitem pm on (pe.id = pm.council_id)
left JOIN pay_contacts_management pt on (pm.contacts_id = pt.id)
left join pay_company_management pcm on(pm.company_id=pcm.id)
left join pay_meeting pme on (pe.id=pme.council_id)
<if test=" userId!=null and userId != ''">
left join pay_meeting pme on (pe.id=pme.council_id)
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
</if>
<where>
<if test=" contactsNames!=null and contactsNames != ''">
AND pt.name LIKE CONCAT('%',#{contactsNames},'%')
@@ -32,7 +35,10 @@
AND pe.name LIKE CONCAT('%',#{councilNames},'%')
</if>
<if test=" userId!=null and userId != ''">
AND (pe.create_by_id = #{userId} or pme.director_id = #{userId})
AND (pe.create_by_id = #{userId}
or pme.director_id = #{userId}
OR pmc.meeting_contacts_id = #{userId}
)
</if>
</where>
group by pe.id
@@ -192,10 +192,24 @@ public class PayMeetingController extends JeroController<PayMeeting, IPayMeeting
meeting.setMeetingSignUpType(1);
meeting.setPayMode(null);
}
String meetingId = meeting.getId();
//查询酒店联系人列表
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId);
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
meeting.setHotelContactsList(payMeetingHotelContactsList);
//查询会议联系人列表
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
List<PayMeetingContacts> 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);
}
return Result.OK(pageList);
@@ -321,4 +321,7 @@ public class PayMeeting implements Serializable {
@TableField(exist = false)
@Dict(dicCode = "sign_up_status")
private Integer signUpStatus;
@ApiModelProperty(value = "会议联系人")
private List<PayMeetingContacts> meetingContactsList;
}
@@ -31,7 +31,7 @@ public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
@Param("now") Date now,
@Param("contactId") String contactId);
IPage<PayMeeting> internelPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
IPage<PayMeeting> internationalPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
IPage<PayMeeting> workGroupPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
@@ -201,10 +201,11 @@
${ew.customSqlSegment}
</select>
<select id="internelPage" resultMap="PayMeetingResultMap">
<select id="internationalPage" resultMap="PayMeetingResultMap">
select distinct pm.*
from pay_meeting pm
left join pay_meeting_situation pms on pm.id = pms.meeting_id
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
${ew.customSqlSegment}
</select>
@@ -213,6 +214,7 @@
from pay_meeting pm
left join pay_meeting_situation pms on pm.id = pms.meeting_id
left join pay_working_group pwg on pwg.id = pm.working_group_id
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
${ew.customSqlSegment}
</select>
@@ -220,6 +222,7 @@
select distinct pm.*
from pay_meeting pm
left join tb_member_project tmp on tmp.id = pm.standards_id
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
${ew.customSqlSegment}
</select>
@@ -39,7 +39,6 @@ import com.jero.meeting.mapper.PayMeetingMapper;
import com.jero.meeting.service.*;
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.vo.PayMeetingVO;
import com.jero.meeting.vo.PublishReminderVO;
@@ -286,13 +285,16 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
*/
private void addMeetingContactsList(PayMeetingVO payMeetingVO, String meetingId) {
List<PayMeetingContacts> meetingContactsList = payMeetingVO.getMeetingContactsList();
if (meetingContactsList == null) {
return;
}
for (PayMeetingContacts payMeetingContacts : meetingContactsList) {
String meetingContactsId = payMeetingContacts.getMeetingContactsId();
LoginUser loginUser = sysBaseAPI.getUserById(meetingContactsId);
if (loginUser == null) {
throw new JeroBootException("会议联系人不存在");
} else {
payMeetingContacts.setMeetingContactsName(loginUser.getUsername());
payMeetingContacts.setMeetingContactsName(loginUser.getRealname());
payMeetingContacts.setMeetingContactsPhone(loginUser.getPhone());
}
}
@@ -793,6 +795,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
.eq("dock_id", sysUser.getId())
.or()
.eq("pm.director_id", sysUser.getId())
.or()
.eq("pmc.meeting_contacts_id", sysUser.getId())
);
pageList = baseMapper.workGroupPage(page,queryWrapper);
}else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
@@ -800,13 +804,17 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
a -> a.eq("director_id", sysUser.getId())
.or()
.eq("dock_id", sysUser.getId())
.or()
.eq("pmc.meeting_contacts_id", sysUser.getId())
);
pageList = baseMapper.internelPage(page,queryWrapper);
pageList = baseMapper.internationalPage(page,queryWrapper);
}else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)) {
queryWrapper.and(
a -> a.eq("tmp.director_id", sysUser.getId())
.or()
.eq("pm.director_id", sysUser.getId())
.or()
.eq("pmc.meeting_contacts_id", sysUser.getId())
);
pageList = baseMapper.standardPage(page,queryWrapper);
}else {
@@ -826,13 +834,24 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
meeting.setDirectorPhone(PasswordUtil.decrypt(user.getPhone()));
PayMeetingVO payMeetingVO = new PayMeetingVO();
BeanUtils.copyProperties(payMeetingVO, payMeeting);
String meetingId = meeting.getId();
//查询酒店联系人列表
if (meeting.getMeetingType().equals(Integer.parseInt(MeetingCommon.STANDARD_MEETING))) {
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
meeting.setHotelContactsList(payMeetingHotelContactsList);
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId);
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
meeting.setHotelContactsList(payMeetingHotelContactsList);
//查询会议联系人列表
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
List<PayMeetingContacts> 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);
}
return pageList;
}
@@ -977,11 +996,24 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
String meetingType1 = sysBaseAPI.translateDict("meeting_type", meetingType);
payMeetingVO.setMeetingType(meetingType1);
payMeetingVO.setHotelContactsList(new ArrayList<>());
String meetingId = meeting.getId();
//会议查询酒店联系人列表
LambdaQueryWrapper<PayMeetingHotelContacts> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meeting.getId());
wrapper.eq(PayMeetingHotelContacts::getMeetingId, meetingId);
List<PayMeetingHotelContacts> payMeetingHotelContactsList = meetingHotelContactsService.list(wrapper);
payMeetingVO.setHotelContactsList(payMeetingHotelContactsList);
//查询会议联系人列表
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
List<PayMeetingContacts> 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));
}
payMeetingVO.setMeetingContactsList(meetingContactsList);
switch (meetingType) {
case MeetingCommon.STANDARD_MEETING:
//标协会议类型
@@ -1,8 +1,10 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.math.BigDecimal;
import java.util.List;
@@ -82,6 +84,11 @@ public class CommitteeMeetingExcel {
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -1,8 +1,10 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.math.BigDecimal;
import java.util.List;
@@ -82,6 +84,11 @@ public class CouncilMeetingExcel {
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -1,9 +1,11 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import com.jero.meeting.valid.group.InternationalMeeting;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
@@ -96,6 +98,11 @@ public class InternationalMeetingExcel {
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -1,8 +1,10 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.math.BigDecimal;
import java.util.List;
@@ -77,6 +79,11 @@ public class OtherMeetingExcel {
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -1,6 +1,7 @@
package com.jero.meeting.vo.excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
@@ -87,6 +88,10 @@ public class StandardsMeetingExcel {
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -1,8 +1,10 @@
package com.jero.meeting.vo.excel;
import com.jero.meeting.entity.PayMeetingContacts;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import java.math.BigDecimal;
import java.util.List;
@@ -83,6 +85,11 @@ public class WorkingGroupMeetingExcel{
* 会议关联酒店联系人列表
*/
private List<PayMeetingHotelContacts> hotelContactsList;
/**
* 会议联系人列表
*/
@ExcelCollection(name = "会议联系人列表")
private List<PayMeetingContacts> meetingContactsList;
/**备注*/
@Excel(name = "备注", width = 15)
@@ -27,7 +27,10 @@
FROM pay_working_group pwg
left join sys_user su on pwg.principal_id_a = su.id
left join sys_user su1 on pwg.principal_id_b = su.id
left join pay_meeting pm on pwg.id = pm.working_group_id
<if test="payWorkingGroup.principalA != null and payWorkingGroup.principalA != '' and payWorkingGroup.principalB != null and payWorkingGroup.principalB != ''">
left join pay_meeting pm on pwg.id = pm.working_group_id
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
</if>
<where>
<if test="payWorkingGroup.workingGroupProject != null and payWorkingGroup.workingGroupProject != ''">
AND working_group_project LIKE concat('%',concat(#{payWorkingGroup.workingGroupProject},'%'))
@@ -41,7 +44,9 @@
<if test="payWorkingGroup.principalA != null and payWorkingGroup.principalA != '' and payWorkingGroup.principalB != null and payWorkingGroup.principalB != ''">
AND (principal_id_a = #{payWorkingGroup.principalA}
OR principal_id_b = #{payWorkingGroup.principalB}
OR pm.director_id = #{payWorkingGroup.principalA} )
OR pm.director_id = #{payWorkingGroup.principalA}
OR pmc.meeting_contacts_id = #{payWorkingGroup.principalA}
)
</if>
</where>
ORDER BY pwg.create_time DESC