Lyyyi 22 時間 前
コミット
f9d4c92e9b

+ 22 - 25
OASystem/OASystem.Api/Controllers/PersonnelModuleController.cs

@@ -3221,11 +3221,11 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
         {
             var companyDatas = await _sqlSugar.Queryable<Sys_Company>().Where(x => x.IsDel == 0).Select(x => new { x.Id, x.CompanyName }).ToListAsync();
             var jobPostDatas = await _sqlSugar.Queryable<Sys_JobPost>().Where(x => x.IsDel == 0).Select(x => new { x.Id, x.CompanyId, x.JobName }).ToListAsync();
-            var userDatas = await _sqlSugar.Queryable<Sys_Users>().Where(x => x.IsDel == 0).Select(x => new { x.Id, x.JobPostId, x.CnName }).ToListAsync();
+            var userDatas = await _sqlSugar.Queryable<Sys_Users>().Where(x => x.IsDel == 0).Select(x => new { x.Id,x.CompanyId, x.JobPostId, x.CnName }).ToListAsync();
 
             companyDatas.Insert(0, new { Id = 0, CompanyName = "全部" });
             jobPostDatas.Insert(0, new { Id = 0, CompanyId = 0, JobName = "全部" });
-            userDatas.Insert(0, new { Id = 0, JobPostId = 0, CnName = "全部" });
+            userDatas.Insert(0, new { Id = 0, CompanyId = 0, JobPostId = 0, CnName = "全部" });
             return Ok(JsonView(true, "操作成功!", new
             {
                 companyDatas,
@@ -3243,21 +3243,6 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> AiPerformanceAnalysis_UserListAsync(AiPerformanceAnalysis_UserListDto dto)
         {
-            if (dto.CompanyId < 0)
-            {
-                return Ok(JsonView(false, "请传入有效的公司Id。"));
-            }
-
-            if (dto.JobPostId < 0)
-            {
-                return Ok(JsonView(false, "请传入有效的岗位Id。"));
-            }
-
-            if (dto.UserId < 0)
-            {
-                return Ok(JsonView(false, "请传入有效的员工Id。"));
-            }
-
             if (dto.PageIndex < 1)
             {
                 dto.PageIndex = 1;
@@ -3272,23 +3257,31 @@ OPTION (MAXRECURSION 0); -- 允许无限递归      ";
 
             var query = _sqlSugar.Queryable<Sys_Users>()
                 .LeftJoin<Sys_Company>((u, c) => u.CompanyId == c.Id)
-                .LeftJoin<Sys_JobPost>((u, c, jp) => u.JobPostId == jp.Id)
-                .Where((u, c, jp) => u.IsDel == 0)
-                .WhereIF(dto.CompanyId > 0, (u, c, jp) => u.CompanyId == dto.CompanyId)
-                .WhereIF(dto.JobPostId > 0, (u, c, jp) => u.JobPostId == dto.JobPostId)
-                .WhereIF(dto.UserId > 0, (u, c, jp) => u.Id == dto.UserId)
-                .WhereIF(!string.IsNullOrEmpty(dto.UserName), (u, c, jp) => u.CnName.Contains(dto.UserName))
-                .OrderBy(u => u.CompanyId) 
+                .LeftJoin<Sys_Department>((u, c, d) => u.DepId == d.Id)
+                .LeftJoin<Sys_JobPost>((u, c, d, jp) => u.JobPostId == jp.Id)
+                .Where((u, c, d, jp) => u.IsDel == 0)
+                .WhereIF(!string.IsNullOrEmpty(dto.ScreeningCriteria?.Trim()), (u, c, d, jp) =>
+                    u.CnName.Contains(dto.ScreeningCriteria.Trim()) ||
+                    c.CompanyName.Contains(dto.ScreeningCriteria.Trim()) ||
+                    d.DepName.Contains(dto.ScreeningCriteria.Trim()) ||
+                    jp.JobName.Contains(dto.ScreeningCriteria.Trim()) ||
+                    SqlFunc.ToString(u.Id).Contains(dto.ScreeningCriteria.Trim()))
+                .OrderBy(u => u.CompanyId)
+                .OrderBy(u => u.DepId)
                 .OrderBy(u => u.JobPostId)
                 .OrderBy(u => u.Id);
 
-            var view = await query.Select((u, c, jp) => new AiPerformanceAnalysis_UserView()
+            var view = await query.Select((u, c, d, jp) => new AiPerformanceAnalysis_UserView()
             {
                 RowNumber = SqlFunc.RowNumber("u.CompanyId ASC, u.JobPostId ASC, u.Id ASC"),
                 Id = u.Id,
                 UserName = u.CnName,
+                Sex = u.Sex == 0 ? "男" : u.Sex == 1 ? "女" : "未设置",
+                EDate = u.Edate.ToString("yyyy-MM-dd"),
                 CompanyId = u.CompanyId,
                 CompanyName = c.CompanyName,
+                DepId = u.DepId,
+                DepName = d.DepName,
                 JobPostId = u.JobPostId,
                 JobName = jp.JobName,
                 WorkYears = SqlFunc.DateDiff(DateType.Year, u.Edate, DateTime.Now)
@@ -3408,8 +3401,12 @@ ORDER BY MonthNumber, CollectionDays";
             public int RowNumber { get; set; }
             public int Id { get; set; }
             public string UserName { get; set; }
+            public string Sex { get; set; }
+            public string EDate { get; set; }
             public int CompanyId { get; set; }
             public string CompanyName { get; set; }
+            public int DepId { get; set; }
+            public string DepName { get; set; }
             public int JobPostId { get; set; }
             public string JobName { get; set; }
             public int WorkYears { get; set; }

+ 4 - 8
OASystem/OASystem.Domain/Dtos/PersonnelModule/AiPerformanceAnalysisDtos.cs

@@ -12,13 +12,9 @@ namespace OASystem.Domain.Dtos.PersonnelModule
 
     public class AiPerformanceAnalysis_UserListDto: DtoBase
     {
-
-        public int CompanyId { get; set; }
-
-        public int JobPostId { get; set; }
-
-        public int UserId { get; set; }
-
-        public string UserName { get; set; }
+        /// <summary>
+        /// 筛选条件 公司/部门/岗位/用户
+        /// </summary>
+        public string ScreeningCriteria { get; set; }
     }
 }