66 lines
1.9 KiB
C#
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();
|
|
} |