WxCpCheckinDayData.java 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. package cn.nosum.wx.cp.entity.oa;
  2. import com.google.gson.annotations.SerializedName;
  3. import lombok.Data;
  4. import java.io.Serializable;
  5. import java.util.List;
  6. /**
  7. * 企业微信打卡日报数据
  8. *
  9. * @author Young
  10. */
  11. @Data
  12. public class WxCpCheckinDayData implements Serializable {
  13. private static final long serialVersionUID = 5950483201268226746L;
  14. /**
  15. * base_info 基础信息
  16. */
  17. @SerializedName("base_info")
  18. private BaseInfo baseInfo;
  19. @Data
  20. public class BaseInfo implements Serializable {
  21. private static final long serialVersionUID = 3679745559788648438L;
  22. /**
  23. * date 日报日期 时间戳
  24. */
  25. @SerializedName("date")
  26. private Integer date;
  27. /**
  28. * record_type 记录类型:1-固定上下班;2-外出(此报表中不会出现外出打卡数据);3-按班次上下班;4-自由签到;5-加班;7-无规则
  29. */
  30. @SerializedName("record_type")
  31. private Integer recordType;
  32. /**
  33. * name 打卡人员姓名
  34. */
  35. @SerializedName("name")
  36. private String name;
  37. /**
  38. * name_ex 打卡人员姓名
  39. */
  40. @SerializedName("name_ex")
  41. private String nameEx;
  42. /**
  43. * departs_name 打卡人员所在部门,会显示所有所在部门
  44. */
  45. @SerializedName("departs_name")
  46. private String departsName;
  47. /**
  48. * acctid 打卡人员帐号,即userid
  49. */
  50. @SerializedName("acctid")
  51. private String acctId;
  52. /**
  53. * rule_info 打卡人员所属规则信息
  54. */
  55. @SerializedName("rule_info")
  56. private RuleInfo ruleInfo;
  57. @Data
  58. public class RuleInfo implements Serializable {
  59. private static final long serialVersionUID = -5512479811648914189L;
  60. /**
  61. * groupid 所属规则的id
  62. */
  63. @SerializedName("groupid")
  64. private Integer groupId;
  65. /**
  66. * groupname 打卡规则名
  67. */
  68. @SerializedName("groupname")
  69. private String groupName;
  70. /**
  71. * scheduleid 当日所属班次id,仅按班次上下班才有值,显示在打卡日报-班次列
  72. */
  73. @SerializedName("scheduleid")
  74. private Integer scheduleId;
  75. /**
  76. * schedulename 当日所属班次名称,仅按班次上下班才有值,显示在打卡日报-班次列
  77. */
  78. @SerializedName("schedulename")
  79. private String scheduleName;
  80. /**
  81. * checkintime 当日打卡时间,仅固定上下班规则有值,显示在打卡日报-班次列
  82. */
  83. @SerializedName("checkintime")
  84. private List<CheckinTime> checkinTime;
  85. @Data
  86. public class CheckinTime implements Serializable {
  87. private static final long serialVersionUID = 1582835435812966332L;
  88. /**
  89. * work_sec 上班时间,为距离0点的时间差
  90. */
  91. @SerializedName("work_sec")
  92. private Integer workSec;
  93. /**
  94. * off_work_sec 下班时间,为距离0点的时间差
  95. */
  96. @SerializedName("off_work_sec")
  97. private Integer offWorkSec;
  98. }
  99. }
  100. /**
  101. * day_type 日报类型:0-工作日日报;1-休息日日报
  102. */
  103. @SerializedName("day_type")
  104. private Integer dayType;
  105. }
  106. /**
  107. * summary_info 汇总信息
  108. */
  109. @SerializedName("summary_info")
  110. private SummaryInfo summaryInfo;
  111. @Data
  112. public class SummaryInfo implements Serializable {
  113. private static final long serialVersionUID = 3428576099259666595L;
  114. /**
  115. * checkin_count 当日打卡次数
  116. */
  117. @SerializedName("checkin_count")
  118. private Integer checkinCount;
  119. /**
  120. * regular_work_sec 当日实际工作时长,单位:秒
  121. */
  122. @SerializedName("regular_work_sec")
  123. private Integer regularWorkSec;
  124. /**
  125. * standard_work_sec 当日标准工作时长,单位:秒
  126. */
  127. @SerializedName("standard_work_sec")
  128. private Integer standardWorkSec;
  129. /**
  130. * earliest_time 当日最早打卡时间
  131. */
  132. @SerializedName("earliest_time")
  133. private Integer earliestTime;
  134. /**
  135. * lastest_time 当日最晚打卡时间
  136. */
  137. @SerializedName("lastest_time")
  138. private Integer lastestTime;
  139. }
  140. /**
  141. * holiday_infos 假勤相关信息
  142. */
  143. @SerializedName("holiday_infos")
  144. private List<HolidayInfos> holidayInfos;
  145. @Data
  146. public class HolidayInfos implements Serializable {
  147. private static final long serialVersionUID = -6671577072585561527L;
  148. /**
  149. * sp_number 假勤相关信息
  150. */
  151. @SerializedName("sp_number")
  152. private String spNumber;
  153. /**
  154. * sp_title 假勤信息摘要-标题信息
  155. */
  156. @SerializedName("sp_title")
  157. private SpTitle spTitle;
  158. @Data
  159. public class SpTitle implements Serializable {
  160. private static final long serialVersionUID = 2148815417115384998L;
  161. /**
  162. * data 多种语言描述,目前只有中文一种
  163. */
  164. @SerializedName("data")
  165. private List<Data> data;
  166. @lombok.Data
  167. public class Data implements Serializable {
  168. private static final long serialVersionUID = -1672692024530543180L;
  169. /**
  170. * text 假勤信息摘要-标题文本
  171. */
  172. @SerializedName("text")
  173. private String text;
  174. /**
  175. * lang 语言类型:”zh_CN”
  176. */
  177. @SerializedName("lang")
  178. private String lang;
  179. }
  180. }
  181. /**
  182. * sp_description 假勤信息摘要-描述信息
  183. */
  184. @SerializedName("sp_description")
  185. private SpDescription spDescription;
  186. @Data
  187. public class SpDescription implements Serializable {
  188. private static final long serialVersionUID = 77680581771933449L;
  189. /**
  190. * data 多种语言描述,目前只有中文一种
  191. */
  192. @SerializedName("data")
  193. private List<Data> data;
  194. @lombok.Data
  195. public class Data implements Serializable {
  196. private static final long serialVersionUID = 3555479101375365805L;
  197. /**
  198. * text 假勤信息摘要-标题文本
  199. */
  200. @SerializedName("text")
  201. private String text;
  202. /**
  203. * lang 语言类型:”zh_CN”
  204. */
  205. @SerializedName("lang")
  206. private String lang;
  207. }
  208. }
  209. }
  210. /**
  211. * exception_infos 校准状态信息
  212. */
  213. @SerializedName("exception_infos")
  214. private List<ExceptionInfos> exceptionInfos;
  215. @Data
  216. public class ExceptionInfos implements Serializable {
  217. private static final long serialVersionUID = -5987438373762518299L;
  218. /**
  219. * exception 校准状态类型:1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常
  220. */
  221. @SerializedName("exception")
  222. private Integer exception;
  223. /**
  224. * count 当日此异常的次数
  225. */
  226. @SerializedName("count")
  227. private Integer count;
  228. /**
  229. * duration 当日此异常的时长(迟到/早退/旷工才有值)
  230. */
  231. @SerializedName("duration")
  232. private Integer duration;
  233. }
  234. /**
  235. * ot_info 加班信息
  236. */
  237. @SerializedName("ot_info")
  238. private OtInfo otInfo;
  239. @Data
  240. public class OtInfo implements Serializable {
  241. private static final long serialVersionUID = -6557759801572150175L;
  242. /**
  243. * ot_status 状态:0-无加班;1-正常;2-缺时长
  244. */
  245. @SerializedName("ot_status")
  246. private Integer otStatus;
  247. /**
  248. * ot_duration 加班时长
  249. */
  250. @SerializedName("ot_duration")
  251. private Integer otDuration;
  252. /**
  253. * exception_duration ot_status为2下,加班不足的时长
  254. */
  255. @SerializedName("exception_duration")
  256. private List<Integer> exceptionDuration;
  257. }
  258. /**
  259. * sp_items 假勤统计信息
  260. */
  261. @SerializedName("sp_items")
  262. private List<SpItem> spItems;
  263. @Data
  264. public class SpItem implements Serializable {
  265. private static final long serialVersionUID = 2423158264958352024L;
  266. /**
  267. * type 类型:1-请假;2-补卡;3-出差;4-外出;100-外勤
  268. */
  269. @SerializedName("type")
  270. private Integer type;
  271. /**
  272. * vacation_id 具体请假类型,当type为1请假时,具体的请假类型id,可通过审批相关接口获取假期详情
  273. */
  274. @SerializedName("vacation_id")
  275. private Integer vacationId;
  276. /**
  277. * count 当日假勤次数
  278. */
  279. @SerializedName("count")
  280. private Integer count;
  281. /**
  282. * duration 当日假勤时长秒数,时长单位为天直接除以86400即为天数,单位为小时直接除以3600即为小时数
  283. */
  284. @SerializedName("duration")
  285. private Integer duration;
  286. /**
  287. * time_type 时长单位:0-按天 1-按小时
  288. */
  289. @SerializedName("time_type")
  290. private Integer timeType;
  291. /**
  292. * name 统计项名称
  293. */
  294. @SerializedName("name")
  295. private String name;
  296. }
  297. }