Files
jinko.yikatong/Src/Dlhis.Basic.Api/ISyncApi.cs

66 lines
1.9 KiB
C#

using Dlhis.Basic.Api.ClientHandler;
using Dlhis.Basic.Api.ContentHandlers;
using Dlhis.Basic.Api.Response;
using Kurisu.RemoteCall.Attributes;
namespace Dlhis.Basic.Api;
[RequestResultHandler]
[EnableRemoteClient(Name = "longRun-service", BaseUrl = "${InternalRequest:BasicRequestUrl}", PolicyHandler = typeof(LongRunClientHandler))]
public interface ISyncApi
{
/// <summary>
/// 根据人事范围获取员工信息
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
[Post("/api/sync/gainfo/werk")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task SyncGainfoByWerkAsync(string code);
/// <summary>
/// 根据工号获取员工信息
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
[Post("/api/sync/gainfo/user")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task SyncGainfoByUserCodeAsync(string code);
/// <summary>
/// 获取组织架构数据
/// </summary>
/// <returns></returns>
[Get("/api/sync/orgs")]
Task<SapOrganizationResponse> SyncOrganizationsAsync();
/// <summary>
/// 获取职位数据
/// </summary>
/// <returns></returns>
[Get("/api/sync/positions")]
Task<SapPositionResponse> GetPositionsAsync();
/// <summary>
/// 差旅数据处理
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
[Post("/api/sync/businessTrips")]
[RequestContentHandler(typeof(CodeContentHandler))]
Task HandlerBusinessTripsAsync(string code);
/// <summary>
/// 外包自动离职处理
/// </summary>
/// <returns></returns>
[Post("/api/gainfoOutsource/autoResign")]
Task OutsourceAutoResignAsync();
/// <summary>
/// 外部人员自动离职处理
/// </summary>
/// <returns></returns>
[Post("/api/appointments/autoResign")]
Task ExternalAutoResignAsync();
}