fix 分标委会议参会人水平权限
This commit is contained in:
+48
-9
@@ -8,8 +8,10 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.aspect.annotation.DictPoint;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.service.RolePermissionService;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.common.util.AuthenticationUtils;
|
||||
import com.jero.common.util.PasswordUtil;
|
||||
import com.jero.common.util.ValidUtil;
|
||||
@@ -19,7 +21,9 @@ import com.jero.company.entity.PayContactsManagement;
|
||||
import com.jero.company.service.IPayCompanyManagementService;
|
||||
import com.jero.company.service.IPayContactsManagementService;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeeting;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.jero.meeting.service.IPayMeetingService;
|
||||
import com.jero.meeting.service.IPayMeetingSituationService;
|
||||
import com.jero.meeting.vo.*;
|
||||
import com.jero.meeting.vo.excel.*;
|
||||
@@ -28,6 +32,7 @@ import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -56,11 +61,15 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@Resource
|
||||
private IPayMeetingSituationService payMeetingSituationService;
|
||||
@Resource
|
||||
private AuthenticationUtils authenticationUtils;
|
||||
@Resource
|
||||
private IPayContactsManagementService contactsManagementService;
|
||||
@Resource
|
||||
private IPayCompanyManagementService companyManagementService;
|
||||
@Resource
|
||||
private IPayMeetingService meetingService;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
|
||||
private final Integer MEETING_TYPE = MeetingCommon.COMMITTEE_MEETING_INT;
|
||||
/**
|
||||
* 分页列表查询
|
||||
*/
|
||||
@@ -72,20 +81,29 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
|
||||
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
|
||||
HttpServletRequest req) {
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
if (StringUtils.isBlank(meetingId)) {
|
||||
throw new JeroBootException("会议id不能为空");
|
||||
}
|
||||
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
|
||||
String particularYear = req.getParameter("particularYear");
|
||||
if (StringUtils.isNotBlank(particularYear)){
|
||||
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
|
||||
if (StringUtils.isNotBlank(particularYear)) {
|
||||
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )", particularYear);
|
||||
}
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (!rolePermissionService.getRolePermission("committeeMeetingSituation:search")) {
|
||||
queryWrapper.eq("pm.director_id", loginUser.getId());
|
||||
}
|
||||
queryWrapper.eq("pm.meeting_type",MEETING_TYPE);
|
||||
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
|
||||
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
|
||||
List<PayMeetingSituation> situationList = pageList.getRecords();
|
||||
for (PayMeetingSituation meetingSituation : situationList) {
|
||||
Integer payMode = meetingSituation.getPayMode();
|
||||
//汇款并且缴费凭证为空
|
||||
if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){
|
||||
if (Objects.equals(payMode, 1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())) {
|
||||
meetingSituation.setIdentification(PayProjectCommon.YES);
|
||||
}else {
|
||||
} else {
|
||||
meetingSituation.setIdentification(PayProjectCommon.NO);
|
||||
}
|
||||
}
|
||||
@@ -100,6 +118,11 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
|
||||
@PostMapping(value = "/add")
|
||||
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
if (!Objects.equals(payMeeting.getMeetingType(),MEETING_TYPE)){
|
||||
throw new JeroBootException("数据权限不足");
|
||||
}
|
||||
payMeetingSituationService.add(payMeetingSituation);
|
||||
return Result.OK("添加成功!");
|
||||
}
|
||||
@@ -124,6 +147,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
|
||||
@PostMapping(value = "/edit")
|
||||
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
|
||||
payMeetingSituationService.checkCan(payMeetingSituationVO.getId(),MEETING_TYPE);
|
||||
payMeetingSituationService.editById(payMeetingSituationVO);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
@@ -136,6 +160,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "参会人员信息-通过id删除", notes = "参会人员信息-通过id删除")
|
||||
@GetMapping(value = "/delete")
|
||||
public Result<?> delete(@RequestParam(name = "id") String id) {
|
||||
payMeetingSituationService.checkCan(id,MEETING_TYPE);
|
||||
payMeetingSituationService.deleteById(id);
|
||||
return Result.OK("删除成功!");
|
||||
}
|
||||
@@ -148,7 +173,11 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "参会人员信息-批量删除", notes = "参会人员信息-批量删除")
|
||||
@GetMapping(value = "/deleteBatch")
|
||||
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
|
||||
this.payMeetingSituationService.deleteByIds(Arrays.asList(ids.split(",")));
|
||||
List<String> stringList = Arrays.asList(ids.split(","));
|
||||
for (String id : stringList) {
|
||||
payMeetingSituationService.checkCan(id,MEETING_TYPE);
|
||||
}
|
||||
this.payMeetingSituationService.deleteByIds(stringList);
|
||||
return Result.OK("批量删除成功!");
|
||||
}
|
||||
|
||||
@@ -160,6 +189,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "参会人员信息-通过id查询", notes = "参会人员信息-通过id查询")
|
||||
@GetMapping(value = "/queryById")
|
||||
public Result<?> queryById(@RequestParam(name = "id") String id) {
|
||||
payMeetingSituationService.checkCan(id,MEETING_TYPE);
|
||||
PayMeetingSituation payMeetingSituation = payMeetingSituationService.queryById(id);
|
||||
if (payMeetingSituation == null) {
|
||||
return Result.error("未找到对应数据");
|
||||
@@ -188,6 +218,11 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@RequiresPermissions("committeeMeetingSituation:export")
|
||||
@GetMapping(value = "/exportXls")
|
||||
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
if (!Objects.equals(payMeeting.getMeetingType(),MEETING_TYPE)){
|
||||
throw new JeroBootException("数据权限不足");
|
||||
}
|
||||
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap());
|
||||
List<PayMeetingSituation> pageList = payMeetingSituationService.list(queryWrapper);
|
||||
// 过滤选中数据
|
||||
@@ -277,6 +312,10 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "设置对接人", notes = "设置对接人")
|
||||
@PostMapping(value = "/addDock")
|
||||
public Result<?> addDock(@RequestBody AddDockVO addDockVO) {
|
||||
List<String> meetingSituationIds = addDockVO.getMeetingSituationIds();
|
||||
for (String id : meetingSituationIds) {
|
||||
payMeetingSituationService.checkCan(id,MEETING_TYPE);
|
||||
}
|
||||
payMeetingSituationService.addDock(addDockVO);
|
||||
return Result.OK("设置对接人成功!");
|
||||
}
|
||||
@@ -289,6 +328,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "审核付款凭证")
|
||||
@PostMapping(value = "/check")
|
||||
public Result<?> check(@RequestBody CheckVO checkVO) {
|
||||
payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE);
|
||||
payMeetingSituationService.check(checkVO);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
@@ -301,6 +341,7 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
@ApiOperation(value = "审核报名信息")
|
||||
@PostMapping(value = "/checkRegister")
|
||||
public Result<?> checkRegister(@RequestBody CheckVO checkVO) {
|
||||
payMeetingSituationService.checkCan(checkVO.getId(),MEETING_TYPE);
|
||||
payMeetingSituationService.checkRegister(checkVO);
|
||||
return Result.OK("审核成功!");
|
||||
}
|
||||
@@ -316,6 +357,4 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
|
||||
payMeetingSituationService.mergePayBill(mergePayBillVO);
|
||||
return Result.OK("合并开票成功!");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
+1
@@ -155,6 +155,7 @@
|
||||
<select id="pageListContract" resultMap="PayMeetingSituationResultMap">
|
||||
select distinct pms.*
|
||||
from pay_meeting_situation pms
|
||||
left join pay_meeting pm on pms.meeting_id = pm.id
|
||||
left JOIN pay_payment_record ppr ON ppr.project_id = pms.id
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
|
||||
+3
@@ -4,6 +4,7 @@ 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.api.vo.Result;
|
||||
import com.jero.meeting.common.MeetingCommon;
|
||||
import com.jero.meeting.entity.PayMeetingSituation;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.jero.meeting.vo.*;
|
||||
@@ -77,4 +78,6 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
|
||||
void editTerminal(PayMeetingSituationVO payMeetingSituationVO);
|
||||
|
||||
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper);
|
||||
|
||||
void checkCan(String situationId, Integer meetingCommon);
|
||||
}
|
||||
|
||||
+25
-1
@@ -15,6 +15,7 @@ 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.RolePermissionService;
|
||||
import com.jero.common.service.SendMessageService;
|
||||
import com.jero.common.service.ContractCreateProjectSendMessageService;
|
||||
import com.jero.common.system.api.ISysBaseAPI;
|
||||
@@ -113,6 +114,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
private ContractCreateProjectSendMessageService contractCreateProjectSendMessageService;
|
||||
@Resource
|
||||
private IPayIncomeContractService payIncomeContractService;
|
||||
@Resource
|
||||
private RolePermissionService rolePermissionService;
|
||||
|
||||
private static final String[] CAN_MODIFY_LIST = new String[]{"arrivalTime", "departureTime", "checkInHotel"};
|
||||
|
||||
@@ -121,6 +124,12 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
*/
|
||||
@Override
|
||||
public void add(PayMeetingSituation payMeetingSituation) {
|
||||
String meetingId1 = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting1 = meetingService.getById(meetingId1);
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if (!Objects.equals(payMeeting1.getDirectorId(),loginUser.getId())) {
|
||||
throw new JeroBootException("只有会议负责人可以新增参会人");
|
||||
}
|
||||
payMeetingSituation.setStatus(MeetingSubitemCommon.STATUS_3);
|
||||
//payMeetingSituation.setNeedInvoice(PayProjectCommon.NO);
|
||||
payMeetingSituation.setAmountReceivable(new BigDecimal("0"));
|
||||
@@ -131,7 +140,7 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
|
||||
// 收入合同创建项目发送消息到项目负责人
|
||||
if (Objects.equals(ProjectCommon.FLAG, payMeetingSituation.getFlag())) {
|
||||
PayMeeting payMeeting = meetingService.getById(payMeetingSituation.getMeetingId());
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId1);
|
||||
contractCreateProjectSendMessageService.ContractCreateProjectSendMessageService(payMeeting.getMeetingName() + "的" + payMeetingSituation1.getCompanyContactName(), payMeetingSituation1.getId(), payMeeting.getDirectorId());
|
||||
}
|
||||
String meetingId = payMeetingSituation1.getMeetingId();
|
||||
@@ -1125,11 +1134,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
}
|
||||
String username = user.getUsername();
|
||||
List<String> meetingSituationIds = addDockVO.getMeetingSituationIds();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
String sysUserId = sysUser.getId();
|
||||
for (String meetingSituationId : meetingSituationIds) {
|
||||
PayMeetingSituation payMeetingSituation = getById(meetingSituationId);
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
Integer meetingType = payMeeting.getMeetingType();
|
||||
//只有会议负责人可以设置对接人
|
||||
if (!payMeeting.getDirectorId().equals(sysUserId)) {
|
||||
throw new JeroBootException("只有会议负责人可以设置对接人");
|
||||
}
|
||||
//只有国际研讨会议可以设置对接人
|
||||
if (!meetingType.equals(Integer.parseInt(MeetingCommon.INTERNATIONAL_MEETING))) {
|
||||
throw new JeroBootException("只有国际研讨会议可以设置对接人");
|
||||
@@ -1161,4 +1176,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
|
||||
|
||||
return date.after(begin) && date.before(end);
|
||||
}
|
||||
@Override
|
||||
public void checkCan(String situationId, Integer meetingCommon){
|
||||
PayMeetingSituation payMeetingSituation = getById(situationId);
|
||||
String meetingId = payMeetingSituation.getMeetingId();
|
||||
PayMeeting payMeeting = meetingService.getById(meetingId);
|
||||
if (!Objects.equals(payMeeting.getMeetingType(),meetingCommon)) {
|
||||
throw new JeroBootException("数据权限不足");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user