法规技术评估、法规意见收集-增加数据权限。
This commit is contained in:
+18
@@ -8,13 +8,16 @@ import javax.servlet.http.HttpServletResponse;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.service.ILawsOpinionGatherEOService;
|
||||
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.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -37,6 +40,8 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGatherEO, ILawsOpinionGatherEOService> {
|
||||
@Autowired
|
||||
private ILawsOpinionGatherEOService lawsOpinionGatherEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -57,6 +62,19 @@ public class LawsOpinionGatherEOController extends JeroController<LawsOpinionGat
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsOpinionGatherEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsOpinionGatherEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
/**
|
||||
* 创建查询数据权限,超级管理员可以看到所有的数据,并且能删除,其它用户只能看到自己创建、或自己为评估人的数据。
|
||||
*/
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
if(!administrator){
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//如果不是超级管理员,获取自己所有参与过的法规意见收集
|
||||
queryWrapper.and(query -> {
|
||||
query.eq("create_by",currentUser.getUsername());
|
||||
query.or().like("evaluator_ids",currentUser.getId());
|
||||
});
|
||||
}
|
||||
|
||||
Page<LawsOpinionGatherEO> page = new Page<LawsOpinionGatherEO>(pageNo, pageSize);
|
||||
IPage<LawsOpinionGatherEO> pageList = lawsOpinionGatherEOService.page(page, queryWrapper);
|
||||
this.lawsOpinionGatherEOService.disposeData(pageList.getRecords(),cut);
|
||||
|
||||
+4
@@ -122,4 +122,8 @@ public class LawsOpinionGatherEO implements Serializable {
|
||||
|
||||
@ApiModelProperty(value = "评估人ids,多个之间使用英文逗号分隔")
|
||||
private String evaluatorIds;
|
||||
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
}
|
||||
|
||||
+8
@@ -6,6 +6,7 @@ import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||
import com.jero.modules.lawsOpinionGather.entity.LawsOpinionGatherEO;
|
||||
import com.jero.modules.lawsOpinionGather.enums.GatherResultEnum;
|
||||
@@ -31,6 +32,7 @@ import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
|
||||
import com.jero.modules.wkflow.feginClient.WorkFlowFeignClient;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -197,6 +199,8 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
@Override
|
||||
public void disposeData(List<LawsOpinionGatherEO> lawsOpinionGatherEOList,String cut) {
|
||||
if(CollectionUtils.isNotEmpty(lawsOpinionGatherEOList)){
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//树形数据字典
|
||||
List<SysCategory> technologyTerritoryList = sysCategoryService.list();
|
||||
lawsOpinionGatherEOList.forEach(lawsOpinionGather -> {
|
||||
@@ -211,6 +215,10 @@ public class LawsOpinionGatherEOServiceImpl extends ServiceImpl<LawsOpinionGathe
|
||||
List<OSSFile> opinionArchiveFileList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(lawsOpinionGather.getOpinionArchiveId(), ","));
|
||||
lawsOpinionGather.setOpinionArchiveFileList(opinionArchiveFileList);
|
||||
}
|
||||
//如果当前用户是超级管理员,或是这条数据的创建人,给删除权限。
|
||||
if(StringUtils.equals(lawsOpinionGather.getCreateBy(),currentUser.getUsername()) || administrator){
|
||||
lawsOpinionGather.setDeleteFlag(true);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+15
@@ -3,19 +3,26 @@ package com.jero.modules.lawsTechnologyEvaluation.controller;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationFlowDetailEO;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationEOService;
|
||||
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.modules.lawsTechnologyEvaluation.service.ILawsTechnologyEvaluationFlowDetailEOService;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@@ -40,6 +47,10 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class LawsTechnologyEvaluationEOController extends JeroController<LawsTechnologyEvaluationEO, ILawsTechnologyEvaluationEOService> {
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationEOService lawsTechnologyEvaluationEOService;
|
||||
@Autowired
|
||||
private ISysUserService sysUserService;
|
||||
@Autowired
|
||||
private ILawsTechnologyEvaluationFlowDetailEOService lawsTechnologyEvaluationFlowDetailEOService;
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
@@ -60,6 +71,10 @@ public class LawsTechnologyEvaluationEOController extends JeroController<LawsTec
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper = QueryGenerator.initQueryWrapper(lawsTechnologyEvaluationEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("start_time");
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
if(!administrator){
|
||||
this.lawsTechnologyEvaluationEOService.createQueryPermission(queryWrapper,lawsTechnologyEvaluationEO,administrator);
|
||||
}
|
||||
Page<LawsTechnologyEvaluationEO> page = new Page<LawsTechnologyEvaluationEO>(pageNo, pageSize);
|
||||
IPage<LawsTechnologyEvaluationEO> pageList = lawsTechnologyEvaluationEOService.page(page, queryWrapper);
|
||||
this.lawsTechnologyEvaluationEOService.disposeData(pageList.getRecords(),cut);
|
||||
|
||||
+3
@@ -149,4 +149,7 @@ public class LawsTechnologyEvaluationEO implements Serializable {
|
||||
@ApiModelProperty(value = "流程编号")
|
||||
private String prcNum;
|
||||
|
||||
/**删除标识 true 可以删除,false,没有权限删除**/
|
||||
@TableField(exist = false)
|
||||
private boolean deleteFlag = false;
|
||||
}
|
||||
|
||||
+3
@@ -1,6 +1,7 @@
|
||||
package com.jero.modules.lawsTechnologyEvaluation.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.modules.lawsTechnologyEvaluation.entity.LawsTechnologyEvaluationEO;
|
||||
@@ -92,4 +93,6 @@ public interface ILawsTechnologyEvaluationEOService extends IService<LawsTechnol
|
||||
void workFlowSendMsg(JSONObject jsonObject);
|
||||
|
||||
Result<?> batchCompleteTask(JSONObject jsonObject);
|
||||
|
||||
void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator);
|
||||
}
|
||||
|
||||
+30
@@ -9,6 +9,7 @@ import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.constant.enums.ModuleEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
import com.jero.generater.modules.online.cgform.entity.OnlCgformField;
|
||||
import com.jero.generater.modules.online.cgform.service.impl.OnlCgformFieldServiceImpl;
|
||||
import com.jero.modules.document.enums.FieldTypeEnum;
|
||||
@@ -39,6 +40,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.jeecg.modules.jmreport.common.constant.CommonConstant;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -229,6 +231,8 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
@Override
|
||||
public void disposeData(List<LawsTechnologyEvaluationEO> datas, String cut) {
|
||||
if(CollectionUtils.isNotEmpty(datas)){
|
||||
boolean administrator = this.sysUserService.isAdministrator();
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
List<SysCategory> categoryList = sysCategoryService.list();
|
||||
for (LawsTechnologyEvaluationEO data : datas) {
|
||||
if(StringUtils.isNotEmpty(data.getEvaluationMethods())){
|
||||
@@ -244,6 +248,9 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
String name = getTreeName(cut, categoryList, technologyTerritory);
|
||||
data.setTechnologyTerritoryName(name);
|
||||
}
|
||||
if(administrator || StringUtils.equals(data.getCreateBy(),currentUser.getUsername())){
|
||||
data.setDeleteFlag(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -696,6 +703,29 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
return new Result<>().success("手动结束成功!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createQueryPermission(QueryWrapper<LawsTechnologyEvaluationEO> queryWrapper, LawsTechnologyEvaluationEO lawsTechnologyEvaluationEO,boolean administrator) {
|
||||
if(!administrator){
|
||||
//如果不是超级管理员,获取自己创建的和所有参与过的法规技术评估数据。
|
||||
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
|
||||
QueryWrapper<LawsTechnologyEvaluationFlowDetailEO> flowDetailQueryWrap = new QueryWrapper<>();
|
||||
flowDetailQueryWrap.lambda().eq(LawsTechnologyEvaluationFlowDetailEO::getEvaluatorId,currentUser.getId());
|
||||
List<LawsTechnologyEvaluationFlowDetailEO> flowDetailEOList = this.lawsTechnologyEvaluationFlowDetailEOService.list(flowDetailQueryWrap);
|
||||
if(CollectionUtils.isNotEmpty(flowDetailEOList)){
|
||||
List<String> lawsTechnologyEvaluationIdList = flowDetailEOList.stream().map(LawsTechnologyEvaluationFlowDetailEO::getLawsTechnologyEvaluationId).distinct().collect(Collectors.toList());
|
||||
queryWrapper.and(query -> {
|
||||
query.eq("create_by",currentUser.getUsername());
|
||||
query.or(q -> {
|
||||
for (String lawsTechnologyEvaluationId : lawsTechnologyEvaluationIdList) {
|
||||
q.or().like("id",lawsTechnologyEvaluationId);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private String getTreeName(String cut, List<SysCategory> categoryList, List<String> technologyTerritoryList) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String technologyTerritory : technologyTerritoryList) {
|
||||
|
||||
Reference in New Issue
Block a user