Commit 3b92e0f8 by 李承祥

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

parent fee18f0b
...@@ -210,7 +210,8 @@ public ApiResponse<UserResponse> Password([FromBody]PasswordRequest request) ...@@ -210,7 +210,8 @@ public ApiResponse<UserResponse> Password([FromBody]PasswordRequest request)
[HttpPost] [HttpPost]
public ApiResponse<List<sys_role>> RoleList() 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); return new ApiResponse<List<sys_role>>(ResponseType.OK, "ok", roleList);
} }
......
...@@ -651,7 +651,22 @@ ...@@ -651,7 +651,22 @@
</member> </member>
<member name="P:Performance.EntityModels.ag_secondallot.Status"> <member name="P:Performance.EntityModels.ag_secondallot.Status">
<summary> <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> </summary>
</member> </member>
<member name="T:Performance.EntityModels.ag_temp"> <member name="T:Performance.EntityModels.ag_temp">
...@@ -3049,6 +3064,11 @@ ...@@ -3049,6 +3064,11 @@
菜单状态 1 启用 2禁用 菜单状态 1 启用 2禁用
</summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.sys_role.ParentRoles">
<summary>
父级角色
</summary>
</member>
<member name="T:Performance.EntityModels.sys_role_menu"> <member name="T:Performance.EntityModels.sys_role_menu">
<summary> <summary>
角色菜单关联表 角色菜单关联表
......
...@@ -52,8 +52,23 @@ public class ag_secondallot ...@@ -52,8 +52,23 @@ public class ag_secondallot
public Nullable<decimal> RealGiveFee { get; set; } public Nullable<decimal> RealGiveFee { get; set; }
/// <summary> /// <summary>
/// 状态 1 未提交 2 提交 /// 状态 1 未提交 2 等待审核 3 审核通过 4 驳回
/// </summary> /// </summary>
public Nullable<int> Status { get; set; } 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 ...@@ -35,5 +35,10 @@ public class sys_role
/// 菜单状态 1 启用 2禁用 /// 菜单状态 1 启用 2禁用
/// </summary> /// </summary>
public int States { get; set; } public int States { get; set; }
/// <summary>
/// 父级角色
/// </summary>
public string ParentRoles { get; set; }
} }
} }
...@@ -15,5 +15,16 @@ public static string RemoveEnter(this string text) ...@@ -15,5 +15,16 @@ public static string RemoveEnter(this string text)
{ {
return text.Replace("\r", ""); 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) ...@@ -593,7 +593,12 @@ public List<TitleValue> WorkHeader(int allotId)
if (sheets == null) if (sheets == null)
return new List<TitleValue>(); return new List<TitleValue>();
var header = perforImheaderRepository.GetEntities(t => sheets.Select(s => s.ID).Contains(t.SheetID.Value) && !t.CellValue.Contains("核算单元") && t.CellValue != "科室名称")?.ToList(); 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 @@ ...@@ -4,6 +4,7 @@
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.AppSettings; using Performance.DtoModels.AppSettings;
using Performance.EntityModels; using Performance.EntityModels;
using Performance.Infrastructure;
using Performance.Repository; using Performance.Repository;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
...@@ -303,10 +304,20 @@ public UserResponse UpdatePwd(PasswordRequest request, int userId) ...@@ -303,10 +304,20 @@ public UserResponse UpdatePwd(PasswordRequest request, int userId)
/// 角色列表 /// 角色列表
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
public List<sys_role> RoleList() public List<sys_role> RoleList(int userId)
{ {
var role = _roleRepository.GetEntities(t => t.States == 1); var user = _userroleRepository.GetEntity(t => t.UserID == userId);
return role; 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> /// <summary>
...@@ -325,5 +336,25 @@ public List<TitleValue> Department(int hospitalID) ...@@ -325,5 +336,25 @@ public List<TitleValue> Department(int hospitalID)
} }
return new List<TitleValue>(); 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