Commit 3b92e0f8 by 李承祥

角色权限选择、工作量过滤

parent fee18f0b
......@@ -210,7 +210,8 @@ public ApiResponse<UserResponse> Password([FromBody]PasswordRequest request)
[HttpPost]
public ApiResponse<List<sys_role>> RoleList()
{
var roleList = _userService.RoleList();
var userid = _claim.GetUserId();
var roleList = _userService.RoleList(userid);
return new ApiResponse<List<sys_role>>(ResponseType.OK, "ok", roleList);
}
......
......@@ -651,7 +651,22 @@
</member>
<member name="P:Performance.EntityModels.ag_secondallot.Status">
<summary>
状态 1 未提交 2 提交
状态 1 未提交 2 等待审核 3 审核通过 4 驳回
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.SubmitTime">
<summary>
提交时间
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.AuditTime">
<summary>
审核时间
</summary>
</member>
<member name="P:Performance.EntityModels.ag_secondallot.AuditUser">
<summary>
审核人
</summary>
</member>
<member name="T:Performance.EntityModels.ag_temp">
......@@ -3049,6 +3064,11 @@
菜单状态 1 启用 2禁用
</summary>
</member>
<member name="P:Performance.EntityModels.sys_role.ParentRoles">
<summary>
父级角色
</summary>
</member>
<member name="T:Performance.EntityModels.sys_role_menu">
<summary>
角色菜单关联表
......
......@@ -52,8 +52,23 @@ public class ag_secondallot
public Nullable<decimal> RealGiveFee { get; set; }
/// <summary>
/// 状态 1 未提交 2 提交
/// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary>
public Nullable<int> Status { get; set; }
/// <summary>
/// 提交时间
/// </summary>
public Nullable<DateTime> SubmitTime { get; set; }
/// <summary>
/// 审核时间
/// </summary>
public Nullable<DateTime> AuditTime { get; set; }
/// <summary>
/// 审核人
/// </summary>
public Nullable<int> AuditUser { get; set; }
}
}
......@@ -35,5 +35,10 @@ public class sys_role
/// 菜单状态 1 启用 2禁用
/// </summary>
public int States { get; set; }
/// <summary>
/// 父级角色
/// </summary>
public string ParentRoles { get; set; }
}
}
......@@ -15,5 +15,16 @@ public static string RemoveEnter(this string text)
{
return text.Replace("\r", "");
}
/// <summary>
/// 分隔 移除空项
/// </summary>
/// <param name="text"></param>
/// <param name="separator"></param>
/// <returns></returns>
public static string[] SplitRemoveEmpty(this string text, params string[] separator)
{
return text.Split(separator, StringSplitOptions.RemoveEmptyEntries);
}
}
}
......@@ -593,7 +593,12 @@ public List<TitleValue> WorkHeader(int allotId)
if (sheets == null)
return new List<TitleValue>();
var header = perforImheaderRepository.GetEntities(t => sheets.Select(s => s.ID).Contains(t.SheetID.Value) && !t.CellValue.Contains("核算单元") && t.CellValue != "科室名称")?.ToList();
return header?.Select(t => new TitleValue { Title = t.CellValue, Value = t.CellValue }).Distinct().ToList();
if (header != null && header.Count > 0)
{
var list = header.Select(t => t.CellValue).Where(t => !string.IsNullOrEmpty(t)).Distinct();
return list?.Select(t => new TitleValue { Title = t, Value = t }).ToList();
}
return null;
}
}
}
......@@ -4,6 +4,7 @@
using Performance.DtoModels;
using Performance.DtoModels.AppSettings;
using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository;
using System;
using System.Collections.Generic;
......@@ -303,10 +304,20 @@ public UserResponse UpdatePwd(PasswordRequest request, int userId)
/// 角色列表
/// </summary>
/// <returns></returns>
public List<sys_role> RoleList()
public List<sys_role> RoleList(int userId)
{
var role = _roleRepository.GetEntities(t => t.States == 1);
return role;
var user = _userroleRepository.GetEntity(t => t.UserID == userId);
if (user == null)
throw new PerformanceException("登录用户不存在!");
var roles = _roleRepository.GetEntities(t => t.States == 1);
var role = roles.FirstOrDefault(s => s.ID == user.RoleID);
if (user == null)
throw new PerformanceException("当前用户角色无效!");
List<sys_role> result = new List<sys_role>() { role };
GetChildrenRole(roles, role.ID, result);
return result;
}
/// <summary>
......@@ -325,5 +336,25 @@ public List<TitleValue> Department(int hospitalID)
}
return new List<TitleValue>();
}
/// <summary>
/// 递归获取所有下属角色
/// </summary>
/// <param name="roles"></param>
/// <param name="roleId"></param>
/// <param name="result"></param>
private void GetChildrenRole(List<sys_role> roles, int roleId, List<sys_role> result)
{
foreach (var role in roles.Where(s => !string.IsNullOrEmpty(s.ParentRoles)))
{
if (role.ParentRoles.SplitRemoveEmpty(",").Contains(roleId.ToString()))
{
result.Add(role);
GetChildrenRole(roles, role.ID, result);
}
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment