Files
jinko.yikatong/Src/Dlhis.Basic/Organization/Controllers/GainfoOutsourceController.cs

75 lines
2.1 KiB
C#

using System.ComponentModel.DataAnnotations;
using Dlhis.Basic.Organization.Request;
using Dlhis.Basic.Organization.Response;
using Dlhis.Basic.Organization.Services;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop;
using Kurisu.AspNetCore.Utils.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.Basic.Organization.Controllers;
/// <summary>
/// 外包人员
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class GainfoOutsourceController : ControllerBase
{
private readonly IGainfoOutsourceService _gainfoOutSourceService;
public GainfoOutsourceController(IGainfoOutsourceService gainfoOutSourceService)
{
_gainfoOutSourceService = gainfoOutSourceService;
}
/// <summary>
/// 入职
/// </summary>
/// <param name="request"></param>
[HttpPost("entry")]
[Transactional]
public async Task EntryAsync(GainfoOutsourceRequest request)
{
await _gainfoOutSourceService.SaveAsync(request);
}
/// <summary>
/// 批量入职
/// </summary>
/// <param name="requests"></param>
[HttpPost("batchEntry")]
[Transactional]
public async Task EntryAsync(List<GainfoOutsourceRequest> requests)
{
(requests.DistinctBy(x => x.Factory).Count() > 1).ThrowIfTrue("仅支持单个基地外包人员导入");
foreach (var request in requests)
{
await _gainfoOutSourceService.SaveAsync(request);
}
}
/// <summary>
/// 编辑
/// </summary>
/// <param name="request"></param>
[HttpPost("edit")]
[Transactional]
public async Task EditAsync(GainfoOutsourceRequest request)
{
await _gainfoOutSourceService.SaveAsync(request);
}
/// <summary>
/// 获取外包人员额外信息
/// </summary>
/// <param name="userNo"></param>
/// <returns></returns>
[AllowAnonymous]
[HttpGet("info")]
public async Task<GainfoOutSourceExternalInfoResponse> GetExternalInfoAsync([Required] string userNo)
{
return await _gainfoOutSourceService.GetExternalInfoAsync(userNo);
}
}