| 
					
				 | 
			
			
				@@ -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 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |