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,34 +280,38 @@ public ApiResponse SaveEmpDetailSetting([FromQuery] int allotId, [FromBody] List ...@@ -278,34 +280,38 @@ 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
/* /*
考核前绩效 考核前绩效
核算人数 核算人数
人均绩效 人均绩效
基础绩效系数(6.11 个人岗位系数) 基础绩效系数(6.11 个人岗位系数)
出勤率 出勤率
实际人均 实际人均
效率绩效人数 效率绩效人数
效率系数 效率系数
效率绩效小计 效率绩效小计
规模绩效系数 规模绩效系数
规模绩效小计 规模绩效小计
管理绩效发放系数 管理绩效发放系数
考核前管理绩效 考核前管理绩效
考核得分率 考核得分率
考核后管理绩效 考核后管理绩效
医院奖罚(5.2 业务中层行政中高层业务奖罚) 医院奖罚(5.2 业务中层行政中高层业务奖罚)
其他管理绩效(6.9 其他管理绩效) 其他管理绩效(6.9 其他管理绩效)
调节系数 调节系数
调节后其他绩效(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)
{
try
{ {
_userRepository.RemoveRange(users); var sysUsers = _userRepository.GetEntities(t => t.ID == userId || t.ParentID == userId);
foreach (var item in users) if (sysUsers == null) return new ApiResponse(ResponseType.NotFound, "未查到用户");
{ var sysUsersId = sysUsers.Select(w => w.ID).ToList();
var userRole = _userroleRepository.GetEntity(t => t.UserID == item.ID);
if (null != userRole) var sysUesrRoles = _userroleRepository.GetEntities(t => sysUsersId.Contains(t.UserID));
_userroleRepository.Remove(userRole); _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