Parcourir la source

新增用户修改个人信息、上级分配工号、部门等两个方法

wangh il y a 2 ans
Parent
commit
9c5a2722c0

+ 100 - 5
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -1,7 +1,8 @@
 
 
+using Google.Protobuf.WellKnownTypes;
+using OASystem.Domain.Dtos.UserDto;
 using OASystem.Infrastructure.Repositories.System;
-
 using System.ComponentModel.Design;
 
 namespace OASystem.API.Controllers
@@ -444,7 +445,13 @@ namespace OASystem.API.Controllers
                 throw;
             }
         }
-
+        /// <summary>
+        /// 删除岗位
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
         {
             try
@@ -532,12 +539,100 @@ 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> AddUser(AddUserDto dto)
+        public async Task<IActionResult> EditMyUser(EditMyUserDto dto)
         {
-            int id = 0;
-            return Ok(JsonView(true, "添加成功!", new { Id = id }));
+            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
 

+ 170 - 2
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
@@ -21,10 +22,177 @@ namespace OASystem.Domain.Dtos.System
         public int DepId { get;set; }
     }
     /// <summary>
-    /// 员工添加dto
+    /// 修改用户信息
     /// </summary>
-    public class AddUserDto
+    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; }
 
     }
 }

+ 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; }