Browse Source

新增企业、部门、员工查询接口、添加响应的dto、view

wangh 2 years ago
parent
commit
95f49d13bf

+ 94 - 11
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -1,6 +1,6 @@
 
 using MySqlX.XDevAPI.Common;
-using OASystem.Domain.Dtos;
+using OASystem.Domain.Dtos.System;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels.System;
 using OASystem.Infrastructure.Repositories.Login;
@@ -14,12 +14,15 @@ namespace OASystem.API.Controllers
     [Route("api/[controller]/[action]")]
     public class SystemController : ControllerBase
     {
+        private readonly CompanyRepository _syscomRep;
         private readonly DepartmentRepository _sysDepRep;
         private readonly UsersRepository _userRep;
         private readonly IMapper _mapper;
 
-        public SystemController(DepartmentRepository sysDepRep, IMapper mapper, UsersRepository userRep)
+        public SystemController( CompanyRepository syscom,DepartmentRepository sysDepRep, UsersRepository userRep,
+            IMapper mapper)
         {
+            _syscomRep = syscom;
             _sysDepRep = sysDepRep;
             _userRep = userRep;
             _mapper = mapper;
@@ -43,22 +46,102 @@ namespace OASystem.API.Controllers
         }
 
         #endregion
+
+        #region 企业操作
+        [HttpGet]
+        [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> getCompanyList()
+        {
+            try
+            {
+                //var companyList = _sysDepRep.QueryDto<Sys_Company, CompanyView>(c=>c.IsDel!=null).ToList();
+                string sqlWhere = "select * from Sys_Company";
+                var companyList = _syscomRep.GetListBySqlWithNolock(sqlWhere);
+                List<CompanyView> DataList = _mapper.Map<List<CompanyView>>(companyList);
+                if (DataList.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                return Ok(JsonView(DataList));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
+
+        #region 部门操作
+
+       
         //[Authorize]
         [HttpPost]
         [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> fnQueryDepartment(Sys_DepartmentDto dto)
+        public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
         {
-            _sysDepRep.BeginTran();
-            var result = _sysDepRep.QueryDto<Sys_Department,DepartmentView>(s => s.CompanyId == dto.CompanyId).ToList();
-            foreach (var item in result)
+            try
+            {
+                var result = _sysDepRep.QueryDto<Sys_Department, DepartmentView>(s => s.CompanyId == dto.CompanyId).ToList();
+                if (result.Count==0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                return Ok(JsonView(result));
+            }
+            catch (Exception ex)
             {
-                item.a = "123";
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+         
+            //return Ok(JsonView(0, "调用完成:", result));
+        }
+        #endregion
+
+        #region 用户操作
+        [HttpPost]
+        [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QueryUserList(UserDto dto)
+        {
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (dto.CompanyId!=0)
+                {
+                    sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
+                }
+                if (dto.DepId != 0)
+                {
+                    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)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                for (int i = 0; i < _userDataList.Count; i++)
+                {
+                    _userDataList[i].CompanyName = _userList[i].CompanyName;
+                    _userDataList[i].DepName = _userList[i].DepName;
+                    _userDataList[i].JobName = _userList[i].JobName;
+                }
+                return Ok(JsonView(_userDataList));
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
             }
-            //string sql = "select * from Sys_Department where CompanyId='2'";
-            //var result2 = _sysDepRep.GetListBySqlWithNolock(sql);
-            //List<Sys_DepartmentView> dep = _mapper.Map<List<Sys_DepartmentView>>(result2);
            
-            return Ok(JsonView(0, "调用完成:", result));
         }
+        #endregion
+
     }
 }

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

@@ -1,7 +1,9 @@
-using OASystem.Domain.Dtos.UserDto;
+using OASystem.Domain.Dtos.System;
+using OASystem.Domain.Dtos.UserDto;
 using OASystem.Domain.Entities;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels;
+using OASystem.Domain.ViewModels.System;
 
 namespace OASystem.Domain.AutoMappers
 {
@@ -14,6 +16,21 @@ namespace OASystem.Domain.AutoMappers
             CreateMap<LoginDto, Sys_Users>();
             #endregion
 
+            #region 公司板块
+            CreateMap<Sys_Company, CompanyView>();
+            #endregion
+
+            #region 部门板块
+            CreateMap<DepartmentDto, Sys_Department>();
+            CreateMap<Sys_Department, DepartmentView>();
+            #endregion
+
+            #region 用户板块
+            CreateMap<UserDto, Sys_Users>();
+            CreateMap<Sys_Users, UserInfoView>();
+            CreateMap<Sys_Users,UserInfoListView>();
+            #endregion
+
         }
     }
 }

+ 2 - 2
OASystem/OASystem.Domain/Dtos/Sys_DepartmentDto.cs

@@ -5,9 +5,9 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 
-namespace OASystem.Domain.Dtos
+namespace OASystem.Domain.Dtos.System
 {
-    public class Sys_DepartmentDto
+    public class DepartmentDto
     {
         /// <summary>
         /// 公司Id

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

@@ -0,0 +1,23 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    /// <summary>
+    /// 员工表查询dto
+    /// </summary>
+    public class UserDto
+    {
+        /// <summary>
+        /// 公司Id
+        /// </summary>
+        public int CompanyId { get; set; }
+        /// <summary>
+        /// 部门Id
+        /// </summary>
+        public int DepId { get;set; }
+    }
+}

+ 17 - 0
OASystem/OASystem.Domain/ViewModels/CompanyView.cs

@@ -0,0 +1,17 @@
+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
+{
+    /// <summary>
+    /// 公司视图表(返回数据model)
+    /// </summary>
+    public class CompanyView:Sys_Company
+    {
+        
+    }
+}

+ 4 - 16
OASystem/OASystem.Domain/ViewModels/System/DepartmentView.cs

@@ -1,4 +1,5 @@
-using System;
+using OASystem.Domain.Entities.System;
+using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
@@ -6,21 +7,8 @@ using System.Threading.Tasks;
 
 namespace OASystem.Domain.ViewModels.System
 {
-    public class DepartmentView
+    public class DepartmentView:Sys_Department
     {
-        /// <summary>
-        /// 
-        /// </summary>
-        public int Id { get; set; }
-        
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? DepName { get; set; }
-
-        /// <summary>
-        /// 
-        /// </summary>
-        public string? a { get; set; }
+       
     }
 }

+ 106 - 0
OASystem/OASystem.Domain/ViewModels/System/UserInfoView.cs

@@ -28,4 +28,110 @@ namespace OASystem.Domain.ViewModels.System
         /// </summary>
         public string? JobName { get; set; }
     }
+
+    public class UserInfoListView
+    {
+        /// <summary>
+        /// 公司名称
+        /// </summary>
+        public string CompanyName { get; set; }
+
+        /// <summary>
+        /// 部门名称
+        /// </summary>
+        public string DepName { get; set; }
+
+        /// <summary>
+        /// 岗位名称
+        /// </summary>
+        public string JobName { get; set; }
+        /// <summary>
+        /// 用户Id
+        /// </summary>
+        public int Id { get; set; }
+        /// <summary>
+        /// 中文姓名
+        /// </summary>
+        
+        public string CnName { get; set; }
+        /// <summary>
+        /// 英文姓名
+        /// </summary>
+        
+        public string EnName { 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>
+        /// 性别0 男1 女  2 未设置
+        /// </summary>
+        
+        public int Sex { get; set; }
+        /// <summary>
+        /// 分机号
+        /// </summary>
+        
+        public string Ext { get; set; }
+        /// <summary>
+        /// 手机号
+        /// </summary>
+        
+        public string Phone { get; set; }
+        /// <summary>
+        /// 紧急联系人 手机号
+        /// </summary>
+        
+        public string UrgentPhone { get; set; }
+        /// <summary>
+        /// 邮箱
+        /// </summary>
+        
+        public string Email { get; set; }
+        /// <summary>
+        /// 住址
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(200)")]
+        public string Address { get; set; }
+        /// <summary>
+        /// 入职时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
+        public DateTime Edate { get; set; }
+        /// <summary>
+        /// 离职时间
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "DateTime")]
+        public DateTime Rdate { get; set; }
+        
+       
+        /// <summary>
+        /// 身份证号码
+        /// </summary>
+        public string IDCard { get; set; }
+        
+        
+        /// <summary>
+        /// 家庭地址
+        /// </summary>
+        public string HomeAddress { get; set; }
+        
+    }
 }

+ 18 - 0
OASystem/OASystem.Infrastructure/Repositories/System/CompanyRepository.cs

@@ -0,0 +1,18 @@
+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 CompanyRepository : BaseRepository<Sys_Company, CompanyView>
+    {
+        public CompanyRepository(SqlSugarClient sqlSugar) : base(sqlSugar)
+        {
+
+        }
+    }
+}