|  | @@ -1,5 +1,5 @@
 | 
	
		
			
				|  |  | -using OASystem.Domain.Entities.System;
 | 
	
		
			
				|  |  | -using System.Collections;
 | 
	
		
			
				|  |  | +using System.Collections;
 | 
	
		
			
				|  |  | +using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  namespace OASystem.API.Controllers
 | 
	
		
			
				|  |  |  {
 | 
	
	
		
			
				|  | @@ -23,11 +23,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;
 | 
	
	
		
			
				|  | @@ -40,6 +42,7 @@ namespace OASystem.API.Controllers
 | 
	
		
			
				|  |  |              _PageFunctionPermissionRepository = pageFunctionPermissionRepository;
 | 
	
		
			
				|  |  |              _SystemMenuAndFunctionRepository = systemMenuAndFunctionRepository;
 | 
	
		
			
				|  |  |              _JobPostAuthorityRepository = jobPostAuthorityRepository;
 | 
	
		
			
				|  |  | +            _UserAuthorityRepository = userAuthorityRepository;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          #region 企业操作
 | 
	
	
		
			
				|  | @@ -508,6 +511,7 @@ namespace OASystem.API.Controllers
 | 
	
		
			
				|  |  |          /// </summary>
 | 
	
		
			
				|  |  |          /// <param name="dto"></param>
 | 
	
		
			
				|  |  |          /// <returns></returns>
 | 
	
		
			
				|  |  | +        //[OASystemAuthentication]
 | 
	
		
			
				|  |  |          [HttpPost]
 | 
	
		
			
				|  |  |          [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 | 
	
		
			
				|  |  |          public async Task<IActionResult> GetUserList(DtoBase dto)
 | 
	
	
		
			
				|  | @@ -838,9 +842,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)
 | 
	
		
			
				|  |  |              {
 | 
	
	
		
			
				|  | @@ -852,6 +892,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
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  }
 |