修改仓库数据范围报错

This commit is contained in:
liuhanqing
2025-06-16 13:56:41 +08:00
parent fc7364cc99
commit 36c95928ba
14 changed files with 230 additions and 42 deletions

View File

@@ -0,0 +1,48 @@
package com.ruoyi.system.domain;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
/**
* 角色和菜单关联 sys_role_menu
*
* @author ruoyi
*/
public class SysRoleWarehouse
{
/** 角色ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long roleId;
/** 仓库ID */
@JsonSerialize(using = ToStringSerializer.class)
private String warehouseId;
public Long getRoleId()
{
return roleId;
}
public void setRoleId(Long roleId)
{
this.roleId = roleId;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("roleId", getRoleId())
.append("warehouseId", getWarehouseId())
.toString();
}
}

View File

@@ -0,0 +1,21 @@
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SysRoleMenu;
import com.ruoyi.system.domain.SysRoleWarehouse;
import java.util.List;
public interface SysRoleWarehouseMapper {
/**
* 批量新增角色仓库信息
*
* @param roleWarehouseList 角色菜单列表
* @return 结果
*/
public int batchRoleWarehouse(List<SysRoleWarehouse> roleWarehouseList);
List<String> selectRoleWarehouseByRoleId(Long roleId);
void deleteRoleWarehouseByRoleId(Long roleId);
}

View File

@@ -6,7 +6,10 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import com.ruoyi.system.domain.SysRoleWarehouse;
import com.ruoyi.system.mapper.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -21,10 +24,6 @@ import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.system.domain.SysRoleDept;
import com.ruoyi.system.domain.SysRoleMenu;
import com.ruoyi.system.domain.SysUserRole;
import com.ruoyi.system.mapper.SysRoleDeptMapper;
import com.ruoyi.system.mapper.SysRoleMapper;
import com.ruoyi.system.mapper.SysRoleMenuMapper;
import com.ruoyi.system.mapper.SysUserRoleMapper;
import com.ruoyi.system.service.ISysRoleService;
/**
@@ -47,6 +46,9 @@ public class SysRoleServiceImpl implements ISysRoleService
@Autowired
private SysRoleDeptMapper roleDeptMapper;
@Autowired
private SysRoleWarehouseMapper roleWarehouseMapper;
/**
* 根据条件分页查询角色数据
*
@@ -70,6 +72,9 @@ public class SysRoleServiceImpl implements ISysRoleService
public List<SysRole> selectRolesByUserId(Long userId)
{
List<SysRole> userRoles = roleMapper.selectRolePermissionByUserId(userId);
for (SysRole userRole : userRoles) {
userRole.setWarehouseDataScope(roleWarehouseMapper.selectRoleWarehouseByRoleId(userRole.getRoleId()));
}
List<SysRole> roles = selectRoleAll();
for (SysRole role : roles)
{
@@ -78,6 +83,7 @@ public class SysRoleServiceImpl implements ISysRoleService
if (role.getRoleId().longValue() == userRole.getRoleId().longValue())
{
role.setFlag(true);
role.setWarehouseDataScope(userRole.getWarehouseDataScope());
break;
}
}
@@ -138,7 +144,10 @@ public class SysRoleServiceImpl implements ISysRoleService
@Override
public SysRole selectRoleById(Long roleId)
{
return roleMapper.selectRoleById(roleId);
SysRole sysRole = roleMapper.selectRoleById(roleId);
List<String> warehouseList = roleWarehouseMapper.selectRoleWarehouseByRoleId(roleId);
sysRole.setWarehouseDataScope(warehouseList);
return sysRole;
}
/**
@@ -285,7 +294,28 @@ public class SysRoleServiceImpl implements ISysRoleService
// 删除角色与部门关联
roleDeptMapper.deleteRoleDeptByRoleId(role.getRoleId());
// 新增角色和部门信息(数据权限)
return insertRoleDept(role);
int i = insertRoleDept(role);
int i1 = insertRoleWareHouse(role);
return i;
}
private int insertRoleWareHouse(SysRole role) {
int rows = 1;
// 新增用户与角色管理
List<SysRoleWarehouse> list = new ArrayList<SysRoleWarehouse>();
for (String wareHouseId : role.getWarehouseDataScope())
{
SysRoleWarehouse rw = new SysRoleWarehouse();
rw.setRoleId(role.getRoleId());
rw.setWarehouseId(wareHouseId);
list.add(rw);
}
if (CollUtil.isNotEmpty(list))
{
roleWarehouseMapper.deleteRoleWarehouseByRoleId(role.getRoleId());
rows = roleWarehouseMapper.batchRoleWarehouse(list);
}
return rows;
}
/**