|
@@ -4,14 +4,22 @@
|
|
|
//
|
|
//
|
|
|
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
|
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
|
|
|
|
|
|
|
-using Admin.Net.Plugin.DingTalk.RequestProxy.BaseTypes;
|
|
|
|
|
|
|
+using Admin.NET.Plugin.DingTalk.RequestProxy.BaseTypes;
|
|
|
|
|
|
|
|
using System.Text.Json.Serialization;
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
|
|
|
-namespace Admin.Net.Plugin.DingTalk.RequestProxy.Attendance.DTO;
|
|
|
|
|
|
|
+namespace Admin.NET.Plugin.DingTalk.RequestProxy.Attendance.DTO;
|
|
|
|
|
|
|
|
-public class ListRecordResponse:DingtalkResponseError
|
|
|
|
|
|
|
+/// <summary>
|
|
|
|
|
+/// 获取打卡详情
|
|
|
|
|
+/// </summary>
|
|
|
|
|
+public class ListRecordResponse : DingtalkResponseError
|
|
|
{
|
|
{
|
|
|
|
|
+ /// <summary>
|
|
|
|
|
+ /// 打卡详情
|
|
|
|
|
+ /// </summary>
|
|
|
|
|
+ [JsonProperty("recordresult")]
|
|
|
|
|
+ [JsonPropertyName("recordresult")]
|
|
|
public List<ListRecordResultDomain> RecordResult { get; set; }
|
|
public List<ListRecordResultDomain> RecordResult { get; set; }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -20,191 +28,267 @@ public class ListRecordResultDomain
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 关联的审批ID,当该字段非空时,表示打卡记录与请假、加班等审批有关
|
|
/// 关联的审批ID,当该字段非空时,表示打卡记录与请假、加班等审批有关
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonPropertyName("approveId")]
|
|
|
|
|
+ [JsonProperty("approveId")]
|
|
|
public long ApproveId { get; set; }
|
|
public long ApproveId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准定位精度
|
|
/// 基准定位精度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseAccuracy")]
|
|
|
|
|
+ [JsonPropertyName("baseAccuracy")]
|
|
|
public string BaseAccuracy { get; set; }
|
|
public string BaseAccuracy { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准地址
|
|
/// 基准地址
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseAddress")]
|
|
|
|
|
+ [JsonPropertyName("baseAddress")]
|
|
|
public string BaseAddress { get; set; }
|
|
public string BaseAddress { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 计算迟到和早退,基准时间;也可作为排班打卡时间
|
|
/// 计算迟到和早退,基准时间;也可作为排班打卡时间
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseCheckTime")]
|
|
|
|
|
+ [JsonPropertyName("baseCheckTime")]
|
|
|
public string BaseCheckTime { get; set; }
|
|
public string BaseCheckTime { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准纬度
|
|
/// 基准纬度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseLatitude")]
|
|
|
|
|
+ [JsonPropertyName("baseLatitude")]
|
|
|
public string BaseLatitude { get; set; }
|
|
public string BaseLatitude { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准经度
|
|
/// 基准经度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseLongitude")]
|
|
|
|
|
+ [JsonPropertyName("baseLongitude")]
|
|
|
public string BaseLongitude { get; set; }
|
|
public string BaseLongitude { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准MAC地址
|
|
/// 基准MAC地址
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseMacAddr")]
|
|
|
|
|
+ [JsonPropertyName("baseMacAddr")]
|
|
|
public string BaseMacAddr { get; set; }
|
|
public string BaseMacAddr { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 基准wifi ssid
|
|
/// 基准wifi ssid
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("baseSsid")]
|
|
|
|
|
+ [JsonPropertyName("baseSsid")]
|
|
|
public string BaseSsid { get; set; }
|
|
public string BaseSsid { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 关联的业务ID
|
|
/// 关联的业务ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("bizId")]
|
|
|
|
|
+ [JsonPropertyName("bizId")]
|
|
|
public string BizId { get; set; }
|
|
public string BizId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 考勤类型:OnDuty:上班,OffDuty:下班
|
|
/// 考勤类型:OnDuty:上班,OffDuty:下班
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("checkType")]
|
|
|
|
|
+ [JsonPropertyName("checkType")]
|
|
|
public string CheckType { get; set; }
|
|
public string CheckType { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 班次ID
|
|
/// 班次ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("classId")]
|
|
|
|
|
+ [JsonPropertyName("classId")]
|
|
|
public long ClassId { get; set; }
|
|
public long ClassId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡设备ID
|
|
/// 打卡设备ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("deviceId")]
|
|
|
|
|
+ [JsonPropertyName("deviceId")]
|
|
|
public string DeviceId { get; set; }
|
|
public string DeviceId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡设备序列号
|
|
/// 打卡设备序列号
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("deviceSN")]
|
|
|
|
|
+ [JsonPropertyName("deviceSN")]
|
|
|
public string DeviceSN { get; set; }
|
|
public string DeviceSN { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡记录创建时间
|
|
/// 打卡记录创建时间
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("gmtCreate")]
|
|
|
|
|
+ [JsonPropertyName("gmtCreate")]
|
|
|
public string GmtCreate { get; set; }
|
|
public string GmtCreate { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡记录修改时间
|
|
/// 打卡记录修改时间
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("gmtModified")]
|
|
|
|
|
+ [JsonPropertyName("gmtModified")]
|
|
|
public string GmtModified { get; set; }
|
|
public string GmtModified { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 考勤组ID
|
|
/// 考勤组ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("groupId")]
|
|
|
|
|
+ [JsonPropertyName("groupId")]
|
|
|
public long GroupId { get; set; }
|
|
public long GroupId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 考勤ID
|
|
/// 考勤ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("id")]
|
|
|
|
|
+ [JsonPropertyName("id")]
|
|
|
public long Id { get; set; }
|
|
public long Id { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 对应的invalidRecordType异常信息的具体描述
|
|
/// 对应的invalidRecordType异常信息的具体描述
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("invalidRecordMsg")]
|
|
|
|
|
+ [JsonPropertyName("invalidRecordMsg")]
|
|
|
public string InvalidRecordMsg { get; set; }
|
|
public string InvalidRecordMsg { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 异常信息类型: Security:安全相关原因,Other:其他原因
|
|
/// 异常信息类型: Security:安全相关原因,Other:其他原因
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("invalidRecordType")]
|
|
|
|
|
+ [JsonPropertyName("invalidRecordType")]
|
|
|
public string InvalidRecordType { get; set; }
|
|
public string InvalidRecordType { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 是否合法.Y:合法,N:不合法
|
|
/// 是否合法.Y:合法,N:不合法
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("isLegal")]
|
|
|
|
|
+ [JsonPropertyName("isLegal")]
|
|
|
public string IsLegal { get; set; }
|
|
public string IsLegal { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 定位方法
|
|
/// 定位方法
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("locationMethod")]
|
|
|
|
|
+ [JsonPropertyName("locationMethod")]
|
|
|
public string LocationMethod { get; set; }
|
|
public string LocationMethod { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 位置结果:Normal:范围内,Outside:范围外,NotSigned:未打卡
|
|
/// 位置结果:Normal:范围内,Outside:范围外,NotSigned:未打卡
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("locationResult")]
|
|
|
|
|
+ [JsonPropertyName("locationResult")]
|
|
|
public string LocationResult { get; set; }
|
|
public string LocationResult { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡备注
|
|
/// 打卡备注
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("outsideRemark")]
|
|
|
|
|
+ [JsonPropertyName("outsideRemark")]
|
|
|
public string OutsideRemark { get; set; }
|
|
public string OutsideRemark { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 排班打卡时间
|
|
/// 排班打卡时间
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("planCheckTime")]
|
|
|
|
|
+ [JsonPropertyName("planCheckTime")]
|
|
|
public string PlanCheckTime { get; set; }
|
|
public string PlanCheckTime { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 排班ID
|
|
/// 排班ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("planId")]
|
|
|
|
|
+ [JsonPropertyName("planId")]
|
|
|
public long PlanId { get; set; }
|
|
public long PlanId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 关联的审批实例ID,当该字段非空时,表示打卡记录与请假、加班等审批有关
|
|
/// 关联的审批实例ID,当该字段非空时,表示打卡记录与请假、加班等审批有关
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("procInstId")]
|
|
|
|
|
+ [JsonPropertyName("procInstId")]
|
|
|
public string ProcInstId { get; set; }
|
|
public string ProcInstId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 数据来源:ATM:考勤机打卡(指纹/人脸打卡),BEACON:IBeacon,DING_ATM:钉钉考勤机(考勤机蓝牙打卡),USER:用户打卡
|
|
/// 数据来源:ATM:考勤机打卡(指纹/人脸打卡),BEACON:IBeacon,DING_ATM:钉钉考勤机(考勤机蓝牙打卡),USER:用户打卡
|
|
|
/// BOSS:老板改签,APPROVE:审批系统,SYSTEM:考勤系统,AUTO_CHECK:自动打卡
|
|
/// BOSS:老板改签,APPROVE:审批系统,SYSTEM:考勤系统,AUTO_CHECK:自动打卡
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("sourceType")]
|
|
|
|
|
+ [JsonPropertyName("sourceType")]
|
|
|
public string SourceType { get; set; }
|
|
public string SourceType { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡结果。 Normal:正常,Early:早退,Late:迟到,SeriousLate:严重迟到,Absenteeism:旷工迟到,NotSigned:未打卡
|
|
/// 打卡结果。 Normal:正常,Early:早退,Late:迟到,SeriousLate:严重迟到,Absenteeism:旷工迟到,NotSigned:未打卡
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("timeResult")]
|
|
|
|
|
+ [JsonPropertyName("timeResult")]
|
|
|
public string TimeResult { get; set; }
|
|
public string TimeResult { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡定位精度
|
|
/// 用户打卡定位精度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userAccuracy")]
|
|
|
|
|
+ [JsonPropertyName("userAccuracy")]
|
|
|
public string UserAccuracy { get; set; }
|
|
public string UserAccuracy { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡地址
|
|
/// 用户打卡地址
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userAddress")]
|
|
|
|
|
+ [JsonPropertyName("userAddress")]
|
|
|
public string UserAddress { get; set; }
|
|
public string UserAddress { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 实际打卡时间
|
|
/// 实际打卡时间
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userCheckTime")]
|
|
|
|
|
+ [JsonPropertyName("userCheckTime")]
|
|
|
public string UserCheckTime { get; set; }
|
|
public string UserCheckTime { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 打卡人的userId
|
|
/// 打卡人的userId
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userId")]
|
|
|
|
|
+ [JsonPropertyName("userId")]
|
|
|
public string UserId { get; set; }
|
|
public string UserId { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡纬度
|
|
/// 用户打卡纬度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userLatitude")]
|
|
|
|
|
+ [JsonPropertyName("userLatitude")]
|
|
|
public string UserLatitude { get; set; }
|
|
public string UserLatitude { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡经度
|
|
/// 用户打卡经度
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userLongitude")]
|
|
|
|
|
+ [JsonPropertyName("userLongitude")]
|
|
|
public string UserLongitude { get; set; }
|
|
public string UserLongitude { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡wifi Mac地址
|
|
/// 用户打卡wifi Mac地址
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userMacAddr")]
|
|
|
|
|
+ [JsonPropertyName("userMacAddr")]
|
|
|
public string UserMacAddr { get; set; }
|
|
public string UserMacAddr { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 用户打卡wifi SSID
|
|
/// 用户打卡wifi SSID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("userSsid")]
|
|
|
|
|
+ [JsonPropertyName("userSsid")]
|
|
|
public string UserSsid { get; set; }
|
|
public string UserSsid { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 工作日
|
|
/// 工作日
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("workDate")]
|
|
|
|
|
+ [JsonPropertyName("workDate")]
|
|
|
public long WorkDate { get; set; }
|
|
public long WorkDate { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// <summary>
|
|
|
/// 企业ID
|
|
/// 企业ID
|
|
|
/// </summary>
|
|
/// </summary>
|
|
|
|
|
+ [JsonProperty("corpId")]
|
|
|
|
|
+ [JsonPropertyName("corpId")]
|
|
|
public string CorpId { get; set; }
|
|
public string CorpId { get; set; }
|
|
|
}
|
|
}
|