feat(work): 随官方更新获取企业假期管理配置的接口模型

This commit is contained in:
Fu Diwei 2022-08-15 09:57:57 +08:00
parent e20b855f5f
commit a9ecb702e1
2 changed files with 211 additions and 27 deletions

View File

@ -13,6 +13,50 @@
{
public class Quota
{
public static class Types
{
public class QuotaRuleList
{
/// <summary>
/// 获取或设置额度计算规则。
/// </summary>
[Newtonsoft.Json.JsonProperty("list")]
[System.Text.Json.Serialization.JsonPropertyName("list")]
public QuotaRuleItem[] Items { get; set; } = default!;
/// <summary>
/// 获取或设置是否根据实际入职时间计算假期。
/// </summary>
[Newtonsoft.Json.JsonProperty("based_on_actual_work_time")]
[System.Text.Json.Serialization.JsonPropertyName("based_on_actual_work_time")]
public bool IsBasedOnActualWorkTime { get; set; }
}
public class QuotaRuleItem
{
/// <summary>
/// 获取或设置区间发放时长(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("quota")]
[System.Text.Json.Serialization.JsonPropertyName("quota")]
public int Quota { get; set; }
/// <summary>
/// 获取或设置区间开始点(单位:年)。
/// </summary>
[Newtonsoft.Json.JsonProperty("begin")]
[System.Text.Json.Serialization.JsonPropertyName("begin")]
public int Begin { get; set; }
/// <summary>
/// 获取或设置区间结束点(单位:年)。
/// </summary>
[Newtonsoft.Json.JsonProperty("end")]
[System.Text.Json.Serialization.JsonPropertyName("end")]
public int End { get; set; }
}
}
/// <summary>
/// 获取或设置假期发放类型。
/// </summary>
@ -33,6 +77,109 @@
[Newtonsoft.Json.JsonProperty("autoreset_duration")]
[System.Text.Json.Serialization.JsonPropertyName("autoreset_duration")]
public int? AutoResetDuration { get; set; }
/// <summary>
/// 获取或设置额度计算类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("quota_rule_type")]
[System.Text.Json.Serialization.JsonPropertyName("quota_rule_type")]
public int QuotaRuleType { get; set; }
/// <summary>
/// 获取或设置额度计算规则列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("quota_rules")]
[System.Text.Json.Serialization.JsonPropertyName("quota_rules")]
public Types.QuotaRuleList QuotaRuleList { get; set; } = default!;
/// <summary>
/// 获取或设置是否按照入职日期发放假期。
/// </summary>
[Newtonsoft.Json.JsonProperty("at_entry_date")]
[System.Text.Json.Serialization.JsonPropertyName("at_entry_date")]
public bool IsAtEntryDate { get; set; }
/// <summary>
/// 获取或设置自动按月发放的发放时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("auto_reset_month_day")]
[System.Text.Json.Serialization.JsonPropertyName("auto_reset_month_day")]
public int? AutoResetMonthDay { get; set; }
}
public class ExpireRule
{
public static class Types
{
public class Date
{
/// <summary>
/// 获取或设置月份。
/// </summary>
[Newtonsoft.Json.JsonProperty("month")]
[System.Text.Json.Serialization.JsonPropertyName("month")]
public int Month { get; set; }
/// <summary>
/// 获取或设置天。
/// </summary>
[Newtonsoft.Json.JsonProperty("day")]
[System.Text.Json.Serialization.JsonPropertyName("day")]
public int Day { get; set; }
}
public class Duration
{
/// <summary>
/// 获取或设置月数。
/// </summary>
[Newtonsoft.Json.JsonProperty("month")]
[System.Text.Json.Serialization.JsonPropertyName("month")]
public int Month { get; set; }
/// <summary>
/// 获取或设置天数。
/// </summary>
[Newtonsoft.Json.JsonProperty("day")]
[System.Text.Json.Serialization.JsonPropertyName("day")]
public int Day { get; set; }
}
}
/// <summary>
/// 获取或设置过期规则类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public int Type { get; set; }
/// <summary>
/// 获取或设置有效期。
/// </summary>
[Newtonsoft.Json.JsonProperty("duration")]
[System.Text.Json.Serialization.JsonPropertyName("duration")]
public int Duration { get; set; }
/// <summary>
/// 获取或设置失效日期信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("date")]
[System.Text.Json.Serialization.JsonPropertyName("date")]
public Types.Date? Date { get; set; }
/// <summary>
/// 获取或设置是否允许延长有效期。
/// </summary>
[Newtonsoft.Json.JsonProperty("extern_duration_enable")]
[System.Text.Json.Serialization.JsonPropertyName("extern_duration_enable")]
public bool IsExternDurationEnabled { get; set; }
/// <summary>
/// 获取或设置延长有效期的具体时间信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("extern_duration")]
[System.Text.Json.Serialization.JsonPropertyName("extern_duration")]
public Types.Duration? ExternDuration { get; set; }
}
}
@ -77,6 +224,29 @@
[Newtonsoft.Json.JsonProperty("perday_duration")]
[System.Text.Json.Serialization.JsonPropertyName("perday_duration")]
public int DurationPerDay { get; set; }
/// <summary>
/// 获取或设置是否关联加班调休。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_newovertime")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_newovertime")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsNewOvertime { get; set; }
/// <summary>
/// 获取或设置入职时间大于多久可用该假期(单位:月)。
/// </summary>
[Newtonsoft.Json.JsonProperty("enter_comp_time_limit")]
[System.Text.Json.Serialization.JsonPropertyName("enter_comp_time_limit")]
public int EnterCompanyTimeLimit { get; set; }
/// <summary>
/// 获取或设置假期过期规则。
/// </summary>
[Newtonsoft.Json.JsonProperty("expire_rule")]
[System.Text.Json.Serialization.JsonPropertyName("expire_rule")]
public Types.ExpireRule? ExpireRule { get; set; }
}
}

View File

@ -8,35 +8,49 @@
"time_attr": 0,
"duration_type": 0,
"quota_attr": {
"type": 2,
"autoreset_time": 0,
"autoreset_duration": 0
"type": 1,
"autoreset_time": 1641010352,
"autoreset_duration": 432000,
"quota_rule_type": 1,
"quota_rules": {
"list": [
{
"quota": 432000,
"begin": 0,
"end": 1
},
{
"quota": 518400,
"begin": 1,
"end": 2
},
{
"quota": 604800,
"begin": 2,
"end": 0
}
],
"based_on_actual_work_time": true
},
"at_entry_date": true,
"auto_reset_month_day": 0
},
"perday_duration": 86400
},
{
"id": 2,
"name": "事假",
"time_attr": 0,
"duration_type": 0,
"quota_attr": {
"perday_duration": 86400,
"is_newovertime": 0,
"enter_comp_time_limit": 0,
"expire_rule": {
"type": 2,
"autoreset_time": 0,
"autoreset_duration": 0
},
"perday_duration": 86400
},
{
"id": 3,
"name": "病假",
"time_attr": 0,
"duration_type": 0,
"quota_attr": {
"type": 2,
"autoreset_time": 0,
"autoreset_duration": 0
},
"perday_duration": 86400
"duration": 2,
"date": {
"month": 0,
"day": 0
},
"extern_duration_enable": false,
"extern_duration": {
"month": 0,
"day": 0
}
}
}
]
}