CheckInDayDataView.cs 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. namespace OASystem.Domain.ViewModels.QiYeWeChat;
  2. /// <summary>
  3. /// 打卡日报数据响应
  4. /// </summary>
  5. public class CheckInDayDataView : ResponseBase
  6. {
  7. /// <summary>日报数据列表</summary>
  8. public List<CheckInDayRoot>? datas { get; set; }
  9. }
  10. /// <summary>
  11. /// 日报单条数据根对象
  12. /// </summary>
  13. public class CheckInDayRoot
  14. {
  15. /// <summary>基础信息</summary>
  16. public BaseInfo? base_info { get; set; }
  17. /// <summary>汇总信息</summary>
  18. public SummaryInfo? summary_info { get; set; }
  19. /// <summary>假勤相关信息列表</summary>
  20. public List<HolidayInfo>? holiday_infos { get; set; }
  21. /// <summary>校准状态信息列表</summary>
  22. public List<ExceptionInfo>? exception_infos { get; set; }
  23. /// <summary>加班信息</summary>
  24. public OtInfo? ot_info { get; set; }
  25. /// <summary>假勤统计信息列表</summary>
  26. public List<SpItem>? sp_items { get; set; }
  27. }
  28. /// <summary>
  29. /// 假勤相关信息
  30. /// </summary>
  31. public class HolidayInfo
  32. {
  33. /// <summary>假勤申请id</summary>
  34. public string? sp_number { get; set; }
  35. /// <summary>假勤信息摘要-标题信息</summary>
  36. public SpTitle? sp_title { get; set; }
  37. /// <summary>假勤信息摘要-描述信息</summary>
  38. public SpDescription? sp_description { get; set; }
  39. }
  40. /// <summary>
  41. /// 假勤标题信息
  42. /// </summary>
  43. public class SpTitle
  44. {
  45. /// <summary>多语言描述列表</summary>
  46. public List<LanguageText>? data { get; set; }
  47. }
  48. /// <summary>
  49. /// 假勤描述信息
  50. /// </summary>
  51. public class SpDescription
  52. {
  53. /// <summary>多语言描述列表</summary>
  54. public List<LanguageText>? data { get; set; }
  55. }
  56. /// <summary>
  57. /// 多语言文本项
  58. /// </summary>
  59. public class LanguageText
  60. {
  61. /// <summary>文本内容</summary>
  62. public string? text { get; set; }
  63. /// <summary>语言类型,如 "zh_CN"</summary>
  64. public string? lang { get; set; }
  65. }
  66. /// <summary>
  67. /// 打卡时段(上班/下班时间)
  68. /// </summary>
  69. public class CheckinTimeItem
  70. {
  71. /// <summary>上班时间(距离0点秒数)</summary>
  72. public int work_sec { get; set; }
  73. /// <summary>下班时间(距离0点秒数)</summary>
  74. public int off_work_sec { get; set; }
  75. }
  76. /// <summary>
  77. /// 打卡规则信息
  78. /// </summary>
  79. public class RuleInfo
  80. {
  81. /// <summary>规则ID</summary>
  82. public uint groupid { get; set; }
  83. /// <summary>规则名称</summary>
  84. public string? groupname { get; set; }
  85. /// <summary>班次ID(仅按班次上下班有效)</summary>
  86. public int scheduleid { get; set; }
  87. /// <summary>班次名称(仅按班次上下班有效)</summary>
  88. public string? schedulename { get; set; }
  89. /// <summary>打卡时间列表(仅固定上下班规则有效)</summary>
  90. public List<CheckinTimeItem>? checkintime { get; set; }
  91. }
  92. /// <summary>
  93. /// 基础信息
  94. /// </summary>
  95. public class BaseInfo
  96. {
  97. /// <summary>日报日期(Unix时间戳,秒)</summary>
  98. public long date { get; set; }
  99. /// <summary>日报日期(DateTime本地时间)</summary>
  100. public DateTime DateDt => DateTimeOffset.FromUnixTimeSeconds(date).LocalDateTime;
  101. /// <summary>
  102. /// 记录类型
  103. /// 1-固定上下班;2-外出(此报表中不会出现);3-按班次上下班;4-自由签到;5-加班;7-无规则
  104. /// </summary>
  105. public int record_type { get; set; }
  106. /// <summary>打卡人员姓名</summary>
  107. public string? name { get; set; }
  108. /// <summary>打卡人员别名</summary>
  109. public string? name_ex { get; set; }
  110. /// <summary>打卡人员所在部门(多个部门用分号分隔)</summary>
  111. public string? departs_name { get; set; }
  112. /// <summary>打卡人员账号(userid)</summary>
  113. public string? acctid { get; set; }
  114. /// <summary>打卡人员所属规则信息</summary>
  115. public RuleInfo? rule_info { get; set; }
  116. /// <summary>日报类型:0-工作日日报;1-休息日日报</summary>
  117. public int day_type { get; set; }
  118. }
  119. /// <summary>
  120. /// 汇总信息
  121. /// </summary>
  122. public class SummaryInfo
  123. {
  124. /// <summary>当日打卡次数</summary>
  125. public int checkin_count { get; set; }
  126. /// <summary>当日实际工作时长(秒)</summary>
  127. public int regular_work_sec { get; set; }
  128. /// <summary>当日标准工作时长(秒)</summary>
  129. public int standard_work_sec { get; set; }
  130. /// <summary>当日最早打卡时间(秒)</summary>
  131. public int earliest_time { get; set; }
  132. /// <summary>当日最晚打卡时间(秒)</summary>
  133. public int lastest_time { get; set; }
  134. }
  135. /// <summary>
  136. /// 校准状态信息(异常打卡)
  137. /// </summary>
  138. public class ExceptionInfo
  139. {
  140. /// <summary>
  141. /// 校准状态类型
  142. /// 1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常
  143. /// </summary>
  144. public int exception { get; set; }
  145. /// <summary>当日此异常的次数</summary>
  146. public int count { get; set; }
  147. /// <summary>当日此异常的时长(秒,迟到/早退/旷工才有值)</summary>
  148. public int duration { get; set; }
  149. }
  150. /// <summary>
  151. /// 加班信息
  152. /// </summary>
  153. public class OtInfo
  154. {
  155. /// <summary>加班状态:0-无加班;1-正常;2-缺时长</summary>
  156. public int ot_status { get; set; }
  157. /// <summary>加班时长(秒)</summary>
  158. public int ot_duration { get; set; }
  159. /// <summary>加班不足的时长列表(ot_status=2时有效)</summary>
  160. public List<int>? exception_duration { get; set; }
  161. /// <summary>工作日加班记为调休(秒)</summary>
  162. public int workday_over_as_vacation { get; set; }
  163. /// <summary>工作日加班记为加班费(秒)</summary>
  164. public int workday_over_as_money { get; set; }
  165. /// <summary>休息日加班记为调休(秒)</summary>
  166. public int restday_over_as_vacation { get; set; }
  167. /// <summary>休息日加班记为加班费(秒)</summary>
  168. public int restday_over_as_money { get; set; }
  169. /// <summary>节假日加班记为调休(秒)</summary>
  170. public int holiday_over_as_vacation { get; set; }
  171. /// <summary>节假日加班记为加班费(秒)</summary>
  172. public int holiday_over_as_money { get; set; }
  173. }
  174. /// <summary>
  175. /// 假勤统计项
  176. /// </summary>
  177. public class SpItem
  178. {
  179. /// <summary>
  180. /// 类型:1-请假;2-补卡;3-出差;4-外出;15-审批打卡;100-外勤
  181. /// </summary>
  182. public int type { get; set; }
  183. /// <summary>具体请假类型id(当type为1时有效)</summary>
  184. public int vacation_id { get; set; }
  185. /// <summary>当日假勤次数</summary>
  186. public int count { get; set; }
  187. /// <summary>当日假勤时长(秒)</summary>
  188. public int duration { get; set; }
  189. /// <summary>时长单位:0-按天 1-按小时</summary>
  190. public int time_type { get; set; }
  191. /// <summary>统计项名称,如“年假”</summary>
  192. public string? name { get; set; }
  193. }