add 会议联系人查询参会人的权限

This commit is contained in:
lijiarao
2022-01-05 15:32:45 +08:00
parent 48b7d38c9f
commit a3dd5a6253
11 changed files with 46 additions and 37 deletions
@@ -92,7 +92,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -70,7 +70,7 @@ public class CouncilMeetingSituationController extends JeroController<PayMeeting
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -16,7 +16,6 @@ import com.jero.common.util.ValidUtil;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.*; import com.jero.meeting.vo.*;
@@ -70,13 +69,17 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest request) { HttpServletRequest request) {
String meetingId = payMeetingSituation.getMeetingId();
if (StringUtils.isBlank(meetingId)) {
throw new JeroBootException("会议id不能为空");
}
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap()); QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap());
String particularYear = request.getParameter("particularYear"); String particularYear = request.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){ if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -11,35 +11,27 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.*; import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
@@ -74,13 +66,17 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
String meetingId = payMeetingSituation.getMeetingId();
if (StringUtils.isBlank(meetingId)) {
throw new JeroBootException("会议id不能为空");
}
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear"); String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){ if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -11,35 +11,27 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.*; import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
@@ -74,13 +66,17 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
String meetingId = payMeetingSituation.getMeetingId();
if (StringUtils.isBlank(meetingId)) {
throw new JeroBootException("会议id不能为空");
}
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear"); String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){ if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -11,35 +11,27 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.query.QueryGenerator; import com.jero.common.system.query.QueryGenerator;
import com.jero.common.util.AuthenticationUtils; import com.jero.common.util.AuthenticationUtils;
import com.jero.common.util.PasswordUtil;
import com.jero.common.util.ValidUtil; import com.jero.common.util.ValidUtil;
import com.jero.common.util.oConvertUtils;
import com.jero.company.entity.PayCompanyManagement;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayCompanyManagementService; import com.jero.company.service.IPayCompanyManagementService;
import com.jero.company.service.IPayContactsManagementService; import com.jero.company.service.IPayContactsManagementService;
import com.jero.meeting.common.MeetingCommon; import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeetingSituation; import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.service.IPayMeetingSituationService; import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.vo.*; import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon; import com.jero.project.common.PayProjectCommon;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
import java.util.stream.Collectors;
/** /**
@@ -74,13 +66,17 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) { HttpServletRequest req) {
String meetingId = payMeetingSituation.getMeetingId();
if (StringUtils.isBlank(meetingId)) {
throw new JeroBootException("会议id不能为空");
}
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap()); QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear"); String particularYear = req.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){ if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
} }
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize); Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE); IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(meetingId, page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords(); List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) { for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode(); Integer payMode = meetingSituation.getPayMode();
@@ -37,6 +37,7 @@ public interface PayMeetingMapper extends BaseMapper<PayMeeting> {
IPage<PayMeeting> standardPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper); IPage<PayMeeting> standardPage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
IPage<PayMeeting> basePage(Page<PayMeeting> page, @Param(Constants.WRAPPER) QueryWrapper<PayMeeting> queryWrapper);
PayMeeting queryByIdAndTime(@Param("id") String id, @Param("now") Date now); PayMeeting queryByIdAndTime(@Param("id") String id, @Param("now") Date now);
} }
@@ -226,6 +226,13 @@
${ew.customSqlSegment} ${ew.customSqlSegment}
</select> </select>
<select id="basePage" resultMap="PayMeetingResultMap">
select distinct pm.*
from pay_meeting pm
left join pay_meeting_contacts pmc on pm.id = pmc.meeting_id
${ew.customSqlSegment}
</select>
<select id="queryByIdAndTime" resultMap="PayMeetingResultMap"> <select id="queryByIdAndTime" resultMap="PayMeetingResultMap">
select *, select *,
(case (case
@@ -78,7 +78,7 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
void editTerminal(PayMeetingSituationVO payMeetingSituationVO); void editTerminal(PayMeetingSituationVO payMeetingSituationVO);
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper,Integer meetingType); IPage<PayMeetingSituation> pageListContract(String meetingId, Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper, Integer meetingType);
List<Object> MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType); List<Object> MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType);
@@ -818,8 +818,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
); );
pageList = baseMapper.standardPage(page,queryWrapper); pageList = baseMapper.standardPage(page,queryWrapper);
}else { }else {
queryWrapper.eq("director_id", sysUser.getId()); queryWrapper.and(
pageList = page(page, queryWrapper); a -> a.eq("pm.director_id", sysUser.getId())
.or()
.eq("pmc.meeting_contacts_id", sysUser.getId())
);
pageList = baseMapper.basePage(page, queryWrapper);
} }
}else { }else {
pageList = page(page, queryWrapper); pageList = page(page, queryWrapper);
@@ -846,11 +846,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
} }
@Override @Override
public IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper,Integer meetingType) { public IPage<PayMeetingSituation> pageListContract(String meetingId, Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper, Integer meetingType) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
String userId = loginUser.getId(); String userId = loginUser.getId();
queryWrapper.eq("pm.meeting_type", meetingType); queryWrapper.eq("pm.meeting_type", meetingType);
if (!rolePermissionService.getRolePermission("committeeMeetingSituation:search")) {
LambdaQueryWrapper<PayMeetingContacts> queryWrapper1 = new LambdaQueryWrapper<>();
queryWrapper1.eq(PayMeetingContacts::getMeetingId, meetingId);
queryWrapper1.eq(PayMeetingContacts::getMeetingContactsId,userId);
boolean b = meetingContactsService.count(queryWrapper1) > 0;
if (!b && !rolePermissionService.getRolePermission("committeeMeetingSituation:search")) {
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)) { if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)) {
queryWrapper.and( queryWrapper.and(
a -> a.eq("pms.dock_id", userId) a -> a.eq("pms.dock_id", userId)
@@ -1460,7 +1466,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
if (StringUtils.isNotBlank(particularYear)){ if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear); queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
} }
IPage<PayMeetingSituation> pageListContract = pageListContract(new Page<>(-1, -1), queryWrapper,meetingType); IPage<PayMeetingSituation> pageListContract = pageListContract(meetingId, new Page<>(-1, -1), queryWrapper,meetingType);
List<PayMeetingSituation> pageList = pageListContract.getRecords(); List<PayMeetingSituation> pageList = pageListContract.getRecords();
// 过滤选中数据 // 过滤选中数据