| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 | 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; }    }}
 |