1
zrg
2024-11-19 c8ea1579594ac9f7adf519d8ec9ee868d8fec54f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
using System;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
 
namespace DingTalk.Api.Request
{
    /// <summary>
    /// TOP API: dingtalk.oapi.attendance.approve.schedule.switch
    /// </summary>
    public class OapiAttendanceApproveScheduleSwitchRequest : BaseDingTalkRequest<DingTalk.Api.Response.OapiAttendanceApproveScheduleSwitchResponse>
    {
        /// <summary>
        /// 申请人换班日期当天的班次id
        /// </summary>
        public Nullable<long> ApplyShiftId { get; set; }
 
        /// <summary>
        /// 申请换班人id,仅支持排班制考勤组用户
        /// </summary>
        public string ApplyUserid { get; set; }
 
        /// <summary>
        /// 审批单唯一id
        /// </summary>
        public string ApproveId { get; set; }
 
        /// <summary>
        /// 申请人还班日期当天的班次id
        /// </summary>
        public Nullable<long> RebackApplyShiftId { get; set; }
 
        /// <summary>
        /// 还班日期,当天必须有排班或排休,如果申请换班人和被换班人是同一个人,那么必须要有还班日期
        /// </summary>
        public string RebackDate { get; set; }
 
        /// <summary>
        /// 被换班人还班日期当天的班次id
        /// </summary>
        public Nullable<long> RebackTargetShiftId { get; set; }
 
        /// <summary>
        /// 申请换班日期,当天必须有排班或排休
        /// </summary>
        public string SwitchDate { get; set; }
 
        /// <summary>
        /// 被换班人换班日期当天的班次id
        /// </summary>
        public Nullable<long> TargetShiftId { get; set; }
 
        /// <summary>
        /// 被换班人id,仅支持排班制考勤组用户
        /// </summary>
        public string TargetUserid { get; set; }
 
        /// <summary>
        /// 发起人的user_id
        /// </summary>
        public string Userid { get; set; }
 
        #region IDingTalkRequest Members
 
        public override string GetApiName()
        {
            return "dingtalk.oapi.attendance.approve.schedule.switch";
        }
 
        public override string GetApiCallType()
        {
            return DingTalkConstants.CALL_TYPE_OAPI;
        }
 
        public override IDictionary<string, string> GetParameters()
        {
            TopDictionary parameters = new TopDictionary();
            parameters.Add("apply_shift_id", this.ApplyShiftId);
            parameters.Add("apply_userid", this.ApplyUserid);
            parameters.Add("approve_id", this.ApproveId);
            parameters.Add("reback_apply_shift_id", this.RebackApplyShiftId);
            parameters.Add("reback_date", this.RebackDate);
            parameters.Add("reback_target_shift_id", this.RebackTargetShiftId);
            parameters.Add("switch_date", this.SwitchDate);
            parameters.Add("target_shift_id", this.TargetShiftId);
            parameters.Add("target_userid", this.TargetUserid);
            parameters.Add("userid", this.Userid);
            if (this.otherParams != null)
            {
                parameters.AddAll(this.otherParams);
            }
            return parameters;
        }
 
        public override void Validate()
        {
            RequestValidator.ValidateRequired("apply_userid", this.ApplyUserid);
            RequestValidator.ValidateRequired("approve_id", this.ApproveId);
            RequestValidator.ValidateMaxLength("approve_id", this.ApproveId, 100);
            RequestValidator.ValidateRequired("switch_date", this.SwitchDate);
            RequestValidator.ValidateRequired("target_userid", this.TargetUserid);
            RequestValidator.ValidateRequired("userid", this.Userid);
        }
 
        #endregion
    }
}