using MySqlX.XDevAPI.Common; using OASystem.Domain.Dtos.System; using OASystem.Domain.Entities.System; using OASystem.Domain.ViewModels.System; using OASystem.Infrastructure.Repositories.Login; using OASystem.Infrastructure.Repositories.System; namespace OASystem.API.Controllers { /// /// 系统设置 /// [Authorize] [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( CompanyRepository syscom,DepartmentRepository sysDepRep, UsersRepository userRep, IMapper mapper) { _syscomRep = syscom; _sysDepRep = sysDepRep; _userRep = userRep; _mapper = mapper; } #region user 操作 [HttpGet] [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)] public async Task GetUserList() { var userList = _userRep.GetUserList(_userRep); if (userList.Result.Code != 0) { return Ok(JsonView(false, userList.Result.Msg)); } return Ok(JsonView(userList.Result.Data)); } #endregion #region 企业操作 [HttpGet] [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)] public async Task getCompanyList() { try { //var companyList = _sysDepRep.QueryDto(c=>c.IsDel!=null).ToList(); string sqlWhere = "select * from Sys_Company"; var companyList = _syscomRep.GetListBySqlWithNolock(sqlWhere); List DataList = _mapper.Map>(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 QueryDepartmentList(DepartmentDto dto) { try { var result = _sysDepRep.QueryDto(s => s.CompanyId == dto.CompanyId).ToList(); if (result.Count==0) { return Ok(JsonView(false, "暂无数据!")); } return Ok(JsonView(result)); } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } //return Ok(JsonView(0, "调用完成:", result)); } #endregion #region 用户操作 [HttpPost] [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)] public async Task 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 _userDataList = _mapper.Map>(_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; } } #endregion } }