在工作中,上班打卡、下班打卡几乎是每个工作日的必要内容,那么用云表手机APP如何实现考勤打卡功能呢?

一、开发前需要做好的准备工作如下:
1云表本地部署版本。
2云表地图定位包map.zip。(采购正式版后联系云表工作人员获取)

二、配置服务器
在云表服务器的安装路径中,找到
\Latosoft\LatoServer\Bin\Tomcat\webapps\ROOT\WEB-INF\application\public
这个路径。

在此路径下建立一个map文件夹,
把map.zip这个压缩包中的文件解压,放到新建的map文件夹里。



然后 在
\Latosoft\LatoServer\Bin\Tomcat\webapps\ROOT\WEB-INF\application\conf
路径中的 routes 文件中 加两行数据

GET /10001/map/ staticDir:public/map
GET /10001/ElectronicFence.html staticFile:public/map/ElectronicFence.html




三、进入云表系统,新建两个模板
1打卡中心点设置模板
2打卡模板


打卡中心点设置中,需要4个必要数据项
1经度
2纬度
3定位打卡中心点按钮(按钮即可,名称可以自定义)
4打卡半径(单位为米)

位置地点数据项可以显示地图上的位置名称,有利于判断定位是否正确,但是对于功能来说不是必要
经度、纬度数据项类型为小数,小数位数设置为6位、目前收集获取的经度一般是5位或者6位
(来自于网络的参考资料:
经度0.00001度(十万分之一度,0°0"0.036"),在赤道上对应的地球表面距离约为1米稍多,但在南北极极点上,则是0米。

纬度0.00001度在地球表面任意地方对应的地球表面距离都是大约1米稍多。




然后开始设计填表公式,在设备监听中添加系统设备监听器,选择定位设备




在单元格按钮中,添加定位打卡中心点按钮,然后添加填表公式发送命令到设备


设备选择刚添加的定位设备、命令选择开始,该公式的作用是打开定位界面


然后在设备监听,定位设备中,添加一个赋值公式,将经度、纬度和地点名称赋值到本表单


再添加一个发送命令到设备的公式,设备选择定位设备,命令选择结束,该公式的作用在于退出定位界面


新建一个数据接口,添加经度、纬度和打卡半径三个数据项,供打卡时候计算和判断使用


保存模板时记得选择支持移动端,因为我们打卡时都是在移动端才做。可以勾选只有一份表单,这样就只会出现一个打卡点中心,当然,我们咱们有多个公司/多个办公地点等情况,就不要勾选只有一份表单了,在模板中加一个办公室名称,新建时手工填写,或者从组织机构中选择,就可以管理多个打卡点中心了

接下来设计打卡模板
打卡模板有9个必要数据项
1打卡按钮
2经度
3纬度
4打卡人(可以配置系统变量.当前用户姓名)
5日期
6距打卡中心距离
7打卡中心经度
8打卡中心纬度
9打卡半径

其他数据项就根据业务需要来配置了,上述数据项中部分数据项可以隐藏起来,打卡人可以不需要看到,我这里是为了让大家明白方法,就全部列出、同打卡中心点一样,记得设置经纬度小数位数为6位




填表公式与打卡中心点设置的方法同理






接下来到了难点了,计算打卡点到打卡点中心的距离
勾股定理应该都还记得吧?
105539.1756是经纬度换算成米的常量






距离计算出来后与打卡半径做对比,小于等于打卡半径则保存,大于打卡半径则报错,如果大于打卡半径不让打卡,可以复制报错公式粘贴到保存表单前事件中,则大于打卡半径就不能保存,保存就会报错,也就是不能打卡了






手机APP打卡效果如下





+1 4

最近谁赞过

4条回帖
思泽 云粉 2023-9-17 12:24:40
建议做成数据类型或全局接口,便于调用和使用
+1 1

最近谁赞过

致融 云侠 2023-8-20 12:11:51
如果单位人数多几千人,只用来打卡的话,那费用岂不是很贵?
+1 1

最近谁赞过

需要登录后才可进行回复 登录

玩转云表从入门到精通
扫码添加微信立即领取

·云表创始人授课文件
·加入社群与培训学习
·切磋云表开发玩法

商务咨询:0756-3335860
客服咨询
Baidu
map