fix bug 会议和会员项目的水平越权

This commit is contained in:
lijiarao
2021-10-28 16:43:12 +08:00
parent ab2a0f51be
commit bfe515d73d
18 changed files with 243 additions and 256 deletions
@@ -217,8 +217,8 @@ public class CommitteeMeetingController extends JeroController<PayMeeting, IPayM
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
payMeeting.setMeetingType(MeetingCommon.COMMITTEE_MEETING_INT);
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
List<PayMeeting> pageList = queryPageList.getRecords();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
@@ -90,13 +90,9 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
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);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -118,27 +114,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);
payMeetingSituationService.add(payMeetingSituation,MEETING_TYPE);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@@ -147,8 +127,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);
payMeetingSituationService.editById(payMeetingSituationVO,MEETING_TYPE);
return Result.OK("编辑成功!");
}
@@ -160,7 +139,6 @@ 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("删除成功!");
}
@@ -174,9 +152,6 @@ public class CommitteeMeetingSituationController extends JeroController<PayMeeti
@GetMapping(value = "/deleteBatch")
public Result<?> deleteBatch(@RequestParam(name = "ids") String ids) {
List<String> stringList = Arrays.asList(ids.split(","));
for (String id : stringList) {
payMeetingSituationService.checkCan(id,MEETING_TYPE);
}
this.payMeetingSituationService.deleteByIds(stringList);
return Result.OK("批量删除成功!");
}
@@ -189,7 +164,6 @@ 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("未找到对应数据");
@@ -312,10 +286,6 @@ 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("设置对接人成功!");
}
@@ -328,7 +298,6 @@ 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("审核成功!");
}
@@ -341,7 +310,6 @@ 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("审核成功!");
}
@@ -216,8 +216,8 @@ public class InternalMeetingController extends JeroController<PayMeeting, IPayMe
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
payMeeting.setMeetingType(MeetingCommon.INTERNATIONAL_MEETING_INT);
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
List<PayMeeting> pageList = queryPageList.getRecords();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
@@ -8,38 +8,32 @@ 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.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.PayCompanyManagement;
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.IPayMeetingSituationService;
import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.project.common.PayProjectCommon;
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.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -61,6 +55,10 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
private IPayContactsManagementService contactsManagementService;
@Resource
private IPayCompanyManagementService companyManagementService;
@Resource
private RolePermissionService rolePermissionService;
private final Integer MEETING_TYPE = MeetingCommon.INTERNATIONAL_MEETING_INT;
/**
* 分页列表查询
*/
@@ -71,14 +69,14 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, req.getParameterMap());
String particularYear = req.getParameter("particularYear");
HttpServletRequest request) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap());
String particularYear = request.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -100,22 +98,10 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@@ -124,7 +110,7 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
return Result.OK("编辑成功!");
}
@@ -186,87 +172,15 @@ public class InternalMeetingSituationController extends JeroController<PayMeetin
@RequiresPermissions("internalMeetingSituation:export")
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeetingSituation payMeetingSituation) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap());
List<PayMeetingSituation> pageList = payMeetingSituationService.list(queryWrapper);
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
if (pageList.isEmpty()) {
throw new JeroBootException("没有数据");
}
String meetingType = payMeetingSituationService.getMeetingType(payMeetingSituation);
List<Object> exportList = new ArrayList<>();
for (PayMeetingSituation meetingSituation : pageList) {
String companyContactId = meetingSituation.getCompanyContactId();
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
meetingSituation.setCompanyContactName(contactsManagement.getName());
meetingSituation.setPost(contactsManagement.getPost());
meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId());
meetingSituation.setCompanyName(companyManagement.getCompanyName());
switch (meetingType) {
case MeetingCommon.STANDARD_MEETING:
//保存数据
StandardsSituationExcel standardsSituationExcel = new StandardsSituationExcel();
BeanUtils.copyProperties(meetingSituation, standardsSituationExcel);
exportList.add(standardsSituationExcel);
// 工作组项目查询工作组项目名
break;
case MeetingCommon.WORKING_GROUP_MEETING:
//保存数据
WorkingGroupSituationExcel workingGroupSituationExcel = new WorkingGroupSituationExcel();
BeanUtils.copyProperties(meetingSituation, workingGroupSituationExcel);
exportList.add(workingGroupSituationExcel);
break;
case MeetingCommon.INTERNATIONAL_MEETING:
//保存数据
InternationalSituationExcel internationalSituationExcel = new InternationalSituationExcel();
BeanUtils.copyProperties(meetingSituation, internationalSituationExcel);
exportList.add(internationalSituationExcel);
break;
case MeetingCommon.OTHER_MEETING:
//保存数据
SituationExcel situationExcel = new SituationExcel();
BeanUtils.copyProperties(meetingSituation, situationExcel);
exportList.add(situationExcel);
break;
case MeetingCommon.COMMITTEE_MEETING:
//保存数据
CommitteeSituationExcel committeeSituationExcel = new CommitteeSituationExcel();
BeanUtils.copyProperties(meetingSituation, committeeSituationExcel);
exportList.add(committeeSituationExcel);
break;
}
}
Class<?> classToExport = null;
switch (meetingType) {
case MeetingCommon.WORKING_GROUP_MEETING:
classToExport = WorkingGroupSituationExcel.class;
break;
case MeetingCommon.STANDARD_MEETING:
classToExport = StandardsSituationExcel.class;
break;
case MeetingCommon.INTERNATIONAL_MEETING:
classToExport = InternationalSituationExcel.class;
break;
case MeetingCommon.OTHER_MEETING:
classToExport = SituationExcel.class;
break;
case MeetingCommon.COMMITTEE_MEETING:
classToExport = CommitteeSituationExcel.class;
break;
}
return super.exportListXls(exportList, classToExport, "参会人员信息");
List<Object> objects = payMeetingSituationService.MeetingSituationGetModelAndView(request, payMeetingSituation,MEETING_TYPE);
Class<?> aClass = payMeetingSituationService.getaClass(MEETING_TYPE);
return super.exportListXls(objects, aClass, "参会人员信息");
}
/**
* 设置对接人
*/
@@ -216,8 +216,8 @@ public class OtherMeetingController extends JeroController<PayMeeting, IPayMeeti
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
payMeeting.setMeetingType(MeetingCommon.OTHER_MEETING_INT);
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
List<PayMeeting> pageList = queryPageList.getRecords();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
@@ -61,6 +61,8 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
private IPayContactsManagementService contactsManagementService;
@Resource
private IPayCompanyManagementService companyManagementService;
private final Integer MEETING_TYPE = MeetingCommon.OTHER_MEETING_INT;
/**
* 分页列表查询
*/
@@ -78,7 +80,7 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -100,22 +102,10 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@@ -124,7 +114,7 @@ public class OtherMeetingSituationController extends JeroController<PayMeetingSi
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
return Result.OK("编辑成功!");
}
@@ -62,36 +62,38 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
private IPayContactsManagementService contactsManagementService;
@Resource
private IPayCompanyManagementService companyManagementService;
private final Integer MEETING_TYPE = null;
/**
* 分页列表查询
*/
@CompanyNameTranslate
@RequiresPermissions("meetingSituation:search")
@ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询")
@GetMapping(value = "/page")
public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
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);
}
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())){
meetingSituation.setIdentification(PayProjectCommon.YES);
}else {
meetingSituation.setIdentification(PayProjectCommon.NO);
}
}
return Result.OK(pageList);
}
//@CompanyNameTranslate
//@RequiresPermissions("meetingSituation:search")
//@ApiOperation(value = "参会人员信息-分页列表查询", notes = "参会人员信息-分页列表查询")
//@GetMapping(value = "/page")
//public Result<?> queryPageList(PayMeetingSituation payMeetingSituation,
// @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
// @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
// HttpServletRequest req) {
// 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);
// }
// Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
// IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
// List<PayMeetingSituation> situationList = pageList.getRecords();
// for (PayMeetingSituation meetingSituation : situationList) {
// Integer payMode = meetingSituation.getPayMode();
// //汇款并且缴费凭证为空
// if (Objects.equals(payMode,1) && StringUtils.isBlank(meetingSituation.getPaymentRecord())){
// meetingSituation.setIdentification(PayProjectCommon.YES);
// }else {
// meetingSituation.setIdentification(PayProjectCommon.NO);
// }
// }
// return Result.OK(pageList);
//}
/**
* 合同查询未关联参会人列表
@@ -136,7 +138,7 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
return Result.OK("添加成功!");
}
@@ -152,17 +154,17 @@ public class PayMeetingSituationController extends JeroController<PayMeetingSitu
}
/**
* 编辑
*/
@AutoLog(value = "参会人员信息-编辑")
@RequiresPermissions("meetingSituation:edit")
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
return Result.OK("编辑成功!");
}
///**
// * 编辑
// */
//@AutoLog(value = "参会人员信息-编辑")
//@RequiresPermissions("meetingSituation:edit")
//@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
//@PostMapping(value = "/edit")
//public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
// payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
// return Result.OK("编辑成功!");
//}
/**
* 企业端上传缴费凭证 编辑
@@ -243,8 +243,8 @@ public class StandardsMeetingController extends JeroController<PayMeeting, IPayM
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
payMeeting.setMeetingType(MeetingCommon.STANDARD_MEETING_INT);
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
List<PayMeeting> pageList = queryPageList.getRecords();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
@@ -61,6 +61,8 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
private IPayContactsManagementService contactsManagementService;
@Resource
private IPayCompanyManagementService companyManagementService;
private final Integer MEETING_TYPE = MeetingCommon.STANDARD_MEETING_INT;
/**
* 分页列表查询
*/
@@ -78,7 +80,7 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -100,22 +102,10 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@@ -124,7 +114,7 @@ public class StandardsMeetingSituationController extends JeroController<PayMeeti
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
return Result.OK("编辑成功!");
}
@@ -218,8 +218,8 @@ public class WorkGroupMeetingController extends JeroController<PayMeeting, IPayM
@GetMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMeeting payMeeting) {
payMeeting.setMeetingType(MeetingCommon.WORKING_GROUP_MEETING_INT);
QueryWrapper<PayMeeting> queryWrapper = QueryGenerator.initQueryWrapper(payMeeting, request.getParameterMap());
List<PayMeeting> pageList = payMeetingService.list(queryWrapper);
IPage<PayMeeting> queryPageList = payMeetingService.queryPageList(payMeeting, -1, -1, request);
List<PayMeeting> pageList = queryPageList.getRecords();
List<Object> exportList = new ArrayList<>();
// 过滤选中数据
String selections = request.getParameter("selections");
@@ -61,6 +61,8 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
private IPayContactsManagementService contactsManagementService;
@Resource
private IPayCompanyManagementService companyManagementService;
private final Integer MEETING_TYPE = MeetingCommon.WORKING_GROUP_MEETING_INT;
/**
* 分页列表查询
*/
@@ -78,7 +80,7 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
Page<PayMeetingSituation> page = new Page<>(pageNo, pageSize);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper);
IPage<PayMeetingSituation> pageList = payMeetingSituationService.pageListContract(page, queryWrapper,MEETING_TYPE);
List<PayMeetingSituation> situationList = pageList.getRecords();
for (PayMeetingSituation meetingSituation : situationList) {
Integer payMode = meetingSituation.getPayMode();
@@ -100,22 +102,10 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
@ApiOperation(value = "参会人员信息-添加参会人", notes = "参会人员信息-添加参会人")
@PostMapping(value = "/add")
public Result<?> add(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.add(payMeetingSituation);
payMeetingSituationService.add(payMeetingSituation, MEETING_TYPE);
return Result.OK("添加成功!");
}
/**
* 报名
*/
@AutoLog(value = "报名信息-报名")
@ApiOperation(value = "报名信息-报名", notes = "报名信息-报名")
@PostMapping(value = "/signUp")
public Result<?> signUp(@RequestBody PayMeetingSituation payMeetingSituation) {
payMeetingSituationService.signUp(payMeetingSituation);
return Result.OK("添加成功!");
}
/**
* 编辑
*/
@@ -124,7 +114,7 @@ public class WorkGroupMeetingSituationController extends JeroController<PayMeeti
@ApiOperation(value = "参会人员信息-编辑", notes = "参会人员信息-编辑")
@PostMapping(value = "/edit")
public Result<?> edit(@RequestBody PayMeetingSituationVO payMeetingSituationVO) {
payMeetingSituationService.editById(payMeetingSituationVO);
payMeetingSituationService.editById(payMeetingSituationVO, MEETING_TYPE);
return Result.OK("编辑成功!");
}
@@ -22,5 +22,4 @@ public interface PayMeetingSituationMapper extends BaseMapper<PayMeetingSituatio
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page,
@Param(Constants.WRAPPER) QueryWrapper<PayMeetingSituation> queryWrapper);
}
@@ -4,11 +4,12 @@ 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.*;
import org.jetbrains.annotations.Nullable;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
@@ -22,12 +23,12 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
/**
* 保存
*/
void add(PayMeetingSituation payMeetingSituation);
void add(PayMeetingSituation payMeetingSituation, Integer meetingType);
/**
* 更新
*/
void editById(PayMeetingSituationVO payMeetingSituationVO);
void editById(PayMeetingSituationVO payMeetingSituationVO, Integer meetingType);
Boolean checkMember(String companyName);
@@ -77,7 +78,10 @@ public interface IPayMeetingSituationService extends IService<PayMeetingSituatio
void editTerminal(PayMeetingSituationVO payMeetingSituationVO);
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper);
IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper,Integer meetingType);
void checkCan(String situationId, Integer meetingCommon);
List<Object> MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType);
@Nullable
Class<?> getaClass(Integer meetingType);
}
@@ -45,6 +45,7 @@ import com.jero.meeting.valid.group.WorkingGroupMeeting;
import com.jero.meeting.vo.PayMeetingVO;
import com.jero.meeting.vo.PublishReminderVO;
import com.jero.meeting.vo.UploadFileVO;
import com.jero.meeting.vo.excel.*;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.project.entity.PayWorkingGroup;
@@ -562,9 +563,23 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
}
Page<PayMeeting> page = new Page<>(pageNo, pageSize);
IPage<PayMeeting> pageList;
if (!rolePermissionService.getRolePermission("generalProject:search")) {
if (!payMeeting.getMeetingType().equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) {
payMeeting.setDirectorId(sysUser.getId());
String permission = null;
Integer meetingType = payMeeting.getMeetingType();
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
permission = "workGroupMeeting:search";
}else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){
permission = "standardMeeting:search";
}else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
permission = "internalMeeting:search";
}else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){
permission = "otherMeeting:search";
}else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){
permission = "committeeMeeting:search";
}
if (!Objects.equals(permission,"standardMeeting:search") && !rolePermissionService.getRolePermission(permission)) {
if (!meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)) {
queryWrapper.eq("director_id", sysUser.getId());
pageList = page(page, queryWrapper);
}else {
queryWrapper.and(
@@ -19,9 +19,11 @@ 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;
import com.jero.common.system.query.QueryGenerator;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
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;
@@ -44,6 +46,7 @@ import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.valid.group.*;
import com.jero.meeting.vo.*;
import com.jero.meeting.vo.excel.*;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.payment.entity.PayPaymentRecord;
@@ -59,15 +62,18 @@ import com.jero.util.module.ObjRecordUtilModule;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import org.springframework.transaction.annotation.Transactional;
@@ -123,9 +129,13 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
* 保存
*/
@Override
public void add(PayMeetingSituation payMeetingSituation) {
public void add(PayMeetingSituation payMeetingSituation, Integer meetingType) {
String meetingId1 = payMeetingSituation.getMeetingId();
PayMeeting payMeeting1 = meetingService.getById(meetingId1);
if (meetingType != null && !Objects.equals(payMeeting1.getMeetingType(), meetingType)) {
throw new JeroBootException("数据权限不足");
}
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!Objects.equals(payMeeting1.getDirectorId(),loginUser.getId())) {
throw new JeroBootException("只有会议负责人可以新增参会人");
@@ -706,7 +716,20 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
@Override
public IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper) {
public IPage<PayMeetingSituation> pageListContract(Page<PayMeetingSituation> page, QueryWrapper<PayMeetingSituation> queryWrapper,Integer meetingType) {
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!rolePermissionService.getRolePermission("committeeMeetingSituation:search")) {
if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
queryWrapper.and(
a -> a.eq("pms.dock_id",loginUser.getId())
.or()
.eq("pm.director_id",loginUser.getId())
);
}else {
queryWrapper.eq("pm.director_id", loginUser.getId());
}
}
queryWrapper.eq("pm.meeting_type",meetingType);
return baseMapper.pageListContract(page,queryWrapper);
}
@@ -714,12 +737,17 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
* 更新
*/
@Override
public void editById(PayMeetingSituationVO payMeetingSituationVO) {
public void editById(PayMeetingSituationVO payMeetingSituationVO, Integer meetingType1) {
String meetingId = payMeetingSituationVO.getMeetingId();
PayMeeting payMeeting = meetingService.getById(meetingId);
String meetingType = payMeeting.getMeetingType().toString();
String id = payMeetingSituationVO.getId();
PayMeetingSituation payMeetingSituation = this.getById(id);
if (meetingType1 != null && !Objects.equals(payMeeting.getMeetingType(),meetingType1)) {
throw new JeroBootException("数据权限不足");
}
//把原始数据保存下来,后面用于判断修改了那些字段
PayMeetingSituation oldObject = new PayMeetingSituation();
BeanUtils.copyProperties(payMeetingSituation, oldObject);
@@ -775,8 +803,8 @@ public class PayMeetingSituationServiceImpl extends ServiceImpl<PayMeetingSituat
}
HashMap<String, String> map = new HashMap<>();
map.put("meetingName", payMeeting.getMeetingName());
map.put("userName1", sysUser.getUsername());
map.put("userName2", payMeetingSituation1.getCompanyContactName());
map.put("username1", sysUser.getRealname());
map.put("username2", payMeetingSituation1.getCompanyContactName());
map.put("record", record);
sendMessageDTO.setFromUser(sysUser.getUsername());
sendMessageDTO.setTemplateCode(ManagementMessageEnums.MSG8.getCode());
@@ -1176,13 +1204,91 @@ 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("数据权限不足");
public List<Object> MeetingSituationGetModelAndView(HttpServletRequest request, PayMeetingSituation payMeetingSituation, Integer meetingType) {
QueryWrapper<PayMeetingSituation> queryWrapper = QueryGenerator.initQueryWrapper(payMeetingSituation, request.getParameterMap());
String particularYear = request.getParameter("particularYear");
if (StringUtils.isNotBlank(particularYear)){
queryWrapper.eq("DATE_FORMAT( ppr.payment_date, '%Y' )",particularYear);
}
IPage<PayMeetingSituation> pageListContract = pageListContract(new Page<>(-1, -1), queryWrapper,meetingType);
List<PayMeetingSituation> pageList = pageListContract.getRecords();
// 过滤选中数据
String selections = request.getParameter("selections");
if (oConvertUtils.isNotEmpty(selections)) {
List<String> selectionList = Arrays.asList(selections.split(","));
pageList = pageList.stream().filter(item -> selectionList.contains(item.getId())).collect(Collectors.toList());
}
if (pageList.isEmpty()) {
throw new JeroBootException("没有数据");
}
String meetingType1 = getMeetingType(payMeetingSituation);
List<Object> exportList = new ArrayList<>();
for (PayMeetingSituation meetingSituation : pageList) {
String companyContactId = meetingSituation.getCompanyContactId();
PayContactsManagement contactsManagement = contactsManagementService.getById(companyContactId);
meetingSituation.setCompanyContactName(contactsManagement.getName());
meetingSituation.setPost(contactsManagement.getPost());
meetingSituation.setPhone(PasswordUtil.decrypt(contactsManagement.getPhone()));
meetingSituation.setEmail(PasswordUtil.decrypt(contactsManagement.getEmail()));
PayCompanyManagement companyManagement = companyManagementService.getById(contactsManagement.getCompanyId());
meetingSituation.setCompanyName(companyManagement.getCompanyName());
switch (meetingType1) {
case MeetingCommon.STANDARD_MEETING:
//保存数据
StandardsSituationExcel standardsSituationExcel = new StandardsSituationExcel();
BeanUtils.copyProperties(meetingSituation, standardsSituationExcel);
exportList.add(standardsSituationExcel);
// 工作组项目查询工作组项目名
break;
case MeetingCommon.WORKING_GROUP_MEETING:
//保存数据
WorkingGroupSituationExcel workingGroupSituationExcel = new WorkingGroupSituationExcel();
BeanUtils.copyProperties(meetingSituation, workingGroupSituationExcel);
exportList.add(workingGroupSituationExcel);
break;
case MeetingCommon.INTERNATIONAL_MEETING:
//保存数据
InternationalSituationExcel internationalSituationExcel = new InternationalSituationExcel();
BeanUtils.copyProperties(meetingSituation, internationalSituationExcel);
exportList.add(internationalSituationExcel);
break;
case MeetingCommon.OTHER_MEETING:
//保存数据
SituationExcel situationExcel = new SituationExcel();
BeanUtils.copyProperties(meetingSituation, situationExcel);
exportList.add(situationExcel);
break;
case MeetingCommon.COMMITTEE_MEETING:
//保存数据
CommitteeSituationExcel committeeSituationExcel = new CommitteeSituationExcel();
BeanUtils.copyProperties(meetingSituation, committeeSituationExcel);
exportList.add(committeeSituationExcel);
break;
}
}
return exportList;
}
@Nullable
@Override
public Class<?> getaClass(Integer meetingType) {
Class<?> classToExport = null;
if (meetingType.equals(MeetingCommon.WORKING_GROUP_MEETING_INT)){
classToExport = WorkingGroupSituationExcel.class;
}else if (meetingType.equals(MeetingCommon.STANDARD_MEETING_INT)){
classToExport = StandardsSituationExcel.class;
}else if (meetingType.equals(MeetingCommon.INTERNATIONAL_MEETING_INT)){
classToExport = InternationalSituationExcel.class;
}else if (meetingType.equals(MeetingCommon.OTHER_MEETING_INT)){
classToExport = SituationExcel.class;
}else if (meetingType.equals(MeetingCommon.COMMITTEE_MEETING_INT)){
classToExport = CommitteeSituationExcel.class;
}
return classToExport;
}
}
@@ -35,7 +35,6 @@ public class CommonPeopleVO{
/**邮寄联系人地址*/
@Excel(name = "地址", width = 15)
@ApiModelProperty(value = "邮寄联系人地址")
@NotBlank(message = "地址不能为空",groups = NotPack.class)
private String postContactAddress;
/**缴费方式*/
@@ -82,7 +82,7 @@ public class PayMemberProjectController extends JeroController<PayMemberProject,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!rolePermissionService.getRolePermission("generalProject:search")) {
if (!rolePermissionService.getRolePermission("memberProject:search")) {
payMemberProject.setDirectorId(sysUser.getId());
}
QueryWrapper<PayMemberProject> queryWrapper = QueryGenerator.initQueryWrapper(payMemberProject, req.getParameterMap());
@@ -257,6 +257,10 @@ public class PayMemberProjectController extends JeroController<PayMemberProject,
@RequiresPermissions("memberProject:export")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, PayMemberProject payMemberProject) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if (!rolePermissionService.getRolePermission("memberProject:search")) {
payMemberProject.setDirectorId(sysUser.getId());
}
QueryWrapper<PayMemberProject> queryWrapper = QueryGenerator.initQueryWrapper(payMemberProject, request.getParameterMap());
List<PayMemberProject> pageList = memberProjectService.list(queryWrapper);
// 过滤选中数据
@@ -59,7 +59,13 @@ public class ObjRecordUtil {
Dict dict = field1.getAnnotation(Dict.class);
if (pn != null) {
Object old = field1.get(oldObj);
if (Objects.isNull(old)) {
old = "";
}
Object newo = field2.get(newObj);
if (Objects.isNull(newo)) {
newo = "";
}
if (pn.value().contains("id")) {
break;
} else if (pn.value().contains("文件")) {