基于移动终端的考勤管理系统及其实现方法转让专利

申请号 : CN200710118562.6

文献号 : CN100583166C

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张玉洁孟祥武

申请人 : 北京邮电大学

摘要 :

本发明公开了一种基于移动终端的考勤管理方法,该方法通过设置考勤管理的相关信息,根据所述相关信息中设定的触发规则对移动终端定位,将定位结果写入数据库中的定位结果表,根据所述相关信息中设置的搜索范围及方式,搜索定位成功的移动终端,并将搜索结果写入数据库的搜索结果表中;根据搜索结果,生成考勤信息表。本发明还公布了基于该方法的考勤管理系统,该系统包括数据库、用户登录模块、信息管理模块、系统配置模块、查询模块、考勤信息生成模块、统计模块、总控模块和定位信息处理模块,各模块均连接总控模块和数据库。本发明能够随时定位员工位置,对一次定位失败的移动终端进行周期定位,具有数据交换速度高,准确可靠的优点。

权利要求 :

1、一种基于移动终端的考勤管理系统,包括:

数据库,用于存放系统配置信息及各种数据;

用户登录模块,用于提供人机交互界面;

信息管理模块,用于管理员工信息、系统用户信息;

系统配置模块,用于完成系统各种参数设置;

查询模块,用于查看考勤记录;

考勤信息生成模块,用于计算每个移动终端当日的考勤记录;

统计模块,用于对各个移动终端进行不定期记录统计;

总控模块,负责调用所有模块;

其特征在于,所述系统还包括:

定位信息处理模块,用于获取移动终端的位置信息,并根据获取的移动终 端的位置信息进行考勤处理;所述定位信息处理模块包括:定位执行子模块和 范围搜索子模块;定位执行子模块,用于接收定位请求,调用定位接口进行定 位,并将定位结果存储在数据库中;范围搜索子模块,从数据库中取出定位成 功的移动终端的定位数据,并判定该移动终端是否在设定的范围内;所述定位 信息处理模块还包括GIS地图子模块,具有基于位置的GIS服务,用于在定位 成功后将被定位移动终端的位置显示在数字地图上;

各模块均连接总控模块和数据库;

所述移动终端是指具有定位功能的移动终端;

所述的移动终端的位置信息,是由移动终端的电信运营商提供的无线通信 网络提供的。

2、一种基于移动终端的考勤管理方法,其特征在于,设置考勤管理的相关 信息,所述考勤管理的相关信息包括:定位参数、定位触发规则、定位成功表、 定位失败表、搜索程序的触发规则、搜索结果表结构、搜索范围、考勤规则、 用户信息、触发时间、考勤信息表、出错信息、自动周期定位条件或自动周期 定位规则;该方法还包括以下步骤:A、根据所述相关信息中设置的触发规则对移动终端定位,并将定位结果 写入数据库的定位结果表中;

B、根据所述相关信息中设置的搜索范围及方式,搜索定位成功的移动终 端,并将搜索结果写入数据库的搜索结果表中;系统对定位成功的移动终端进 行自动搜索前,设定搜索等待时间,在搜索等待时间内,如果用户没有操作, 则系统进入自动搜索;如果用户对范围搜索进行推迟、取消操作,则执行所选 操作;所述范围搜索为圆形区域搜索;所述圆形区域搜索包括:B11、通过设 定圆心位置与半径确定圆形区域的范围;B12、计算移动终端到圆心距离;B13、 判断步骤B12计算的所述距离是否大于半径,如果大于,则移动终端不在圆形 区域内,否则,移动终端在圆形区域内;或者,所述范围搜索为多边形区域搜 索;所述多边形区域搜索包括以下步骤:B21、过移动终端所在位置点向x轴 正方向做一条射线;B22、确定所做射线与多边形交点个数,如果所做射线与 多边形有奇数个交点,则该位置点在多边形区域内;如果是偶数个交点,则该 位置点在多边形区域外;

C、根据搜索结果,生成考勤信息表;

所述移动终端是指具有定位功能的移动终端;

所述的对移动终端定位,是指向移动终端的电信运营商提供的无线通信网 络发送定位请求,获取移动终端的位置信息。

3、根据权利要求2所述的考勤管理方法,其特征在于,该方法还包括:判 断是否有需要周期定位的记录,如果有,则对需要周期定位的移动终端进行自动周期定位,直至到达规定 循环定位次数或定位成功,系统提示用户结束自动周期定位,对于定位成功的 移动终端,执行步骤B,对于定位失败的移动终端,将其写入定位失败表;

如果没有,则不作处理。

4、根据权利要求2所述的考勤管理方法,其特征在于,该方法还包括:根 据查询条件显示所存储的移动终端定位的历史记录。

5、根据权利要求2所述的考勤管理方法,其特征在于,所述触发规则为: 通过发送定位请求手动触发;或通过设定触发时间由系统自动触发。

说明书 :

技术领域

本发明涉及电子考勤管理技术,特别是一种基于移动终端的考勤管理系统 及其实现方法。

背景技术

考勤管理是企事业单位经营的重要环节,加强考勤管理,严肃考勤制度是 搞好各项管理工作的前提与保障。科学地管理考勤不仅可以保证各项管理计划 得以落实,而且有利于提高工作学习效率。长期以来,很多单位沿袭人工方式 进行考勤管理,这些单位都设有专门负责考勤的人员,负责手工登记或统计单 位所有员工的考勤记录。这种传统的考勤方式工作繁杂,每日考勤的统计工作 量极大,不仅很难保证数据的准确与实时,难以实现科学准确地考勤管理,而 且会增加大量的管理成本。
随着电子技术的发展,出现了很多用于实现电子化考勤机制的考勤设备, 比如打卡机、指纹考勤机等,这些电子考勤系统通过员工手动打卡,采用电脑 记录每个员工的考勤时间,但这类电子考勤系统大都只能设置有限的计时点, 无法满足随时考勤的需要,不能对考勤作灵活的设置,一旦机器故障,就失去 了作用。而且,普通的电子打卡式考勤,可能出现代替打卡等现象,这样,就 失去了考勤的意义。另外,普通的电子考勤系统功能单一,仅能记录出勤情况, 如果需要对出勤情况进行统计、再次利用,还需要人工或者其他专门软件来计 算。

发明内容

有鉴于此,本发明的主要目的在于提供一种基于移动终端的考勤管理系统, 能够多次实时考勤,并且能对员工的考勤数据进行统计。
本发明的主要目的在于提供一种基于移动终端的考勤管理实现方法,能实 现任意次实时考勤,并能对员工的考勤数据进行统计。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于移动终端的考勤管理系统,包括:
数据库,用于存放系统配置信息及各种数据;
用户登录模块,用于提供人机交互界面;
信息管理模块,用于管理员工信息、系统用户信息;
系统配置模块,用于完成系统各种参数设置;
查询模块,用于查看考勤记录;
考勤信息生成模块,用于计算每个移动终端当日的考勤记录;
统计模块,用于对各个移动终端进行不定期记录统计;
总控模块,负责调用所有模块;
所述系统还包括:
定位信息处理模块,用于获取移动终端的位置信息,并根据获取的移动终 端的位置信息进行考勤处理;
各模块均连接总控模块和数据库。
所述定位信息处理模块进一步包括:定位执行子模块和范围搜索子模块;
定位执行子模块,用于接收定位请求,调用定位接口进行定位,并将定位 结果存储在数据库中;
范围搜索子模块,从数据库中取出定位成功的移动终端的定位数据,并判 定该移动终端是否在设定的范围内。
所述定位信息处理模块还包括GIS地图子模块,具有基于位置的GIS服务, 用于在定位成功后将被定位移动终端的位置显示在数字地图上。
一种基于移动终端的考勤管理方法,设置考勤管理的相关信息,该方法还 包括以下步骤:
A、根据所述相关信息中设置的触发规则对移动终端定位,并将定位结果 写入数据库的定位结果表中;
B、根据所述相关信息中设置的搜索范围及方式,搜索定位成功的移动终 端,并将搜索结果写入数据库的搜索结果表中;
C、根据搜索结果,生成考勤信息表。
所设置的考勤管理相关信息包括但不限于:定位参数、定位触发规则、定 位成功表、定位失败表、搜索程序的触发规则、搜索结果表结构、搜索范围、 考勤规则、用户信息、触发时间、考勤信息表、出错信息、自动周期定位条件、 自动周期定位规则。
该方法进一步包括:步骤B中,系统对定位成功的移动终端进行自动搜索 前,设定搜索等待时间,在搜索等待时间内,如果用户没有操作,则系统进入 自动搜索;如果用户对范围搜索进行推迟、取消操作,则执行所选操作。
该方法还包括:判断是否有需要周期定位的记录,
如果有,则对需要周期定位的移动终端进行自动周期定位,直至到达规定 循环定位次数或定位成功,系统提示用户结束自动周期定位,对于定位成功的 移动终端,执行步骤B,对于定位失败的移动终端,将其写入定位失败表;
如果没有,则不作处理。
该方法还包括:根据查询条件显示所存储的移动终端定位的历史记录。
所述触发规则为:通过发送定位请求手动触发;或通过设定触发时间由系 统自动触发。
所述范围搜索为圆形区域搜索;所述圆形区域搜索进一步包括:
B11、通过设定圆心位置与半径确定圆形区域的范围;
B12、计算移动终端到圆心距离;
B13、判断步骤B12计算的所述距离是否大于半径,如果大于,则移动终 端不在圆形区域内,否则,移动终端在圆形区域内;
或者,所述范围搜索为多边形区域搜索;所述多边形区域搜索进一步包括 以下步骤:
B21、过移动终端所在位置点向x轴正方向做一条射线;
B22、确定所做射线与多边形交点个数,如果所做射线与多边形有奇数个 交点,则该位置点在多边形区域内;如果是偶数个交点,则该位置点在多边形 区域外。
本发明所提供的基于移动终端的考勤管理系统及其实现方法,具有以下优 点和特点:
1)本发明运用移动终端定位技术和范围搜索算法,能根据用户移动终端的 位置实时定位出用户位置,并进一步计算各种考勤数据,生成统计报表,为管 理人员提供参考,因其能够随时定位员工的位置,使得在管理人员需要时,能 够及时的获取出勤信息,避免普通打卡制度中替人打卡的现象。
2)本发明基于移动终端的定位技术,使用通讯网络,能够随时抽查人员的 出勤情况,弥补定点考勤的不足,而且在网络故障时,能够周期性的发送请求, 直到网络恢复正常,避免了普通的电子考勤管理系统,由于故障而采用人工记 录的麻烦。
3)本发明提供多种软件接口,数据交换速度高,准确可靠,便于对考勤数 据的使用。

附图说明

图1为本发明所述系统示意图;
图2本发明考勤管理系统功能结构图;
图3为本发明所述方法的流程图;
图4为本发明圆形区域搜索流程图;
图5为本发明多边形区域搜索流程图;
图6为本发明自动周期定位搜索流程图;
图7为本发明定位历史记录回放流程图。

具体实施方式

本发明的基本思想是:通过移动终端及其提供的地理信息系统(GIS, Geographic information system)功能,对每个需考勤的员工的位置进行实时定 位,根据定位结果确定该员工是否在工作区内,从而达到实时判定每个员工出 勤情况的目的。
如图1所示,图1中虚线框部分为本发明所述系统,其包括考勤管理系统 所部署的考勤管理系统服务器、服务提供商(SP,Service Provider)的定位SP、 通过互联网与考勤管理系统连接的GIS服务器、具有定位功能的移动终端;该 定位SP与考勤管理系统服务器、运营商网络的定位网关之间均通过互联网连 接,使得本发明系统通过考勤管理系统服务器发送定位请求支持定位的手机、 个人数字助理(PAD,Personal Digital Assistant)、车载定位设备等均为本发明 系统要定位的移动终端,系统管理员可通过考勤管理系统所在的客户端PC机 登录系统,进行考勤管理。
本发明考勤管理系统的功能结构如图2所示,考勤管理系统包括总控模块 201、用户登录模块202、信息管理模块203、系统配置模块204、定位信息处 理模块205、查询模块206、考勤信息生成模块207和统计模块208。其中,总 控模块201连接各个模块,负责调用各个模块;考勤管理系统还包括用于存放 系统配置信息及各种数据的数据库,图2中未示出。考勤管理系统中各模块的 功能如下:
用户登录模块202,用于提供人机交互界面,用户通过该页面输入用户名、 口令等信息登录考勤管理系统,由系统判断是否为合法用户。对于不同的用户, 系统提供不同的权限,以便用户使用系统所提供的不同功能。比如:有的用户 只能查看相关的考勤信息,不能进行系统配置和定位功能;有的用户拥有全部 权限,如系统管理员。
信息管理模块203包括两个子模块:员工信息管理子模块和用户信息管理 子模块,图2中未示出。员工信息管理子模块,用于进行员工基本信息的增加、 删除、修改、查询等操作;用户信息管理子模块,用于系统用户的创建、用户 权限修改、系统用户删除等操作。
系统配置模块204,拥有配置权限的用户进行各种参数配置,如:移动终 端号码、考勤规则、核心工作时间段、假期、请假时间、用户信息、定位方式、 定位参数、范围搜索方式等进行配置,并将配置结果保存在数据库中。
定位信息处理模块205,用于接受用户的定位请求,获取移动终端的位置 信息,并根据获取的移动终端的位置信息进行考勤处理。
查询模块206用于查询指定移动终端、指定时间的考勤记录,包括出错设 计,比如:若输入的时间是格式错误,则提示用户重新输入;若找不到输入的 用户姓名,则提示该用户不存在。
考勤信息生成模块207用于从数据库的表中读取每个移动终端当日的考勤 记录,并根据考勤规则,生成每个人的出勤数据,如迟到、早退、旷工等信息; 将移动终端用户的相关信息、出勤情况写入考勤信息表,存储在系统的数据库 中。考勤信息表包含移动终端号、员工姓名、工作日期、各工作时间段的出勤 情况等信息,如表一所示:
  序号   属性名   数据类型   长度   描述   1   Mobile_number   字符串   11   移动终端号   2   Employee_name   字符型   8   姓名   3   Work_data   时间型   3   工作日期   4   Work_time1_duty   字符型   8   上午工作时间段出勤情况   5   Work_time2_duty   字符型   8   下午工作时间段出勤情况
表一
统计模块208,用于对各个移动终端进行不定期记录统计,并具有报表统 计和打印功能,可按天、月统计全体人员(或某个人)的迟到、早退、旷工等 出勤情况。
定位信息处理模块205进一步包含定位执行子模块205a、范围搜索子模块 205b和GIS地图子模块205c。
定位执行子模块205a,接收用户的定位请求,调用定位SP提供的定位接 口进行定位,然后将定位结果存入数据库的定位结果表中。具体来说,如果定 位成功,则定位执行子模块205a将定位成功的移动终端的经度和纬度写入定位 成功表;如果定位失败,系统给出提示信息,并将定位失败的信息写入定位失 败表中,以备查询。定位成功表或者定位失败表主要包含移动终端的定位信息, 如下所示,表二是定位成功表,表三是定位失败表。
  序号   属性名   数据类型   长度   描述   1   Mobile_number   字符串   11   移动终端号   2   Location_data   日期型   3   定位日期   3   Location_time   时间型   3   定位时间   4   Long   浮点型   20   经度   5   Lat   浮点型   20   纬度
表二
  序号   属性名   数据类型   长度   描述   1   Mobile_number   字符串   11   移动终端号   2   Location_data   日期型   3   定位日期   3   Location_time   时间型   3   定位时间
表三
此外,定位结束后,定位执行子模块205a给出提示信息,如:定位结束、 定位成功、定位失败等信息。在定位执行期间,定位执行子模块205a不能再接 受新的定位请求,如果有用户选择定位功能,系统给出此时定位执行功能不可 用的信息,当在先的定位请求被执行完毕后,该功能重新可用。
范围搜索子模块205b,接受用户范围搜索请求,从数据库中取出定位成功 的移动终端所在的位置信息,查找该移动终端是否在设定的范围内。
GIS地图子模块205c,具有基于位置的GIS服务,用于在定位成功后将被 定位移动终端的位置显示在数字地图上。根据此功能,考勤管理系统能够根据 该位置信息为用户服务,比如在数字地图上进行指定条件的搜索,获取搜索结 果的信息等。该子模块还具有定位历史记录回放功能,该功能在数字地图上按 照先前实际的定位时间间隔回放显示用户的定位记录,显示被定位设备的定位 轨迹,该功能特别适用于频繁移动的定位设备,如车载定位设备。用户只需要 输入开始时间、结束时间以及要回放的定位设备的号码即可从数据库中读取相 应的数据并在数字地图上回放显示;定位历史记录回放功能也支持依照系统配 置中设定的时间间隔进行回放,这样,用户操作更灵活。
本发明的软件环境包括但不限于:客户端PC操作系统采用Windows XP Home/Professional Edition;服务器端操作系统采用Solaris 5.9;应用服务器为 WebLogic Server 8.1;数据库采用Mysql Ver 14.12 Distrib 5.0.18,for sun-solaris2.9 (sparc)using readline 5.0;GIS服务器软件采用MapInfo MapXtreme(R)Java Edition(TM)4.5.0服务器。
基于图2所示的考勤管理系统,本发明基于移动终端的考勤管理方法如图 3所示,包括以下步骤:
步骤301:设定考勤管理的相关信息。
这里,所述相关信息包括但不限于:用户信息、定位参数、定位搜索程序 的触发规则、触发时间、搜索范围、定位成功表的信息、定位失败表的信息、 搜索结果表的信息、考勤信息表的信息、考勤规则、出错信息、自动周期定位 条件、自动搜索规则等等。
其中,用户信息进一步包括管理人员、被考勤人员的信息,以区分登录系 统的不同人员;定位参数包括移动终端的号码、经纬度数据、首次自动定位时 间、末次自动定位时间、自动周期定位的周期、自动周期定位的次数、范围搜 索的次数;定位执行程序的触发规则指自动触发、手动触发;触发时间可以设 置多个;搜索范围用来确定考勤的区域,需根据不同的搜索程序,设定相应的 范围;定位结果表记录系统对各个移动终端每次定位的定位结果,以便根据考 勤规则对相应人员进行处理;考勤信息表记录每个移动终端每次考勤的情况; 考勤规则根据不同需要设定考勤时间、核心工作时间、假期、请假事项、在规 定时间未被定位的处理记录、自动定位周期、定位次数等等;出错信息是指管 理员登录系统,查询条件输入错误时系统提示信息;自动周期定位条件是指根 据考勤规则,对定位失败或者不在搜索范围内的的移动终端需要进入自动周期 定位处理;自动搜索规则是设定自动搜索的周期、次数等等。
步骤302:根据步骤301相关信息中设定的触发规则对移动终端定位,并 记录定位结果。这里,所述记录是将定位结果写入定位结果表。
此步骤中所述的触发方式有两种:自动触发和手动触发,根据不同的需求 使用其中的一种或两种。所谓自动触发是指:在步骤301设定触发定位搜索的 时间,到达该时间时,定位搜索程序将自动运行,系统向移动终端的电信运营 商提供的无线通信网络发送定位请求,获取移动终端的位置信息,即经纬度坐 标数据。所谓手动触发是指:在需要时,用户向考勤管理系统服务器发送需要 搜索的移动终端信息,以启动定位搜索程序,具体过程与自动触发过程相同。
定位程序运行后,对移动终端定位有两种结果:定位成功或定位失败。如 果定位成功,则将定位结果写入定位成功表。如果定位失败,将定位结果写入 定位失败表。
步骤303:根据所述相关信息中设置的搜索范围及方式,搜索定位成功的 移动终端,并将搜索结果写入数据库的搜索结果表中。
对于定位成功的移动终端,用户可以随时启动、或者设定时间来启动范围 搜索程序,查看某定位成功的移动终端是否在工作区域内,以获得员工的考勤 情况。搜索结果表主要包含移动终端的信息及搜索结果,如表四所示:
  序号   属性名   数据类型   长度   描述   1   Mobile_number   字符串   11   移动终端号   2   Search_data   日期型   3   搜索日期   3   Search_time   时间型   3   搜索时间   4   Search_result   布尔型   1   是否在指定的范围内
表四
步骤304:根据搜索结果,生成考勤信息表。
根据范围搜索的结果,系统生成移动终端对应的工作人员的考勤信息表, 存储在数据库中,完成一次的考勤记录。
步骤303所述的范围搜索有圆形区域和多边形区域两种方式,用户根据自 身办公区域的特点可以进行选择。下面将分别阐述两种范围搜索的过程:
对于圆形区域而言,范围搜索主要是判断待测点是否在圆内,可通过待测 点到圆心距离与半径的比较来确定。这里,所述待测点就是所定位的移动终端 所在的位置。具体过程如图4所示:
步骤401:确定圆心的坐标(x,y),半径r,待测点坐标(a,b),通过圆 心与半径确定搜索范围,待测点即移动终端,所述坐标即经纬度值;
步骤402:计算圆心到待测点的距离D, D = ( x - a ) 2 - ( y - b ) 2 ;
步骤403:比较D与r的值,如果D>r,说明待测点不在圆形区域内;如 果D<=r,说明待测点在圆形区域内,则将待测点的搜索结果写入搜索结果表。 用户可以对该表进行浏览、查询、打印等操作。
对于多边形区域而言,范围搜索主要是判断待测点是否在多边形内,可通 过待测点向x轴正方向做一条射线,如果该射线与多边形有奇数个交点,则该 点在多边形内;若与多边形的交点是偶数个,则该待测点在多边形外。这里, 所述待测点就是所定位的移动终端所在的位置。
由于实际应用中,多边形区域的情况比较复杂,有些情况需要特殊考虑:
情况1)当该点在多边形的某个边上时,认为在多形内;
情况2)如果射线过多边形的顶点,当两条边都在射线之上,且它们的公 共顶点在射线上,则计算两次;
情况3)如果射线过多边形的顶点,当两条边都位于射线以下,都不计算;
情况4)如果射线过多边形的顶点,当一条边位于射线之上,另一条位于 射线之下,则计算一次;
情况5)如果多边形的一条边与射线重合,忽略不计算。
具体过程如图5所示:
步骤501:确定多边形顶点、待测点坐标。
可采用数组p[i]存储多边形各顶点坐标;采用数组q[i]存储待测点坐 标。按顺时针或逆时针的次序输入多边形的顶点p[i]的坐标(x,y),(n>i≥0), 待测点q坐标(a,b),多边形顶点从p[0]至p[n-1],算法中p[i].x是指 多边形的第i个顶点的横坐标,p[i].y是指多边形的第i个顶点的纵坐标;
步骤502:初始化变量。
令i=0,j=n-1,count=0,设置变量i、j,以遍历各个待测点,待测点的 个数为n,变量count用于计算该待测点过x轴正向的射线与多边形交点个数;
步骤503:判断是否已遍历多边形所有边。
如果i=n,说明已经遍历多边形的所有边,则执行步骤508;如果i≠n, 说明多边形还有边没有被遍历,则执行步骤504;
步骤504:判断待测点是否在多边形的边上。
若((q.x-p[i].x)*(q.x-p[j].x)<0)&&((q.y-p[i].y)*(q.y-p[j].y)<0)&& (((q.x-p[i].x)*(p[i].y-p[j].y)-(q.y-p[i].y)*(p[i].x-p[j].x))=0),则点q在线 段p[i]p[j]上,线段p[i]p[j]是多边形的一条边,根据特殊情况(1),认为q在范围内, 即待测点在多边形区域内,则将待测点的搜索结果写入搜索结果表,执行步骤 509;如果不满足上式,则执行步骤505;
步骤505:判断待测点是否在线段p[i]p[j]的左上方。
如果b<p[j].y,p[i].y<=b,即p[j]点在q点的上方,p[i]点在与q点平行 或在q点下方,且(b-p[i].y)*(p[j].x-p[i].x)>(p.x-p[i].x)*(p[j].y- p[i].y),即点q在线段p[i]p[j]的左侧,则待测点与线段p[i]p[j]有一个交点,count =count+1,执行步骤507,如果不满足上述条件,则执行步骤506;
步骤506:判断待测点是否在线段p[i]p[j]的左下方。
如果b<p[i].y,p[j].y<=b,即p[i]点在q点的上方,p[j]点在与q点平行 或在q点下方,且点q在线段p[i]p[j]的左侧,判断方法同步骤505,则count =count+1,无论q点坐标是否满足上述条件,均执行步骤507;
步骤507:取多边形的下一条边。
j=i,i=i+1,执行步骤503,判断待测点与多边形下一条边的位置关系;
步骤508:记录并显示范围搜索结果。
判断count的奇偶性,如果count为奇数,即待测点在多边形区域内,则将 待测点的搜索结果写入搜索结果表;如果count为偶数,即待测点不在多边形 区域内,则将待测点的搜索结果写入搜索结果表。用户可以对该表进行浏览、 查询、打印等操作,之后,执行步骤509;
步骤509:结束范围搜索。
对于办公区域有多个的情形,可以分几次调用不同的搜索程序完成。
对于移动终端定位失败的情况,根据步骤301设定的相关信息,对该移动 终端进行自动周期定位。所谓自动周期定位就是:根据设定的周期和最大搜索 次数,在工作区域内对该移动终端定位并进行范围搜索的过程,如图6所示, 包括以下步骤:
步骤601:计时,等待定位周期到来;
步骤602:判断是否到达设定的定位周期,如果没有到达,则返回步骤601 继续计时等待。如果到达设定的定位周期,则进入步骤603;所述定位周期的 周期长度根据需要在步骤301中预先设定。
步骤603:判断是否达到设定的循环定位次数,如果没有达到,则进入步 骤604;如果达到设定的循环定位次数,则进入步骤605。
步骤604:对满足条件的移动终端定位,至于如何定位与步骤302相同, 然后进入步骤606;
步骤605:达到设定的循环定位次数,说明到了自动周期定位的极限,则 不再继续循环,系统发出提示信息,将定位相关信息写入定位失败表,并进入 步骤609;
步骤606:判断定位是否成功;如果成功,则进入步骤607;如果定位失败, 将定位结果写入定位失败表,返回步骤602;
步骤607:判断已定位的移动终端是否在工作区域内,即对该移动终端进 行范围搜索,如果在,将移动终端的搜索结果写入搜索结果表,进入步骤609; 如果不在,则进入步骤608;
步骤608:判断是否到达设定的搜索次数,如果没有,则将搜索次数加1, 返回步骤602;如果已到达设定次数,则进入步骤609;
步骤609:结束自动周期定位。
用户通过查询搜索结果表,就可以得知相关移动终端对应人员的考勤情况。 另外,在步骤607中,对于定位成功的移动终端,是否进入范围搜索,系统可 以给出提示信息,用户可以选择延迟或取消范围搜索,如果用户不做任何操作, 则系统自动进行范围搜索。除此之外,本发明还具有根据查询条件显示所存储 的移动终端定位的历史记录的定位历史记录回放功能,该功能根据用户的需求 分为两种:
1)按照真实的定位时间间隔回放,根据在之前对用户的每次定位操作成功 后,定位记录中包含的移动终端号码、经纬度和定位时间信息,按照定位记录 的原始时间间隔来在地图上依次显示移动终端的位置。
2)按照系统设定的时间快速回放,用户可以快速地浏览该时间段内的定位 记录,而不考虑真实的时间间隔,按照系统配置时设定的时间快速对某个移动 终端在某个时间段内的定位历史记录在数字地图上回放,在两种回放过程中, 用户均可以随时中止回放。
移动终端定位的历史记录就是存放在数据库中的搜索结果表,在使用定位 历史记录回放功能时,首先需要根据用户指定的回放时间段和移动终端的号码 从数据库中得到所有的定位记录,选择定位回放方式,在数字地图上回放被定 位设备的历史轨迹。按照真实的定位时间间隔回放定位历史记录的具体步骤如 图7所示:
步骤701:在人机界面输入查询条件。
用户登录模块的人机交互界面采用Java页面(JSP),用户输入要查询的移 动终端定位记录的起始时间、结束时间和设备的号码等查询条件;在JSP页面 中会使用Java脚本对输入条件进行检查,比如输入的号码是否为空,以及起始 时间是否晚于结束时间等。
步骤702:业务逻辑层调用定位历史记录接口。
本发明所述系统采用业务表示层、业务逻辑层和数据访问层,其中,业务 表示层主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访 问;业务逻辑层主要是系统对数据层的操作;数据层主要对各个对数据文件的 具体操作。业务逻辑层取得查询条件后,调用业务逻辑层的查询用户定位历史 记录的企业Java柄(EJB,Enterprise Java Bean)的远端接口来获得符合要求的 所有定位历史记录。
在业务逻辑层中,用托管容器式持久性(CMP,Container Managed Persistence)的方式对数据库中保存用户定位历史记录的表做映射,并且在其本 地(Home)接口定义一个查询(find)方法,该方法可以根据定位记录的开始 时间、结束时间和所要查询的移动设备号码来获得某个时间段内该号码的所有 定位记录。然后,在业务逻辑层中采用会话柄(Session Bean)调用实体柄(Entity Bean)的实现方式,对业务表示层提供了一个Session Bean的远端接口,来查 询获得符合要求的所有定位历史记录。
步骤703:业务表示层判断是否有符合条件的定位历史记录。如果没有, 则返回步骤701,给JSP页面提示信息;如果有,则进行步骤704。
步骤704:在业务表示层启动一个定位回放线程,将查询到的所有定位历 史记录传入该线程。该线程中定义了一个循环来显示定位记录。
步骤705:在定位回放线程中判断记录的总数是否大于1。如果否,意味着 只有一条定位记录或此为最后一条定位历史记录,则进入步骤706;如果记录 的总数大于1,则进入步骤707。
步骤706:取出该定位记录的经度和纬度信息,再调用GIS地图模块显示 定位位置的接口,在数字地图上显示被定位移动终端的历史位置,由于此时只 有一条定位历史记录,显示完毕后,进入步骤711。
步骤707:取出相邻两条定位记录,然后将前一条定位记录的经度和纬度 信息传入GIS地图模块显示移动终端位置的接口,进入步骤708;。
步骤708:在数字地图上显示被定位移动终端的位置,进入步骤709。
步骤709:将该线程休眠,休眠的时间是前面取出来的相邻两条定位记录 的时间差,这样做是为了保证回放的时间间隔与先前定位时的时间间隔一致, 然后进入步骤710。
步骤710:线程休眠结束后,将定位记录的总数减1,返回步骤704。
步骤711:结束定位回放线程,进入步骤712。
步骤712:判断是否正常结束回放线程,如果是,进入步骤713,如果否, 进入步骤714。
步骤713:标识为正常结束定位回放,提示JSP页面定位回放结束,执行 步骤714。
步骤714:定位历史记录回放结束。
在回放用户定位历史记录的过程中,用户通过总控模块可以随时中止定位 回放,此时直接结束定位回放线程,这种情况标识为非正常结束定位回放,不 需要给出提示信息。
在实现用户定位历史记录回放功能的过程中,采取了启动一个线程并休眠 该线程的方式,来保证回放的时间间隔与先前定位时的时间间隔大体一致。这 种实现方式并不能保证时间间隔完全准确,由于接口调用时间等原因只能保证 大致准确。如果要求快速回放,则只需在取得所有符合条件的定位记录后,按 照系统设定的固定时间间隔休眠所述线程即可,而不需要做相邻两条记录之间 的时间差运算。本发明在定位触发、范围搜索触发、自动周期定位后的范围搜 索步骤前均设计了手动与自动两种方式,目的在于方便用户的选择,对于不想 进行手动选择的用户,本发明所述系统可以将以上环节设计为自动流程,从而 提高考勤管理系统的效率。对于生成的考勤信息表,用户可以根据需要,按日、 月、年进行浏览、查询、打印等操作,方便人事管理。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围。