leiy 2 년 전
부모
커밋
23b2bcca47
27개의 변경된 파일1442개의 추가작업 그리고 214개의 파일을 삭제
  1. 6 2
      OASystem/EntitySync/Program.cs
  2. 20 32
      OASystem/OASystem.Api/Controllers/AuthController.cs
  3. 346 59
      OASystem/OASystem.Api/Controllers/SystemController.cs
  4. 15 0
      OASystem/OASystem.Api/Program.cs
  5. 5 0
      OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs
  6. 20 0
      OASystem/OASystem.Domain/Dtos/System/AuthDto.cs
  7. 87 0
      OASystem/OASystem.Domain/Dtos/System/JobPostDto.cs
  8. 175 0
      OASystem/OASystem.Domain/Dtos/System/UserDto.cs
  9. 163 0
      OASystem/OASystem.Domain/Entities/Groups/Grp_ScheduleInfo.cs
  10. 2 2
      OASystem/OASystem.Domain/Entities/System/Sys_Users.cs
  11. 99 0
      OASystem/OASystem.Domain/Enums/GrpScheduleEnum.cs
  12. 0 26
      OASystem/OASystem.Domain/Enums/RedisEnum.cs
  13. 0 13
      OASystem/OASystem.Domain/Enums/RedisFolderEnum.cs
  14. 9 6
      OASystem/OASystem.Domain/ViewModels/CompanyView.cs
  15. 12 1
      OASystem/OASystem.Domain/ViewModels/System/DepartmentView.cs
  16. 31 0
      OASystem/OASystem.Domain/ViewModels/System/JobPostView.cs
  17. 22 0
      OASystem/OASystem.Domain/ViewModels/System/SetDataView.cs
  18. 27 0
      OASystem/OASystem.Domain/ViewModels/System/SystemMenuPermissionView.cs
  19. 51 48
      OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs
  20. 4 0
      OASystem/OASystem.Infrastructure/Repositories/BaseRepository.cs
  21. 36 7
      OASystem/OASystem.Infrastructure/Repositories/System/CompanyRepository.cs
  22. 4 7
      OASystem/OASystem.Infrastructure/Repositories/System/DepartmentRepository.cs
  23. 17 0
      OASystem/OASystem.Infrastructure/Repositories/System/JobPostRepository.cs
  24. 47 0
      OASystem/OASystem.Infrastructure/Repositories/System/SetDataRepository.cs
  25. 72 0
      OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs
  26. 18 11
      OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs
  27. 154 0
      OASystem/_Doc/OA2023数据字典.docx

+ 6 - 2
OASystem/EntitySync/Program.cs

@@ -71,7 +71,11 @@ db.CodeFirst.SetStringDefaultLength(50).BackupTable().InitTables(new Type[]
     //typeof(Res_CarInfo),
     //typeof(Res_GuidesInfo)
     
-    typeof(Res_CarData),
-    typeof(Res_LocalGuideData)
+    //typeof(Res_CarData),
+    //typeof(Res_LocalGuideData)
+
+    typeof(Grp_ScheduleInfo),
+    typeof(Grp_ScheduleDetailInfo),
+    typeof(Grp_SchedulePersonInfo)
 });
 Console.WriteLine("数据库结构同步完成!");

+ 20 - 32
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -6,8 +6,7 @@ using System.Security.Claims;
 using StackExchange.Redis;
 using OASystem.Domain.Dtos.UserDto;
 using OASystem.RedisRepository;
-using OASystem.RedisRepository.RedisAsyncHelper;
-using Google.Protobuf.WellKnownTypes;
+using OASystem.Infrastructure.Repositories.System;
 
 namespace OASystem.API.Controllers
 {
@@ -20,13 +19,17 @@ namespace OASystem.API.Controllers
         private readonly IMapper _mapper;
         private readonly IConfiguration _config;
         private readonly LoginRepository _loginRep;
-        //private IDatabase _redis;
+        private readonly UsersRepository _usersRepository;
+      
+        //private IDatabase _redis; 
         //private RedisHelper _redisHelper;
         public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper)
         {
             _config = config;
             _loginRep = loginRep;
             _mapper = mapper;
+           
+            //_usersRepository = usersRepository;
         }
 
         /// <summary>
@@ -43,37 +46,20 @@ namespace OASystem.API.Controllers
             var userData = _loginRep.Login(dto);
             if (userData.Result.Code != 0)
             {
-                return Ok(JsonView(false, userData.Result.Msg));
-            }
-
-            #endregion
-            string userToken = dto.Number + "Token";
-            string userTokenString = await RedisRepository.RedisFactory.CreateRedisRepository().StringGetAsync<string>(userToken);//string 取
-
-            if (userTokenString != null)
-            {
-                var lifeTime = new JwtSecurityTokenHandler().ReadToken(userTokenString).ValidTo;
-
+                if (userData.Result.Code != 0) { return Ok(JsonView(false, userData.Result.Msg)); }
 
-                var redisView = new LoginView
-                {
-                    //Expires = createTokenDt.AddMinutes(30),
-                    UserInfo = userData.Result.Data,
-                    Token = userTokenString
-                };
-                return Ok(JsonView(redisView));
+                return Ok(JsonView(false, "暂无该员工信息!"));
             }
-            
-
-
 
-            DateTime createTokenDt = DateTime.Now;
+            #endregion
             var view = new LoginView
             {
-                Expires = createTokenDt.AddMinutes(30),
+                Expires = DateTime.Now.AddMinutes(30),
                 UserInfo = userData.Result.Data
             };
 
+            string authorId = dto.Number + "Token";
+
             var claims = new[] { new Claim(ClaimTypes.NameIdentifier, "Future") };
             var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_config["JwtSecurityKey"]));
             var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
@@ -85,13 +71,10 @@ namespace OASystem.API.Controllers
                 signingCredentials: creds);
             view.Token = new JwtSecurityTokenHandler().WriteToken(token);
 
-            
-            TimeSpan ExpiresTimeSpan = view.Expires - createTokenDt;
-
             //Redis  String使用示例
-            TimeSpan ts = new TimeSpan(0, 30, 0);
-            await RedisRepository.RedisFactory.CreateRedisRepository().StringSetAsync<string>(userToken, view.Token, ExpiresTimeSpan);//string 存
-            
+            //TimeSpan ts = new TimeSpan(0, 30, 0);
+            //await RedisRepository.RedisFactory.CreateRedisRepository().StringSetAsync<string>("key01", "value01", ts);//string 存
+            //string redisString = await RedisRepository.RedisFactory.CreateRedisRepository().StringGetAsync<string>("key01");//string 取
 
             return Ok(JsonView(view));
         }
@@ -167,5 +150,10 @@ namespace OASystem.API.Controllers
 
             return Ok(JsonView(view));
         }
+
+       
+
+
+
     }
 }

+ 346 - 59
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -1,13 +1,16 @@
 
 
-
+using Google.Protobuf.WellKnownTypes;
+using OASystem.Domain.Dtos.UserDto;
+using OASystem.Infrastructure.Repositories.System;
+using System.ComponentModel.Design;
 
 namespace OASystem.API.Controllers
 {
     /// <summary>
     /// 系统设置
     /// </summary>
-    
+    //[Authorize]
     [Route("api/[controller]/[action]")]
     public class SystemController : ControllerBase
     {
@@ -17,44 +20,25 @@ namespace OASystem.API.Controllers
         private readonly UsersRepository _userRep;
         private readonly IMapper _mapper;
 
+        private readonly SetDataRepository _setDataRepository;
+        private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
+        private readonly CompanyRepository _CompanyRepository;
+        private readonly JobPostRepository _jobRep;
+
         public SystemController( CompanyRepository syscom,DepartmentRepository sysDepRep, UsersRepository userRep,
-            IMapper mapper)
+            IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
+            SystemMenuPermissionRepository systemMenuPermissionRepository, JobPostRepository jobRep)
         {
             _syscomRep = syscom;
             _sysDepRep = sysDepRep;
             _userRep = userRep;
             _mapper = mapper;
+            _setDataRepository = setDataRepository;
+            _CompanyRepository = companyRepository;
+            _SystemMenuPermissionRepository = systemMenuPermissionRepository;
+            _jobRep = jobRep;
         }
 
-        #region user 操作
-        /// <summary>
-        /// 查询所有员工(web)
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> GetUserList(DtoBase dto)
-        {
-            try
-            {
-                var result = _userRep.GetUserList(dto.PortType,string.Empty);
-                if (result.Result.Code != 0)
-                {
-                    return Ok(JsonView(false, "暂无数据!"));
-
-                }
-                return Ok(JsonView(true,"查询成功!",result.Result.Data));
-            }
-            catch (Exception)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
-        }
-
-        #endregion
-
         #region 企业操作
         /// <summary>
         /// 查询企业数据
@@ -69,16 +53,23 @@ namespace OASystem.API.Controllers
             {
                 if (dto.PortType == 1)
                 {
-                    return Ok(JsonView(false, "暂无数据!"));
+                    var CompanyDataResult = _CompanyRepository.GetCompanyData();
+                    if (CompanyDataResult.Code != 0)
+                    {
+                        return Ok(JsonView(CompanyDataResult.Msg));
+                    }
+
+                    return Ok(JsonView(true, "查询成功!", CompanyDataResult.Data));
                 }
                 else if (dto.PortType == 2)
                 {
-                    var companyList = _sysDepRep.QueryDto<Sys_Company, CompanyView>(a=>a.IsDel!=null).ToList();
-                    if (companyList.Count == 0)
+                    var CompanyDataResult = _CompanyRepository.GetCompanyData();
+                    if (CompanyDataResult.Code != 0)
                     {
-                        return Ok(JsonView(false, "暂无数据!"));
+                        return Ok(JsonView(CompanyDataResult.Msg));
                     }
-                    return Ok(JsonView(true,"查询成功!",companyList));
+                    
+                    return Ok(JsonView(true,"查询成功!", CompanyDataResult.Data));
                 }
                 else if (dto.PortType == 3)
                 {
@@ -199,8 +190,8 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "程序错误!"));
                 throw;
             }
-
-
+           
+            
 
         }
         #endregion
@@ -210,27 +201,27 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// 查询部门数据
         /// </summary>
-        /// <param name = "dto" ></param>
+        /// <param name="dto"></param>
         /// <returns></returns>
-        [Authorize]
+        
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
         {
             try
             {
-                if (dto.PortType == 1)
+                if (dto.PortType==1)
                 {
                     return Ok(JsonView(false, "暂无数据!"));
                 }
-                else if (dto.PortType == 2)
+                else if (dto.PortType==2)
                 {
                     var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
                     if (result.Count == 0)
                     {
                         return Ok(JsonView(false, "暂无数据!"));
                     }
-                    return Ok(JsonView(true, "查询成功!", result));
+                    return Ok(JsonView(true,"查询成功!",result));
                 }
                 else if (dto.PortType == 3)
                 {
@@ -246,12 +237,12 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "程序错误!"));
                 throw;
             }
-
+         
         }
         /// <summary>
         /// 部门添加
         /// </summary>
-        /// <param name = "dto" ></param>
+        /// <param name="dto"></param>
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
@@ -279,22 +270,22 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, "程序错误!"));
                 throw;
             }
-
-
+            
+           
         }
 
         /// <summary>
         /// 部门修改
         /// </summary>
-        /// <param name = "dto" ></param>
-        /// <returns ></returns>
+        /// <param name="dto"></param>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> EditDepartment(EditDepartmentDto dto)
         {
             try
             {
-                if (dto.Id == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
+                if (dto.Id==0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
                 {
                     return Ok(JsonView(false, "请检查信息是否输入完整!"));
                 }
@@ -302,12 +293,12 @@ namespace OASystem.API.Controllers
                 {
                     bool res = await _sysDepRep.UpdateAsync<Sys_Department>(a => a.Id == dto.Id, a => new Sys_Department
                     {
-                        CompanyId = dto.CompanyId,
-                        DepCode = dto.DepCode,
-                        DepName = dto.DepName,
-                        ParentDepId = dto.ParentDepId,
-                        Remark = dto.Remark,
-                    });
+                        CompanyId=dto.CompanyId,
+                        DepCode=dto.DepCode,
+                        DepName=dto.DepName,
+                        ParentDepId=dto.ParentDepId,
+                        Remark=dto.Remark,
+                     });
                     if (!res)
                     {
                         return Ok(JsonView(false, "修改失败!"));
@@ -327,7 +318,7 @@ namespace OASystem.API.Controllers
         /// <summary>
         /// 部门删除
         /// </summary>
-        /// <param name = "dto" ></param>
+        /// <param name="dto"></param>
         /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
@@ -341,7 +332,7 @@ namespace OASystem.API.Controllers
                 }
                 else
                 {
-                    bool res = await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
+                    bool res =await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
                     if (!res)
                     {
                         return Ok(JsonView(false, "删除失败!"));
@@ -359,7 +350,154 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
+        #region 岗位板块
+        /// <summary>
+        /// 岗位查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryJobPost(QueryJobPostDto dto)
+        {
+            try
+            {
+                if (dto.PortType == 1)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                else if (dto.PortType == 2)
+                {
+                    var result = _jobRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId==dto.DepId).ToList();
+                    if (result.Count == 0)
+                    {
+                        return Ok(JsonView(false, "暂无数据!"));
+                    }
+                    return Ok(JsonView(true, "查询成功!", result));
+                }
+                else if (dto.PortType == 3)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                else
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        /// <summary>
+        /// 添加岗位
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> AddJobPost(AddJobPostDto dto)
+        {
+            try
+            {
+                Sys_JobPost sys_Job = _mapper.Map<Sys_JobPost>(dto);
+                int id = await _jobRep.AddAsyncReturnId(sys_Job);
+                if (id == 0)
+                {
+                    return Ok(JsonView(false, "添加失败"));
+                }
+                return Ok(JsonView(true, "添加成功", new { Id = id }));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        /// <summary>
+        /// 修改岗位
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> EditJobPost(EditJobPostDto dto)
+        {
+            try
+            {
+                bool res = await _jobRep.UpdateAsync<Sys_JobPost>(a=>a.Id==dto.Id,a =>new Sys_JobPost
+                {
+                    CompanyId=dto.CompanyId,
+                    DepId=dto.DepId,
+                    JobName=dto.JobName,
+                    Remark=dto.Remark,
+                });
+                if (!res)
+                {
+                    return Ok(JsonView(false, "修改失败"));
+                }
+                return Ok(JsonView(true, "修改成功"));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        /// <summary>
+        /// 删除岗位
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
+        {
+            try
+            {
+                bool res = await _jobRep.SoftDeleteAsync<Sys_JobPost>(dto.Id.ToString());
+                if (!res)
+                {
+                    return Ok(JsonView(false, "删除失败!"));
+                }
+                return Ok(JsonView(true, "删除成功"));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
+
         #region 用户操作
+        /// <summary>
+        /// 查询所有员工(web)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetUserList(DtoBase dto)
+        {
+            try
+            {
+                var result = _userRep.GetUserList(dto.PortType, string.Empty);
+                if (result.Result.Code != 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+
+                }
+                return Ok(JsonView(true, "查询成功!", result.Result.Data));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+
         /// <summary>
         /// 查询用户数据
         /// </summary>
@@ -400,7 +538,156 @@ namespace OASystem.API.Controllers
             }
            
         }
+
+        /// <summary>
+        /// 修改用户信息(上级修改/分配 公司、部门、岗位、工号等信息)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> EditUser(EditUserDto dto)
+        {
+            try
+            {
+                bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
+                {
+                    Number = dto.Number,
+                    CompanyId = dto.CompanyId,
+                    DepId = dto.DepId,
+                    JobPostId = dto.JobPostId,
+                    Ext = dto.Ext,
+                    UsePeriod = dto.UsePeriod,
+                    HrAudit = dto.HrAudit
+                });
+                if (!res) 
+                {
+                    return Ok(JsonView(false, "修改失败!"));
+                }
+                return Ok(JsonView(true, "修改成功!"));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+
+        /// <summary>
+        /// 修改用户信息(登录用户修改个人信息)
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> EditMyUser(EditMyUserDto dto)
+        {
+            try
+            {
+                if (string.IsNullOrWhiteSpace(dto.CnName) || string.IsNullOrWhiteSpace(dto.Address) || string.IsNullOrWhiteSpace(dto.IDCard) || dto.Sex != 0 && dto.Sex != 1 ||
+                    string.IsNullOrWhiteSpace(dto.MaritalStatus) || string.IsNullOrWhiteSpace(dto.HomeAddress)|| dto.Birthday>=DateTime.Now.AddYears(-1))
+                {
+                    return Ok(JsonView(false, "请完善你的个人信息!"));
+                }
+                else if (string.IsNullOrWhiteSpace(dto.GraduateInstitutions) || string.IsNullOrWhiteSpace(dto.Professional) || dto.Education == 0 || string.IsNullOrWhiteSpace(dto.GraduateInstitutions))
+                {
+                    return Ok(JsonView(false, "请完善你的学历信息!"));
+                }
+                else if (string.IsNullOrWhiteSpace(dto.Phone) || string.IsNullOrWhiteSpace(dto.UrgentPhone) || string.IsNullOrWhiteSpace(dto.Email))
+                {
+                    return Ok(JsonView(false, "请检查联系方式、紧急联系人及邮箱输写是否正确!"));
+                }
+                else
+                {
+                    bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
+                    {
+                        CnName = dto.CnName,
+                        EnName = dto.EnName,
+                        Sex = dto.Sex,
+                        Phone = dto.Phone,
+                        UrgentPhone = dto.UrgentPhone,
+                        Email = dto.Email,
+                        Address = dto.Address,
+                        Edate = dto.Edate,
+                        Birthday = dto.Birthday,
+                        IDCard = dto.IDCard,
+                        GraduateInstitutions = dto.GraduateInstitutions,
+                        Professional = dto.Professional,
+                        Education = dto.Education,
+                        TheOrAdultEducation = dto.TheOrAdultEducation,
+                        MaritalStatus = dto.MaritalStatus,
+                        HomeAddress = dto.HomeAddress,
+                        WorkExperience = dto.WorkExperience,
+                        Certificate = dto.Certificate
+                    });
+                    if (!res)
+                    {
+                        return Ok(JsonView(false, "修改失败!"));
+                    }
+                    return Ok(JsonView(true, "修改成功!"));
+                }
+                
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
         #endregion
 
+        #region 权限模块
+        /// <summary>
+        /// 权限数据页面初始化
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        //[Authorize]
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> GetAuth(AuthDto dto)
+        {
+            Result result = new Result();
+            //模块数据
+            var setDataResult = await _setDataRepository.GetSySDefultModule(_setDataRepository);
+            if (setDataResult.Code != 0)
+            {
+                return Ok(JsonView(setDataResult.Msg));
+            }
+
+            List<SetDataView> setDataList = _mapper.Map<List<SetDataView>>(setDataResult.Data);
+            var mod = setDataList.Find(x => x.Name == "权限模块");
+            if (mod == null)
+            {
+                return Ok(JsonView("未找到权限模块!"));
+            }
+
+            //页面数据
+            var SystemMenuPermissionData = _SystemMenuPermissionRepository.GetSystemMenuViweData(_SystemMenuPermissionRepository, mod.Id, dto.pageSize, dto.currentPage);
+            if (SystemMenuPermissionData.Code != 0)
+            {
+                return Ok(JsonView(SystemMenuPermissionData.Msg));
+            }
+
+            //公司数据
+            var CompanyDataResult = _CompanyRepository.GetCompanyData();
+            if (CompanyDataResult.Code != 0)
+            {
+                return Ok(JsonView(CompanyDataResult.Msg));
+            }
+
+            result.Code = 0;
+            result.Msg = "成功!";
+            var Dyresult = new
+            {
+                setDataResult = setDataResult.Data,
+                CompanyDataResult = CompanyDataResult.Data,
+                SystemMenuPermissionData = SystemMenuPermissionData.Data
+            };
+
+            return Ok(JsonView(200, "成功!", Dyresult));
+        }
+
+        #endregion
     }
 }

+ 15 - 0
OASystem/OASystem.Api/Program.cs

@@ -191,8 +191,23 @@ builder.Services.AddScoped<IMapper, Mapper>();
 
 #endregion
 
+#region ¿çÓòÅäÖÃ
+builder.Services.AddCors(c =>
+{
+    c.AddPolicy("AllowAllOrigins", policy =>
+    {
+        policy.AllowAnyOrigin()
+        .AllowAnyMethod()
+        .AllowAnyHeader();
+    });
+});
+#endregion
+
+
 var app = builder.Build();
 
+app.UseCors("AllowAllOrigins");
+
 // Configure the HTTP request pipeline.
 if (!app.Environment.IsDevelopment())
 {

+ 5 - 0
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -28,6 +28,11 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<EditDepartmentDto, Sys_Department>();
             #endregion
 
+            #region 岗位板块
+            CreateMap<Sys_JobPost, JobPostView>();
+            CreateMap<AddJobPostDto,Sys_JobPost>();
+            #endregion
+
             #region 用户板块
             CreateMap<UserDto, Sys_Users>();
             CreateMap<Sys_Users, UserInfo>();

+ 20 - 0
OASystem/OASystem.Domain/Dtos/System/AuthDto.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    public class AuthDto
+    {
+        /// <summary>
+        /// 显示的行数
+        /// </summary>
+        public int pageSize { get; set; }
+        /// <summary>
+        /// 当前页
+        /// </summary>
+        public int currentPage { get; set; }
+    }
+}

+ 87 - 0
OASystem/OASystem.Domain/Dtos/System/JobPostDto.cs

@@ -0,0 +1,87 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    /// <summary>
+    /// 查询岗位
+    /// </summary>
+    public class QueryJobPostDto : DtoBase
+    {
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get; set; }
+    }
+    /// <summary>
+    /// 添加岗位dto
+    /// </summary>
+    public class AddJobPostDto
+    {
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get; set; }
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+        /// <summary>
+        /// 创建者Id
+        /// </summary>
+        public int CreateUserId { get; set; }
+       
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+       
+    }
+    /// <summary>
+    /// 修改岗位dto
+    /// </summary>
+    public class EditJobPostDto
+    {
+        /// <summary>
+        /// 岗位Id
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get; set; }
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+        /// <summary>
+        /// 备注
+        /// </summary>
+        public string Remark { get; set; }
+
+    }
+
+    public class DelJobPostDto
+    {
+        /// <summary>
+        /// 职位Id
+        /// </summary>
+        public int Id { get; set; }
+    }
+}

+ 175 - 0
OASystem/OASystem.Domain/Dtos/System/UserDto.cs

@@ -2,6 +2,7 @@
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
+using System.Text.RegularExpressions;
 using System.Threading.Tasks;
 
 namespace OASystem.Domain.Dtos.System
@@ -20,4 +21,178 @@ namespace OASystem.Domain.Dtos.System
         /// </summary>
         public int DepId { get;set; }
     }
+    /// <summary>
+    /// 修改用户信息
+    /// </summary>
+    public class EditUserDto
+    {
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 工号
+        /// </summary>
+        public string Number { get; set; }
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get; set; }
+        /// <summary>
+        /// 岗位Id
+        /// </summary>
+        public int JobPostId { get; set; }
+        /// <summary>
+        /// 分机号
+        /// </summary>
+        public string Ext { get; set; }
+        /// <summary>
+        /// 试用期
+        /// </summary>
+        public string UsePeriod { get; set; }
+        /// <summary>
+        /// 人事审核 0未审核(初始状态) 1 已通过(可用)2已拒绝
+        /// </summary>
+        public int HrAudit { get; set; }
+    }
+
+    /// <summary>
+    /// 修改个人信息
+    /// </summary>
+    public class EditMyUserDto
+    {
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 中文姓名
+        /// </summary>
+        public string CnName { get; set; }
+        /// <summary>
+        /// 英文姓名
+        /// </summary>
+        public string EnName { get; set; }
+
+        /// <summary>
+        /// 性别0 男1 女  2 未设置
+        /// </summary>
+        public int Sex { get; set; }
+
+        private string phone;
+        /// <summary>
+        /// 手机号
+        /// </summary>
+        public string Phone
+        {
+            get
+            {
+                return phone;
+            }
+            set
+            {
+                if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}"))
+                {
+                    phone = value;
+                }
+                else
+                {
+                    phone = "";
+                }
+            }
+        }
+        private string urgentPhone;
+        /// <summary>
+        /// 紧急联系人 手机号
+        /// </summary>
+        public string UrgentPhone
+        {
+            get { return urgentPhone; }
+            set
+            {
+                if (Regex.IsMatch(value, @"^[1]+[2,3,4,5,6,7,8,9]+\d{9}"))
+                {
+                    urgentPhone = value;
+                }
+                else
+                {
+                    urgentPhone = "";
+                }
+            }
+        }
+        private string email;
+        /// <summary>
+        /// 邮箱
+        /// </summary>
+        public string Email
+        {
+            get { return email; }
+            set
+            {
+                if (Regex.IsMatch(value, @"^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(com|cn|net)$"))
+                {
+                    email = value;
+                }
+                else
+                {
+                    email = "";
+                }
+            }
+        }
+        /// <summary>
+        /// 住址
+        /// </summary>
+        public string Address { get; set; }
+        /// <summary>
+        /// 入职时间
+        /// </summary>
+        public DateTime Edate { get; set; }
+        /// <summary>
+        /// 生日
+        /// </summary>
+        public DateTime Birthday { get; set; }
+        /// <summary>
+        /// 身份证号码
+        /// </summary>
+        public string IDCard { get; set; }
+
+        /// <summary>
+        /// 毕业学校
+        /// </summary>
+        public string GraduateInstitutions { get; set; }
+        /// <summary>
+        /// 专业
+        /// </summary>
+        public string Professional { get; set; }
+        /// <summary>
+        /// 学历
+        /// </summary>
+        public int Education { get; set; }
+        /// <summary>
+        /// 学历类型
+        /// </summary>
+        public int TheOrAdultEducation { get; set; }
+        /// <summary>
+        /// 婚姻状态
+        /// </summary>
+        public string MaritalStatus { get; set; }
+        /// <summary>
+        /// 家庭地址
+        /// </summary>
+        public string HomeAddress { get; set; }
+
+        /// <summary>
+        /// 工作经历
+        /// </summary>
+        public string WorkExperience { get; set; }
+        /// <summary>
+        /// 证书上传
+        /// </summary>
+        public string Certificate { get; set; }
+
+    }
 }

+ 163 - 0
OASystem/OASystem.Domain/Entities/Groups/Grp_ScheduleInfo.cs

@@ -0,0 +1,163 @@
+using OASystem.Domain.Enums;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Entities.Groups
+{
+    /// <summary>
+    /// 团组流程管控
+    /// </summary>
+    [SugarTable("Grp_Schedule")]
+    public class Grp_ScheduleInfo : EntityBase
+    {
+        /// <summary>
+        /// 团组Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DiId { get; set; }
+
+        /// <summary>
+        /// 主流程
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public GrpSchedulePrimaryStepEnum PrimaryStep { get; set; }
+
+        /// <summary>
+        /// 子流程
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int DetailStep { get; set; }
+
+        /// <summary>
+        /// 预计开始时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime ExpectBeginDt { get; set; }
+
+        /// <summary>
+        /// 预计结束时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime ExpectEndDt { get; set; }
+
+        /// <summary>
+        /// 实际开始时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime RealBeginDt { get; set; }
+
+        /// <summary>
+        /// 实际结束时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime RealEndDt { get; set; }
+
+        /// <summary>
+        /// 总负责人(SysUser.Id)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Leader { get; set; }
+        /// <summary>
+        /// 异常状态0:正常,1:异常
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Exception { get; set; }
+    }
+
+
+    /// <summary>
+    /// 团组流程管控详细进度
+    /// </summary>
+    [SugarTable("Grp_ScheduleDetail")]
+    public class Grp_ScheduleDetailInfo : EntityBase
+    {
+        /// <summary>
+        /// 团组流程Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ScheduleId { get; set; }
+
+        /// <summary>
+        /// 流程
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Step { get; set; }
+
+        /// <summary>
+        /// 父级流程
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ParentStep { get; set; }
+
+        /// <summary>
+        /// 负责人员(SysUser.Id)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Duty { get; set; }
+
+        /// <summary>
+        /// 预计开始时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime ExpectBeginDt { get; set; }
+
+        /// <summary>
+        /// 预计结束时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime ExpectEndDt { get; set; }
+
+        /// <summary>
+        /// 实际开始时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime RealBeginDt { get; set; }
+
+        /// <summary>
+        /// 实际结束时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "datetime")]
+        public DateTime RealEndDt { get; set; }
+
+        /// <summary>
+        /// 异常状态0:正常,1:异常
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int Exception { get; set; }
+    }
+
+    /// <summary>
+    /// 团组流程管控人员配置
+    /// </summary>
+    [SugarTable("Grp_SchedulePerson")]
+    public class Grp_SchedulePersonInfo : EntityBase
+    {
+        /// <summary>
+        /// 流程Id
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ScheduleId { get; set; }
+
+        /// <summary>
+        /// 人员编号(SysUser.Id)
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int SysUserId { get; set; }
+
+        /// <summary>
+        /// 人员姓名
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string SysUserName { get; set; }
+
+        /// <summary>
+        /// 负责工作
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(50)")]
+        public string JobStr { get; set; }
+
+    }
+}

+ 2 - 2
OASystem/OASystem.Domain/Entities/System/Sys_Users.cs

@@ -90,7 +90,7 @@ namespace OASystem.Domain.Entities.System
         public int Seniority { get; set; }
         /// <summary>
         /// 生日
-        /// </summary>
+        /// </summary> 
         [SugarColumn(IsNullable = true,ColumnDataType = "DateTime")]
         public DateTime Birthday { get; set; }
         /// <summary>
@@ -114,7 +114,7 @@ namespace OASystem.Domain.Entities.System
         [SugarColumn(IsNullable = true,ColumnDataType ="varchar(50)")]
         public string Professional { get; set; }
         /// <summary>
-        /// 专业
+        /// 学历
         /// </summary>
         [SugarColumn(IsNullable = true,ColumnDataType ="int")]
         public int Education { get; set; }

+ 99 - 0
OASystem/OASystem.Domain/Enums/GrpScheduleEnum.cs

@@ -0,0 +1,99 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Enums
+{
+    /// <summary>
+    /// 团组流程
+    /// </summary>
+    public enum GrpSchedulePrimaryStepEnum
+    {
+        /// <summary>
+        /// 确认出团
+        /// </summary>
+        [Description("确认出团")]
+        Confirm = 1,
+
+        /// <summary>
+        /// 经费预算
+        /// </summary>
+        [Description("经费预算")]
+        Budget = 2,
+
+        /// <summary>
+        /// 市场部人员对接反馈
+        /// </summary>
+        [Description("市场部人员对接反馈")]
+        Feedback = 3,
+
+        /// <summary>
+        /// 报批流程
+        /// </summary>
+        [Description("报批流程")]
+        Puote = 4,
+
+        /// <summary>
+        /// 护照签证
+        /// </summary>
+        [Description("护照签证")]
+        Visa = 5,
+
+        /// <summary>
+        /// 业务流程
+        /// </summary>
+        [Description("业务操作")]
+        Business = 6,
+
+        /// <summary>
+        /// 费用审批
+        /// </summary>
+        [Description("费用审批")]
+        CostAudit = 7,
+
+        /// <summary>
+        /// 付款给供应商
+        /// </summary>
+        [Description("付款给供应商")]
+        Pay = 8,
+
+        /// <summary>
+        /// 出行事项会议
+        /// </summary>
+        [Description("出行事项会议")]
+        Training = 9,
+
+        /// <summary>
+        /// 送机
+        /// </summary>
+        [Description("送机")]
+        DropOff = 10,
+
+        /// <summary>
+        /// 接机
+        /// </summary>
+        [Description("接机")]
+        PickUp = 11,
+
+        /// <summary>
+        /// 收款
+        /// </summary>
+        [Description("收款")]
+        Collect = 12,
+
+        /// <summary>
+        /// 团组完成
+        /// </summary>
+        [Description("团组完成")]
+        Finish = 13,
+
+        /// <summary>
+        /// 团组取消
+        /// </summary>
+        [Description("团组取消")]
+        Cancel = 14,
+    }
+}

+ 0 - 26
OASystem/OASystem.Domain/Enums/RedisEnum.cs

@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OASystem.Domain.Enums
-{
-    /// <summary>
-    /// redis DBEnum
-    /// </summary>
-    public enum RedisEnum : int
-    {
-        /// <summary>
-        /// 
-        /// </summary>
-        [Description("redis 通用")]
-        Common = 0,
-        /// <summary>
-        /// 
-        /// </summary>
-        [Description("消息推送")]
-        Message = 1,  
-    }
-}

+ 0 - 13
OASystem/OASystem.Domain/Enums/RedisFolderEnum.cs

@@ -1,13 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OASystem.Domain.Enums
-{
-    public enum RedisFolderEnum : int
-    {
-        Root = 0,
-    }
-}

+ 9 - 6
OASystem/OASystem.Domain/ViewModels/CompanyView.cs

@@ -1,9 +1,4 @@
 using OASystem.Domain.Entities.System;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace OASystem.Domain.ViewModels
 {
@@ -13,12 +8,20 @@ namespace OASystem.Domain.ViewModels
     public class CompanyView
     {
         /// <summary>
-        /// 公司Id
+        /// 公司id
         /// </summary>
         public int Id { get; set; }
         /// <summary>
+        /// 公司Code
+        /// </summary>
+        public string CompanyCode { get; set; }
+        /// <summary>
         /// 公司名称
         /// </summary>
         public string CompanyName { get; set; }
+        /// <summary>
+        /// 父级公司Id
+        /// </summary>
+        public int ParentCompanyId { get; set; }
     }
 }

+ 12 - 1
OASystem/OASystem.Domain/ViewModels/System/DepartmentView.cs

@@ -10,12 +10,23 @@ namespace OASystem.Domain.ViewModels.System
     public class DepartmentIView
     {
         /// <summary>
-        /// 用户Id
+        /// id
         /// </summary>
         public int Id { get; set; }
+
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+
         /// <summary>
         /// 部门名称
         /// </summary>
         public string DepName { get; set; }
+
+        /// <summary>
+        /// 父级部门Id
+        /// </summary>
+        public int ParentDepId { get; set; }
     }
 }

+ 31 - 0
OASystem/OASystem.Domain/ViewModels/System/JobPostView.cs

@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.System
+{
+    /// <summary>
+    /// 下拉框/单名类视图类
+    /// </summary>
+    public class JobPostView
+    {
+        /// <summary>
+        /// 岗位Id
+        /// </summary>
+        public int Id{ get; set; }
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get; set; }
+    }
+}

+ 22 - 0
OASystem/OASystem.Domain/ViewModels/System/SetDataView.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.System
+{
+    public class SetDataView
+    {
+        public int Id { get; set; }
+        /// <summary>
+        /// 分类名称
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// setdatatype id
+        /// </summary>
+        public int STid { get; set; }
+
+    }
+}

+ 27 - 0
OASystem/OASystem.Domain/ViewModels/System/SystemMenuPermissionView.cs

@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.System
+{
+    public class SystemMenuPermissionView
+    {
+        public int Id { get; set; }
+        /// <summary>
+        /// 页面名称
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 页面code
+        /// </summary>
+        public string SystemMenuCode { get; set; }
+        
+        /// <summary>
+        /// 页面所属模块
+        /// </summary>
+        public int Mid { get; set; }
+
+    }
+}

+ 51 - 48
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -86,6 +86,11 @@ namespace OASystem.Domain.ViewModels.System
     /// </summary>
     public class UserLoginInfoView
     {
+        ///// <summary>
+        ///// 工号
+        ///// </summary>
+        ////public string Number { get; set; }
+
         /// <summary>
         /// 用户Id
         /// </summary>
@@ -114,55 +119,53 @@ namespace OASystem.Domain.ViewModels.System
         /// <summary>
         /// 邮箱
         /// </summary>
-        public string Email { get; set; }
-    }
-
-
-    /// <summary>
-    /// 用户信息 - 个人基本信息
-    /// </summary>
-    public class UserBasicInfoView 
-    {
-        /// <summary>
-        /// 用户Id
-        /// </summary>
-        public int Id { get; set; }
-
-        /// <summary>
-        /// 中文姓名
-        /// </summary>
-        public string CnName { get; set; }
-
-        /// <summary>
-        /// 性别
-        /// 0 男1 女  2 未设置
-        /// </summary>
-
-        public int Sex { get; set; }
-
-        /// <summary>
-        /// 工号
-        /// </summary>
-        public string Number { get; set; }
-
-        /// <summary>
-        /// 公司名称
-        /// </summary>
-        public string CompanyName { get; set; }
-
-        /// <summary>
-        /// 部门名称
-        /// </summary>
-        public string DepName { get; set; }
-
-        /// <summary>
-        /// 岗位名称
-        /// </summary>
-        public string JobName { get; set; }
+        public int DepId { get; set; }
 
         /// <summary>
-        /// 邮箱
-        /// </summary>
-        public string Email { get; set; }
+        /// 用户信息 - 个人基本信息
+        /// </summary>
+        public class UserBasicInfoView
+        {
+            /// <summary>
+            /// 用户Id
+            /// </summary>
+            public string Id { get; set; }
+
+            /// <summary>
+            /// 岗位Id
+            /// </summary>
+            public int JobPostId { get; set; }
+            /// <summary>
+            /// 性别
+            /// 0 男1 女  2 未设置
+            /// </summary>
+
+            public int Sex { get; set; }
+
+            /// <summary>
+            /// 工号
+            /// </summary>
+            public string Number { get; set; }
+
+            /// <summary>
+            /// 公司名称
+            /// </summary>
+            public string CompanyName { get; set; }
+
+            /// <summary>
+            /// 部门名称
+            /// </summary>
+            public string DepName { get; set; }
+
+            /// <summary>
+            /// 岗位名称
+            /// </summary>
+            public string JobName { get; set; }
+
+            /// <summary>
+            /// 邮箱
+            /// </summary>
+            public string Email { get; set; }
+        }
     }
 }

+ 4 - 0
OASystem/OASystem.Infrastructure/Repositories/BaseRepository.cs

@@ -187,6 +187,10 @@ namespace OASystem.Infrastructure.Repositories
         {
             return _sqlSugar.Insertable(entity).ExecuteCommandAsync();
         }
+        public virtual int AddsAsync<T>(List<T> entity) where T : EntityBase, new()
+        {
+            return _sqlSugar.Insertable<T>(entity).ExecuteCommand();
+        }
         public virtual ISugarQueryable<T> Query<T>(Expression<Func<T, bool>> exp) where T : EntityBase, new()
         {
             return _sqlSugar.Queryable<T>().Where(s => s.IsDel < 1).Where(exp);

+ 36 - 7
OASystem/OASystem.Infrastructure/Repositories/System/CompanyRepository.cs

@@ -1,10 +1,5 @@
-using OASystem.Domain.Entities.System;
-using OASystem.Domain.ViewModels.System;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
+using OASystem.Domain;
+using OASystem.Domain.Entities.System;
 
 namespace OASystem.Infrastructure.Repositories.System
 {
@@ -14,5 +9,39 @@ namespace OASystem.Infrastructure.Repositories.System
         {
 
         }
+
+        /// <summary>
+        /// 获取所有公司数据
+        /// </summary>
+        /// <param name="_CompanyRepository"></param>
+        /// <returns></returns>
+        public Result GetCompanyData()
+        {
+            Result result = new Result();
+
+            string sql = "select * from Sys_Company where isdel = 0";
+            var DBdata =  GetListBySqlWithNolock(sql);
+            if (DBdata == null || DBdata.Count == 0)
+            {
+                result.Code = -1;
+                result.Msg = "暂无数据!";
+                return result;
+            }
+
+            result.Code = 0;
+            result.Msg = "成功!";
+            result.Data = DBdata.Select(x=> new CompanyView
+            {
+                CompanyCode = x.CompanyCode,
+                CompanyName = x.CompanyName,
+                Id = x.Id,
+                ParentCompanyId = x.ParentCompanyId
+            });
+            return result;
+        }
+
+
+
+
     }
 }

+ 4 - 7
OASystem/OASystem.Infrastructure/Repositories/System/DepartmentRepository.cs

@@ -1,18 +1,15 @@
-using OASystem.Domain.Dtos;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.System;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels.System;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
 
 namespace OASystem.Infrastructure.Repositories.System
 {
-    public class DepartmentRepository : BaseRepository<Sys_Department, DepartmentIView>
+    public class DepartmentRepository : BaseRepository<Sys_Department, DepartmentDto>
     {
         public DepartmentRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
         {
         }
+        
     }
 }

+ 17 - 0
OASystem/OASystem.Infrastructure/Repositories/System/JobPostRepository.cs

@@ -0,0 +1,17 @@
+using OASystem.Domain.Dtos.System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.System
+{
+    public class JobPostRepository : BaseRepository<Sys_JobPost, QueryJobPostDto>
+    {
+        public JobPostRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        {
+
+        }
+    }
+}

+ 47 - 0
OASystem/OASystem.Infrastructure/Repositories/System/SetDataRepository.cs

@@ -0,0 +1,47 @@
+
+using OASystem.Domain;
+using OASystem.Domain.Dtos.UserDto;
+using OASystem.Domain.Entities.System;
+using OASystem.Domain.ViewModels.System;
+
+namespace OASystem.Infrastructure.Repositories.System
+{
+    public class SetDataRepository : BaseRepository<Sys_SetData, SetDataView>
+    {
+        public SetDataRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        {
+
+        }
+
+        /// <summary>
+        /// 获取所有系统模块
+        /// </summary>
+        /// <param name="_SetData"></param>
+        /// <returns></returns>
+        public async Task<Result> GetSySDefultModule(SetDataRepository _SetData)
+        {
+            Result result = new Result();
+            string sql = "select * from Sys_SetData where STid = 5 and isdel = 0";
+            var DBdata = await _SetData.GetListBySqlWithNolockAsync(sql);
+
+            if (DBdata == null || DBdata.Count == 0)
+            {
+                return result;
+            }
+
+            result.Data = DBdata.Select(x=> new SetDataView
+            {
+                 Name = x.Name,
+                 STid = x.STid,
+                 Id = x.Id,
+            });
+
+            result.Code = 0;
+            result.Msg = "成功!";
+
+            return result;
+        }
+
+
+    }
+}

+ 72 - 0
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -0,0 +1,72 @@
+using OASystem.Domain;
+using OASystem.Domain.Entities.System;
+using OASystem.Domain.ViewModels.System;
+
+namespace OASystem.Infrastructure.Repositories.System
+{
+    public class SystemMenuPermissionRepository : BaseRepository<Sys_SystemMenuPermission, SystemMenuPermissionView>
+    {
+        public SystemMenuPermissionRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        {
+
+        }
+
+        /// <summary>
+        /// 分页查询页面表
+        /// </summary>
+        /// <param name="_SystemMenuPermissionRepository"></param>
+        /// <param name="mid">模块id</param>
+        /// <param name="pageSize">行数</param>
+        /// <param name="currentPage">页码</param>
+        /// <returns></returns>
+        public Result GetSystemMenuViweData(SystemMenuPermissionRepository _SystemMenuPermissionRepository,int mid,int pageSize,int currentPage)
+        {
+            Result result = new Result();
+            if (currentPage == 0 || pageSize == 0)
+            {
+                return result;
+            }
+
+            string sql = $@"select top {pageSize} * from (select row_number() 
+                        over(order by id asc) as rownumber,*    
+                        from Sys_SystemMenuPermission where mid = {mid} and isdel = 0 and IsEnable = 1 ) temp_row
+                        where rownumber> {(currentPage - 1) * pageSize};";
+
+            var DBdata = _SystemMenuPermissionRepository.GetListBySqlWithNolock(sql);
+
+            if (DBdata == null || DBdata.Count == 0)
+            {
+                result.Code = -1;
+                result.Msg = "暂无数据!";
+                result.Data = new
+                {
+                    DBdata,
+                    total = 0
+                };
+                return result;
+            }
+
+            var total = _SystemMenuPermissionRepository.Query<Sys_SystemMenuPermission>(x => x.Mid == mid).Count();
+
+            result.Code = 0;
+            result.Msg = "成功!";
+            result.Data = new
+            {
+                DBdata = DBdata.Select(x => new SystemMenuPermissionView
+                {
+                    Id = x.Id,
+                    Name = x.Name,
+                    Mid = mid,
+                    SystemMenuCode = x.SystemMenuCode
+                }),
+                total = total
+            };
+            return result;
+        }
+
+
+
+
+
+    }
+}

+ 18 - 11
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -77,17 +77,24 @@ namespace OASystem.Infrastructure.Repositories.System
             }
             else if (portType == 2) //Android
             {
-                //List<UserView> _userDataList = _mapper.Map<List<UserView>>(_userList);
-                //if (_userDataList.Count != 0)
-                //{
-                //    result.Code = 0;
-                //    result.Msg = "成功!";
-                //    result.Data = _userDataList;
-                //}
-                //else
-                //{
-                //    result.Msg = "暂无数据!";
-                //}
+                string userSqlWhere = string.Format(@"Select su.CompanyId, sc.CompanyName,su.DepId,sd.DepName,su.JobPostId,sjp.JobName,
+                                                        su.Id UserId,su.CnName,su.CnName,su.Number,su.Ext,su.Phone,su.UrgentPhone,su.Email
+                                                      From Sys_Users su 
+                                                      Inner Join Sys_Company sc On su.CompanyId = sc.Id
+                                                      Inner Join Sys_Department sd On su.DepId = sd.Id
+                                                      Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+                var _userList = await _sqlSugar.SqlQueryable<UserInfoWebView>(userSqlWhere).ToListAsync();
+
+                if (_userList.Count != 0)
+                {
+                    result.Code = 0;
+                    result.Msg = "成功!";
+                    result.Data = _userList;
+                }
+                else
+                {
+                    result.Msg = "暂无数据!";
+                }
             }
             else if (portType == 3) //IOS
             {

+ 154 - 0
OASystem/_Doc/OA2023数据字典.docx

@@ -2577,6 +2577,160 @@ Null
 
 超出预算比例
 
+11) 团组流程管控表:Grp_Schedule
+                                   字段名
+                                 类型长度
+                                 字段属性
+                                 字段约束
+                                 字段描述
+                                    备注
+DiId
+Int
+Null
+
+团组Id
+团组表Id
+PrimaryStep
+Int
+Null
+
+主流程标识枚举
+GrpSchedulePrimaryStepEnum
+DetailStep
+Int
+Null
+
+子流程标识
+
+ExpectBeginDt
+DateTime
+Null
+
+预计开始时间
+
+ExpectEndDt
+DateTime
+Null
+
+预计结束时间
+
+RealBeginDt
+Int
+Null
+
+实际开始时间
+
+RealEndDt
+decimal(10, 2)
+Null
+
+实际结束时间
+
+Leader
+varchar(50)
+Null
+
+总负责人
+Sys_Users.Id
+Exception
+Int
+Null
+
+异常标识
+
+12) 团组流程管控详细进度表:Grp_ScheduleDetail
+                                   字段名
+                                 类型长度
+                                 字段属性
+                                 字段约束
+                                 字段描述
+                                    备注
+ScheduleId
+Int
+Null
+
+团组流程表Id
+Grp_Schedule.Id
+Step
+Int
+Null
+
+流程
+
+ParentStep
+Int
+Null
+
+父级流程
+
+Duty
+Int
+Null
+
+负责人
+Sys_Users.Id
+ExpectBeginDt
+DateTime
+Null
+
+预计开始时间
+
+ExpectEndDt
+DateTime
+Null
+
+预计结束时间
+
+RealBeginDt
+Int
+Null
+
+实际开始时间
+
+RealEndDt
+decimal(10, 2)
+Null
+
+实际结束时间
+
+Exception
+Int
+Null
+
+异常标识
+
+
+13) 团组流程管控人员配置表:Grp_SchedulePerson
+                                   字段名
+                                 类型长度
+                                 字段属性
+                                 字段约束
+                                 字段描述
+                                    备注
+ScheduleId
+Int
+Null
+
+团组流程表Id
+Grp_Schedule.Id
+SysUserId
+Int
+Null
+
+负责人编号
+Sys_Users.Id
+SysUserName
+varchar(50)
+Null
+
+负责人姓名
+
+JobStr
+varchar(50)
+Null
+
+负责工作
+
 
 1. 资源板块
 1) 酒店数据表:Res_HotelData(挪用)