Kaynağa Gözat

修改GetUserList方法,QueryUserList方法,

wangh 2 yıl önce
ebeveyn
işleme
00d3661ded

+ 22 - 22
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -11,7 +11,7 @@ namespace OASystem.API.Controllers
     /// <summary>
     /// 系统设置
     /// </summary>
-    [Authorize]
+    //[Authorize]
     [Route("api/[controller]/[action]")]
     public class SystemController : ControllerBase
     {
@@ -36,14 +36,21 @@ namespace OASystem.API.Controllers
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
         public async Task<IActionResult> GetUserList()
         {
-           var userList = _userRep.GetUserList(_userRep);
-            
-            if (userList.Result.Code != 0)
+            try
+            {
+                var result = _userRep.GetUserList("");
+                if (result.Result.Code != 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+
+                }
+                return Ok(JsonView(result.Result.Data));
+            }
+            catch (Exception)
             {
-                return Ok(JsonView(false, userList.Result.Msg));
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
             }
-            
-            return Ok(JsonView(userList.Result.Data));
         }
 
         #endregion
@@ -96,7 +103,6 @@ namespace OASystem.API.Controllers
                 throw;
             }
          
-            //return Ok(JsonView(0, "调用完成:", result));
         }
         #endregion
 
@@ -116,24 +122,18 @@ namespace OASystem.API.Controllers
                 {
                     sqlWhere += string.Format(@" And su.DepId={0}", dto.DepId);
                 }
-                string userSqlWhere = string.Format(@"Select sjp.JobName,sd.DepName,sc.CompanyName,su.* 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 where 1=1 {0}",sqlWhere);
-                var _userList = _userRep.GetListBySqlWithNolock(userSqlWhere);
-                List<UserInfoListView> _userDataList = _mapper.Map<List<UserInfoListView>>(_userList);//这一步,映射不上JobName,DepName,CompanyName,
-
-                if (_userDataList.Count==0)
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
                 {
-                    return Ok(JsonView(false, "暂无数据!"));
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
                 }
-                for (int i = 0; i < _userDataList.Count; i++)
+                var result=_userRep.GetUserList(sqlWhere);
+                if (result.Result.Code!=0)
                 {
-                    _userDataList[i].CompanyName = _userList[i].CompanyName;
-                    _userDataList[i].DepName = _userList[i].DepName;
-                    _userDataList[i].JobName = _userList[i].JobName;
+                    return Ok(JsonView(false, "暂无数据!"));
+
                 }
-                return Ok(JsonView(_userDataList));
+                return Ok(JsonView(result.Result.Data));
             }
             catch (Exception)
             {

+ 1 - 1
OASystem/OASystem.Domain/AutoMappers/_baseMappingProfile.cs

@@ -28,7 +28,7 @@ namespace OASystem.Domain.AutoMappers
             #region 用户板块
             CreateMap<UserDto, Sys_Users>();
             CreateMap<Sys_Users, UserInfoView>();
-            CreateMap<Sys_Users,UserInfoListView>();
+            CreateMap<UserInfoView,UserIView>();
             #endregion
 
         }

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

@@ -156,4 +156,28 @@ namespace OASystem.Domain.Entities.System
 
 
     }
+
+    #region 附加字段
+    /// <summary>
+    /// 用户表
+    /// 数据库查询接受实体类
+    /// </summary>
+    public class UserInfoView : Sys_Users
+    {
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string? CompanyName { get; set; }
+
+        /// <summary>
+        /// 部门名称
+        /// </summary>
+        public string? DepName { get; set; }
+
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string? JobName { get; set; }
+    }
+    #endregion
 }

+ 3 - 21
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -7,29 +7,11 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.ViewModels.System
 {
+    
     /// <summary>
-    /// 用户表
-    /// 数据库查询接受实体类
+    /// 用户数据查询返回View
     /// </summary>
-    public class UserInfoView :Sys_Users
-    {
-        /// <summary>
-        /// 公司名称
-        /// </summary>
-        public string? CompanyName { get; set; }
-
-        /// <summary>
-        /// 部门名称
-        /// </summary>
-        public string? DepName { get; set; }
-
-        /// <summary>
-        /// 岗位名称
-        /// </summary>
-        public string? JobName { get; set; }
-    }
-
-    public class UserInfoListView
+    public class UserIView
     {
         /// <summary>
         /// 公司名称

+ 1 - 1
OASystem/OASystem.Infrastructure/GlobalUsings.cs

@@ -9,4 +9,4 @@ global using Microsoft.Extensions.Configuration;
 global using System.Text.Json;
 global using Microsoft.AspNetCore.Http;
 global using System.Text.RegularExpressions;
-
+global using OASystem.Domain.Entities.System;

+ 17 - 33
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -1,4 +1,5 @@
-using OASystem.Domain;
+using AutoMapper;
+using OASystem.Domain;
 
 using OASystem.Domain.ViewModels.System;
 using System;
@@ -11,8 +12,10 @@ namespace OASystem.Infrastructure.Repositories.System
 {
     public class UsersRepository : BaseRepository<UserInfoView, JsonView>
     {
+        private readonly IMapper _mapper;
         public UsersRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
         {
+
         }
 
         /// <summary>
@@ -20,47 +23,28 @@ namespace OASystem.Infrastructure.Repositories.System
         /// </summary>
         /// <param name="_userRep"></param>
         /// <returns></returns>
-        public async Task<Result> GetUserList(UsersRepository _userRep)
+        public async Task<Result> GetUserList(string sqlWhere)
         {
             Result result = new Result();
             string userSqlWhere = string.Format(@"Select sjp.JobName,sd.DepName,sc.CompanyName,su.* 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 ");
-            List<UserInfoView> _userList = await _userRep.GetListBySqlWithNolockAsync(userSqlWhere);
-            if (_userList.Count < 1)
+                                                  Inner Join Sys_JobPost sjp On su.JobPostId = sjp.Id {0}", sqlWhere);
+            var _userList = await GetListBySqlWithNolockAsync(userSqlWhere);
+            List<UserIView> _userDataList = _mapper.Map<List<UserIView>>(_userList);
+            if (_userDataList.Count != 0) 
             {
-                result.Code = -2;
-                result.Msg = "暂无员工信息!";
-
-                return result;
+                result.Code = 0;
+                result.Msg = "成功!";
+                result.Data = _userDataList;
             }
-
-            List<dynamic> reultUserList = new List<dynamic>();
-            foreach (UserInfoView user in _userList)
+            else
             {
-                var data = new
-                {
-                    Number = user.Number,
-                    UserId = user.Id,
-                    CnName = user.CnName,
-                    CompanyId = user.CompanyId,
-                    CompanyName = user.CompanyName,
-                    DepId = user.DepId,
-                    DepName = user.DepName,
-                    //JobPostId = user.JobPostId,
-                    //JobName = user.JobName,
-                    Ext = user.Ext,
-                    Phone = user.Phone,
-                    UrgentPhone = user.UrgentPhone,
-                    Email = user.Email
-                };
-                reultUserList.Add(data);
+                result.Code = -1;
+                result.Msg = "暂无数据!";
+                result.Data = _userDataList;
             }
-
-            result.Code = 0;
-            result.Msg = "成功!";
-            result.Data = reultUserList;
+            
             return result;
 
         }