123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace OASystem.Domain.ViewModels.QiYeWeChat
- {
- #region 企业微信 API 获取企业打卡规则
- /// <summary>
- /// 企业微信 API 获取企业打卡规则
- /// </summary>
- public class CorpCheckInRuleView : ResponseBase
- {
- /// <summary>
- /// 企业规则信息列表
- /// </summary>
- public List<GroupItem>? group { get; set; }
- }
- public class GroupItem
- {
- /// <summary>
- /// 打卡规则类型,1:固定时间上下班;2:按班次上下班;3:自由上下班
- /// </summary>
- public int grouptype { get; set; }
- /// <summary>
- /// 打卡规则id
- /// </summary>
- public int groupid { get; set; }
- /// <summary>
- /// 打卡规则名称
- /// </summary>
- public string groupname { get; set; }
- /// <summary>
- /// 特殊日期-不用打卡日期时间戳
- /// </summary>
- public List<spe_offdaysItem> spe_offdays { get; set; }
- }
- /// <summary>
- /// 特殊日期-不用打卡日期时间戳
- /// </summary>
- public class spe_offdaysItem
- {
- /// <summary>
- /// 特殊日期备注
- /// </summary>
- public string notes { get; set; }
- public long timestamp { get; set; }
- public List<long> checkintime { get; set; }
- public int type { get; set; }
- /// <summary>
- /// 开始时间戳
- /// </summary>
- public long begtime { get; set; }
- /// <summary>
- /// 开始时间
- /// </summary>
- public DateTime begtime_dt
- {
- get
- {
- return new DateTime(begtime * 10000000 + 621355968000000000L).ToLocalTime();
- }
- }
- public long endtime { get; set; }
- /// <summary>
- /// 开始时间
- /// </summary>
- public DateTime endtime_dt
- {
- get
- {
- return new DateTime(endtime * 10000000 + 621355968000000000L).ToLocalTime();
- }
- }
- }
- #endregion
- /// <summary>
- /// 企业微信 API
- /// 打卡月数据
- /// </summary>
- public class CheckInView:ResponseBase
- {
- /// <summary>
- /// 基础信息
- /// </summary>
- public List<Data>? datas { get; set; }
- }
- /// <summary>
- /// 基础信息 Data
- /// </summary>
- public class Data
- {
- /// <summary>
- /// 基础信息
- /// </summary>
- public Base_Info? base_info { get; set; }
- /// <summary>
- /// 汇总信息
- /// </summary>
- public Summary_Info? summary_info { get; set; }
- /// <summary>
- /// 异常状态统计信息
- /// </summary>
- public List<Exception_Info>? exception_infos { get; set; }
- /// <summary>
- /// 假勤统计信息
- /// </summary>
- public List<Sp_Item>? sp_items { get; set; }
- /// <summary>
- /// 加班情况
- /// </summary>
- public Overwork_Info? overwork_info { get; set; }
- }
- /// <summary>
- /// 成员基础信息
- /// </summary>
- public class Base_Info
- {
- /// <summary>
- /// 记录类型:1-固定上下班;2-外出(此报表中不会出现外出打卡数据);3-按班次上下班;4-自由签到;5-加班;7-无规则
- /// </summary>
- public int record_type { get; set; }
- /// <summary>
- /// 打卡人员姓名
- /// </summary>
- public string? name { get; set; }
- /// <summary>
- /// 打卡人员别名
- /// </summary>
- public string? name_ex { get; set; }
- /// <summary>
- /// 打卡人员所在部门,会显示所有所在部门
- /// </summary>
- public string? departs_name { get; set; }
- /// <summary>
- /// 打卡人员账号,即userid
- /// </summary>
- public string? acctid { get; set; }
- /// <summary>
- /// 打卡人员所属规则信息
- /// </summary>
- public Rule_Info? rule_info { get; set; }
- }
- /// <summary>
- /// 打卡人员所属规则信息
- /// </summary>
- public class Rule_Info
- {
- /// <summary>
- /// 所属规则的id
- /// </summary>
- public int groupid { get; set; }
- /// <summary>
- /// 打卡规则名
- /// </summary>
- public string? groupname { get; set; }
- }
- /// <summary>
- /// 汇总信息
- /// </summary>
- public class Summary_Info
- {
- /// <summary>
- /// 应打卡天数
- /// </summary>
- public int work_days { get; set; }
- /// <summary>
- /// 正常天数
- /// </summary>
- public int regular_days { get; set; }
- /// <summary>
- /// 异常天数
- /// </summary>
- public int except_days { get; set; }
- /// <summary>
- /// 实际工作时长,为统计周期每日实际工作时长之和
- /// </summary>
- public int regular_work_sec { get; set; }
- /// <summary>
- /// 标准工作时长,为统计周期每日标准工作时长之和
- /// </summary>
- public int standard_work_sec { get; set; }
- }
- /// <summary>
- /// 异常状态统计信息
- /// </summary>
- public class Exception_Info
- {
- /// <summary>
- /// 异常类型:1-迟到;2-早退;3-缺卡;4-旷工;5-地点异常;6-设备异常
- /// </summary>
- public int exception { get; set; }
- /// <summary>
- /// 异常次数,为统计周期内每日此异常次数之和
- /// </summary>
- public int count { get; set; }
- /// <summary>
- /// 异常时长(迟到/早退/旷工才有值),为统计周期内每日此异常时长之和
- /// </summary>
- public int duration { get; set; }
- }
- /// <summary>
- /// 假勤统计信息
- /// </summary>
- public class Sp_Item
- {
- /// <summary>
- /// 假勤类型:1-请假;2-补卡;3-出差;4-外出;100-外勤
- /// </summary>
- public int type { get; set; }
- /// <summary>
- /// 具体请假类型,当type为1请假时,具体的请假类型id,可通过审批相关接口获取假期详情
- /// </summary>
- public int vacation_id { get; set; }
- /// <summary>
- /// 假勤次数,为统计周期内每日此假勤发生次数之和
- /// </summary>
- public int count { get; set; }
- /// <summary>
- /// 假勤时长,为统计周期内每日此假勤发生时长之和,时长单位为天直接除以86400即为天数,单位为小时直接除以3600即为小时数
- /// </summary>
- public int duration { get; set; }
- /// <summary>
- /// 时长单位:0-按天 1-按小时
- /// </summary>
- public int time_type { get; set; }
- /// <summary>
- /// 统计项名称
- /// </summary>
- public string? name { get; set; }
- }
- /// <summary>
- /// 加班情况
- /// </summary>
- public class Overwork_Info
- {
- /// <summary>
- /// 工作日加班时长
- /// </summary>
- public int? workday_over_sec { get; set; }
- /// <summary>
- /// 节假日加班时长
- /// </summary>
- public int? holidays_over_sec { get; set; }
- /// <summary>
- /// 休息日加班时长
- /// </summary>
- public int? restdays_over_sec { get; set; }
- }
- public class AssessmentByUserListView : ResponseBase
- {
- public List<AssessmentByUserView> Data { get; set; }
- }
- public class AssessmentByUserView
- {
- public string Name { get; set; }
- public string Accid { get; set; }
- public int Regular_days { get; set; }
- public int Except_days { get; set; }
- public List<Exception_info> Exception_info_List { get; set; }
- public int Work_days { get; set; }
- }
- public class Exception_info
- {
- public ErrorType Type { get; set; }
- public DateTime Date { get; set; }
- public string Info { get; set; }
- }
- public enum ErrorType
- {
- 迟到 = 1, // 迟到
- 早退 = 2, // 早退
- 缺卡 = 3, // 缺卡
- 旷工 = 4, // 旷工
- 地点异常 = 5, // 地点异常
- 设备异常 = 6 // 设备异常
- }
- }
|