Files
jinko.yikatong/Src/Dlhis.Basic/Organization/Controllers/GainfosController.cs
2024-02-21 11:09:38 +08:00

192 lines
5.5 KiB
C#

using Dlhis.Basic.Organization.Filters;
using Dlhis.Basic.Organization.Request;
using Dlhis.Basic.Organization.Response;
using Dlhis.Basic.Organization.Services;
using Dlhis.Entity.Basic.Entity;
using Kurisu.AspNetCore.MVC;
using Kurisu.Core.DataAccess.Dto;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Org.BouncyCastle.Asn1.Ocsp;
namespace Dlhis.Basic.MealUser.Controllers;
/// <summary>
/// sap档案表
/// </summary>
[Authorize]
[ApiDefinition("SAP", Description = "晶科sap组织架构信息")]
[Route("api/[controller]")]
[ApiController]
public class GainfosController : ControllerBase
{
private readonly IGainfoService _gainfoService;
public GainfosController(IGainfoService gainfoService)
{
_gainfoService = gainfoService;
}
/// <summary>
/// 档案表保存
/// </summary>
/// <param name="requests"></param>
/// <returns></returns>
[HttpPost("save")]
public async Task SaveAsync(List<GainfoSaveRequest> requests)
{
await _gainfoService.SaveAsync(requests);
}
/// <summary>
/// 档案分页
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("page")]
public async Task<Pagination<GainfoPageResponse>> GetPageAsync([FromQuery] GainfoPageRequest request)
{
return await _gainfoService.GetPageAsync(request);
}
/// <summary>
/// 档案表修改
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPut("update")]
public async Task UpdateAsync(GainfoSaveRequest request)
{
await _gainfoService.UpdateAsync(request);
}
/// <summary>
/// 离职
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("dimission")]
public async Task DimissionAsync(GainfoDimissionRequest request)
{
await _gainfoService.DimissionAsync(request);
}
/// <summary>
/// 入职
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("onboarding")]
public async Task OnboardingAsync(GainfoDimissionRequest request)
{
await _gainfoService.OnboardingAsync(request);
}
/// <summary>
/// 当前人员信息,余额
/// </summary>
/// <returns></returns>
[HttpGet("current")]
public async Task<GainfoCurrentResponse> CurrentUserInfoAsync()
{
return await _gainfoService.CurrentUserInfoAsync();
}
/// <summary>
/// 上传人脸照片
/// </summary>
/// <returns></returns>
[HttpPost("face")]
public async Task UploadFaceAsync(GainfoUploadFaceRequest request)
{
await _gainfoService.UploadFaceAsync(request);
}
/// <summary>
/// 通过token获取人脸照片,失效或者找不到返回HttpStatus404状态码
/// </summary>
/// <param name="token"></param>
/// <returns></returns>
[NotFound]
[AllowAnonymous]
[HttpGet("face")]
public async Task<IActionResult> GetFaceAsync(string token)
{
return await _gainfoService.GetFaceAsync(token);
}
/// <summary>
/// 通过学工号获取人脸照片url地址
/// </summary>
/// <param name="userCode"></param>
/// <returns></returns>
[HttpGet("face/{userCode}")]
public async Task<string> GetFaceByUserCodeAsync(string userCode)
{
return await _gainfoService.GetFaceByUserCodeAsync(userCode);
}
/// <summary>
/// 批量获取人脸照片url地址
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost("faces")]
public async Task<Dictionary<string, string>> GetFaceByUserCodesAsync(GetFaceByUserCodesRequest request)
{
return await _gainfoService.GetFaceByUserCodesAsync(request);
}
/// <summary>
/// 档案列表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("gainfolist")]
public async Task<Pagination<GainfoListResponse>> GetGainfoListTaskAsync([FromQuery]GainfoListRequest request)
{
return await _gainfoService.GetGainfoListTaskAsync(request);
}
/// <summary>
/// 档案详情
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpGet("gainfodetail")]
public async Task<GainfoDetailResponse> GetGainfoDetailTaskAsync([FromQuery] GainfoDetailRequest request)
{
return await _gainfoService.GetGainfoDetailTaskAsync(request);
}
/// <summary>
/// 获取近七天入职人数及列表
/// </summary>
/// <returns></returns>
[HttpGet("weeknumber")]
public async Task<Dictionary<string, Pagination<GainfoDetailResponse>>> GetWeekNumberAsync([FromQuery] WeekNumberRequest request)
{
return await _gainfoService.GetWeekNumberAsync(request);
}
/// <summary>
/// 获取近七天离职人数及列表
/// </summary>
/// <returns></returns>
[HttpGet("weeknumberdimission")]
public async Task<Dictionary<string, Pagination<GainfoDetailResponse>>> GetDimissionWeekNumberAsync([FromQuery] WeekNumberRequest request)
{
return await _gainfoService.GetDimissionWeekNumberAsync(request);
}
/// <summary>
/// 获取基地在职、离职、考勤数
/// </summary>
/// <returns></returns>
[HttpGet("gainfonumbers")]
public async Task<GainfoGainfoNumbersResponse> GetGainfoNumbersAsync(string Werks)
{
return await _gainfoService.GetGainfoNumbersAsync(Werks);
}
}