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 操作 [HttpPost] [ProducesResponseType(typeof(LoginView), StatusCodes.Status200OK)] public async Task GetUserList(DtoBase dto) { try { var result = _userRep.GetUserList(dto.PortType,string.Empty); if (result.Result.Code != 0) { return Ok(JsonView(false, "暂无数据!")); } return Ok(JsonView(result.Result.Data)); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } #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; } } #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); } if (!string.IsNullOrEmpty(sqlWhere.Trim())) { Regex r = new Regex("And"); sqlWhere = r.Replace(sqlWhere, "Where", 1); } var result=_userRep.GetUserList(dto.PortType,sqlWhere); if (result.Result.Code!=0) { return Ok(JsonView(false, "暂无数据!")); } return Ok(JsonView(result.Result.Data)); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion } }