参数模板管理--设置维护人

This commit is contained in:
zhn
2024-01-05 10:19:56 +08:00
parent 8cb0fbf940
commit 7e1a7c45fd
3 changed files with 63 additions and 1 deletions
@@ -687,3 +687,8 @@ ALTER TABLE `project_certification_inventory`
ADD COLUMN `platform_certification_inventory_id` varchar(36) NULL COMMENT '平台件-认证清单id' AFTER `remark`;
-- 参数模板管理 添加维护人 2024-01-05 未同步生产环境
ALTER TABLE `params_template`
ADD COLUMN `maintainer_id` varchar(3000) NULL COMMENT '维护人' AFTER `status`;
@@ -1,5 +1,6 @@
package com.jero.modules.cert.template.controller;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,17 +8,21 @@ 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.LoginUser;
import com.jero.modules.cert.template.entity.ParamsTemplateEO;
import com.jero.modules.cert.template.service.IParamsTemplateEOService;
import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum;
import com.jero.modules.dummy.enums.OrderEnum;
import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.system.entity.SysDictItem;
import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysDictItemMapper;
import com.jero.modules.system.service.ISysUserService;
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.lang.StringUtils;
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;
@@ -57,6 +62,8 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
private IParamsTemplateEOService paramsTemplateEOService;
@Autowired
private SysDictItemMapper sysDictItemMapper;
@Autowired
private ISysUserService sysUserService;
/**
* 分页列表查询
@@ -100,9 +107,46 @@ public class ParamsTemplateEOController extends JeroController<ParamsTemplateEO,
//适用地区排序(特殊处理)
pageList = regionSort(paramsTemplateEO, pageNo, pageSize, queryWrapper, pageList);
//维护人以及权限处理
maintainerAndauthority(pageList);
return Result.OK(cut, pageList);
}
private void maintainerAndauthority(IPage<ParamsTemplateEO> pageList) {
//是否为超级管理员
boolean administrator = sysUserService.isAdministrator();
LoginUser currentUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
List<ParamsTemplateEO> records = pageList.getRecords();
if(ObjectUtil.isNotEmpty(records)){
List<String> userIdList = records.stream()
.filter(e -> StringUtils.isNotBlank(e.getMaintainerId()))
.map(ParamsTemplateEO::getMaintainerId).distinct().collect(Collectors.toList());
if(ObjectUtil.isNotEmpty(userIdList)){
List<SysUser> sysUserList = sysUserService.querySysUserListByIdList(userIdList);
for (ParamsTemplateEO record : records) {
if(StringUtils.isNotBlank(record.getMaintainerId())){
List<SysUser> userList = sysUserList.stream().filter(e -> record.getMaintainerId().contains(e.getId())).collect(Collectors.toList());
if(ObjectUtil.isNotEmpty(userList)){
List<String> collect = userList.stream().map(SysUser::getRealname).collect(Collectors.toList());
record.setMaintainerName(StringUtils.join(collect,","));
}
}
//权限
if(administrator
|| currentUser.getUsername().equals(record.getCreateBy())
|| (StringUtils.isNotBlank(record.getMaintainerId()) && record.getMaintainerId().contains(currentUser.getUsername()))){
record.setAuthorityFlag(FlagEnum.ZERO.getValue());
}else{
record.setAuthorityFlag(FlagEnum.ONE.getValue());
}
}
}
}
}
private IPage<ParamsTemplateEO> regionSort(ParamsTemplateEO paramsTemplateEO, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, QueryWrapper<ParamsTemplateEO> queryWrapper, IPage<ParamsTemplateEO> pageList) {
if(StringUtils.isNotBlank(paramsTemplateEO.getOrderByField())
&& "region".equals(paramsTemplateEO.getOrderByField())){
@@ -100,4 +100,17 @@ public class ParamsTemplateEO implements Serializable {
@TableField(exist = false)
private String orderByField; // 字段
@ApiModelProperty(value = "维护人")
private java.lang.String maintainerId;
@TableField(exist = false)
@ApiModelProperty(value = "维护人回显")
private java.lang.String maintainerName;
@TableField(exist = false)
@ApiModelProperty(value = "权限标识-->有权限0,没有权限1")
private java.lang.String authorityFlag;
}