Commit 9052d81e by wyc

菜单管理/管理绩效详情重写/用户删除方法修改

parent 83f6f597
...@@ -253,7 +253,8 @@ public IActionResult DownloadUniteDeptdetail([FromBody] UniteDeptDetailRequest r ...@@ -253,7 +253,8 @@ public IActionResult DownloadUniteDeptdetail([FromBody] UniteDeptDetailRequest r
[HttpPost] [HttpPost]
public ApiResponse GetEmpDetailSetting([FromQuery] int allotId) public ApiResponse GetEmpDetailSetting([FromQuery] int allotId)
{ {
throw new NotImplementedException(); var response = _computeService.GetEmpDetailSetting(allotId);
return new ApiResponse(ResponseType.OK, response);
} }
/// <summary> /// <summary>
...@@ -266,7 +267,8 @@ public ApiResponse GetEmpDetailSetting([FromQuery] int allotId) ...@@ -266,7 +267,8 @@ public ApiResponse GetEmpDetailSetting([FromQuery] int allotId)
[HttpPost] [HttpPost]
public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List<UniteDeptDetailItem> request) public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List<UniteDeptDetailItem> request)
{ {
throw new NotImplementedException(); _computeService.SaveEmpDetailSetting(allotId, request);
return new ApiResponse(ResponseType.OK, "保存成功");
} }
/// <summary> /// <summary>
...@@ -278,11 +280,12 @@ public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List ...@@ -278,11 +280,12 @@ public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List
[HttpPost] [HttpPost]
public ApiResponse EmpDetail([FromBody] EmpDetailRequest request) public ApiResponse EmpDetail([FromBody] EmpDetailRequest request)
{ {
#region 提示
// 两个入口 // 两个入口
// 一种只传参数 ComputeId // 一种只传参数 ComputeId
// 一种只传参数 AllotId、UnitType、AccountingUnit // 一种只传参数 AllotId、UnitType、AccountingUnit
/* /*
考核前绩效 考核前绩效
核算人数 核算人数
...@@ -305,7 +308,10 @@ public ApiResponse EmpDetail([FromBody] EmpDetailRequest request) ...@@ -305,7 +308,10 @@ public ApiResponse EmpDetail([FromBody] EmpDetailRequest request)
调节后其他绩效(6.10 调节后其他管理绩效) 调节后其他绩效(6.10 调节后其他管理绩效)
绩效合计 绩效合计
*/ */
throw new NotImplementedException(); #endregion
var userid = _claim.GetUserId();
var response = _computeService.EmpDetail(request, userid);
return new ApiResponse(ResponseType.OK, response);
} }
/// <summary> /// <summary>
...@@ -317,7 +323,20 @@ public ApiResponse EmpDetail([FromBody] EmpDetailRequest request) ...@@ -317,7 +323,20 @@ public ApiResponse EmpDetail([FromBody] EmpDetailRequest request)
[HttpPost] [HttpPost]
public IActionResult DownloadEmpDetail([FromBody] EmpDetailRequest request) public IActionResult DownloadEmpDetail([FromBody] EmpDetailRequest request)
{ {
throw new NotImplementedException(); var userid = _claim.GetUserId();
var response = _computeService.EmpDetail(request, userid);
var filepath = _computeService.ExcelDownload(response, "管理绩效详情", request.AllotId);
var memoryStream = new MemoryStream();
using (var stream = new FileStream(filepath, FileMode.Open))
{
stream.CopyToAsync(memoryStream).Wait();
}
memoryStream.Seek(0, SeekOrigin.Begin);
var provider = new FileExtensionContentTypeProvider();
FileInfo fileInfo = new FileInfo(filepath);
var memi = provider.Mappings[".xlsx"];
return File(memoryStream, memi, Path.GetFileName(fileInfo.Name));
} }
#endregion #endregion
......
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.Request; using Performance.DtoModels.Request;
using Performance.EntityModels;
using Performance.Services; using Performance.Services;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace Performance.Api.Controllers namespace Performance.Api.Controllers
{ {
[Route("api")]
public class MenuController : Controller public class MenuController : Controller
{ {
private MenuService _menuService; private MenuService _menuService;
...@@ -77,14 +79,26 @@ public ApiResponse DeleteSystemMenu(int menuID) ...@@ -77,14 +79,26 @@ public ApiResponse DeleteSystemMenu(int menuID)
} }
/// <summary> /// <summary>
/// 当前菜单下的角色
/// </summary>
/// <returns></returns>
[Route("system/menu/getrole")]
[HttpPost]
public ApiResponse<List<sys_role_menu>> GetRoleSystemMenu(int menuID)
{
return _menuService.GetRoleSystemMenu(menuID);
}
/// <summary>
/// 设置角色 /// 设置角色
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[Route("system/menu/setrole")] [Route("system/menu/setrole")]
[HttpPost] [HttpPost]
public ApiResponse SetRoleSystemMenu(int menuID, int roleID) public ApiResponse SetRoleSystemMenu([FromBody] RoleRequest roleRequest)
{ {
return _menuService.SetRoleSystemMenu(menuID, roleID); return _menuService.SetRoleSystemMenu(roleRequest);
} }
#endregion #endregion
......
...@@ -2259,7 +2259,13 @@ ...@@ -2259,7 +2259,13 @@
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>
<member name="M:Performance.Api.Controllers.MenuController.SetRoleSystemMenu(System.Int32,System.Int32)"> <member name="M:Performance.Api.Controllers.MenuController.GetRoleSystemMenu(System.Int32)">
<summary>
当前菜单下的角色
</summary>
<returns></returns>
</member>
<member name="M:Performance.Api.Controllers.MenuController.SetRoleSystemMenu(Performance.DtoModels.Request.RoleRequest)">
<summary> <summary>
设置角色 设置角色
</summary> </summary>
......
...@@ -2319,11 +2319,6 @@ ...@@ -2319,11 +2319,6 @@
菜单Url 菜单Url
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.MenuRequest.MenuIcon">
<summary>
菜单图标
</summary>
</member>
<member name="P:Performance.DtoModels.Request.MenuRequest.States"> <member name="P:Performance.DtoModels.Request.MenuRequest.States">
<summary> <summary>
菜单状态 1 启用 2禁用 菜单状态 1 启用 2禁用
...@@ -2334,6 +2329,21 @@ ...@@ -2334,6 +2329,21 @@
排序 排序
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.Request.RoleRequest.MenuID">
<summary>
菜单id
</summary>
</member>
<member name="P:Performance.DtoModels.Request.RoleRequest.RoleID">
<summary>
角色
</summary>
</member>
<member name="P:Performance.DtoModels.Request.RoleRequest.TogetherAdd">
<summary>
为父级添加相同角色
</summary>
</member>
<member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type"> <member name="P:Performance.DtoModels.Request.SmsCodeRequest.Type">
<summary> <summary>
短信验证类型 1 手机号登录 2 其他 短信验证类型 1 手机号登录 2 其他
...@@ -4856,6 +4866,11 @@ ...@@ -4856,6 +4866,11 @@
1 删除 2 驳回 3 修改 4 新增 1 删除 2 驳回 3 修改 4 新增
</summary> </summary>
</member> </member>
<member name="P:Performance.DtoModels.MenuResponse.ParentID">
<summary>
父级菜单ID
</summary>
</member>
<member name="P:Performance.DtoModels.MenuResponse.MenuName"> <member name="P:Performance.DtoModels.MenuResponse.MenuName">
<summary> <summary>
菜单名称 菜单名称
......
...@@ -86,7 +86,10 @@ ...@@ -86,7 +86,10 @@
<summary> </summary> <summary> </summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_dept_detail"> <member name="P:Performance.EntityModels.PerformanceDbContext.cof_dept_detail">
<summary> </summary> <summary>科室详情配置</summary>
</member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_emp_detail">
<summary>管理绩效配置</summary>
</member> </member>
<member name="P:Performance.EntityModels.PerformanceDbContext.cof_depttype"> <member name="P:Performance.EntityModels.PerformanceDbContext.cof_depttype">
<summary> 科室类型 </summary> <summary> 科室类型 </summary>
...@@ -1878,6 +1881,31 @@ ...@@ -1878,6 +1881,31 @@
</summary> </summary>
</member> </member>
<member name="T:Performance.EntityModels.cof_emp_detail">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_emp_detail.Id">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_emp_detail.AllotId">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_emp_detail.Settings">
<summary>
</summary>
</member>
<member name="P:Performance.EntityModels.cof_emp_detail.CreateTime">
<summary>
</summary>
</member>
<member name="T:Performance.EntityModels.cof_director"> <member name="T:Performance.EntityModels.cof_director">
<summary> <summary>
规模绩效、效率绩效计算系数配置 规模绩效、效率绩效计算系数配置
......
...@@ -233,4 +233,58 @@ public enum Format ...@@ -233,4 +233,58 @@ public enum Format
四位小数百分比, 四位小数百分比,
} }
} }
public class ManagementDept
{
public enum TitleManage
{
//人员工号 = 2701,
//人员分类 = 2801,
//核算单元 = 2901,
考核前其他绩效 = 3001,
考核前绩效 = 3101,
核算人数 = 3200,
人均绩效 = 3300,
基础绩效系数 = 3400,
出勤率 = 3501,
实际人均 = 3600,
效率绩效人数 = 3700,
效率系数 = 3800,
效率绩效小计 = 3900,
规模绩效系数 = 4000,
规模绩效小计 = 4100,
管理绩效发放系数 = 4200,
考核前管理绩效 = 4300,
考核得分率 = 4401,
考核后管理绩效 = 4500,
医院奖罚 = 4601,
夜班费 = 4611,
考核后绩效 = 4621,
其他管理绩效 = 4700,
调节系数 = 4801,
调节后其他绩效 = 4901,
绩效合计 = 5001,
}
public enum DisplayRule
{
始终隐藏,
始终显示,
下发显示,
总额下发后显示,
}
public enum Format
{
,
整数,
一位小数,
两位小数,
三位小数,
四位小数,
整数百分比,
一位小数百分比,
两位小数百分比,
三位小数百分比,
四位小数百分比,
}
}
} }
...@@ -16,10 +16,6 @@ public class MenuRequest ...@@ -16,10 +16,6 @@ public class MenuRequest
/// </summary> /// </summary>
public string? MenuUrl { get; set; } public string? MenuUrl { get; set; }
/// <summary> /// <summary>
/// 菜单图标
/// </summary>
public string? MenuIcon { get; set; }
/// <summary>
/// 菜单状态 1 启用 2禁用 /// 菜单状态 1 启用 2禁用
/// </summary> /// </summary>
public int States { get; set; } public int States { get; set; }
...@@ -28,4 +24,20 @@ public class MenuRequest ...@@ -28,4 +24,20 @@ public class MenuRequest
/// </summary> /// </summary>
public int? Sort { get; set; } public int? Sort { get; set; }
} }
public class RoleRequest
{
/// <summary>
/// 菜单id
/// </summary>
public int MenuID { get; set; }
/// <summary>
/// 角色
/// </summary>
public int[] RoleID { get; set; }
/// <summary>
/// 为父级添加相同角色
/// </summary>
public bool TogetherAdd { get; set; }
}
} }
...@@ -7,7 +7,10 @@ namespace Performance.DtoModels ...@@ -7,7 +7,10 @@ namespace Performance.DtoModels
public class MenuResponse public class MenuResponse
{ {
public int MenuID { get; set; } public int MenuID { get; set; }
/// <summary>
/// 父级菜单ID
/// </summary>
public int ParentID { get; set; }
/// <summary> /// <summary>
/// 菜单名称 /// 菜单名称
/// </summary> /// </summary>
......
...@@ -10,6 +10,7 @@ public class UniteDeptDetailResponse ...@@ -10,6 +10,7 @@ public class UniteDeptDetailResponse
/// <summary> 0 不显示 1 显示 </summary> /// <summary> 0 不显示 1 显示 </summary>
public int ShowFormula { get; set; } public int ShowFormula { get; set; }
public List<DeptDetailItem> DetailItems { get; set; } public List<DeptDetailItem> DetailItems { get; set; }
} }
public class DeptDetailItem public class DeptDetailItem
{ {
......
...@@ -69,8 +69,10 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options) ...@@ -69,8 +69,10 @@ public PerformanceDbContext(DbContextOptions<PerformanceDbContext> options)
public virtual DbSet<cof_check> cof_check { get; set; } public virtual DbSet<cof_check> cof_check { get; set; }
/// <summary> </summary> /// <summary> </summary>
public virtual DbSet<cof_cmi> cof_cmi { get; set; } public virtual DbSet<cof_cmi> cof_cmi { get; set; }
/// <summary> </summary> /// <summary>科室详情配置</summary>
public virtual DbSet<cof_dept_detail> cof_dept_detail { get; set; } public virtual DbSet<cof_dept_detail> cof_dept_detail { get; set; }
/// <summary>管理绩效配置</summary>
public virtual DbSet<cof_emp_detail> cof_emp_detail { get; set; }
/// <summary> 科室类型 </summary> /// <summary> 科室类型 </summary>
public virtual DbSet<cof_depttype> cof_depttype { get; set; } public virtual DbSet<cof_depttype> cof_depttype { get; set; }
/// <summary> 规模绩效、效率绩效计算系数配置 </summary> /// <summary> 规模绩效、效率绩效计算系数配置 </summary>
......
//-----------------------------------------------------------------------
// <copyright file=" cof_emp_detail.cs">
// * FileName: cof_emp_detail.cs
// </copyright>
//-----------------------------------------------------------------------
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Performance.EntityModels
{
/// <summary>
///
/// </summary>
[Table("cof_emp_detail")]
public class cof_emp_detail
{
/// <summary>
///
/// </summary>
[Key]
public int Id { get; set; }
/// <summary>
///
/// </summary>
public int AllotId { get; set; }
/// <summary>
///
/// </summary>
public string Settings { get; set; }
/// <summary>
///
/// </summary>
public DateTime CreateTime { get; set; }
}
}
//-----------------------------------------------------------------------
// <copyright file="cof_emp_detail.cs">
// * FileName: cof_emp_detail.cs
// </copyright>
//-----------------------------------------------------------------------
using Performance.EntityModels;
namespace Performance.Repository
{
/// <summary>
/// cof_emp_detail
/// </summary>
public partial class PerforCofEmpDetailRepository : PerforRepository<cof_emp_detail>
{
public PerforCofEmpDetailRepository(PerformanceDbContext context) : base(context)
{
}
}
}
...@@ -41,6 +41,9 @@ public partial class ComputeService : IAutoInjection ...@@ -41,6 +41,9 @@ public partial class ComputeService : IAutoInjection
private readonly PerforCofaliasRepository cofaliasRepository; private readonly PerforCofaliasRepository cofaliasRepository;
private readonly PerforReportRepository reportRepository; private readonly PerforReportRepository reportRepository;
private readonly PerforCofDeptDetailRepository _perforCofDeptDetailRepository; private readonly PerforCofDeptDetailRepository _perforCofDeptDetailRepository;
private readonly PerforCofEmpDetailRepository _perforCofEmpDetailRepository;
private readonly PerforAgsecondallotRepository _agsecondallotRepository;
private readonly PerforRescomputeRepository _rescomputeRepository;
public ComputeService( public ComputeService(
IMapper mapper, IMapper mapper,
...@@ -67,7 +70,11 @@ public partial class ComputeService : IAutoInjection ...@@ -67,7 +70,11 @@ public partial class ComputeService : IAutoInjection
PerforCofaccountingRepository cofaccountingRepository, PerforCofaccountingRepository cofaccountingRepository,
PerforCofaliasRepository cofaliasRepository, PerforCofaliasRepository cofaliasRepository,
PerforReportRepository reportRepository, PerforReportRepository reportRepository,
PerforCofDeptDetailRepository perforCofDeptDetailRepository) PerforCofDeptDetailRepository perforCofDeptDetailRepository,
PerforCofEmpDetailRepository perforCofEmpDetailRepository,
PerforAgsecondallotRepository agsecondallotRepository,
PerforRescomputeRepository rescomputeRepository
)
{ {
_mapper = mapper; _mapper = mapper;
_configuration = configuration; _configuration = configuration;
...@@ -94,6 +101,9 @@ public partial class ComputeService : IAutoInjection ...@@ -94,6 +101,9 @@ public partial class ComputeService : IAutoInjection
this.cofaliasRepository = cofaliasRepository; this.cofaliasRepository = cofaliasRepository;
this.reportRepository = reportRepository; this.reportRepository = reportRepository;
_perforCofDeptDetailRepository = perforCofDeptDetailRepository; _perforCofDeptDetailRepository = perforCofDeptDetailRepository;
_perforCofEmpDetailRepository = perforCofEmpDetailRepository;
_agsecondallotRepository = agsecondallotRepository;
_rescomputeRepository = rescomputeRepository;
} }
public int IsShowManage(int allotId) public int IsShowManage(int allotId)
...@@ -1706,7 +1716,6 @@ public DeptDataDetails GetDoctorDetail(int computeId) ...@@ -1706,7 +1716,6 @@ public DeptDataDetails GetDoctorDetail(int computeId)
Management = employee?.Management ?? 0,//管理绩效发放系数 Management = employee?.Management ?? 0,//管理绩效发放系数
AdjustFactor = employee?.Adjust ?? 1, //调节系数 AdjustFactor = employee?.Adjust ?? 1, //调节系数
AdjustLaterOtherFee = employee?.AdjustLaterOtherFee ?? 0, //调节后其他绩效 AdjustLaterOtherFee = employee?.AdjustLaterOtherFee ?? 0, //调节后其他绩效
AccountingUnit = resCompute.AccountingUnit, AccountingUnit = resCompute.AccountingUnit,
EmployeeName = resCompute.EmployeeName, EmployeeName = resCompute.EmployeeName,
PerforTotal = resCompute.PerforTotal, //科室考核前绩效 PerforTotal = resCompute.PerforTotal, //科室考核前绩效
...@@ -1781,9 +1790,9 @@ public DeptDataDetails GetAdministration(int computeId) ...@@ -1781,9 +1790,9 @@ public DeptDataDetails GetAdministration(int computeId)
Pandect = new PerDataAccountBaisc Pandect = new PerDataAccountBaisc
{ {
EmployeeName = resCompute.EmployeeName,//医生姓名 EmployeeName = resCompute.EmployeeName,//医生姓名
AccountType = resCompute.AccountType,//核算单元类型
JobNumber = resCompute.JobNumber,//工号 JobNumber = resCompute.JobNumber,//工号
AccountingUnit = resCompute.AccountingUnit,//核算单元 AccountingUnit = resCompute.AccountingUnit,//核算单元
AccountType = resCompute.AccountType,//核算单元类型
JobTitle = resCompute.JobTitle,//职称 JobTitle = resCompute.JobTitle,//职称
FitPeople = resCompute.FitPeople,//绩效基数核算参考对象 FitPeople = resCompute.FitPeople,//绩效基数核算参考对象
FitPeopleValue = resCompute.FitPeopleValue ?? 0,//绩效基础核算参考值 FitPeopleValue = resCompute.FitPeopleValue ?? 0,//绩效基础核算参考值
......
...@@ -20,7 +20,8 @@ public class MenuService : IAutoInjection ...@@ -20,7 +20,8 @@ public class MenuService : IAutoInjection
public MenuService( public MenuService(
IMapper mapper, IMapper mapper,
PerforMenuRepository menuRepository, PerforMenuRepository menuRepository,
PerforRolemenuRepository perforRolemenuRepository) PerforRolemenuRepository perforRolemenuRepository
)
{ {
_mapper = mapper; _mapper = mapper;
_menuRepository = menuRepository; _menuRepository = menuRepository;
...@@ -83,7 +84,6 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest) ...@@ -83,7 +84,6 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest)
data.ParentID = menuRequest.ParentID; data.ParentID = menuRequest.ParentID;
data.MenuName = menuRequest.MenuName; data.MenuName = menuRequest.MenuName;
data.MenuUrl = menuRequest.MenuUrl; data.MenuUrl = menuRequest.MenuUrl;
data.MenuIcon = menuRequest.MenuIcon;
data.States = menuRequest.States; data.States = menuRequest.States;
data.Sort = menuRequest.Sort; data.Sort = menuRequest.Sort;
_menuRepository.Update(data); _menuRepository.Update(data);
...@@ -96,18 +96,17 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest) ...@@ -96,18 +96,17 @@ public ApiResponse UpdateSystemMenu(MenuRequest menuRequest)
} }
public ApiResponse DeleteSystemMenu(int menuID) public ApiResponse DeleteSystemMenu(int menuID)
{ {
try try
{ {
var datas = _menuRepository.GetEntities(w => w.ID == menuID || w.ParentID == menuID); var sysMenus = _menuRepository.GetEntities(w => w.ID == menuID || w.ParentID == menuID);
if (!datas.Any()) return new ApiResponse(ResponseType.NotFound, "未查到数据"); if (sysMenus == null) return new ApiResponse(ResponseType.NotFound, "未查到数据");
var menuIdDatas = datas.Select(s => s.ID).ToList(); var sysMenusId = sysMenus.Select(w => w.ID).ToList();
var roleMenu = _rolemenuRepository.GetEntities(w => menuIdDatas.Contains(w.MenuID)); var sysRoleMenus = _rolemenuRepository.GetEntities(w => sysMenusId.Contains(w.MenuID));
_menuRepository.RemoveRange(datas.ToArray()); _menuRepository.RemoveRange(sysMenus.ToArray());
if (roleMenu.Any()) if (sysRoleMenus.Any())
_rolemenuRepository.RemoveRange(roleMenu.ToArray()); _rolemenuRepository.RemoveRange(sysRoleMenus.ToArray());
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
catch (Exception ex) catch (Exception ex)
...@@ -115,16 +114,43 @@ public ApiResponse DeleteSystemMenu(int menuID) ...@@ -115,16 +114,43 @@ public ApiResponse DeleteSystemMenu(int menuID)
return new ApiResponse(ResponseType.Fail, "删除失败"); return new ApiResponse(ResponseType.Fail, "删除失败");
} }
} }
public ApiResponse<List<sys_role_menu>> GetRoleSystemMenu(int menuID)
{
var roles = _rolemenuRepository.GetEntities(t => t.MenuID == menuID);
return new ApiResponse<List<sys_role_menu>>(ResponseType.OK, roles);
}
public ApiResponse SetRoleSystemMenu(int menuID, int roleID) public ApiResponse SetRoleSystemMenu(RoleRequest roleRequest)
{ {
try try
{ {
var sysMenu = _menuRepository.GetEntity(w => w.ID == menuID); var sysRoleMenus = _rolemenuRepository.GetEntities(w => w.MenuID == roleRequest.MenuID);
if (sysMenu != null && sysMenu.ID < 0) return new ApiResponse(ResponseType.NotFound, "未查到菜单信息"); if (sysRoleMenus != null && sysRoleMenus.Any())
var roleMenu = _rolemenuRepository.GetEntity(w => w.MenuID == menuID && w.RoleID == roleID); _rolemenuRepository.RemoveRange(sysRoleMenus.ToArray());
if (roleMenu != null && roleMenu.ID < 0) return new ApiResponse(ResponseType.NotFound, "当前角色已绑定当前菜单"); var sysMenu = _menuRepository.GetEntity(w => w.ID == roleRequest.MenuID);
_rolemenuRepository.Add(new sys_role_menu() { MenuID = menuID, RoleID = roleID }); var sysMenus = _menuRepository.GetEntities();
var sysMenuIds = new List<int>();
sysMenuIds.Add(sysMenu.ID);
var temps = new List<sys_role_menu>();
var parentId = sysMenu.ParentID;
while (roleRequest.TogetherAdd)
{
var tempSysMenu = sysMenus.FirstOrDefault(w => w.ID == parentId);
if (tempSysMenu.ParentID == 0) break;
sysMenuIds.Add(tempSysMenu.ID);
parentId = tempSysMenu.ParentID;
}
foreach (var menuId in sysMenuIds)
{
foreach (var roleID in roleRequest.RoleID)
{
if (_rolemenuRepository.GetEntity(w => w.MenuID == menuId && w.RoleID == roleID) == null)
temps.Add(new sys_role_menu { MenuID = menuId, RoleID = roleID });
}
}
_rolemenuRepository.AddRange(temps.ToArray());
return new ApiResponse(ResponseType.OK); return new ApiResponse(ResponseType.OK);
} }
catch (Exception ex) catch (Exception ex)
...@@ -132,6 +158,5 @@ public ApiResponse SetRoleSystemMenu(int menuID, int roleID) ...@@ -132,6 +158,5 @@ public ApiResponse SetRoleSystemMenu(int menuID, int roleID)
return new ApiResponse(ResponseType.Fail, "添加失败"); return new ApiResponse(ResponseType.Fail, "添加失败");
} }
} }
} }
} }
...@@ -601,29 +601,54 @@ public UserResponse UpdateUser(UserRequest request, int userId) ...@@ -601,29 +601,54 @@ public UserResponse UpdateUser(UserRequest request, int userId)
return _mapper.Map<UserResponse>(user); return _mapper.Map<UserResponse>(user);
} }
public ApiResponse DeleteUser(int iD)
{
var user = _userRepository.GetEntity(t => t.ID == iD && t.IsDelete == 1);
if (null == user)
throw new PerformanceException($"用户不存在 UserId:{iD}");
user.IsDelete = 2;
var result = _userRepository.Remove(user);
var users = _userRepository.GetEntities(t => t.ParentID == user.ID && t.IsDelete == 1)?.ToArray();
if (users != null) public ApiResponse DeleteUser(int userId)
{ {
_userRepository.RemoveRange(users); try
foreach (var item in users)
{ {
var userRole = _userroleRepository.GetEntity(t => t.UserID == item.ID); var sysUsers = _userRepository.GetEntities(t => t.ID == userId || t.ParentID == userId);
if (null != userRole) if (sysUsers == null) return new ApiResponse(ResponseType.NotFound, "未查到用户");
_userroleRepository.Remove(userRole); var sysUsersId = sysUsers.Select(w => w.ID).ToList();
var sysUesrRoles = _userroleRepository.GetEntities(t => sysUsersId.Contains(t.UserID));
_userRepository.RemoveRange(sysUsers.ToArray());
if (sysUesrRoles.Any())
_userroleRepository.RemoveRange(sysUesrRoles.ToArray());
return new ApiResponse(ResponseType.OK);
} }
catch (Exception ex)
{
return new ApiResponse(ResponseType.Fail, "删除失败");
} }
return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
} }
#region 老删除
//public ApiResponse DeleteUser(int iD)
//{
// var user = _userRepository.GetEntity(t => t.ID == iD && t.IsDelete == 1);
// if (null == user)
// throw new PerformanceException($"用户不存在 UserId:{iD}");
// user.IsDelete = 2;
// var result = _userRepository.Remove(user);
// var users = _userRepository.GetEntities(t => t.ParentID == user.ID && t.IsDelete == 1)?.ToArray();
// if (users != null)
// {
// _userRepository.RemoveRange(users);
// foreach (var item in users)
// {
// var userRole = _userroleRepository.GetEntity(t => t.UserID == item.ID);
// if (null != userRole)
// _userroleRepository.Remove(userRole);
// }
// }
// return result ? new ApiResponse(ResponseType.OK) : new ApiResponse(ResponseType.Fail);
//}
#endregion
#endregion #endregion
public HandsonTableBase GetUserHandsFlat() public HandsonTableBase GetUserHandsFlat()
......
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