Bladeren bron

注册员工 1.4

leiy 1 jaar geleden
bovenliggende
commit
032c1dd5f8

+ 0 - 1
OASystem/OASystem.Domain/Entities/System/Sys_Users.cs

@@ -157,7 +157,6 @@ namespace OASystem.Domain.Entities.System
         [SugarColumn(IsNullable = true,ColumnDataType ="int")]
         public int HrAudit { get; set; }
 
-
     }
 
     #region 附加字段

+ 38 - 3
OASystem/OASystem.Infrastructure/Repositories/Login/LoginRepository.cs

@@ -13,7 +13,8 @@ namespace OASystem.Infrastructure.Repositories.Login
 {
     public class LoginRepository : BaseRepository<Sys_Users, LoginView>
     {
-        public LoginRepository(SqlSugarClient sqlSugar) : 
+
+        public LoginRepository(SqlSugarClient sqlSugar, UsersRepository usersRep) : 
             base(sqlSugar){}
 
         /// <summary>
@@ -101,12 +102,15 @@ namespace OASystem.Infrastructure.Repositories.Login
             string IdCrad = registerDto.IdCrad;
             string birthDay = IdCrad.Substring(6, 4) + "-" + IdCrad.Substring(10, 2) + "-" + IdCrad.Substring(12, 2);
 
+            string number = await CreateNumber(registerDto.DepId);
+
             Sys_Users _userInfo = new Sys_Users()
             {
                 CnName = registerDto.CnName,
                 EnName = registerDto.EnName,
                 Sex = registerDto.Sex,
-                Number = "",    //员工编号 人事审核通过了 由信息部经理分配
+                Number = number,    //员工编号 人事审核通过了 由信息部经理分配
+                Password = registerDto.Password, //密码由用户自己设置
                 CompanyId = registerDto.CompanyId,
                 DepId = registerDto.DepId,
                 JobPostId = registerDto.JobPostId,
@@ -126,6 +130,7 @@ namespace OASystem.Infrastructure.Repositories.Login
                 Education = registerDto.Education, //学历类型
                 TheOrAdultEducation = registerDto.EducationType, //教育类型
                 MaritalStatus = registerDto.MaritalStatus, // 未婚/已婚
+                WorkExperience = registerDto.WorkExperience, // 工作经历
                 HomeAddress = registerDto.HomeAddress,  //身份证上 家庭住址
                 UsePeriod = "", //试用期 由该人员入职部门主管手动操作
                 Certificate = "", //证件上传地址  多个证件由 | 隔开
@@ -152,9 +157,39 @@ namespace OASystem.Infrastructure.Repositories.Login
 
 
             result.Code = 0;
-            result.Msg = "申请成功!人事主管审核后且信息部经理分配了登录账号,可登录OA!";
+            result.Msg = string.Format("账号:{0}\r\n密码:{1}\r\n申请成功!\r\n人事主管审核后,可登录OA!", number, registerDto.Password);
             return result;
         }
+        
+        /// <summary>
+        /// 生成 Number
+        /// </summary>
+        /// <param name="depId"></param>
+        /// <returns></returns>
+        public async Task<string> CreateNumber(int depId) {
+            string number = string.Empty;
+
+            string userSql = string.Format("Select * From  Sys_Users Where IsDel= 0 And DepId = {0} And Number != '' Order By Id Desc", depId);
+            var userData = await _sqlSugar.SqlQueryable<Sys_Users>(userSql).ToListAsync();
+            if (userData.Count <= 0) return number;
 
+            string depSql = string.Format("Select * From  Sys_Department Where IsDel= 0 And Id = {0} ", depId);
+            var depData = await _sqlSugar.SqlQueryable<Sys_Department>(depSql).FirstAsync();
+            if (depData == null) return number;
+
+            string numPrefix = depData.Remark; 
+            if (string.IsNullOrEmpty(numPrefix)) return number;
+
+            int numSuffix = 1;
+            while (true) 
+            {
+                number = numPrefix + numSuffix.ToString();
+                var userData1 = userData.Where(it => it.Number == number).FirstOrDefault();
+                if (userData1 == null) break;
+                numSuffix++;
+            }
+
+            return number;
+        }
     }
 }