ImageVerifierCode 换一换
格式:DOCX , 页数:41 ,大小:1.43MB ,
资源ID:7767776      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7767776.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于SSM的OA系统后台的设计与实现-毕业论文.docx)为本站会员(精品资料)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

基于SSM的OA系统后台的设计与实现-毕业论文.docx

1、分类号:TP311.5UDC:D10621-408-(2017)2476-0密级:公开编号:2013081191成 都 信 息 工 程 大 学学 位 论 文基于 SSM 的 OA 系统后台的设计与实现论文作者姓名: 陈阳申请学位专业: 软件工程申请学位类别: 工学学士指 导 教 师 姓 名 ( 职 称 ):高燕(讲师)论文提交日期: 2017 年 05 月 23 日基于 SSM 的 OA 系统后台的设计与实现摘要办公自动化(Office Automation)简称 OA,它通常利用现代化计算机网络技术,使用各种设备和人机信息系统来协助完成工作任务,把人们从传统办公业务繁琐的人力操作中解放出来,

2、以达到提高工作效率、工作质量和生产率的目的。本系统采用 B/S 架构来实现企业办公自动化和管理信息化,同时采用近期比较流行的 SpringMVC、 Spring 和 Mybatis 的框架组合实现了部门管理,职能管理,员工管理,权限管理,员工工资管理,审批流程管理和站内消息这几个主要功能模块。审批流程管理是本系统中的重要研究内容,主要涉及到工作流的设计与实现,通过可视化技术实现流程模板的创建及流程实例的生成,不仅用户体验良好,而且具有高度灵活的可扩展性,同时该功能模块支持任务拦截,任务回退等功能,具有较高的实用性而且符合办公自动化的理念。关键词:办公自动化;SpringMVC;Spring ;

3、Mybatis;工作流Design and Implementation of OA System Based on SSMAbstractOffice Automation referred to as OA, it often uses modern computer network technology, a variety of equipment and information systems to helppeople complete tasks andliberates people from the traditional office operations cumberso

4、me manual operation in order to improve work efficiency, quality of work and productivity purposes.The system is based on B/S structure, using the MVC model to development.And the use of recent popular frameworks combination SpringMVC, Spring and Mybatis.The system implements department management,

5、function management, staff management, rights management, payroll management, approval process management and station news these several major functional blocks.Approval process management is an important research content in this system, which mainly involves the design and implementation of workflo

6、w, through the visualization technology to achieve the creation of process templates and process instances generation, not only the user experience well, but also it has a highly flexible scalability. At the same time this function module supports task interception, task back and other functions. It

7、 has a high practicality and in line with the concept of office automation.Key words:Office Automation; SpringMVC; Spring; Mybatis; workflow目 录论文总页数:35 页1 引言 11.1 课题背景及意义 .11.2 国内外研究现状及发展动态 .11.3 课题研究内容 .22 系统总体设计方案 22.1 系统总体结构设计及分析 .22.1.1 三层架构和 MVC 模式 22.1.2 前后端分离 32.2 系统功能设计 .32.3 开发运行平台选择及分析 .42

8、.3.1 技术选型 42.3.2 开发运行环境 52.4 系统技术难点及关键技术 .52.5 系统优点 .63 系统详细设计 63.1 系统模块总体设计 .63.2 系统流程及分析 .73.3 系统功能的详细定义 .83.3.1 组织管理模块 83.3.2 个人信息管理模块 83.3.3 工资管理模块 93.3.4 站内消息模块 93.3.5 审批流程模块 93.4 对象定义与数据库设计 .103.4.1 主要对象定义 103.4.2 数据库设计 123.5 系统接口关系 .193.6 系统界面要求 .203.7 关键技术与难点解决方案 .214 系统具体实现 224.1 登录拦截与权限验证的

9、实现 .224.2 流程定义的实现 .244.3 流程模型解析的实现 .254.4 工作流并行执行的实现 .265 系统运行及测试结果 285.1 测试环境 .285.2 测试的对象及目的 .285.3 测试内容及结果 .285.4 系统运行实例 .29结 语 32参考文献 33致 谢 34声 明 35第 1 页 共 35 页1 引言1.1 课题背景及意义根据我国现状,我国企业普遍使用的是传统的自动化管理,传统的自动化管理主要以纸质来记录和传递信息,不仅繁琐而且效率不高,浪费了大量的人力物力。因此,如何实现高效的办公管理成为企业迫切的需求 1。数字化办公必然引起管理体制的变革,而管理体制变革势

10、必意味着需要从新分配利益和权利,而只要关系到利益和权利就是一件复杂的事情 2。尽管这样,实现全面的数字化办公仍是现代企业发展的必然趋势。传统办公模式和网络化办公模式如图 1 和图 2 所示:图 1 传统办公模式图图 2 网络化办公模式图大型 OA 往往功能繁琐,管理与使用起来都比较复杂,同时所需的开发和维护费用也非常高昂 3。而中小型企业对 OA 的要求没有那么高,所以低成本网络 OA 系统拥有很大的市场。1.2 国内外研究现状及发展动态国外方面,办公自动化起源于 50 年代的美国和日本,70 年代后期才逐步形成涉及多种技术的新型综合学科。80 年代,办公自动化高速发展,随着技术的进步,OA

11、市场出现了应用高端化、市场规模化的趋势。90 年代后,随着计算机网络技术的高速发展,办公自动化也随之高速发展,呈现出数字化、智能化、综合化的发展趋势。第 2 页 共 35 页国内方面,虽然国外有许多成熟的 OA 产品,虽然功能强大但并不一定符合中国企业的现状,操作管理都不符合国内用户的习惯,因此,20 世纪初国内也逐渐开始开发适合国内企业的办公自动化软件,到现如今出现了一大批琳琅满目的 OA 协同软件,但都不尽人意,企业往往需要根据本企业特性进行二次开发。因此,目前 OA 系统市场需要更多个性化强的办公自动化软件。经过这几十年的发展,办公自动化越来越成熟,其应用范围也愈来愈广。目前办公自动化是

12、以知识管理为核心,拥有强大的数据处理能力,可以充分集成各种信息数据,这些数据不仅包括电子邮件信息,而且还包括文件系统中的文件、数据库数据、数据仓库中的数据,甚至是互联网上的数据;还可以充分利用各种协同工作手段包括多线程讨论、文档共享、电子邮件及一些辅助工具提供在线及时共享等。同时办公自动化也在不停地进步发展,用最新的技术、设备和观念来制定办公自动化的有关规划,以达到花费最少,收益最大的目的 4。1.3 课题研究内容本课题在对 OA 需求分析的基础上抽取出其中比较有价值的几个功能点,包括对工资的管理、审批流程的实现、站内交流这几个方面。确定好需求后再设计整个项目的框架和数据库。然后理清逻辑,划分

13、功能模块,确定模块与模块之间的联系。接着编写代码实现各个模块的功能,最后在完成整个项目后还要不断测试,增加用户体验。本课题研究的重点在于工作流的设计与实现,包括对流程的定义和描述,对流程的解析,对流程的执行,要求能够良好的实现审批流程的功能,并且在实现功能的同时还要有良好的用户体验。2 系统总体设计方案2.1 系统总体结构设计及分析2.1.1 三层架构和 MVC 模式三层架构把所有代码分解成 UI 界面层,BLL 业务逻辑层和 DAL 数据访问层 5。这样分解能够使程序员更加专注的处理具体的业务逻辑。比如常见的分解方法中,把对数据库的增删改查封装到 DAO( Data Access Objec

14、t,数据访问对象)中,这样在处理具体的业务逻辑时就可以直接调用 DAO 方法来实现数据库的存储。而 MVC 模式主要是针对 B/S 结构的程序,也就是 WEB 应用程序,它把展示数据的页面尽可能的和业务代码分离。MVC 把纯净的界面展示独立到 Views层,把交互的程序逻辑独立到 Controller 层中,在 Views 和 Controller 中传递第 3 页 共 35 页数据使用一些专门封装数据的实体对象 Models。MVC 和三层架构是没有关系的。因为任何应用程序都可以划分为三层;而MVC 一般用于 WEB 应用程序。但从解耦的角度来看它们又是一致的,因为都是用来划分代码层次,只不

15、过划分的方法不一样罢了,所以它们是可以同时存在的。本系统采用 B/S 架构,同时采用 MVC 模式和三层架构来进行代码层次的分解,如图 3 所示:图 3MVC 模式和三层架构2.1.2 前后端分离前后端分离是当前 B/S 架构应用程序比较流行的开发模式。常见的“前后端分离”案例是 SPA( Single Page Application)6。也就是常说的单页 App,因为所有的请求都是通过异步接口( AJAX/ JSONP)的方式来发送和响应的,所以页面无刷新,就呈现出一种好像所有东西都在同一个页面上的效果。但是在实际开发中 SPA 只能作为简单的应用模式,无法满足复杂的业务需求 7,所以本系

16、统采用同步加异步混合的开发模式,即少部分场景例如用户登录、表单提交等采用同步方式,其它场景尽量采用 AJAX 技术进行异步交互,同时本系统的前后端分离,对开发人员从职责上划分的主要场景为:(1)前端开发人员:负责 View 层,与后端开发人员共同决定涉及前后端交互的 Controller 层。(2)后端开发人员:负责 MVC 中的 Model 层,包括业务处理逻辑等,同时与前端开发人员交流沟通后实现 Controller 层。2.2 系统功能设计结合市面上现有 OA 情况,根据开发人员对自动化办公的需求分析,本系统主要抽取了以下几个开发人员觉得有价值的功能,包括员工管理,部门管理,第 4 页

17、共 35 页职能管理,工资管理,站内消息,审批管理等,功能需求如图 4 所示:图 4 主要功能模块图(1)员工管理,包括对员工的增加、删除、修改、查看操作,能实现不同条件的搜索,对员工登录密码的初始化。(2)部门管理,包括对部门的增加、删除、修改、查看操作,能实现不同条件的搜索。(3)职能管理,职能是对员工类型的划分,包括对职能的增加、删除、修改、查看操作。(4)权限管理,权限管理作为职能管理的补充,权限之间有父子关系,但最多三级权限,那么一二级权限组成菜单列表,三级权限为具体增删改操作。然后为职能分配权限,再为员工分配职能,那么不同职能的员工就拥有了不同的权限。(5)工资管理包括职能工资管理

18、和员工工资管理。职能工资管理:为不同类型的员工设置一个基本工资,在员工工资录入的时候,默认此员工的基本工资为此员工所属职能的基本工资;员工工资管理,包括对员工工资记录的增加、查看,和按条件查询工资记录,并对查询出来的工作记录利用饼图折线图等进行分析统计。(6)站内消息,OA 系统内的用户能够互相发送短消息,支持富文本,包括一个收件箱和发件箱,能增加,删除,查看,搜索消息,提示未读消息。(7)审批流程管理,利用开发人员开发的工作流引擎,实现简单的审批流程功能,包括流程设计器,流程模板,申请列表,我的申请,我的任务,我的审批记录,查看申请状态等功能。2.3 开发运行平台选择及分析2.3.1 技术选

19、型市面上 J2EE 的开源框架层出不穷,本系统采用近期比较流行的 SSM 的框架组合,即 SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1 的框架组合,同时使用第 5 页 共 35 页Hibernate3.3.1,其中 Mybatis 和 Hibernate 都是操作数据库的框架,同时使用是因为 Mybatis 查询效率高,而 Hibernate 由于其 ORM 特性,对更新修改操作很方便。具体采用技术框架描述如下:(1)SpringMVCSpring MVC 是一种实现了 MVC 设计模式的轻量级 Web 框架,大大简化了开发人员的日常 Web 开发,选择 Sp

20、ringMVC 还有一个原因,就是 SpringMVC对 Ajax 的支持非常好。(2)SpringSpring 是一个全方位的应用程序框架,一般用 Spring 来整合整个应用程序,同时它也可以很轻松的用来整合其它各种框架,包括 Mybatis、Hibernate 等。(3)MybatisMyBatis 是优秀的持久层框架,它可以通过配置 xml 或注解的方式来定制SQL,然后将接口和 Java 的实体对象映射成数据库中的记录。(4)HibernateHibernate 是一个完全实现了 ORM 的持久层框架。通过 Hibernate,只要映射好了对象和数据库的关系,就可以通过直接更改对象来

21、同步数据,而不需要人工使用 SQL 和 JDBC,大大提高了开发效率。2.3.2 开发运行环境开发过程在 Windows 系统下进行,需要 Java 环境,开发工具选择MyEclipse,数据库使用 MySql,服务器选择 Tomcat,具体选择如表 1 所示。表 1 开发运行环境系统环境 JDK1.6+开发工具 MyEclipse2014服务器 Tomcat7+画图工具 Visio数据库 MySQL5.1.4数据库管理工具 Navicat Premium操作系统 Windows2.4 系统技术难点及关键技术(1)同时使用 Mybatis 和 Hibernate 两种持久层工具,可能出现冲突同

22、时使用是因为为了兼具两种工具的优势,Mybatis 可以定制原生 SQL,查询效率高,Hibernate 对实体对象之间的关联关系处理的非常好,用来做添加和更新操作很方便,但同时使用会出现一些比如数据源、事务管理方面的冲突。第 6 页 共 35 页(2)防止用户重复登录因为是办公系统,需要保证安全性,一个用户在同一时间地点只允许登录一次。(3)当前用户的登录拦截和权限验证最好能有一个统一进行验证的验证中心,对用户的访问进行拦截,每一次访问都进行一次登录验证和权限验证,提高安全性。(4)根据用户权限显示菜单和操作为用户分配操作权限后,最好能够根据用户拥有的权限显示当前用户的菜单和操作按钮,没有权

23、限就不显示,这样就不会总是出现提示没有操作权限的提示,提高用户体验度。(5)工资记录包含多个工资条目员工的工资记录可能包含多个工资条目,能够根据具体情况进行增删。(6)工作流的模型解析和执行工作流的关键在于对流程模型进行定义和描述;然后对流程模型进行解析,解析成程序能读懂的实体对象;当提交申请生成流程实例后,就可以根据选择的流程模型进行执行;审批流程的主要功能包括部署流程,流程的顺序执行和并行执行,流程的回退,查看审批记录,配置任务的前后置动作等。2.5 系统优点本系统采用了优秀的 Web 框架极大的减少了代码编写量,同时采用 MVC模式和三层架构编写代码,极大降低了其耦合性,方便代码的编写,

24、降低了人力物力,节约开发成本。同时本系统采用免费开源的 MySQL 开源数据库,同样节约了成本。在使用上,管理员可以为不同的职能设置不同的权限,同时本系统的操作简单,界面友好,能让使用者能快速上手。3 系统详细设计3.1 系统模块总体设计本系统不同用户根据其职能拥有不同的权限,在同一个登录页面登录,身份验证后,进入相同的首页,但是首页上只会显示拥有权限的菜单。从功能上划分系统具有员工管理,部门管理,职能管理,工资管理,站内消息,审批管理等功能,不同的用户具有不同的权限。系统功能模块图如图 5 所示:第 7 页 共 35 页图 5 系统功能模块图3.2 系统流程及分析进入系统时直接进入首页,然后

25、通过登录拦截判断当前用户是否登录,没有登录就跳转到登录页面;登录了就进入首页,这时候用户进行任何操作都会通过权限验证拦截,如果是退出操作,直接执行,否则需要权限验证通过才能执行操作,否则跳转到显示没有操作权限的提示信息页面。系统流程图如图 6所示:第 8 页 共 35 页图 6 系统流程图3.3 系统功能的详细定义3.3.1 组织管理模块组织管理模块主要是对公司或企业的人员组织进行管理,包括员工管理,职能管理和部门管理三个子模块。(1)员工管理模块包括对员工的增加、删除、修改、查看操作,能实现不同条件的搜索,对员工登录密码的初始化。增加修改用户时,需要指定员工的职能和部门,其中员工的登录账号和

26、工号需要验证唯一性。搜索员工信息可以按照登录账号、姓名、工号、所属部门、所属职能等进行搜索。员工登录密码初始化时需要一个确认提示框,确认初始化后初始化用户密码为工号。(2)部门管理模块包括对部门的增加、删除、修改、查看操作,能实现不同条件的搜索。搜索部门信息时,可以按照部门名称进行模糊查询。增加和修改部门信息时,部门名称需要验证唯一性。(3)职能管理模块职能是对员工类型的划分,包括对职能的增加、删除、修改、查看操作,为职能分配不同的权限。搜索职能信息时,可以按照职能名称进行模糊查询。增加和修改职能信息时,职能名称需要验证唯一性。设置职能权限时,权限信息需要以树状的形式进行展示,并且可以多选。员

27、工的职能和权限最初来自于系统管理员的设置,系统管理员先录入员工信息,然后给职能分配权限,再把职能分配给员工,这样员工就拥有了自己的操作权限,其用例图如图 7 所示:图 7 管理员分配权限用例图3.3.2 个人信息管理模块(1)个人信息修改,当前登录用户可以修改自己的手机号码、Email、通信地址、用户头像等基本信息,但是姓名、工号、部门、职能等信息只能查看不能修改。第 9 页 共 35 页(2)登录密码修改,当前登录用户可以重置自己的登录密码,需要先输入旧密码,然后重复输入两次新密码,验证通过后才能重置密码,重置成功后,新密码会在下次登录时生效。3.3.3 工资管理模块工资管理包括职能工资管理

28、,员工工资管理,查询统计三个子模块。(1)职能工资管理:为不同类型的员工设置一个基本工资,在员工工资录入的时候,默认此员工的基本工资为此员工所属职能的基本工资,方便录入。(2)员工工资管理:包括对员工工资记录的增加、查看。增加员工工资记录时需要先选择一个或多个员工,然后在进入工资记录添加页面进行添加;工资记录可以按照员工姓名、工号、所属部门、所属职能、年份、月份进行查询工资记录。(3)查询统计:可以按照员工姓名、工号、所属部门、所属职能、年份、月份进行查询,查询出来的结果可以导出为 excel 文档,并且用饼图和折线图对查询出的结果进行统计。3.3.4 站内消息模块包括收件箱和发件箱,能够写信

29、、查看消息和删除消息,并且在页面顶部能够即时提醒未读消息。写信和查看消息支持富文本,包括附件和图片的上传等,大大丰富了短消息的内容。写信填写收件人时需要进行远程验证,未读消息高亮显示,查看消息后未读提醒需要及时更新,提高用户体验度。3.3.5 审批流程模块审批流程功能模块是本系统的重点功能,实现了一个小型的工作流引擎,工作流引擎的作用是解析流程定义,创建制流程实例,并按照流程定义制订的步骤来执行和响应动作 8。包括流程定义的部署和解析,创建流程实例并开启相应任务;响应用户动作来执行任务,通过后开启下一步的任务;响应用户的回退请求,将任务回退到上一步或重新开始。工作流引擎本身不处理具体的业务逻辑

30、,只针对审批任务本身进行控制。具体功能模块如图 8 所示:第 10 页 共 35 页图 8 审批流程模块(1)流程设计器通过图形化界面的操作,以拖拽的方式简单的实现流程的定义及部署。(2)流程模板可以通过提交流程定义的 xml 文件的方式进行部署,能够启用、弃用、查看部署好的流程模板。添加部署时,如果已经有同名的流程模板,那么当前流程模板的版本号自动加一,且自动弃用同名的老版本号的流程模板。弃用流程模板后,在申请列表中将不可见。查看流程模板,支持图形化的查看方式,同时支持 xml 定义文件的下载。(3)申请列表列出启用的流程模板,选择一个流程模板进行申请的创建,提交申请后将生成此流程模板的一个

31、流程实例,进入工作流引擎,开始进行审批。申请成功后自动跳转到我的申请列表。(4)我的申请查看当前登录用户所提交的申请,能够按照申请编号、申请状态、申请结果进行查询;能够以图形化的方式查看当前申请的状态,能够查看申请的审批记录。(5)我的任务查看当前登录用户需要进行审批的任务,能够查看任务所属申请的审批状态,能够查看任务所属申请的审批记录,能够根据流程模板所定义的操作权限进行任务办理。任务办理的权限独属于工作流引擎,需要在流程模板中定义,操作权限包括:顺序执行(同意或不同意) 、关闭申请、回退申请等,默认为顺序执行。待办理的任务在页面顶部进行提醒,如办理完成,即时更新页面顶部的提醒。3.4 对象

32、定义与数据库设计第 11 页 共 35 页3.4.1 主要对象定义(1)用户对象,在本系统中主要用于存储员工的基本信息,属性包括登录名、密码、工号、姓名、性别、电话号码、电子邮件、上次登录 IP、上次登录时间、本次登录 IP、本次登录时间、头像地址等(2)部门对象,主要用于存储部门的基本信息,属性包括编号、名称、描述等(3)职能对象,主要用于存储职能的基本信息,职能是按照工作职责对用户类型进行的一种划分,属性包括名称、描述等(4)权限对象,主要用于存储权限的相关信息,在本系统中权限被分为三级,一二级权限为菜单,三级权限是相关操作的链接,属性包括名称、url 地址、图标等(5)职能基本工资对象,

33、主要用于存储职能的基本工资,属性包括基本工资、基本工资项等(6)员工工资记录对象,主要存储员工在某一年中某一个月的工资记录,属性包括员工编号、员工姓名、员工部门编号、员工部门名称、年份、月份、基本收入项、扣款项、个税、最终所得等(7)消息对象,主要用于存储用户在站内发送的消息,属性包括标题、摘要、内容、收件人、发件人、发送时间、收件人删除标志、发件人删除标志等(8)流程模板对象,主要用于存储流程模板的相关信息,属性包括名称、可用标志、版本号、创建时间、创建人、描述、定义文档内容等(9)流程实例对象,在本系统中,一个流程实例相当于一个申请,主要用于存储流程实例的基本信息,属性包括实例编号、创建人

34、、创建时间、附属变量、状态标志、结果、申请信息等(10)审批任务对象,主要用于存储办理任务的相关信息,属性包括名称、类型、开启时间、完成时间、附属变量、节点编号、参与类型、动作名称、当前任务标志、活动状态等(11)审批办理人对象,用于存储任务所指定的办理人的基本信息,审批办理人在工作流中单独进行存储,属性包括办理人标识符、操作权限、完成标志、完成时间、动作名称(12)审批记录对象,是用审批办理人和审批任务组成的包装类型实体,仅用于查询(13)流程定义对象,流程定义是通过 xml 文件解析出来的流程模型,主要用于存储了流程模板中的相关信息系统中主要实体关系如图 9 所示:第 12 页 共 35

35、页图 9 总体 E-R 图其中主要的关系有:(1)员工只有一个职能,员工也只能属于一个部门。(2)职能与权限是一对多的关系,即一个职能可以拥有多个权限,而一个员工只能有一个职能,所以一个用户就拥有了多个权限。(3)一个员工在某一年的某一个月中只有一个工资记录。(4)一个流程模板可以生成多个流程实例,每个流程实例都有属于自己的任务,每个任务都有一到多个办理人。3.4.2 数据库设计数据库关系设计图如图 10 所示:第 13 页 共 35 页图 10 数据库关系设计图第 14 页 共 35 页(1)员工信息表(user ):该表主要用于存储员工的基本信息,结构如表2 所示:表 2 员工信息表(us

36、er)名称 类型 可否为空 说明 备注id bigint 否 用户 ID 主键loginName varchar 否 登录账户名称 唯一password varchar 否 登录密码name varchar 否 姓名gender varchar 否 性别phoneNumber varchar 是 手机电话email varchar 是 邮箱description varchar 是 描述departmentId bigint 否 部门 ID 外键,关联部门信息表中的主键idlastLoginIp varchar 是 上次登录IPlastLoginTime datetime 是 上次登录时间lo

37、ginNum bigint 是 登录次数code varchar 否 工号 唯一photoUrl varchar 是 头像地址roleId bigint 否 职能 ID 外键,关联职能信息表中的主键id其中 loginName 是用户登录的账户名,所以必须唯一;同样,每个员工都有属于自己的工号,所以也必须唯一,同时工号作为用户的初始密码。(2)部门信息表(department) ,用于存储部门的相关信息,结构如表 3 所示:表 3 部门信息表(department)名称 类型 可否为空 说明 备注id bigint 否 部门 ID 主键name varchar 否 部门名称 唯一descrip

38、tion varchar 是 描述code varchar 否 部门编号 唯一其中的部门名称必须唯一,即不能出现名称相同的部门。(3)职能信息表(role) ,用于存储职能的基本信息,结构如表 4 所示:表 4 职能信息表(role)名称 类型 可否为空 说明 备注id bigint 否 部门 ID 主键name varchar 否 部门名称 唯一description varchar 是 描述code varchar 否 部门编号 唯一第 15 页 共 35 页其中的职能名称必须唯一,即不能出现名称相同的职能。(4)权限信息表(privilege) ,用于组织菜单结构和操作按钮,权限表父子关

39、系最多三级,一二级权限作为菜单,三级权限为具体增删改操作,结构如表5 所示:表 5 权限信息表(privilege)名称 类型 可否为空 说明 备注id bigint 否 权限 ID 主键url varchar 是 权限操作链接 一级权限为空name varchar 否 名称parentId bigint 是 父权限ico varchar 是 小图标 一级权限才有其中 url 为操作的链接, ico 为小图标,parentId 表示父权限;一级权限相当于菜单栏中的一级菜单,可以下拉,所以一级权限的 url 为空,parentId 为空,但是有小图标 ico;而二三级权限的 url 和 pare

40、ntId 不能为空,没有小图标。(5)职能权限关联表(role_privilege) ,用于关联职能和权限,即为职能分配权限,结构如表 6 所示:表 6 职能权限关联表(role_privilege)名称 类型 可否为空 说明 备注privilegeId bigint 否 权限 ID 主键,外键关联权限表的主键idroleId bigint 否 职能 ID 主键,外键关联职能表的主键id两个属性同时作为主键,即联合主键,表示这两个主键的组合不能重复出现,保证了职能和权限一对多关系的建立。(6)消息表(messageinfo) ,主要用于存储站内发送的消息信息,结构如表 7 所示:表 7 站内消

41、息表(messageinfo )名称 类型 可否为空 说明 备注id bigint 否 消息ID 主键title varchar 否 标题content text 否 内容writerName varchar 否 发件人账号receiverName varchar 否 收件人账号time datetime 是 发送时间writeState int 是 发件人删除标志 0未删,1已删receiveState int 是 收件状态 0未读/1已读/2已删zhaiyao varchar 否 摘要 默认截取内容前25字其中 writerName 和 receiverName 表示发件人和收件人的登录账

42、号,因为登第 16 页 共 35 页录账号可以唯一确定一个用户;writeState 表示发件人的删除标志,为 0 表示发件人没有删除这条消息,1 表示已经删除,已经删除的消息发件人不能看到;receiveState 表示收件状态,与 writeState 类似,但是多了一个已读未读的状态,用于提示用户阅读消息。(7)职能基本工资表(rolesalary ) ,为职能设置一个基本工资,表示这个职能下的员工的默认基本工资。结构如表 8 所示:表 8 职能基本工资表(rolesalary)名称 类型 可否为空 说明 备注id bigint 否 职能工资ID 主键roleId bigint 否 职能

43、ID 外键basicWage double 是 基本工资合计items varchar 是 基本工资项 按照一定格式存储各种工资项目其中的 items 用于存储工资信息,一个工资条目的格式为“(名称:金额)” ,多个工资条目可以使用多个形如“(名称:金额) (名称 :金额)”的格式。(8)员工工资记录表(employeesalary ) ,工资记录需要单独存储,所以员工及其所在部门等信息没有以外键关联的形式存储,而是直接存储具体数据,保证工资记录的独立性。结构如表 9 所示:表 9 员工工资记录表(employeesalary)名称 类型 可否为空 说明 备注id bigint 否 工资ID

44、主键employeerId bigint 是 员工ID 关联员工主键year int 是 年份 4位数字month int 否 月份 1-12basicWage double 否 基本工资合计deduct double 是 扣项合计socialInsurance double 是 代扣社保等incometax double 是 个人所得税finalIncome double 否 最终所得items varchar 是 工资项目 各种工资项目userName varchar 否 员工姓名userCode varchar 否 员工编号userDepartmentName varchar 是 员工所

45、在部门名称userDepartmentCode varchar 是 员工所在部门编号其中的 items 用来存储工资信息,工资条目使用形如“(名称:金额)”的格式来表示;不同工资类型,比如属于基本工资还是扣款还是社保等,使用符号“-”来分隔,没有就为空,最后形成形如“(名称:金额 )- (名称:金额)-”的格式。(9)员工职能关联表(user_ role) ,用于关联员工和职能,即为员工分配第 17 页 共 35 页职能,结构如表 10 所示:表 10 员工职能关联表(user_role)名称 类型 可否为空 说明 备注roleId bigint 否 职能 ID 主键userId bigint

46、 否 员工 ID 主键两个属性同时作为主键,即联合主键,表示这两个主键的组合不能重复出现,保证了用户和职能一对一关系的建立。(10)工作流流程模板表(wf_templete) ,内容包括从 xml 定义中解析出来的相关内容,同时将 xml 内容以二进制的形式存储,方便再次进行解析。结构如表 11 所示:表 11 流程模板表(wf_templete)名称 类型 可否为空 说明 备注id bigint 否 流程模板 ID 主键name varchar 否 流程模板名称 主键state tinyint 否 启用状态 1可用,0不可用content longblob 否 Xml内容version in

47、t 否 版本号createTime datetime 否 创建时间creator varchar 否 创建人description varchar 是 相关描述其中属性 content 采用 longblob 的格式来存储二进制数据。(11)工作流流程实例表(wf_instance) ,利用流程模板生成的流程实例,每一个申请都可以看作一个流程实例。结构如表 12 所示:表 12 流程实例表(wf_instance)名称 类型 可否为空 说明 备注id bigint 否 流程实例 ID 主键templateId bigint 否 流程模板 ID 外键creator varchar 否 创建人cr

48、eateTime datetime 否 创建时间expireTime datetime 是 超期时间variable varchar 是 附属变量 json存储instanceNo varchar 否 流程实例编号 唯一instanceState tinyint 否 状态 1正在使用,0关闭流程instanceResult int 否 结果 0审批中,1审批通过,2审批驳回applyInfo text 是 申请内容 支持富文本其中附属变量以 json 字符串的形式存储,附属变量可以看作提交申请时所提交的信息;使用 json 存储的好处是可以存储任何的键值对类型的数据,并且第 18 页 共 35

49、 页json 可以方便的和 map 进行互转,方便了开发和存储。(12)工作流任务表(wf_task) ,用来存储一个流程实例正在办理或已经完成任务信息,结构如表 13 所示:表 13 任务表(wf_task)名称 类型 可否为空 说明 备注id bigint 否 任务ID 主键instanceNo varchar 否 流程实力编号name varchar 否 任务名称taskType tinyint 是 任务类型operator varchar 否 办理人 多个办理人使用,隔开createTime datetime 否 任务开启时间finishTime datetime 是 任务完成时间expireTime datetime 是 任务超期时间variable varchar 是 附属变量 Json字符串nodeId varchar 否 此任务在流程定义中所在的节点位置performtype varchar 否 办理人参与类型 all/anyactionName varchar 是 动作名称 任务完成办理后记录任务的操作类型isCurrent tinyint 否 是否是当前任务 0不是,1是taskState tinyint 否 任务状态 0关闭,1开启其中 iscurrent 表示是否为当前任务,taskstate 表示任务完成状态。当isc

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报