结合企业实际需求,对接钉钉考勤,得到考勤统计报表,对接人事管理系统,自动得到薪资报表。

  • 启用智能统计报表流程
  • 接口调用
  • 是否启用智能统计报表
  • 获取报表列定义
  • 获取报表列值
  • 获取报表假期数据

考勤智能统计报表,是考勤为了满足企业个性化的统计需求,提供的一套智能可编程的报表系统。企业可以通过简单勾选或者高级编程模式来定制企业的统计规则,非常便捷地提供便于计算薪酬结果的统计数据。本文介绍如何使用统计报表API,获取企业的统计报表数据。

启用智能统计报表流程

开发者登录钉钉管理后台,点击工作台-考勤打卡-进入,打开考勤打卡后台。

点击月度汇总,查看是否开启智能统计报表:

如果右上角是“切换新版”,那么是未启用智能报表状态。需要点击切换新版,即可启用智能统计报表。

如果右上角是“返回旧版”,那么无需进行其他操作,当前已启用新版智能统计报表。

接口调用

是否启用智能统计报表

判断企业是否开启了考勤智能报表,如果企业未启用智能报表,无法调用统计报表其他的接口。

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/attendance/isopensmartreport?access_token=ACCESS_TOKEN

参数说明:无需入参

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/isopensmartreport");
OapiAttendanceIsopensmartreportRequest req = new OapiAttendanceIsopensmartreportRequest();
OapiAttendanceIsopensmartreportResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());

返回结果

{"result": {"smart_report": true},"errmsg": "ok","errcode": 0
}

参数

类型

示例值

说明

errcode

Number

0

返回码。0表示成功,其他表示失败

errmsg

String

ok

对返回码的文本描述内容

result

└smart_report

boolen

true

true:开启,false:未开启

获取报表列定义

获取企业智能考勤报表中的列信息,通过获取列信息中的id值,可以根据列的id查询考勤智能报表中该列的统计数据,企业可以自主选择需要哪些列值来参与薪酬的计算。

注意:如果是获取假期相关字段信息,不返回id。如果希望获取假期相关信息,请调用本文-“获取报表假期数据”接口。

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/attendance/getattcolumns?access_token=ACCESS_TOKEN

参数说明:无需入参

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/getattcolumns");
OapiAttendanceGetattcolumnsRequest req = new OapiAttendanceGetattcolumnsRequest();
OapiAttendanceGetattcolumnsResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());

返回结果

{"errmsg": "ok","errcode": 0,"result": {"columns": [{"id": 123,"name": "工时"}]}
}

参数

类型

示例值

说明

errcode

Number

0

返回码。0表示成功,其他表示失败

errmsg

String

ok

对返回码的文本描述内容

result

└columns

└└id

Number

123

列id

└└name

String

工时

列名称

获取报表列值

获取钉钉智能考勤报表的列值数据,其中包含了一定时间段内报表某些列的所有数据,以及相关的列信息,企业可以基于该接口的返回值计算员工薪酬。

注意:不支持获取离职人员的考勤信息,离职人员的考勤数据可以在OA管理后台查询。

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/attendance/getcolumnval?access_token=ACCESS_TOKEN

参数说明:

参数

类型

必须

示例值

说明

userid

String

zhangsan

员工id

column_id_list

String

1,2,3

报表列id列表,多个用英文逗号分隔,最大长度20

from_date

Date

2018-07-11 12:12:12

开始时间

to_date

Date

2018-07-12 12:12:12

结束时间,结束时间减去开始时间必须在31天以内

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/getcolumnval");
OapiAttendanceGetcolumnvalRequest req = new OapiAttendanceGetcolumnvalRequest();
req.setUserid("zhangsan");
req.setColumnIdList("1,2,3");
req.setFromDate(StringUtils.parseDateTime("2018-07-11 12:12:12"));
req.setToDate(StringUtils.parseDateTime("2018-07-12 12:12:12"));
OapiAttendanceGetcolumnvalResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());

返回结果

{"errmsg": "ok","errcode": 0,"result": {"column_vals": [{"column_vals": [{"date": "2019-07-11","value": "1.0"}],"column_vo": {"id": 123},"fixed_value": "0"}]}
}

参数

类型

示例值

说明

errcode

Number

0

返回码。0表示成功,其他表示失败

errmsg

String

ok

对返回码的文本描述内容

result

└column_vals

└└column_vals

└└└date

String

2019-08-15

日期

└└└value

String

1.0

每天的值

└└column_vo

└└└id

Number

123

报表列id

└└fixed_value

String

2.0

固定值,某些报表列是固定列值的,那么仅会在这个字段返回,不会在column_vals中返回

获取报表假期数据

根据假期名称和用户id获取钉钉智能考勤报表的假期数据,其中包含了一定时间段内报表假期列的所有数据,由于假期列是一个动态列,因此需要根据假期名称获取数据。

请求方式:POST(HTTPS)

请求地址:https://oapi.dingtalk.com/topapi/attendance/getleavetimebynames?access_token=ACCESS_TOKEN

参数说明:

参数

类型

必须

示例值

说明

userid

String

zhangsan

员工id

leave_names

String

年假

假期名称,多个用英文逗号分隔,最大长度20

from_date

Date

2018-07-11 12:12:12

开始时间

to_date

Date

2018-07-12 12:12:12

结束时间,结束时间减去开始时间必须在31天以内

SDK请求示例(JAVA)

DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/getleavetimebynames");
OapiAttendanceGetleavetimebynamesRequest req = new OapiAttendanceGetleavetimebynamesRequest();
req.setUserid("zhangsan");
req.setLeaveNames("年假");
req.setFromDate(StringUtils.parseDateTime("2018-07-11 12:12:12"));
req.setToDate(StringUtils.parseDateTime("2018-07-12 12:12:12"));
OapiAttendanceGetleavetimebynamesResponse rsp = client.execute(req, access_token);
System.out.println(rsp.getBody());

返回结果

{"result": {"columns": [{"columnvo": {"name": "年假","id": 1},"columnvals": [{"value": "1.0","date": "2018-08-09"}]}]},"errcode": 0,"errmsg": "ok"
}

参数

类型

示例值

说明

errcode

Number

0

返回码。0表示成功,其他表示失败

errmsg

String

ok

对返回码的文本描述内容

result

└columns

└└columnvals

└└└date

String

2018-08-09

日期

└└└value

String

1.0

每天的值

└└columnvo

└└└id

Number

123

报表列id

└└└name

String

年假

假期类型

钉钉二次开发 考勤与薪资统计相关推荐

  1. 钉钉网页版怎样适用于企业的个性化发展

    如果一家企业有一千名员工,而它又有能力激发出这一千名员工的创造创新力,那这家企业的能量是巨大的,它就会不断自我更新进化."近日,在新制造峰会上,阿里钉钉CEO陈航表示:激发员工创造创新很重要 ...

  2. 云南昆明钉钉ISV定制二次开发,企业办公OA、HR、CRM系统集成解决方案

    一.钉钉定制介绍 钉钉协同办公软件是侧重于企业应用.沟通的协同工具,提高企业智能办公效率,方便更多的云南企业管理.现在越来越多的企业都在使用钉钉系统办公.云南天成科技旗下(云南天智云科技),是钉钉官方 ...

  3. 钉钉二次开发-组织机构同步 获取用户信息 单点登录接口

    建用户 调试工具:在线调试 请求方式:POST(HTTPS) 请求地址:https://oapi.dingtalk.com/user/create?access_token=ACCESS_TOKEN ...

  4. 钉钉开发平台 —H5微应用-- 扫条形码、二维码 api 示例

    扫条形码.二维码 使用说明 客户端 Android iOS PC 支持说明 支持 支持 不支持 dd.biz.util.scan({type: String , // type 为 all.qrCod ...

  5. 蝉道二次开发与钉钉机器人对接

    一.需求及分析过程 痛点:蝉道中单据(如:bug)填写不规范,需要筛选数据后再大量时间与当时人沟通,费时费力,如果设置为必填字段,会对其他业务线造成阻碍,只能单独拉取并通知相关人员. 需求:将特定项目 ...

  6. 5分钟快速接入钉钉实现钉钉考勤

    一.前言 由于今年疫情影响,假期的无限延长让大家都不得不进行线上办公,说到线上办公就毫无疑问,钉钉是这个疫情假期最大的赢家,APP的火热程度以及下载量甚至压过了微信,跃居App store免费排行榜第 ...

  7. android仿钉钉日程日历,Flutter仿钉钉考勤日历的示例代码

    本文主要介绍了Flutter仿钉钉考勤日历的示例代码,分享给大家,具体如下: 效果 原型 开发 1. 使用 // 考勤日历 DatePickerDialog( initialDate: DateTim ...

  8. 钉钉考勤与企业系统对接

    公司最近企业系统要与钉钉考勤打卡数据对接,所以需要拿到钉钉上月员工的考勤打卡数据.配置了spring定时任务,任务类步骤如下: 引入钉钉相关JAR包 一:获得tooken 1.需要公司钉钉管理员给开发 ...

  9. 钉钉API考勤打卡记录获取并存入数据库(python)

    前言: 钉钉有个开发平台,通过API可以开发自己企业内部应用,钉钉开发文档顺序写的有点乱,花了挺长时间才看懂,我写了一个python脚本来获取考勤记录,当然能做的不止这些,可以删除公司成员,修改部门, ...

最新文章

  1. K8S 从懵圈到熟练--大数据平台技术栈18
  2. 日常英语---一、纸质版还是电子版
  3. 反射和代理的具体应用
  4. linux如何查看mysql是否启动
  5. Java toString()方法的要点
  6. Spring Boot基础学习笔记13:路径扫描整合Servlet三大组件
  7. 1. 变量和基本类型
  8. 设置窗体的可见性无效
  9. React Native For Android 架构初探
  10. delphi7 调webservice时报错:fault occurred while processing
  11. mac地址查 计算机名字,怎么看mac地址-教你通过MAC地址查询设备的厂商名称
  12. 金蝶系统无法建立数据可连接服务器,金蝶K3打开,提示无法建立数据链接
  13. mindoc快速搭建教程
  14. android心率曲线绘制,巧妙绘制心率曲线图的方法实践
  15. 江苏工匠杯_easyphp_wp
  16. devops1--k8s安装
  17. MySQL的存储引擎InnoDB选择了B+ 树
  18. Agent with Warm Start and Adaptive Dynamic Termination for Plane Localization in 3D Ultrasound
  19. 24V-5V/12V 高效率转压板设计(附电路原理图和pcb)
  20. 多元线性回归分析(R语言)

热门文章

  1. c#+mysql备份还原数据库_C#实现对数据库的备份还原(完全) – meimao5211
  2. 10kv电压互感器型号_高压互感器型号含义
  3. stream流去除对象的值_Java 流(Stream)、文件(File)和IO
  4. W2k8应用vista主题
  5. python读取excel股票历史数据_python实例:从excel读取股票代码,爬取股票信息写到代码后面的单元格中...
  6. 把avl、f4v、flv格式转换成mp4格式的方法--win10专业版
  7. 刷完这套微服务+多线程+源码+分布式+调优试题,年薪50w还会是问题吗
  8. suse linux查询端口占用,Suse Linux常用端口开启、关闭、禁用
  9. 深度学习中高斯噪声:为什么以及如何使用
  10. j = j ++ 和 j = ++ j的区别