钉钉数据相关文档
目的:主要实现统计员工的加班及考勤信息。
- 获取公司全员数据表【该表每天自动更新一次】
- 首先根据
ACCESS_TOKEN
获取部门列表;包括部门间的关系 - 然后根据
ACCESS_TOKEN
和department_id
获取部门的人员信息userid - 最后根据userid获取用户的详细信息,组成公司的人员信息表
- 首先根据
表字段
参数 | 说明 |
---|---|
unionid | 员工在当前开发者企业账号范围内的唯一标识,系统生成,固定值,不会改变 |
openId | |
userid | 员工在当前企业内的唯一标识,也称staffId。可由企业在创建时指定,并代表一定含义比如工号,创建后不可修改 |
isLeaderInDepts | 在对应的部门中是否为主管:Map结构的json字符串,key是部门的Id,value是人员在这个部门中是否为主管,true表示是,false表示不是 |
isBoss | 是否为企业的老板,true表示是,false表示不是 |
hiredDate | 入职时间。Unix时间戳 (在OA后台通讯录中的员工基础信息中维护过入职时间才会返回) |
isSenior | 是否是高管 |
department | 成员所属部门id列表 |
workPlace | 办公地点 |
orderInDepts | 在对应的部门中的排序,Map结构的json字符串,key是部门的Id,value是人员在这个部门的排序值 |
mobile | 手机号码 |
errmsg | 对返回码的文本描述内容 |
active | 是否已经激活,true表示已激活,false表示未激活 |
isAdmin | 是否为企业的管理员,true表示是,false表示不是 |
isHide | 是否号码隐藏,true表示隐藏,false表示不隐藏 |
name | 员工名字 |
stateCode | 国家地区码 |
position | 职位信息 |
加班数据
processID:
加班:processCode=PROC-EF6YNNYRN2-41ZEFE73TL17CARUWAXW1-M2UO8GUI-2M
出差:processCode=PROC-EF6YNNYRN2-41ZEFE73TL17CARUWAXW1-91UO8GUI-YL
补卡:processCode=PROC-EF6YLU2SO2-VX2FR1HNPQANWJFQ4C5M1-27BRANUI-U21
请假:processCode=PROC-EF6YNNYRN2-41ZEFE73TL17CARUWAXW1-H0UO8GUI-WL
步骤一
- 首先根据审批流程ID:
process_code
批量拿到规定时间范围内的审批实例ID:process_instance_id
,然后根据具体的process_instance_id
拿到具体的加班时长信息。
mysql数据库:
无论加班或请假,由于拿到的时间都是领导审批单中的时间,这样就会有几个问题:
加班:
1. 员工在加班之后两天提交流程. 只能在审批时拿到数据
- 领导延后2天审批流程; 只能在审批时拿到数据
- 一个人一天是否可以提多次加班流程?
请假:
1. 员工提前请假,请多天,领导当天审批 只能在审批时拿到数据,该情况可以将数据写到后面的日期中。
- 员工提前请假,请多天,领导延后审批 同加班情况
- 员工延后请假 同加班情况
来源:oschina
链接:https://my.oschina.net/112612/blog/3209206