




免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号: ( )字 号 本科生毕业设计 题目: 姓名: 学号: 班级: 二一一年六月 矿井人员定位与考勤系统 计 07-1 本科生毕业设 计 姓 名: 学 号: 学 院: 计算机科学与技术 专 业: 计算机科学与技术 论文题目: 矿井人员定位与考勤系统 专 题: 指导教师: 职 称: 2011 年 6 月 徐州 毕业设计任务书 学院 计算机科学与技术 专业年级 计 07-1 学生姓名 任任务务下下达达日日期期: 2011年年 1 月月 11 日日 毕业设计日期:毕业设计日期: 2011年年 2月月 21日日 至至 2011年年 6 月月 15日日 毕业设计题目:毕业设计题目: 矿井人员定位与考勤系统 毕业设计专题题目:毕业设计专题题目: 毕业设计主要内容和要求:毕业设计主要内容和要求: 1.使用 visual c+ 6.0 和 sql server 2005 进行系统开发 2.实现人员定位功能 3.实现人员考勤功能,包括考勤信息的查询、统计汇总等 4.实现用户、职工管理的功能 5.实现职工请假的功能 6.实现职务、工种、假种的管理 7.提供友好的人机界面 院长签字: 指导教师签字: 摘 要 摘要:摘要:近年来,矿井事故频繁发生,事故发生时的救援工作十分重要,有效的救援首先 需要定位出事故发生时的人员位置,具有定位功能的矿井人员定位系统便随之产生,它 可以实现对井下工作人员的定位跟踪,一旦矿井发生事故,可对抢险救灾的人员统计、定 位等起准确的指导作用,使地面监控中心实时掌握井下人员的位置,这对于提高生产安全 和工作效率,具有十分重要的意义。另外,随着现代科学技术的发展,越来越多的煤矿对 职工的考勤都实行了信息化管理,使用计算机代替复杂的手工方式来管理考勤事务,可 以有效地管理公司员工的出勤情况。综合看来,定位与考勤系统的设计与实现有着十分 重要的意义。 系统的开发主要包括后台数据库的建立,维护以及前端应用程序的开发,主要模块 包括系统用户管理模块,职工管理模块,人员定位模块,考勤信息管理模块和考勤信息 统计查询模块。该系统使用 visual c+ 6.0 作为工具,数据库为 sql server 2005。系统采 用目前比较流行的 ado 数据访问技术,并将每个数据库表的字段和操作封装到类中,使 程序更加易于维护,将面向对象的程序设计思想应用到数据库应用程序中。 关键词: c+;sql server 2005;ado;人员定位;考勤管理 abstract in recent years, mine accident occurs frequently. the relief effort has become more and more important. an effective effort needs to locate the workers locations when the accident happens, whereupon personnel location systems under mines have been produced, which could locate the locations of the workers under the mine. it would help a lot for the rescue once the accident happens. and the monitoring center could keep abreast of the workers locations in real time, which has significant importance in raising working efficiency and safe production. whats more, with the development of the modern science technology, more and more mines execute centralized informationize management for system of checking work attendance. they use computer to deal with the attendance affairs instead of .in this way the company could manage the attendance situation effectively .generally speaking, the design of the positioning and attendance system has great significance. the development of the system mainly includes the establishment and maintenance of the database, and the program. main modules include user management module, staff management module, personnel location module, check on work attendance module, and the information statistic and data query module. this system use visual c+ 6.0 as development tools, use sql server 2005 as database and it adopts the date access technology through ado. every tables strings and operations are encapsulated in class, which makes the program easy to be safeguarded. the thought of oop is applied to this system. keywords:c+; sql server 2005; ado; personnel location; attendance management 目目 录录 1 1 绪论绪论 1 1 1.1 系统开发背景 .1 1.2 系统开发意义 .1 1.3 系统实现目标 .2 1.4 开发环境简介 .2 2 2 系统分析系统分析 4 4 2.1 可行性分析 .4 2.1.1 技术可行性分析.4 2.1.2 经济可行性分析.4 2.1.3 操作可行性分析.4 2.2 需求分析 .4 2.2.1 系统整体需求概述 4 2.2.2 具体的功能需求 4 3 3 概要设计概要设计 1010 3.1 系统总体架构 10 3.2 模块功能设计 10 3.2.1 职工管理模块 .11 3.2.2 人员定位模块 .11 3.2.3 职工考勤信息汇总模块 .12 3.2.4 职工考勤信息汇总模块 .12 3.2.5 用户信息管理模块 .13 3.3 数据库设计13 3.3.1 数据库表的设计 .13 3.3.2 逻辑结构设计 .14 4 4 详细设计及实现详细设计及实现 1818 4.1 系统公共类的设计与实现18 4.1.1 数据库操作类 adoconn 的设计与实现 .18 4.2 系统登录模块的设计与实现 .20 4.2.1 功能说明 .20 4.2.2 设计说明 .20 4.3 职工管理模块的设计与实现 20 4.3.1 功能说明 .20 4.3.2 设计说明 .21 4.3.3 核心代码 .21 4.4 人员定位模块的设计与实现 .22 4.4.1 功能说明 .22 4.4.2 设计说明 .22 4.5 职工考勤查询模块的设计与实现 22 4.5.1 功能说明 .23 4.6 职工考勤汇总模块的设计与实现 23 4.6.1 功能说明 .23 4.6.2 核心代码 .23 4.7 用户信息管理模块的设计与实现26 4.7.1 功能说明 .26 4.7.2 设计说明 .26 4.7.3 核心代码26 4.8 工种设置模块27 4.9 gui 界面的设计与实现 27 4.9.1 功能说明27 4.9.2 设计说明27 5 5 系统测试系统测试3232 5.1 测试目的32 5.2 程序的测试方法 32 5.3 测试内容与结果 33 5.3.1 单元测试 .33 5.3.2 集成测试 .37 5.3.3 系统测试 .40 5.4 系统评价41 总结总结 4242 参考文献参考文献 4343 翻译部分翻译部分 4444 英文原文英文原文 .44 中文译文中文译文 .52 致致 谢谢 5858 1 1 绪论绪论 1.1 系统开发背景 煤炭作为基础能源,长期以来为我国的经济增长做出了巨大贡献,我国能源消耗的 70来自煤炭,在整个国民经济发展中一直占据着主导地位。但是煤矿生产作业环境恶 劣,常伴有瓦斯煤尘爆炸、火灾、水患等自然灾害,严重地威胁着矿工的生命安全。从 大量的案例分析中得出,造成事故的原因是有共性的,除了安全设施投入不足,从业人 员素质较低外,另一个重要的原因就是:对下井人员管理措施不力,人员监督检查不到 位。 如何加强安全生产的防范措施,如何正确处理安全与生产、安全与效益的关系,如 何准确、实时、快速履行煤矿安全监测职能,保证抢险救灾、安全救护的高效运作等一 系列的问题,摆到了国家各级主管部门和领导的面前。 2006年3月5日温家宝总理在政府工作报告中坦言安全生产形势严峻,煤矿、交通等 重特大事故频繁发生,给人民群众生命财产造成严重损失。据统计,2005年全国煤矿事 故遇难5986人,据有关专家说: 我国煤炭企业仅54个重点煤矿企业安全设施欠帐就达 689亿元。2005年到2008年国家计划每年拿出30亿元投入煤炭行业安全生产的技术改造, 企业将投入更多的资金用于安全生产的技术改造。 随着国家对煤矿安全的日益重视和监管力度的不断加强,我国大中型煤矿及众多小 煤矿均已大量装备了煤矿安全生产监控系统,极大地改善了我国煤矿安全生产状况,有 效遏制了重特大瓦斯煤尘爆炸事故的发生。但目前煤矿井下还普遍存在井下人员管理困 难,井上管理人员难以及时准确掌握井下人员的分布及作业情况等一系列的问题,一旦 发生事故,抢险救灾、安全救护的效率低,特别是事故发生后对井下人员的抢救缺乏可 靠的位置信息。因此,煤矿现场利用相应的矿井人员跟踪定位设备,全天 24 小时对井下 人员进行实时自动跟踪定位和考勤,随时掌握每个员工在井下的位置及活动轨迹、全矿 井人员的位置分布情况等很有必要。 另外,考勤管理在生产管理过程中也充当着一个十分重要角色,考勤管理的效率对 企业工作效率的提高起着举足轻重的作用。长期以来,繁琐的考勤记录整理,统计,查 询等工作,一直困扰着企业行政部门的工作人员。 为此我们开发了井下人员定位和考勤系统,实现人员定位和考勤,加强对人员的管 理。为煤矿的安全生产提供保障,大大提高了企业效率。 1.2 系统开发意义 当前由于矿井所处的环境恶劣,矿井生产安全一直是人们十分关注的问题。如果能够 实现对井下工作人员的定位跟踪, 一旦矿井发生透水、火灾等灾害事故,可对抢险救灾 的人员统计、定位等起准确的指导作用,使地面监控中心实时掌握井下人员的位置,随时 保持联系,实现人员的调度,这对于提高生产安全和工作效率,具有十分重要的意义。 考勤管理是企业管理的重要部分,面对大量的人员信息,采用人力处理将浪费大量 的时间、人力和物力,而且统计数据麻烦。因此,开发一个界面友好,易于操作的考勤 管理软件进行自动化处理变得十分重要。 1.3 系统实现目标 对于系统的开发,首先就是要设定好实现的目标,确定开发的环境。有个合理的设 计目标使得开发者在设计过程中不会茫然,思路更清晰,编码就不用花费太多的时间。 而一个好的前期设计对提高开发的效率起着很重要的作用。 实现一个具备以下功能的系统: a) 实现一个简洁的易操作的 gui 界面; b) 人员定位; c) 人员考勤; d) 人员考勤信息统计汇总; e) 职工管理; f) 系统用户信息管理; g) 人员请假; h) 工种、部门、假种设置; i) 人员请假; j) 用户切换; 1.4 开发环境简介 1) visual c+6.0 简介 visual c+6.0 是微软公司 1998 年推出的产品,是基于 windows 操作系统的编程工 具,是 microsoft visual studio 6.0 的组件之一,具有功能强大的可视化开发环境, 为程序员开发软件提供了方便的条件,并且 visualc+6.0 集程序的代码编辑、编译、连 接、调试等功能与一体,给程序员提供一个完整、全面而又方便的开发环境。它采用一 种巧妙的方法将 windows 的编程复杂性封装起来,编程者可以比较轻松地进行 windows 应用程序的设计。visual c+ 6.0 继承了以前版本的优点,为用户提供了更为友好的可 视化开发环境。它提供了强大的编译能力以及良好的界面操作性,具有功能强大、通用 性强和易于扩充等特点,越来越多的被用来当作客户/服务器应用程序的前台应用工具, 而且能够对 windows nt、windows 2000 以及 windows xp 下的 c+程序设计提供完善的 编程环境。同时 visual c+6.0 对网络、数据库等方面的编程也都提供相应的环境支持。 随着可视化编程的蓬勃发展,越来越多的程序员开始使用可视化编程技术。 visual c+6.0 拥有两种编程方式: 一种是传统的基于 windows api 的 c 编程方式,虽然代码效率较高,但开发难度与 开发工作量也随着增高,目前使用这种编程方式的用户已经很少。 另一种是基于 mfc 的 c+编程方式,虽然代码运行效率相对较低,但开发难度小,开 发工作量小,源代码效率高,已经成为 visual c+开发 windows 应用程序的主流。本系 统选择的就是基于 mfc 的 c+编程方式。 2) sql server 2005 简介 sql server 是一个全面的、集成的数据解决方案,它为企业中的用户提供了一个安 全、可靠和高效的平台用于企业数据管理和商业智能应用。 sql server 2005 减少了在从移动设备到企业数据系统的多平台上创建、部署、管 理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,sql server 2005 为不同规模的企业提供了一个完整的数据解决方案。 sql server 2005 的应用功能: sql server 2005 是一个全面的数据库平台,除了数据库功能外还结合了分析、报表、 集成和通知功能: a) .net framework 集成 可以利用.net framework 类库和现代编程语言来开发数据库。 b) web services 可以开发数据库层的 xml web services;可以使用 http 直接访问 sql server;sql 语句、调用函数和过程,查询结果可以用 xml 格式返回。 c) ado.net 从针对 sql types 的新增支持能力到多维活动结果集(mars) ,sql server 2005 中的 ado.net 将完善数据集的访问与操作方式,从而实现更高的伸缩性与灵活性。 d) 快照隔离支持 sql server 2005 将在数据库级别上提供新的快照隔离(si)级别。借助 si 特性, 用户可以利用数据库的事务一致性视图来访问最新提交的数据行。这项功能将提供更高 的可伸缩性。 e) sql 管理对象(smo) smo 是 sql server 2005 的管理对象模型。smo 在 sql server 管理对象模型上有显 著的设计和结构上的提升。它是一个简单易用的,有着丰富的基于.net framework 托管 代码的对象模型。smo 是开发数据库管理应用程序的主要的工具。sql server 管理工具 集的每一个功能都可以用 smo 来实现。 f) xml 扩展标记语言(xml)是一项通过本地网络和 internet 在不同应用间散布数据的重 要标准。sql server 2005 具备针对 xml 文档存储与查询的内建支持能力。 3) ado 简介 ado (activex data objects)是 microsoft 数据库应用程序开发的新接口,是建立 在 oledb 之上的高层数据库访问技术。它被设计用来同新的数据访问层 oledb provider 一起协同工作,以提供通用数据访问(universal data access) 。oledb 是一个低层的数 据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统 及自定义的商业对象。 ado 向我们提供了一个熟悉的,高层的对 oledb 的 automation 封装接口。对那些熟 悉 rdo 的程序员来说,你可以把 oledb 比作是 odbc 驱动程序。如同 rdo 对象是 odbc 驱 动程序接口一样,ado 对象是 oledb 的接口;如同不同的数据库系统需要它们自己的 odbc 驱动程序一样,不同的数据源需要它们自己的 oledb 提供者(oledb provider) 。 2 系统分析 2.1 可行性分析 可行性研究实质上是一次很大程度上简化了的系统分析的过程,也就是在较高层次 上以较抽象的方式进行的系统分析过程。它的目的不是解决问题,而是确定问题是否值 得去解决。 2.1.1 技术可行性分析技术可行性分析 根据系统的需求,通过对本设计所需要的技术进行全面的分析,该系统可以采用 c+ 语言实现,用 sql server2005 作为后台数据库支持,用 ado 技术实现数据库的连接。依 据自己目前的实力还不足以把系统做的完好,但是我会积极认真地学习技术方面的相关 知识,尽可能地、更好地完成整个系统。 2.1.2 经济可行性分析经济可行性分析 从开发这个系统所需的软硬件设施不需要在现有基础上额外添加,所以它也就不存 在经济方面的问题。 因此该软件的编写在经济方面是可行的。 2.1.3 操作可行性分析操作可行性分析 该系统将设计出用户友好的 gui 界面,使得系统在操作方式上很容易让用户接受, 和用户有良好的可交互性,在操作上对没有计算机操作经验的人来说也不会有难度,因 此在操作上也是行得通的。 2.2 需求分析 2.2.1 系统整体需求系统整体需求概述概述 该系统需要满足:能够对人员进行实时定位,对员工进行上下班考勤,进行职工请 假管理,并且能对员工和用户的基本信息进行管理如增加、删除等。具体需求如下: 2.2.2 具体的功能需求具体的功能需求 基于系统整体的需求分析,该系统需要实现以下基本功能: 1) 用户登录 用户输入用户名和用户密码后进入系统,每个用户具有不同的权限,不同的权 限可以使用不同的功能。此系统包含两种用户:一种是超级用户,一种是普通用户。 超级用户拥有系统提供的所有功能, 普通用户则有一定的功能限制。 2) 人员定位功能 这个功能是本系统的主要功能。 当数据采集完毕之后,通过本系统可以显示出井下人员的位置和分布情况,还 可以查询出某个人在某段时间内的运动轨迹。 以下是该模块所涉及的用例图: 下下 下下下下下下下下下下 下下下下下下下下 下下下下下下下下下下 下下下下下下下下下下 图 2-1 人员定位模块用例图 3) 考勤功能 考勤功能也是本系统一个很重要的功能。 此模块可以按部门查询出每个员工的一段时间内或者某个月份的出勤情况,可以 显示单个职工的考勤情况,该模块还可以对考勤进行汇总,以报表的形式显示出来汇 总信息,另外还可以将汇总后的信息导入 excel 表格中。 其用例图如下所示: 下下 下下下下下下下下下下 下下下下下下下下下下下下 下下下下下下下下下下下下 下下下下下下下下下下下下下下 下下下下下下下excel 图 2-2 考勤模块用例图 其流程图如下所示: 入入入入入 入入入入入入入入入入入入入入 入入入入入入 图 2-3 考勤模块流程图 4) 职工基本信息管理 a)增加职工:当某个新员工加入后,人事部分应该给他分配员工号并且需要把此员 工的信息增加到公司的员工信息库中; b)删除职工:当某个员工离开后,应该把这个员工的信息删除,并且要求把他的所 有的考勤信息也删除; c)修改职工信息:由于某种原因需要修改员工的信息,比如员工号重新分配,这时 就需要提供修改功能,以便能够及时对员工信息进行更新; d)查询职工信息:根据员工编号和姓名进行查询员工的基本信息。 涉及的业务实体以及它们之间的关系如图所示: 下下下下 下下下下 下下下下 下下下下下 图 2-4 职工基本信息管理模块类图 以下是该模块所涉及的用例图: 下下 下下下下 下下下下下下 下下下下 下下下下 下下下下 下下下下下 下下sql下下 图 2-5 职工基本信息管理模块用例图 5) 职工请假 该模块的功能是职工请假,当员工因故不能出勤的时候使用此功能。 其流程图如下所示: 图 2-6 职工请假流程图 6) 用户信息管理 a) 增加用户:当有新的管理员加入的时候进行信息的添加; b) 删除用户;当管理员离开此单位的时候使用此功能; c) 修改用户密码。 涉及的业务实体以及它们之间的关系如图所示: 下下下下 下下下下 下下下下下 图 2-7 用户信息管理类图 以下是该模块所涉及的用例图: 下下下下 下下下下 下下下下 下下下下 下下下下下下 下下下下 图 2-8 用户信息管理用例图 7) 部门设置 a) 增加部门; b) 删除部门。 以下是该模块所涉及的用例图: 2-9 部门设置用例图 下下 下下下下 下下下下 8) 工种设置 a) 增加工种; b) 删除工种。 以下是该模块所涉及的用例图: 2-10 工种设置用例图 9) 假种设置 a) 增加假种; b) 删除假种。 以下是该模块所涉及的用例图: 2-11 假种设置用例图 10) 用户切换 当需要更换用户的时候使用此功能。 下下 下下下下 下下下下 下下 下下下下 下下下下 3 概要设计概要设计 3.1系统总体架构 系统的结构图如下图所示: 矿井人员定位及考勤系统 职 工 管 理 用 户 信 息 管 理 人 员 定 位 职 工 考 勤 查 询 考 勤 信 息 汇 总 图 3-1 系统整体架构图 3.2 模块功能设计 本系统分用户信息管理和职工管理,人员定位,职工考勤查询,考勤信息汇总等模 块,每个模块又由若干个子模块构成,其中用户管理模块主要包括:用户添加、删除、 密码复位等子模块。职工管理模块主要包括:职工基本信息管理、部门设置、职工请假 等子模块。人员定位模块包括:显示当前井下人员的位置和分布情况,显示某个员工某 段时间的运动轨迹等等。职工考勤包括:显示某个部门或某单个员工某段时间内的出勤 情况,考勤信息汇总则可以以报表的形式显示某个部门的整体出勤情况,便于最终的统 计。主要模块的详细功能设计如下: 3.2.1 职工管理模块职工管理模块 职工管理模块 添 加 职 工 删 除 职 工 职 工 查 询 职 工 信 息 更 改 部 门 设 置 工 种 设 置 假 种 设 置 职 工 请 假 图 3-2 职工信息管理模块功能图 3.2.2 人员定位模块人员定位模块 人员定位模块 当 前 井 下 人 员 分 布 区 域 人 员 分 布 单 个 职 工 位 置 查 询 职 工 移 动 轨 迹 查 询 图 3-3 人员定位模块功能图 3.2.3 职工考勤信息汇总模块职工考勤信息汇总模块 职工考勤信息汇总模块 按 月 查 个 人 考 勤 信 息 将 考 勤 信 息 导 出 显 示 考 勤 汇 总 信 息 按 时 间 段 查 部 门 考 勤 信 息 按 月 查 询 部 门 考 勤 信 息 按 时 间 段 查 个 人 考 勤 信 息 图 3-4 职工考勤信息汇总模块功能图 3.2.4 职工考勤信息汇总模块职工考勤信息汇总模块 职工考勤查询模块 按 员 工 编 号 查 个 人 考 勤 信 息 按 时 间 段 查 部 门 考 勤 信 息 按 姓 名 查 询 个 人 考 勤 信 息 图 3-5 职工考勤查询模块功能图 3.2.5 用户信息管理模块用户信息管理模块 图 3-6 用户管理模块功能图 3.3 数据库设计 进入设计阶段,抽象地分析数据,理解数据之间的关系,对数据库进行概念结构设 计和逻辑结构设计。由于 sql server 2005 能够以极高的效率完成各种数据库查询,并 能方便的使用存储过程,同时它的图形化用户界面,使系统管理和数据库管理更加直观、 简单。 3.3.1 数据库表的设计数据库表的设计 该数据库包括以下基本表: 用户权限信息表、日志信息表、煤矿信息表、区域信息表、分站信息表、读卡机信 息表、读卡机故障信息表、读卡机下发通知信息表、班次制式信息表、班次信息表、部 门信息表、工种信息表、历史数据信息表、考勤历史数据信息表、电池历史欠压信息表。 各个表包含以下基本内容: 用户权限信息表:用户名称、用户密码、用户类型等日志信息表:用户名称、用户类型、 登录时间、退出系统时间等; 区域信息表:区域编号、区域名称、是否显示、核定人数等; 分站信息表:分站编号,分站位置; 读卡机信息表:唯一编码、是否有效、读卡机编号、读机位置x、读机位置y、区域名称、 分站编号、安装位置、优先级、读卡机类型、通讯端口、通讯状态、发送 命令、发送命令时间、当前状态、是否显示、读卡机外部编号、ip地址等; 区域方向信息表:区域编号、读卡机1、读卡机2等班次制式信息表:班次制式编号、班 制名称、超时时长、移出升井时长、间隔时长等; 班次信息表:班次编号、班次名称、班次制式编号、班次井下时间、班次最早下井时间、 用户管理模块 添 加 用 户 删 除 用 户 用 户 密 码 复 位 用 户 密 码 修 改 班次最晚下井时间、班次名称简称、班次顺延、班次误差时间等; 部门信息表:部门编号、部门名称等; 工种信息表:工种编号、工种名称、干部标识等; 人员信息表:唯一编码、是否有效、编码卡编号、编码卡类型、用户id、用户名、性别、 出生日期、电话、住址、部门编号、工种编号、班次制式编号、联系人、联 系电话、相片、添加时间、读卡机编号、读卡机类型、编码卡状态、发送通 知、进入时间、离开时间、下井时间、电池状态、发送通知、发送通知时间、 (status)、跟踪标记、电池欠压时间、是否可见、(isinregion)等; 历史数据信息表:编码卡编号、读卡机编号、进入或离开读卡机时间、编码卡状态、电 池状态、存储时间等; 考勤历史数据信息表:自增编号、编码卡唯一编码、部门编号、班次制式编号、入井时 间、升井时间、考勤数据类型、创建时间、备注信息等; 电池历史欠压信息表:编码卡唯一编码、开始时间、结束时间等; 员工所在区域信息表:编码卡唯一编码、区域编号等。 3.3.2 逻辑结构设计逻辑结构设计 1) m_classtype 班制信息表 表 名: m_classtype 功能: 存放班制信息 键 值: classtypeid 保存期限: 长期 表3-1 班制信息表 item 字段名 name 名称 type 数据属性 length 外部长 度 null 是否空 description 说明 classtypeid 班制编号 varchar8n 班次制式的标识主 键,如“a01”等 classtypename 班制名称 varchar50n 班制名称如三八制, 四六制等 overtime 超时时长 smallint2 在井下工作超过该 时间认为超时 removetime 移出井时 长 smallint2 在井下工作超过该 时间移出升井 intervaltime 间隔时长 smallint2n 同一个班制,连续 两次下井间隔最大 时长,如果超过这 个间隔认为上了两 次班 说明:每条记录描述一个班制,间隔时长是指同一个人连续两次下井,如果这两次 下井的时间间隔小于设定的间隔时长,那么认为这两次下井为一个班次的两次下井,如 果大于设定的间隔时长,那么认为这两次下井属于不同的班次。 2) m_class 班次信息表 表 名: m_class 功能: 存放班次信息 键 值: classid 保存期限: 长期 表3-2 班次信息表 item 字段名 name 名称 type 数据属性 length 外部长 度 null 是否 空 description 说明 classid 班次编号 int4n 班次的唯一标识 classname 班次名称 varchar50n 班制名称如三八制, 四六制等 classtypeid 班次类别编 号 varchar8n 班次对应的班制的编 号 totaltime 班次井下时 间 smallint2n 班次对应的井下工作 时间 earlyintime 班次最早下 井时间 smallint4n 在该时间之前下井视 为无效 lastintime 班次最晚下 井时间 smallint4n 在该时间之后下井视 为无效 forshort 班次名称简 称 varchar4 例如班次名称“夜班” 可称为“夜”以 简 tomduty 班次顺延 smallintn 0为当日考勤,-1为昨 日考勤(默认为0) totaltimeerror 班次误差时 间 smallint4n 班次要求的井下工作 时间的灵活补充 3) m_dep部门信息表 表 名: m_dep 功能: 存放部门信息 键 值: depid 保存期限: 长期 表3-3 部门信息表 item 字段名 name 名称 type 数据属性 length 外部长 度 null 是否空 description 说明 depid 部门编号 varchar4n 部门唯一标识 depname 部门名称 varchar50 4) m_duty 工种信息表 表 名: m_duty 功能: 存放工种信息 键 值: dutyid 保存期限: 长期 表3-4 工种信息表 item 字段名 name 名称 type 数据属性 length 外部长度 null 是否空 description 说明 dutyid 工种编号 smallint2n 自增 dutyname 工种名称 varchar50 dutyflag 干部标识 bit1 1为干部工种, 0为普通工种 5) m_rfid人员信息表 表 名: m_rfid 功能: 存放人员信息及状态信息 键 值: rfnum 保存期限: 长期 表 3-5 人员信息表 item 字段名 name 名称 type 数据属性 length 外部长度 null 是否空 description 说明 rfnum班制编号 varchar10n 主键 isvalid班制名称 varchar1n 0为无效 1为有效(默认), rfid超时时长 smallint8n rftype移出井时长 smallint1 0人员;1设备 userid 8 编码卡对应的员工 的id username姓名 20 usersex性别 2 useric用户id 20 birthdate生日 20 phone联系电话 20 address地址 20 depid部门编号 8 dutyid工种 编号 2 classtypeid班制编号 8 relationname联系人姓名 20 relationphone联系电话 20 addtime添加时间 8 readerid读卡机编号 8 readertype读卡机类型 1 state编码卡状态 1 intime进入时间 8 outtime离开时间 8 inminetime下井时间 8 说明:每条记录描述一个编码卡以及编码卡相关联的人员信息 6) m_user 用户信息表 表名:m_user 功能:存放系统用户信息 表 3-6 用户信息表 item 字段名 name 名称 type 数据属性 length 外部长度 null 是否空 description 说明 username 用户名 varchar50 userpwd 用户密码 varchar50 usertype 用户类型 bit1 1为超级用户, 0为普通用户 7) m_kaoqininfo 考勤历史数据表 表 名: m_kaoqininfo 功能: 存放考勤历史数据 键 值: kqid 保存期限: 长期 表3-7 考勤历史数据表 item 字段名 name 名称 type 数据属性 length 外部长度 null 是否空 description 说明 kqid 考勤编号 bigint8n 自增 rfnum 编码卡物理 编号 varchar10n 可理解为软件内部 编码 depid 部门编号 varchar8 classtypeid 班制编号 varchar8 inminetime 入井时间 datetime8 考勤的入井时间 outminetime 升井时间 datetime8 考勤出井时间 datatype 考勤数据类 型 tinyint1 createtime 创建时间 datetime8n 这条记录的生成时 间 remark 备注信息 varchar200 说明:一个记录代表一次入井和出井记录,通过这些记录可以得到员工的考勤情况 4 详细设计详细设计及实现及实现 概要设计阶段完成了软件的结构设计,划分了模块,并规定了各个模块的功能及他 们之间的联系。在此之后,进入系统的详细设计阶段。该阶段的根本目标是确定应该怎 样具体设计所要求的系统,给出软件各个模块的具体描述。这里将系统主要模块的设计 及实现给予介绍。 4.1 系统公共类的系统公共类的设计设计与实现与实现 本节介绍系统使用的公共类,如数据库访问通用类等。编写公共类可以在其他页面 中直接调用公共类的方法、属性,避免重复代码的编写,有利于系统代码的维护和日后 系统的升级。 4.1.1 数据库操作类数据库操作类 adoconn 的的设计设计与实现与实现 1) 初始化连接数据库 void adoconn:oninitadoconn() / 初始化 ole/com 库环境 :coinitialize(null); try / 创建 connection 对象 m_pconnection.createinstance(“adodb.connection“); / 设置连接字符串,必须是 bstr 型或者_bstr_t 类型 _bstr_t strconnect = “data source=mineorientation;persist security info=true;user id=sa;password=45854618;unicode=true;providername=sqloledb.1;“; m_pconnection-cursorlocation=aduseclient; /游标类型 m_pconnection-open(strconnect,“,“,admodeunknown); / 捕捉异常 catch(_com_error e) / 显示错误信息 afxmessagebox(e.description(); 。 2) 执行查询语句 _recordsetptr / 创建记录集对象 m_precordset.createinstance(_uuidof(recordset); / 取得表中的记录 m_precordset- open(bstrsql,m_pconnection.getinterfaceptr(),adopendynamic,adlockoptimistic,adcmdte xt); / 捕捉异常 catch(_com_error e) / 显示错误信息 afxmessagebox(e.description(); / 返回记录集 return m_precordset; 3) 执行 sql 语句,insert update _variant_t bool adoconn:executesql(_bstr_t bstrsql) /_variant_t recordsaffected; try / 是否已经连接数据库 if(m_pconnection = null) oninitadoconn(); / connection 对象的 execute 方法:(_bstr_t commandtext, / variant * recordsaffected, long options ) / 其中 commandtext 是命令字串,通常是 sql 命令。 / 参数 recordsaffected 是操作完成后所影响的行数, / 参数 options 表示 commandtext 的类型:adcmdtext-文本命令;adcmdtable- 表名 / adcmdproc-存储过程;adcmdunknown-未知 m_pconnection-execute(bstrsql,null,adcmdtext); return true; catch(_com_error e) afxmessagebox(e.description(); return false; 4) 关闭连接 void adoconn:exitconnect() / 关闭记录集和连接 if (m_precordset != null) m_precordset-close(); m_pconnection-close(); / 释放环境 :couninitialize(); 4.2 系统登录系统登录模块模块的设计与实现的设计与实现 系统登录是使用该系统的第一步。用户只要输入正确的用户名和密码即可登录系统。 其中主要的问题就是用户名和密码的检测。 4.2.1功能说明功能说明 当用户输入用户名和密码之后,将输入数据同数据库中的数据进行比较,一致的话 即可进入系统进行相关操作,否则重新输入直到输入正确为止。 4.2.2设计说明设计说明 针对用户名和密码建立相关的编辑框变量,当用户输入完毕之后,刷新登录对话框 变量值,取得输入的值,将其同数据库中的记录进行比对,如果一致即可登录系统,否 则输入提示信息以便下一次的登录。 4.3职工管理模块的设计与实现 职工管理是人事管理的重要工具,也是该系统的重要组成部分之一。 4.3.1功能说明功能说明 该模块包含职工基本信息的添加、修改、删除以及查询,职工请假管理,还可以进 行部门和工种的设置,如添加、删除等操作。 4.3.2设计说明设计说明 职工信息的添加、修改操作可以在一个对话框里实现,系统根据不同的标志来确定 进行的是添加还是修改操作,具体的添加和修改操作可以使用一条简单的 sql 语句来实 现,其中信息的修改包含员工部门的调转,职工信息的查询可以通过输入姓名或者编号 来进行。部门和工种的设置可以参照职工的添加和删除实现。 4.3.3核心代码核心代码 /管理员编辑好信息之后点击 ok 按钮的代码实现 void cempeditdlg:onok() / todo: add extra validation here updatedata(true); cm_rfid emp; /将用户输入的数据赋值到对象 dep 中,为更新数据库做准备 emp.setusername(m_empname); int index1;/设置班制 index1 = m_class.getcursel(); if (index1 = 0) emp.setclasstypeid(“a02“); else if (index1 = 1) emp.setclasstypeid(“a01“); else if (index1 = 2) emp.setclasstypeid(“a07“); cm_duty duty; dutyid=atoi(m_duty.getboundtext(); emp.setdutyid(dutyid); cm_dep dep; depid=m_depname.getboundtext(); emp.setdepid(depid); cempinfodlg dlg; if (rfnum = “0“) /表示插入数据 /判断输入是否正确 /判断人员是否存在 emp.sql_insert();/不存在则插入 else emp.sql_update(m_rfnum); cdialog:onok(); /实现添加操作的代码 void cm_rfid:sql_insert() /设置 insert 语句 cstring strdutyid; strdutyid.format(“%d“, dutyid); _bstr_t vsql; vsql=“insertintom_rfid(address,batterystate,rftype,depid,username,rfnum, rfid, innerrfid, addtime, birthdate, relationname,“; vsql = vsql + “relationphone,classtypeid, phone, useric, usersex,isvalid,isshow,dutyid) values(“; vsql = vsql + address +“,“ + batterystate +“,“ + rftype +“,“ + depid +“,“ + username +“,“ + rfnum +“,“ + innerrfid + “,“ + innerrfid + “,“ + addtime + “,“ + birthdate + “,“; vsql = vsql + relationname + “,“ + relationphone + “,“ + classtypeid; vsql = vsql + “,“ + phone + “,“ + useric + “,“+ usersex +“,“+ isvalid+ “,“+ isshow+“,“+ strdutyid + “)“; /执行 insert
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东文化产业职业学院《中国文学史三》2023-2024学年第二学期期末试卷
- 云南省文山州砚山县2025年数学三下期末质量跟踪监视试题含解析
- 吉林省汪清县2025届初三期中考试语文试题(A卷)试题含解析
- 吉林省三校联考2025届高三3月一模英语试题含解析
- 手术室护理文书书写制度
- 沈阳工业大学工程学院《作曲理论基础》2023-2024学年第一学期期末试卷
- 温州商学院《ORACE数据库》2023-2024学年第二学期期末试卷
- 扬州大学广陵学院《供应链物流管理》2023-2024学年第二学期期末试卷
- 山东省菏泽市鄄城县重点名校2024-2025学年初三数学试题下学期第三次月考试题含解析
- 南昌航空大学科技学院《设计速写》2023-2024学年第二学期期末试卷
- 院感试题100题及答案
- 数据库开发 试题及答案
- (一模)桂林市、来宾市2025届高考第一次跨市联合模拟考试生物试卷(含答案详解)
- 四川省宜宾市第三中学2024-2025学年高二下学期3月月考语文试题(含答案)
- 2024年郑州工业应用技术学院单招职业适应性测试题库附答案
- 北京市消防条例解读
- 农业合作社管理与运营模式试题及答案
- 2025年版中等职业教育专业教学标准 710205 大数据技术应用
- 2025年河南省郑州市九年级中考一模数学试题 (原卷版+解析版)
- 医院检验科实验室生物安全程序文件SOP
- JTG D70-2-2014 公路隧道设计规范 第二册 交通工程与附属设施
评论
0/150
提交评论