微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于移动定位服务的考勤管理系统

基于移动定位服务的考勤管理系统

时间:06-27 来源:计算机系统应用 点击:

信息、自动周期定位条件、自动周期定位规则等。其中,触发规则分为:发送定位请求的手动触发和设定触发时间的系统自动触发两种。

  步骤2:系统对定位成功的移动终端进行自动范围搜索前,设定搜索等待时间,在搜索等待时间内,如果用户没有操作,则系统开始搜索;如果用户主动推迟范围搜索,系统则取消搜索,执行所选操作。系统对需要周期定位或定位不成功的移动终端进行自动周期定位,直至到达规定循环定位次数或定位成功。

  步骤3:根据搜索结果,生成考勤信息,并将各种记录填入相应的信息表。

  步骤4:根据具体需要和用户操作,在地图上展示或回放考勤结果,并进行统计。

  2 关键技术

  2.1 考勤信息生成

  考勤信息生成模块用于从数据库的表中读取每个移动终端当日的考勤记录,并根据考勤规则,生成每个员工的出勤数据,将移动终端用户的相关信息、出勤情况写入考勤信息表,存储在系统的数据库中。该功能由定位信息处理模块的三个子模块完成,即定位执行子模块、范围搜索子模块和GIS 地图子模块。

  定位执行子模块,系统接收用户的定位请求,调用定位SP 提供的定位接口进行定位,然后将定位结果存入数据库的定位结果表中。如果定位成功,则定位执行子模块将定位成功的移动终端的经度和纬度写入定位成功表;如果定位失败,系统给出提示信息,并将定位失败的信息写入定位失败表中,以备查询。此外,定位结束后,定位执行子模块给出提示信息,如:定位结束、定位成功、定位失败等信息。在定位执行期间,定位执行子模块不能再接受新的定位请求。

  范围搜索子模块,接受用户范围搜索请求,从数据库中取出定位成功的移动终端所在位置信息,查找该移动终端是否在设定的工作区域内。对于定位成功的移动终端,用户可以随时启动、或者设定时间来启动范围搜索程序,查看某定位成功的移动终端是否在工作区域内,以获得员工的考勤情况。

  其中范围搜索算法采用经典的点与多边形关系判定方法,根据本系统的实现,具体分为(1)判断一点是否在一个圆内,只需判断该点与圆心的距离是否小于或等于半径即可。(2)判断点是否在多边形内,过该点向x 轴正方向做一条射线,如果该射线与多边形有奇数个交点,则该点在多边形内,有偶数个交点则在多边形外[13]。对于移动终端定位失败的情况,需要对该移动终端进行自动周期定位搜索,即,根据设定的定位周期和定位次数,在工作区域内对该移动终端定位并进行范围搜索的过程。图3 给出了自动周期定位搜索流程。

  

  图3 自动周期定位搜索流程图。

  GIS 地图子模块用于在定位成功后将被定位移动终端的位置显示在数字地图上。根据此功能,考勤管理系统能够根据该位置信息为用户服务,比如在数字地图上进行指定条件的搜索,获取搜索结果的信息等。

  该子模块还具有定位历史记录回放功能。

  根据定位和范围搜索结果,系统生成移动终端对应的员工考勤信息,存储在数据库中,从而完成考勤工作。

  2.2 员工轨迹回放

  本系统还具有根据查询条件显示所存储的移动终端定位历史记录的回放功能,回放方式分为两种:

  (1)按照真实的定位时间间隔回放。根据之前对用户的每次定位操作成功后,定位记录中包含的移动终端号码、经纬度和定位时间信息,按照定位记录的原始时间间隔在地图上依次显示移动终端的位置。

  (2)按照系统设定的时间快速回放。用户可以快速地浏览该时间段内的定位记录,而不考虑真实的时间间隔,按照系统配置时设定的时间快速对某个移动终端在某个时间段内的定位历史记录在数字地图上回放。

  移动终端定位的历史记录就是存放在数据库中的搜索结果表,在使用定位历史记录回放功能时,首先需要根据用户指定的回放时间段和移动终端号码从数据库中得到所有的定位记录,选择定位回放方式,在数字地图上回放被定位设备的历史轨迹。

  按照真实定位时间间隔回放的实现方式并不能保证时间间隔完全准确,由于接口调用时间等原因只能保证大致准确。如果要求快速回放,只需在取得所有符合条件的定位记录后,按照系统设定的固定时间间隔休眠所述线程即可,而不需要做相邻两条记录之间的时间差运算。在两种回放过程中,用户均可以随时中止回放。

  图4 给出了按照真实定位时间间隔回放定位历史记录的工作流程。

  

  图4 回放定位历史记录工作流程。

用户输入查询条件后,系统调用定位历史记录接口,并判断如果存在符合条件的定位历史记录,则启动一个定位回放线程,将查询到的所有定位历史记录传入该线程(该线程中定义了一

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top