fix bug 41839 标协会员项目-会议维护--会议负责人应该只能看自己的
This commit is contained in:
+30
-2
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.meeting.service.impl;
|
package com.jero.meeting.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
@@ -46,6 +47,8 @@ import com.jero.meeting.vo.PayMeetingVO;
|
|||||||
import com.jero.meeting.vo.PublishReminderVO;
|
import com.jero.meeting.vo.PublishReminderVO;
|
||||||
import com.jero.meeting.vo.UploadFileVO;
|
import com.jero.meeting.vo.UploadFileVO;
|
||||||
import com.jero.meeting.vo.excel.*;
|
import com.jero.meeting.vo.excel.*;
|
||||||
|
import com.jero.member.entity.TbMemberProject;
|
||||||
|
import com.jero.member.service.ITbMemberProjectService;
|
||||||
import com.jero.modules.oss.entity.OSSFile;
|
import com.jero.modules.oss.entity.OSSFile;
|
||||||
import com.jero.modules.oss.service.IOSSFileService;
|
import com.jero.modules.oss.service.IOSSFileService;
|
||||||
import com.jero.project.entity.PayWorkingGroup;
|
import com.jero.project.entity.PayWorkingGroup;
|
||||||
@@ -113,6 +116,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
private Environment env;
|
private Environment env;
|
||||||
@Resource
|
@Resource
|
||||||
private RolePermissionService rolePermissionService;
|
private RolePermissionService rolePermissionService;
|
||||||
|
@Resource
|
||||||
|
private ITbMemberProjectService tbMemberProjectService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增会议
|
* 新增会议
|
||||||
@@ -200,6 +205,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addStandards(PayMeeting payMeeting) {
|
public void addStandards(PayMeeting payMeeting) {
|
||||||
|
TbMemberProject memberProject = getTbMemberProject();
|
||||||
|
payMeeting.setStandardsId(memberProject.getId());
|
||||||
saveOrUpdate(payMeeting);
|
saveOrUpdate(payMeeting);
|
||||||
List<PayMeetingHotelContacts> hotelContactsList = payMeeting.getHotelContactsList();
|
List<PayMeetingHotelContacts> hotelContactsList = payMeeting.getHotelContactsList();
|
||||||
//如果酒店联系人列表不为空,就新增
|
//如果酒店联系人列表不为空,就新增
|
||||||
@@ -316,6 +323,8 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
for (PayMeetingHotelContacts hotelContacts : hotelContactsList) {
|
for (PayMeetingHotelContacts hotelContacts : hotelContactsList) {
|
||||||
ValidUtil.validate(hotelContacts, StandardMeeting.class);
|
ValidUtil.validate(hotelContacts, StandardMeeting.class);
|
||||||
}
|
}
|
||||||
|
TbMemberProject memberProject = getTbMemberProject();
|
||||||
|
payMeeting.setSituationId(memberProject.getId());
|
||||||
break;
|
break;
|
||||||
case MeetingCommon.INTERNATIONAL_MEETING:
|
case MeetingCommon.INTERNATIONAL_MEETING:
|
||||||
ValidUtil.validate(payMeetingVO, InternationalMeeting.class);
|
ValidUtil.validate(payMeetingVO, InternationalMeeting.class);
|
||||||
@@ -359,6 +368,25 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
return payMeeting;
|
return payMeeting;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private TbMemberProject getTbMemberProject() {
|
||||||
|
LambdaQueryWrapper<TbMemberProject> wrapper1 = new LambdaQueryWrapper<>();
|
||||||
|
int year = DateUtil.year(new Date());
|
||||||
|
String projectName = year + "年标协会员";
|
||||||
|
wrapper1.eq(TbMemberProject::getProjectName, projectName);
|
||||||
|
|
||||||
|
TbMemberProject memberProject = tbMemberProjectService.getOne(wrapper1);
|
||||||
|
if (memberProject == null) {
|
||||||
|
memberProject = new TbMemberProject();
|
||||||
|
memberProject.setProjectName(projectName);
|
||||||
|
memberProject.setYear(String.valueOf(year));
|
||||||
|
memberProject.setDirectorId("e9ca23d68d884d4ebb19d07889727dae");
|
||||||
|
memberProject.setDirectorName("BXGLZ");
|
||||||
|
tbMemberProjectService.save(memberProject);
|
||||||
|
}
|
||||||
|
return memberProject;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过id删除
|
* 通过id删除
|
||||||
*/
|
*/
|
||||||
@@ -566,7 +594,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
|
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
|
||||||
permission = "workGroupMeeting:search";
|
permission = "workGroupMeeting:search";
|
||||||
}else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){
|
}else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){
|
||||||
permission = "standardMeeting:search";
|
permission = "standardsMeeting:search";
|
||||||
}else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
|
}else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
|
||||||
permission = "internalMeeting:search";
|
permission = "internalMeeting:search";
|
||||||
}else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){
|
}else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){
|
||||||
@@ -576,7 +604,7 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (StringUtils.isNotBlank(permission)) {
|
if (StringUtils.isNotBlank(permission)) {
|
||||||
if (!Objects.equals(permission,"standardMeeting:search") && !rolePermissionService.getRolePermission(permission)) {
|
if (!rolePermissionService.getRolePermission(permission)) {
|
||||||
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)) {
|
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)) {
|
||||||
queryWrapper.and(
|
queryWrapper.and(
|
||||||
a -> a.eq("pwg.principal_id_a", sysUser.getId())
|
a -> a.eq("pwg.principal_id_a", sysUser.getId())
|
||||||
|
|||||||
+1
-1
@@ -49,7 +49,7 @@ public class TbMemberProjectController extends JeroController<TbMemberProject, I
|
|||||||
HttpServletRequest req) {
|
HttpServletRequest req) {
|
||||||
QueryWrapper<TbMemberProject> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProject, req.getParameterMap());
|
QueryWrapper<TbMemberProject> queryWrapper = QueryGenerator.initQueryWrapper(tbMemberProject, req.getParameterMap());
|
||||||
Page<TbMemberProject> page = new Page<>(pageNo, pageSize);
|
Page<TbMemberProject> page = new Page<>(pageNo, pageSize);
|
||||||
IPage<TbMemberProject> pageList = tbMemberProjectService.page(page, queryWrapper);
|
IPage<TbMemberProject> pageList = tbMemberProjectService.queryPageList(page, queryWrapper);
|
||||||
return Result.OK(pageList);
|
return Result.OK(pageList);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+4
-1
@@ -2,7 +2,9 @@ package com.jero.member.mapper;
|
|||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
||||||
import com.jero.statistics.entity.AllProjectStatistics;
|
import com.jero.statistics.entity.AllProjectStatistics;
|
||||||
@@ -14,9 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|||||||
/**
|
/**
|
||||||
* @Description: 标协会员项目表
|
* @Description: 标协会员项目表
|
||||||
* @Author: jero-boot
|
* @Author: jero-boot
|
||||||
* @Date: 2021-09-01
|
* @Date: 2021-09-01
|
||||||
* @Version: V1.0
|
* @Version: V1.0
|
||||||
*/
|
*/
|
||||||
public interface TbMemberProjectMapper extends BaseMapper<TbMemberProject> {
|
public interface TbMemberProjectMapper extends BaseMapper<TbMemberProject> {
|
||||||
|
|
||||||
|
IPage<TbMemberProject> queryPageList(Page<TbMemberProject> page, @Param(Constants.WRAPPER) QueryWrapper<TbMemberProject> queryWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -9,4 +9,10 @@
|
|||||||
<result column="update_time" property="updateTime" />
|
<result column="update_time" property="updateTime" />
|
||||||
<result column="project_name" property="projectName" />
|
<result column="project_name" property="projectName" />
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="queryPageList" resultMap="TbMemberProjectResultMap">
|
||||||
|
select tmp.* from tb_member_project tmp
|
||||||
|
left join pay_meeting pm on tmp.id = pm.standards_id
|
||||||
|
${ew.customSqlSegment}
|
||||||
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
+2
@@ -1,5 +1,6 @@
|
|||||||
package com.jero.member.service;
|
package com.jero.member.service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.jero.member.entity.TbMemberProject;
|
import com.jero.member.entity.TbMemberProject;
|
||||||
@@ -65,4 +66,5 @@ public interface ITbMemberProjectService extends IService<TbMemberProject> {
|
|||||||
*/
|
*/
|
||||||
List<TbMemberProject> queryList();
|
List<TbMemberProject> queryList();
|
||||||
|
|
||||||
|
IPage<TbMemberProject> queryPageList(Page<TbMemberProject> page, QueryWrapper<TbMemberProject> queryWrapper);
|
||||||
}
|
}
|
||||||
|
|||||||
+16
@@ -1,7 +1,10 @@
|
|||||||
package com.jero.member.service.impl;
|
package com.jero.member.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.jero.common.exception.JeroBootException;
|
import com.jero.common.exception.JeroBootException;
|
||||||
|
import com.jero.common.service.RolePermissionService;
|
||||||
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.contract.entity.PayIncomeContractAssociated;
|
import com.jero.contract.entity.PayIncomeContractAssociated;
|
||||||
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
import com.jero.contract.service.IPayIncomeContractAssociatedService;
|
||||||
import com.jero.contract.service.IPayIncomeContractService;
|
import com.jero.contract.service.IPayIncomeContractService;
|
||||||
@@ -14,12 +17,14 @@ import com.jero.member.mapper.TbMemberProjectMapper;
|
|||||||
import com.jero.member.service.ITbMemberProjectService;
|
import com.jero.member.service.ITbMemberProjectService;
|
||||||
import com.jero.member.service.ITbMemberProjectSubitemService;
|
import com.jero.member.service.ITbMemberProjectSubitemService;
|
||||||
import org.apache.commons.collections.CollectionUtils;
|
import org.apache.commons.collections.CollectionUtils;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
import com.jero.project.entity.PayWorkGroupSubletStatistics;
|
||||||
import com.jero.statistics.entity.AllProjectStatistics;
|
import com.jero.statistics.entity.AllProjectStatistics;
|
||||||
import com.jero.statistics.entity.AllProjectStatisticsSearch;
|
import com.jero.statistics.entity.AllProjectStatisticsSearch;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
@@ -42,6 +47,8 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
|
|||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private IPayIncomeContractService payIncomeContractService;
|
private IPayIncomeContractService payIncomeContractService;
|
||||||
|
@Resource
|
||||||
|
private RolePermissionService rolePermissionService;
|
||||||
/**
|
/**
|
||||||
* 保存
|
* 保存
|
||||||
*/
|
*/
|
||||||
@@ -102,4 +109,13 @@ public class TbMemberProjectServiceImpl extends ServiceImpl<TbMemberProjectMappe
|
|||||||
return list();
|
return list();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<TbMemberProject> queryPageList(Page<TbMemberProject> page, QueryWrapper<TbMemberProject> queryWrapper) {
|
||||||
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
|
if (!rolePermissionService.getRolePermission("stardsMember:search")) {
|
||||||
|
queryWrapper.eq("pm.director_id",sysUser.getId());
|
||||||
|
}
|
||||||
|
return baseMapper.queryPageList(page,queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user