|
@@ -1,4 +1,6 @@
|
|
|
-using System.Collections;
|
|
|
+using OASystem.Infrastructure.Repositories.System;
|
|
|
+using System.Collections;
|
|
|
+using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
|
|
|
|
|
|
namespace OASystem.API.Controllers
|
|
|
{
|
|
@@ -22,11 +24,13 @@ namespace OASystem.API.Controllers
|
|
|
private readonly SystemMenuAndFunctionRepository _SystemMenuAndFunctionRepository;
|
|
|
private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
|
|
|
private readonly JobPostRepository _jobRep;
|
|
|
+ private readonly UserAuthorityRepository _UserAuthorityRepository;
|
|
|
|
|
|
public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
|
|
|
IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
|
|
|
SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
|
|
|
- SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, JobPostRepository jobRep)
|
|
|
+ SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, JobPostRepository jobRep
|
|
|
+ , UserAuthorityRepository userAuthorityRepository)
|
|
|
|
|
|
{
|
|
|
_syscomRep = syscom;
|
|
@@ -39,6 +43,7 @@ namespace OASystem.API.Controllers
|
|
|
_PageFunctionPermissionRepository = pageFunctionPermissionRepository;
|
|
|
_SystemMenuAndFunctionRepository = systemMenuAndFunctionRepository;
|
|
|
_JobPostAuthorityRepository = jobPostAuthorityRepository;
|
|
|
+ _UserAuthorityRepository = userAuthorityRepository;
|
|
|
}
|
|
|
|
|
|
#region 企业操作
|
|
@@ -823,9 +828,45 @@ namespace OASystem.API.Controllers
|
|
|
|
|
|
_JobPostAuthorityRepository.BeginTran();
|
|
|
try
|
|
|
- {
|
|
|
+ { //删除岗位
|
|
|
bool isdel = await _JobPostAuthorityRepository.DeleteAsync<Sys_JobPostAuthority>(x => x.JpId == dto.Jpid);
|
|
|
int UpRows = _JobPostAuthorityRepository.Adds<Sys_JobPostAuthority>(adds);
|
|
|
+
|
|
|
+ //获取所有职位员工
|
|
|
+ var jobUserAll = await QueryUserList(new UserDto { PortType = 2, JobPostId = dto.Jpid });
|
|
|
+ List<UserInfoWebView> users = null;
|
|
|
+ var QueryUserListApiResult = (((jobUserAll as OkObjectResult).Value) as OASystem.Domain.ViewModels.JsonView);
|
|
|
+ if (QueryUserListApiResult != null)
|
|
|
+ {
|
|
|
+ if (QueryUserListApiResult.Code == 200)
|
|
|
+ {
|
|
|
+ users = QueryUserListApiResult.Data as List<UserInfoWebView>;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (users != null && users.Count > 0)
|
|
|
+ {
|
|
|
+ List<Sys_UserAuthority> userAuth = null;
|
|
|
+ foreach (var user in users)
|
|
|
+ {
|
|
|
+ //删除个人级岗位权限
|
|
|
+ isdel = await _UserAuthorityRepository.DeleteAsync<Sys_UserAuthority>(x => x.IsTemp == 1 &&
|
|
|
+ x.UId == user.UserId);
|
|
|
+
|
|
|
+ userAuth = adds.Select(x=> new Sys_UserAuthority
|
|
|
+ {
|
|
|
+ CreateTime = DateTime.Now,
|
|
|
+ CreateUserId = 235,
|
|
|
+ FId = x.FId,
|
|
|
+ SmId = x.SmId,
|
|
|
+ UId = user.UserId,
|
|
|
+ IsTemp = 1,
|
|
|
+ }).ToList();
|
|
|
+
|
|
|
+ //添加个人级别岗位
|
|
|
+ int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
catch (Exception ex)
|
|
|
{
|
|
@@ -837,6 +878,125 @@ namespace OASystem.API.Controllers
|
|
|
return Ok(JsonView(200, "成功", new { }));
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 获取员工权限
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public IActionResult QueryUserAuth(QueryUserAuthDto dto)
|
|
|
+ {
|
|
|
+ //选中的员工操作权限
|
|
|
+ var DBdata = _UserAuthorityRepository.QueryDto<Sys_UserAuthority, UserAuthorityView>(x => x.UId == dto.Userid).ToList();
|
|
|
+ var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId).ToList();
|
|
|
+ if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
|
|
|
+ {
|
|
|
+ return Ok(JsonView("暂无数据"));
|
|
|
+ }
|
|
|
+
|
|
|
+ //所有操作
|
|
|
+ var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
|
|
|
+
|
|
|
+ //获取所有关联页面
|
|
|
+ var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
|
|
|
+
|
|
|
+ ArrayList viewData = new ArrayList();
|
|
|
+ //组合页面数据
|
|
|
+ foreach (var item in SystemMenuPermissionData)
|
|
|
+ {
|
|
|
+ ArrayList ids = new ArrayList();
|
|
|
+ foreach (var viewop in PageOperation)
|
|
|
+ {
|
|
|
+ var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
|
|
|
+ if (op != null)
|
|
|
+ {
|
|
|
+ ids.Add(viewop.Id);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取本员工拥有的权限
|
|
|
+ var DBwhere = DBdata.Where(x => x.SmId == item.Id && x.UId == dto.Userid).ToList();
|
|
|
+
|
|
|
+ viewData.Add(new
|
|
|
+ {
|
|
|
+ Id = item.Id,
|
|
|
+ Mid = item.Mid,
|
|
|
+ Name = item.Name,
|
|
|
+ SystemMenuCode = item.SystemMenuCode,
|
|
|
+ opList = ids,
|
|
|
+ selList = DBwhere.Select(x => x.FId)
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ return Ok(JsonView(200, "成功!", viewData));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 保存员工权限
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="dto"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
+ public async Task<IActionResult> SaveUserAuth(SaveUserDto dto)
|
|
|
+ {
|
|
|
+ //获取所有关联页面
|
|
|
+ var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
|
|
|
+
|
|
|
+ List<Sys_UserAuthority> adds = new List<Sys_UserAuthority>();
|
|
|
+ foreach (var item in dto.Savejobs)
|
|
|
+ {
|
|
|
+ foreach (var fid in item.FIds)
|
|
|
+ {
|
|
|
+ var whereobj = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.FId == fid && x.SmId == item.SmId);
|
|
|
+ if (whereobj != null)
|
|
|
+ {
|
|
|
+ adds.Add(new Sys_UserAuthority
|
|
|
+ {
|
|
|
+ CreateTime = DateTime.Now,
|
|
|
+ CreateUserId = 235,
|
|
|
+ FId = fid,
|
|
|
+ UId = dto.uid,
|
|
|
+ SmId = item.SmId,
|
|
|
+ IsTemp = 0
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ _JobPostAuthorityRepository.BeginTran();
|
|
|
+ try
|
|
|
+ {
|
|
|
+ List<Sys_UserAuthority> userAuth = null;
|
|
|
+ //删除个人级岗位权限
|
|
|
+ bool isdel = await _UserAuthorityRepository.DeleteAsync<Sys_UserAuthority>(x => x.IsTemp == 0 &&
|
|
|
+ x.UId == dto.uid);
|
|
|
+
|
|
|
+ userAuth = adds.Select(x => new Sys_UserAuthority
|
|
|
+ {
|
|
|
+ CreateTime = DateTime.Now,
|
|
|
+ CreateUserId = 235,
|
|
|
+ FId = x.FId,
|
|
|
+ SmId = x.SmId,
|
|
|
+ UId = dto.uid,
|
|
|
+ IsTemp = 0,
|
|
|
+ }).ToList();
|
|
|
+
|
|
|
+ //添加个人级别岗位
|
|
|
+ int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
|
|
|
+ }
|
|
|
+ catch (Exception ex)
|
|
|
+ {
|
|
|
+ _JobPostAuthorityRepository.RollbackTran();
|
|
|
+ return Ok(JsonView("系统错误!"));
|
|
|
+ }
|
|
|
+
|
|
|
+ _JobPostAuthorityRepository.CommitTran();
|
|
|
+ return Ok(JsonView(200, "成功", new { }));
|
|
|
+ }
|
|
|
#endregion
|
|
|
}
|
|
|
}
|