上报库管理--权限

This commit is contained in:
zhn
2024-01-05 13:43:18 +08:00
parent 0c5b956327
commit 126988cd9f
3 changed files with 42 additions and 4 deletions
@@ -6,10 +6,11 @@ import com.jero.common.api.vo.Result;
import com.jero.common.aspect.annotation.AutoLog;
import com.jero.common.constant.enums.CutEnum;
import com.jero.common.system.base.controller.JeroController;
import com.jero.common.system.vo.DictModel;
import com.jero.common.system.vo.LoginUser;
import com.jero.modules.cert.collect.service.IParamsConfigDataEOService;
import com.jero.modules.cert.collect.service.IParamsConfigDataHistoryEOService;
import com.jero.modules.cert.report.entity.ParamsReportConfigEO;
import com.jero.common.system.vo.DictModel;
import com.jero.modules.cert.report.entity.ParamsReportEO;
import com.jero.modules.cert.report.entity.ParamsReportExportHistoryEO;
import com.jero.modules.cert.report.service.IParamsReportConfigDataEOService;
@@ -19,11 +20,14 @@ import com.jero.modules.cert.report.service.IParamsReportExportHistoryEOService;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.system.enums.DicCodeEnum;
import com.jero.modules.system.service.ISysDictService;
import com.jero.modules.system.service.ISysUserService;
import com.jero.modules.system.util.StringUtils;
import com.jero.modules.todoCenter.enums.FlagEnum;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
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;
@@ -38,12 +42,12 @@ import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
import java.util.stream.Collectors;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.stream.Collectors;
@@ -80,6 +84,8 @@ public class ParamsReportEOController extends JeroController<ParamsReportEO, IPa
private IParamsConfigDataEOService paramsConfigDataEOService;
@Autowired
private IParamsConfigDataHistoryEOService paramsConfigDataHistoryEOService;
@Autowired
private ISysUserService sysUserService;
@@ -116,6 +122,11 @@ public class ParamsReportEOController extends JeroController<ParamsReportEO, IPa
// for (ParamsReportEO row : rows) {
// row.setPageName(row.getProjectName() + "-" + row.getTargetMarket() + "-" + row.getTitle());
// }
//是否为超级管理员
boolean administrator = sysUserService.isAdministrator();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
//目标市场
List<DictModel> targetMarketList = sysDictService.queryDictItemsByCode(DicCodeEnum.REGION.getCode());
List<ParamsReportEO> paramsReportEOS = paramsReportEOService.listInfo(paramsReportEO);
@@ -137,6 +148,21 @@ public class ParamsReportEOController extends JeroController<ParamsReportEO, IPa
}else{
row.setProjectName(row.getProjectName()+"-00");
}
//项目的认证工程师和管理员有权限,其余的角色没有权限,如果认证工程师为空,处理管理员其他角色没有权限
if(administrator){
row.setAuthorityFlag(FlagEnum.ZERO.getValue());
}else{
if(StringUtils.isBlank(row.getCertificationEngineer())){
row.setAuthorityFlag(FlagEnum.ONE.getValue());
}else{
if(row.getCertificationEngineer().contains(currentUser.getId())){
row.setAuthorityFlag(FlagEnum.ZERO.getValue());
}else{
row.setAuthorityFlag(FlagEnum.ONE.getValue());
}
}
}
}
String orderBy = paramsReportEO.getOrderBy();
String orderByField = paramsReportEO.getOrderByField();
@@ -102,4 +102,14 @@ public class ParamsReportEO implements Serializable {
@TableField(exist = false)
private List<HashMap<String, String>> configList;
@ApiModelProperty(value = "认证工程师")
@TableField(exist = false)
private String certificationEngineer;
@TableField(exist = false)
@ApiModelProperty(value = "权限标识-->有权限0,没有权限1")
private java.lang.String authorityFlag;
}
@@ -16,6 +16,7 @@
<result column="project_name" property="projectName" />
<result column="title" property="title" />
<result column="target_market" property="targetMarket" />
<result column="certification_engineer" property="certificationEngineer" />
</resultMap>
<sql id="BaseColumnList">
@@ -30,7 +31,8 @@
pr.update_time as update_time,
if (pm.title is not null, pm.title, pr.title) as title,
if (plb.target_market is not null, plb.target_market, pr.target_market) as target_market,
if (pni.project_name is not null, concat(pni.project_name,'-', pyni.year_name), pr.project_name) as project_name
if (pni.project_name is not null, concat(pni.project_name,'-', pyni.year_name), pr.project_name) as project_name,
plb.certification_engineer as certification_engineer
</sql>
<sql id="BaseQuerySql">