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(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.ToBool(true)).ToList();
if (companyList.Count == 0)
{
return Ok(JsonView(false, "暂无数据!"));
}
return Ok(JsonView(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)
{
if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId==0 || !string.IsNullOrWhiteSpace(dto.CompanyCode))
{
return Ok(JsonView(-1, "请检查信息是否输入完整!", null));
}
else if (string.IsNullOrWhiteSpace(dto.Tel))
{
return Ok(JsonView(-1, "请检查联系方式是否输入正确!", null));
}
else
{
Sys_Company _Company = _mapper.Map(dto);
int id = await _syscomRep.AddAsyncReturnId(_Company);
if (id == 0)
{
return Ok(JsonView(-1, "添加失败!", null));
}
return Ok(JsonView(0, "成功", id));
}
}
///
/// 企业修改
///
///
///
[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(-1, "请检查信息是否输入完整!", null));
}
else if (string.IsNullOrWhiteSpace(dto.Tel))
{
return Ok(JsonView(-1, "请检查联系方式是否输入正确!", null));
}
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(-1, "失败", null)); }
return Ok(JsonView(0, "成功", null));
}
}
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(-1, "失败", null)); }
return Ok(JsonView(0, "成功", null));
}
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(result));
}
else if (dto.PortType == 3)
{
return Ok(JsonView(false, "暂无数据!"));
}
else
{
return Ok(JsonView(false, "暂无数据!"));
}
}
catch (Exception ex)
{
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(result.Result.Data));
}
catch (Exception)
{
return Ok(JsonView(false, "程序错误!"));
throw;
}
}
#endregion
}
}