|
|
@@ -12,32 +12,32 @@ namespace Admin.Net.Plugin.DingTalk.RequestProxy.Attendance;
|
|
|
|
|
|
public class AttendanceRequest : IScoped
|
|
|
{
|
|
|
- private IAttendanceRequestProxy request;
|
|
|
+ private readonly IAttendanceRequestProxy _request;
|
|
|
|
|
|
- public AttendanceRequest(IAttendanceRequestProxy _request)
|
|
|
+ public AttendanceRequest(IAttendanceRequestProxy request)
|
|
|
{
|
|
|
- request = _request;
|
|
|
+ _request = request;
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
/// 获取打卡详情
|
|
|
/// </summary>
|
|
|
- /// <param name="AccessToken"></param>
|
|
|
+ /// <param name="accessToken"></param>
|
|
|
/// <param name="useridList">企业内的员工ID列表,最大值50</param>
|
|
|
/// <param name="from">查询考勤打卡记录的起始工作日</param>
|
|
|
/// <param name="to">查询考勤打卡记录的结束工作日</param>
|
|
|
- /// <param name="isI18n">是否为海外企业使用</param>
|
|
|
+ /// <param name="isI18N">是否为海外企业使用</param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<ListRecordResponse> ListRecord(string AccessToken, List<string> useridList, DateTime from, DateTime to,bool isI18n=false)
|
|
|
+ public async Task<ListRecordResponse> ListRecord(string accessToken, List<string> useridList, DateTime from, DateTime to,bool isI18N=false)
|
|
|
{
|
|
|
var requestBody = new ListRecordRequest
|
|
|
{
|
|
|
UserIds = useridList,
|
|
|
CheckDateFrom = from.ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
CheckDateTo = to.ToString("yyyy-MM-dd HH:mm:ss"),
|
|
|
- IsI18n = isI18n
|
|
|
+ IsI18n = isI18N
|
|
|
};
|
|
|
- var resStr = await request.ListRecord(AccessToken, requestBody);
|
|
|
+ var resStr = await _request.ListRecord(accessToken, requestBody);
|
|
|
var res = resStr.ToObject<ListRecordResponse>();
|
|
|
return res;
|
|
|
}
|
|
|
@@ -45,12 +45,12 @@ public class AttendanceRequest : IScoped
|
|
|
/// <summary>
|
|
|
/// 通知审批通过
|
|
|
/// </summary>
|
|
|
- /// <param name="AccessToken"></param>
|
|
|
+ /// <param name="accessToken"></param>
|
|
|
/// <param name="userid">员工的userId</param>
|
|
|
/// <param name="approveId">审批单ID,最大长度100个字符,自定义值</param>
|
|
|
/// <param name="tagName">审批单类型名称,最大长度20个字符。 支持类型如下:请假, 出差,外出,加班</param>
|
|
|
/// <param name="jumpUrl">审批单跳转地址,最大长度200个字符</param>
|
|
|
- /// <param name="BizType">审批单类型,可取值:1:加班,2:出差、外出,3:请假</param>
|
|
|
+ /// <param name="bizType">审批单类型,可取值:1:加班,2:出差、外出,3:请假</param>
|
|
|
/// <param name="fromTime">开始时间。开始时间不能早于当前时间前31天</param>
|
|
|
/// <param name="toTime">结束时间</param>
|
|
|
/// <param name="durationUnit">时长单位,支持格式如下:day,halfDay,hour:biz_type为1时仅支持hou</param>
|
|
|
@@ -60,35 +60,32 @@ public class AttendanceRequest : IScoped
|
|
|
/// <param name="overTimeDuration">biz_type为1时必传,加班时长单位小时</param>
|
|
|
/// <param name="overTimeToMore">biz_type为1时必传:1:加班转调休,2:加班转工资</param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<AttendanceApprovalsFinishResponse> ApproveFinish(string AccessToken, string userid, string approveId, string tagName, string jumpUrl,
|
|
|
- BizTypeEnum BizType, DateTime fromTime, DateTime toTime, DurationUnitEnum durationUnit, CalculateModelEnum calculateModel, string? leaveCode = null,
|
|
|
+ public async Task<AttendanceApprovalsFinishResponse> ApproveFinish(string accessToken, string userid, string approveId, string tagName, string jumpUrl,
|
|
|
+ BizTypeEnum bizType, DateTime fromTime, DateTime toTime, DurationUnitEnum durationUnit, CalculateModelEnum calculateModel, string? leaveCode = null,
|
|
|
string? subType = null, string? overTimeDuration = null, long? overTimeToMore = null)
|
|
|
{
|
|
|
- if (BizType == BizTypeEnum.请假 && string.IsNullOrEmpty(subType))
|
|
|
+ if (bizType == BizTypeEnum.请假 && string.IsNullOrEmpty(subType))
|
|
|
throw Oops.Oh("审批单类型biz_type=3时,subType必传。");
|
|
|
- if (BizType == BizTypeEnum.加班 && (string.IsNullOrEmpty(overTimeDuration) || !overTimeToMore.HasValue))
|
|
|
+ if (bizType == BizTypeEnum.加班 && (string.IsNullOrEmpty(overTimeDuration) || !overTimeToMore.HasValue))
|
|
|
throw Oops.Oh("biz_type为1时,overTimeDuration和overTimeToMore必传");
|
|
|
var fromTimeStr = "";
|
|
|
var toTimeStr = "";
|
|
|
switch (durationUnit)
|
|
|
{
|
|
|
- case DurationUnitEnum.day:
|
|
|
+ case DurationUnitEnum.Day:
|
|
|
fromTimeStr = fromTime.ToString("yyyy-MM-dd");
|
|
|
toTimeStr = toTime.ToString("yyyy-MM-dd");
|
|
|
break;
|
|
|
|
|
|
- case DurationUnitEnum.halfDay:
|
|
|
+ case DurationUnitEnum.HalfDay:
|
|
|
fromTimeStr = TimeToHalfDay(fromTime);
|
|
|
toTimeStr = TimeToHalfDay(toTime);
|
|
|
break;
|
|
|
|
|
|
- case DurationUnitEnum.hour:
|
|
|
+ case DurationUnitEnum.Hour:
|
|
|
fromTimeStr = fromTime.ToString("yyyy-MM-dd HH:mm");
|
|
|
toTimeStr = toTime.ToString("yyyy-MM-dd HH:mm");
|
|
|
break;
|
|
|
-
|
|
|
- default:
|
|
|
- break;
|
|
|
}
|
|
|
var requestBody = new AttdendanceApprovalsFinishRequest
|
|
|
{
|
|
|
@@ -100,7 +97,7 @@ public class AttendanceRequest : IScoped
|
|
|
SubType = subType,
|
|
|
TopCalculateApproveDurationParam = new TopCalculateApproveDurationParamDomain
|
|
|
{
|
|
|
- BizType = BizType,
|
|
|
+ BizType = bizType,
|
|
|
FromTime = fromTimeStr,
|
|
|
ToTime = toTimeStr,
|
|
|
DurationUnit = durationUnit.ToString(),
|
|
|
@@ -110,7 +107,7 @@ public class AttendanceRequest : IScoped
|
|
|
};
|
|
|
try
|
|
|
{
|
|
|
- var resStr = await request.ApprovalsFinish(userid, AccessToken, requestBody);
|
|
|
+ var resStr = await _request.ApprovalsFinish(userid, accessToken, requestBody);
|
|
|
var res = resStr.ToObject<AttendanceApprovalsFinishResponse>();
|
|
|
return res;
|
|
|
}
|
|
|
@@ -123,13 +120,13 @@ public class AttendanceRequest : IScoped
|
|
|
/// <summary>
|
|
|
/// 通知审批撤销
|
|
|
/// </summary>
|
|
|
- /// <param name="AccessToken"></param>
|
|
|
+ /// <param name="accessToken"></param>
|
|
|
/// <param name="userid">员工的userId</param>
|
|
|
/// <param name="approveId">审批ID</param>
|
|
|
/// <returns></returns>
|
|
|
- public async Task<AttendanceApprovelsCancelResponse> ApproveCancel(string AccessToken, string userid, string approveId)
|
|
|
+ public async Task<AttendanceApprovelsCancelResponse> ApproveCancel(string accessToken, string userid, string approveId)
|
|
|
{
|
|
|
- var resStr = await request.ApprovalsCancel(AccessToken, new AttendanceApprovelsCancelRequest
|
|
|
+ var resStr = await _request.ApprovalsCancel(accessToken, new AttendanceApprovelsCancelRequest
|
|
|
{
|
|
|
ApproveId = approveId,
|
|
|
UserId = userid,
|
|
|
@@ -137,15 +134,15 @@ public class AttendanceRequest : IScoped
|
|
|
return resStr.ToObject<AttendanceApprovelsCancelResponse>();
|
|
|
}
|
|
|
|
|
|
- public async Task<GetLeaveStatusResponse> GetLeaveStatus(string AccessToken,List<string> UserIdList,DateTime StartTime,DateTime EndTime,int Offset=0,int Size=10)
|
|
|
+ public async Task<GetLeaveStatusResponse> GetLeaveStatus(string accessToken, List<string> userIdList, DateTime startTime, DateTime endTime, int offset = 0, int size = 10)
|
|
|
{
|
|
|
- var resStr = await request.GetLeaveStatus(AccessToken, new GetLeaveStatusRequest
|
|
|
+ var resStr = await _request.GetLeaveStatus(accessToken, new GetLeaveStatusRequest
|
|
|
{
|
|
|
- UserIdList = UserIdList.Join(","),
|
|
|
- StartTime = new DateTimeOffset(StartTime).ToUnixTimeMilliseconds(),
|
|
|
- EndTime = new DateTimeOffset(EndTime).ToUnixTimeMilliseconds(),
|
|
|
- Offset = Offset,
|
|
|
- Size = Size
|
|
|
+ UserIdList = userIdList.Join(),
|
|
|
+ StartTime = new DateTimeOffset(startTime).ToUnixTimeMilliseconds(),
|
|
|
+ EndTime = new DateTimeOffset(endTime).ToUnixTimeMilliseconds(),
|
|
|
+ Offset = offset,
|
|
|
+ Size = size
|
|
|
});
|
|
|
return resStr.ToObject<GetLeaveStatusResponse>();
|
|
|
}
|