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 操作 /// /// 查询所有员工(web) /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), 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(true,"查询成功!",result.Result.Data)); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 企业操作 /// /// 查询企业数据 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task getCompanyList(DtoBase dto) { try { if (dto.PortType == 1) { return Ok(JsonView(false, "暂无数据!")); } else if (dto.PortType == 2) { var companyList = _sysDepRep.QueryDto(a=>a.IsDel!=null).ToList(); if (companyList.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } return Ok(JsonView(true,"查询成功!",companyList)); } else if (dto.PortType == 3) { return Ok(JsonView(false, "暂无数据!")); } else { return Ok(JsonView(false, "暂无数据!")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 添加企业数据 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView),StatusCodes.Status200OK)] public async Task AddCompany(AddCompanyDto dto) { try { if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.CompanyCode)) { return Ok(JsonView(false, "请检查信息是否输入完整!")); } else if (string.IsNullOrWhiteSpace(dto.Tel)) { return Ok(JsonView(false, "请检查联系方式是否输入正确!")); } else { Sys_Company _Company = _mapper.Map(dto); int id = await _syscomRep.AddAsyncReturnId(_Company); if (id == 0) { return Ok(JsonView(false, "添加失败!")); } return Ok(JsonView(true,"添加成功", new { Id = id })); } } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 企业修改 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async TaskEditCompany(EditCompanyDto dto) { try { if (string.IsNullOrWhiteSpace(dto.CompanyName) || string.IsNullOrWhiteSpace(dto.CompanyCode) || string.IsNullOrWhiteSpace(dto.Address) || dto.ParentCompanyId == 0 || dto.ContactUserId == 0) { return Ok(JsonView(false, "请检查信息是否输入完整!")); } else if (string.IsNullOrWhiteSpace(dto.Tel)) { return Ok(JsonView(false, "请检查联系方式是否输入正确!")); } else { bool res = await _syscomRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Company { CompanyName = dto.CompanyName, CompanyCode = dto.CompanyCode, Address = dto.Address, ParentCompanyId = dto.ParentCompanyId, Tel = dto.Tel, ContactUserId = dto.ContactUserId, }); if (!res) { return Ok(JsonView(false, "修改失败")); } return Ok(JsonView(true,"修改成功!")); } } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 企业删除 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelCompany(DelCompanyDto dto) { try { bool res = await _syscomRep.SoftDeleteAsync(dto.Id.ToString()); if (!res) { return Ok(JsonView(false, "删除失败")); } return Ok(JsonView(true, "删除成功")); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 部门操作 /// /// 查询部门数据 /// /// /// //[Authorize] [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task QueryDepartmentList(DepartmentDto dto) { try { if (dto.PortType==1) { return Ok(JsonView(false, "暂无数据!")); } else if (dto.PortType==2) { var result = _sysDepRep.QueryDto(s => s.CompanyId == dto.CompanyId).ToList(); if (result.Count == 0) { return Ok(JsonView(false, "暂无数据!")); } return Ok(JsonView(true,"查询成功!",result)); } else if (dto.PortType == 3) { return Ok(JsonView(false, "暂无数据!")); } else { return Ok(JsonView(false, "暂无数据!")); } } catch (Exception ex) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 部门添加 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task AddDepartment(AddDepartmentDto dto) { try { if (dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode)) { return Ok(JsonView(false, "请检查信息是否输入完整!")); } else { Sys_Department _Department = _mapper.Map(dto); int id = await _sysDepRep.AddAsyncReturnId(_Department); if (id == 0) { return Ok(JsonView(false, "添加失败!")); } return Ok(JsonView(true, "添加成功!", new { Id = id })); } } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 部门修改 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task EditDepartment(EditDepartmentDto dto) { try { if (dto.Id==0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode)) { return Ok(JsonView(false, "请检查信息是否输入完整!")); } else { bool res = await _sysDepRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Department { CompanyId=dto.CompanyId, DepCode=dto.DepCode, DepName=dto.DepName, ParentDepId=dto.ParentDepId, Remark=dto.Remark, }); if (!res) { return Ok(JsonView(false, "修改失败!")); } return Ok(JsonView(true, "修改成功!")); } } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } /// /// 部门删除 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task DelDepartment(DelDepartmentDto dto) { try { if (dto.Id == 0) { return Ok(JsonView(-1, "请检查信息是否输入完整!", null)); } else { bool res =await _sysDepRep.SoftDeleteAsync(dto.Id.ToString()); if (!res) { return Ok(JsonView(false, "删除失败!")); } return Ok(JsonView(true, "删除成功!")); } } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } #endregion #region 用户操作 /// /// 查询用户数据 /// /// /// [HttpPost] [ProducesResponseType(typeof(JsonView), 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(true,"查询成功!",result.Result.Data)); } catch (Exception) { return Ok(JsonView(false, "程序错误!")); throw; } } [HttpPost] [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)] public async Task AddUser(AddUserDto dto) { int id = 0; return Ok(JsonView(true, "添加成功!", new { Id = id })); } #endregion } }