欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:86247064       资源大小:1.20MB        全文页数:54页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    基于SSM的OA系统后台的设计与实现基于SSM的OA系统后台的设计与实现摘 要办公自动化(Office Automation)简称OA,它通常利用现代化计算机网络技术,使用各种设备和人机信息系统来协助完成工作任务,把人们从传统办公业务繁琐的人力操作中解放出来,以达到提高工作效率、工作质量和生产率的目的。本系统采用B/S架构来实现企业办公自动化和管理信息化,同时采用近期比较流行的SpringMVC、Spring和Mybatis的框架组合实现了部门管理,职能管理,员工管理,权限管理,员工工资管理,审批流程管理和站内消息这几个主要功能模块。审批流程管理是本系统中的重要研究内容,主要涉及到工作流的设计与实现,通过可视化技术实现流程模板的创建及流程实例的生成,不仅用户体验良好,而且具有高度灵活的可扩展性,同时该功能模块支持任务拦截,任务回退等功能,具有较高的实用性而且符合办公自动化的理念。关键词:办公自动化;SpringMVC;Spring;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 help people complete tasks and liberates people from the traditional office operations cumbersome 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, 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 workflow, 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 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.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 登录拦截与权限验证的实现224.2 流程定义的实现244.3 流程模型解析的实现254.4 工作流并行执行的实现265 系统运行及测试结果285.1 测试环境285.2 测试的对象及目的285.3 测试内容及结果285.4 系统运行实例29结 语32参考文献33致 谢34声 明351 引言1.1 课题背景及意义根据我国现状,我国企业普遍使用的是传统的自动化管理,传统的自动化管理主要以纸质来记录和传递信息,不仅繁琐而且效率不高,浪费了大量的人力物力。因此,如何实现高效的办公管理成为企业迫切的需求1。数字化办公必然引起管理体制的变革,而管理体制变革势必意味着需要从新分配利益和权利,而只要关系到利益和权利就是一件复杂的事情2。尽管这样,实现全面的数字化办公仍是现代企业发展的必然趋势。传统办公模式和网络化办公模式如图1和图2所示:图1 传统办公模式图图2 网络化办公模式图大型OA往往功能繁琐,管理与使用起来都比较复杂,同时所需的开发和维护费用也非常高昂3。而中小型企业对OA的要求没有那么高,所以低成本网络OA系统拥有很大的市场。1.2 国内外研究现状及发展动态国外方面,办公自动化起源于50年代的美国和日本,70年代后期才逐步形成涉及多种技术的新型综合学科。80年代,办公自动化高速发展,随着技术的进步,OA市场出现了应用高端化、市场规模化的趋势。90年代后,随着计算机网络技术的高速发展,办公自动化也随之高速发展,呈现出数字化、智能化、综合化的发展趋势。国内方面,虽然国外有许多成熟的OA产品,虽然功能强大但并不一定符合中国企业的现状,操作管理都不符合国内用户的习惯,因此,20世纪初国内也逐渐开始开发适合国内企业的办公自动化软件,到现如今出现了一大批琳琅满目的OA协同软件,但都不尽人意,企业往往需要根据本企业特性进行二次开发。因此,目前OA系统市场需要更多个性化强的办公自动化软件。经过这几十年的发展,办公自动化越来越成熟,其应用范围也愈来愈广。目前办公自动化是以知识管理为核心,拥有强大的数据处理能力,可以充分集成各种信息数据,这些数据不仅包括电子邮件信息,而且还包括文件系统中的文件、数据库数据、数据仓库中的数据,甚至是互联网上的数据;还可以充分利用各种协同工作手段包括多线程讨论、文档共享、电子邮件及一些辅助工具提供在线及时共享等。同时办公自动化也在不停地进步发展,用最新的技术、设备和观念来制定办公自动化的有关规划,以达到花费最少,收益最大的目的4。1.3 课题研究内容本课题在对OA需求分析的基础上抽取出其中比较有价值的几个功能点,包括对工资的管理、审批流程的实现、站内交流这几个方面。确定好需求后再设计整个项目的框架和数据库。然后理清逻辑,划分功能模块,确定模块与模块之间的联系。接着编写代码实现各个模块的功能,最后在完成整个项目后还要不断测试,增加用户体验。本课题研究的重点在于工作流的设计与实现,包括对流程的定义和描述,对流程的解析,对流程的执行,要求能够良好的实现审批流程的功能,并且在实现功能的同时还要有良好的用户体验。2 系统总体设计方案2.1 系统总体结构设计及分析2.1.1 三层架构和MVC模式三层架构把所有代码分解成UI界面层,BLL业务逻辑层和DAL数据访问层5。这样分解能够使程序员更加专注的处理具体的业务逻辑。比如常见的分解方法中,把对数据库的增删改查封装到DAO(Data Access Object,数据访问对象)中,这样在处理具体的业务逻辑时就可以直接调用DAO方法来实现数据库的存储。而MVC模式主要是针对B/S结构的程序,也就是WEB应用程序,它把展示数据的页面尽可能的和业务代码分离。MVC把纯净的界面展示独立到Views层,把交互的程序逻辑独立到Controller层中,在 Views 和 Controller 中传递数据使用一些专门封装数据的实体对象Models。MVC和三层架构是没有关系的。因为任何应用程序都可以划分为三层;而MVC一般用于WEB应用程序。但从解耦的角度来看它们又是一致的,因为都是用来划分代码层次,只不过划分的方法不一样罢了,所以它们是可以同时存在的。本系统采用B/S架构,同时采用MVC模式和三层架构来进行代码层次的分解,如图3所示:图3 MVC模式和三层架构2.1.2 前后端分离前后端分离是当前B/S架构应用程序比较流行的开发模式。 常见的“前后端分离”案例是SPA( Single Page Application)6。也就是常说的单页App,因为所有的请求都是通过异步接口( AJAX/ JSONP)的方式来发送和响应的,所以页面无刷新,就呈现出一种好像所有东西都在同一个页面上的效果。但是在实际开发中SPA只能作为简单的应用模式,无法满足复杂的业务需求7,所以本系统采用同步加异步混合的开发模式,即少部分场景例如用户登录、表单提交等采用同步方式,其它场景尽量采用AJAX技术进行异步交互,同时本系统的前后端分离,对开发人员从职责上划分的主要场景为:(1)前端开发人员:负责View层,与后端开发人员共同决定涉及前后端交互的Controller层。(2)后端开发人员:负责MVC中的Model层,包括业务处理逻辑等,同时与前端开发人员交流沟通后实现Controller层。2.2 系统功能设计结合市面上现有OA情况,根据开发人员对自动化办公的需求分析,本系统主要抽取了以下几个开发人员觉得有价值的功能,包括员工管理,部门管理,职能管理,工资管理,站内消息,审批管理等,功能需求如图4所示:图4 主要功能模块图(1)员工管理,包括对员工的增加、删除、修改、查看操作,能实现不同条件的搜索,对员工登录密码的初始化。(2)部门管理,包括对部门的增加、删除、修改、查看操作,能实现不同条件的搜索。(3)职能管理,职能是对员工类型的划分,包括对职能的增加、删除、修改、查看操作。(4)权限管理,权限管理作为职能管理的补充,权限之间有父子关系,但最多三级权限,那么一二级权限组成菜单列表,三级权限为具体增删改操作。然后为职能分配权限,再为员工分配职能,那么不同职能的员工就拥有了不同的权限。(5)工资管理包括职能工资管理和员工工资管理。职能工资管理:为不同类型的员工设置一个基本工资,在员工工资录入的时候,默认此员工的基本工资为此员工所属职能的基本工资;员工工资管理,包括对员工工资记录的增加、查看,和按条件查询工资记录,并对查询出来的工作记录利用饼图折线图等进行分析统计。(6)站内消息,OA系统内的用户能够互相发送短消息,支持富文本,包括一个收件箱和发件箱,能增加,删除,查看,搜索消息,提示未读消息。(7)审批流程管理,利用开发人员开发的工作流引擎,实现简单的审批流程功能,包括流程设计器,流程模板,申请列表,我的申请,我的任务,我的审批记录,查看申请状态等功能。2.3 开发运行平台选择及分析2.3.1 技术选型市面上J2EE的开源框架层出不穷,本系统采用近期比较流行的SSM的框架组合,即SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1的框架组合,同时使用Hibernate3.3.1,其中Mybatis和Hibernate都是操作数据库的框架,同时使用是因为Mybatis查询效率高,而Hibernate由于其ORM特性,对更新修改操作很方便。具体采用技术框架描述如下:(1)SpringMVCSpring MVC是一种实现了MVC设计模式的轻量级Web框架,大大简化了开发人员的日常Web开发,选择SpringMVC还有一个原因,就是SpringMVC对Ajax的支持非常好。(2)SpringSpring是一个全方位的应用程序框架,一般用Spring来整合整个应用程序,同时它也可以很轻松的用来整合其它各种框架,包括Mybatis、Hibernate 等。(3)MybatisMyBatis是优秀的持久层框架,它可以通过配置xml或注解的方式来定制SQL,然后将接口和Java的实体对象映射成数据库中的记录。(4)HibernateHibernate是一个完全实现了ORM的持久层框架。通过Hibernate,只要映射好了对象和数据库的关系,就可以通过直接更改对象来同步数据,而不需要人工使用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两种持久层工具,可能出现冲突同时使用是因为为了兼具两种工具的优势,Mybatis可以定制原生SQL,查询效率高,Hibernate对实体对象之间的关联关系处理的非常好,用来做添加和更新操作很方便,但同时使用会出现一些比如数据源、事务管理方面的冲突。(2)防止用户重复登录因为是办公系统,需要保证安全性,一个用户在同一时间地点只允许登录一次。(3)当前用户的登录拦截和权限验证最好能有一个统一进行验证的验证中心,对用户的访问进行拦截,每一次访问都进行一次登录验证和权限验证,提高安全性。(4)根据用户权限显示菜单和操作为用户分配操作权限后,最好能够根据用户拥有的权限显示当前用户的菜单和操作按钮,没有权限就不显示,这样就不会总是出现提示没有操作权限的提示,提高用户体验度。(5)工资记录包含多个工资条目员工的工资记录可能包含多个工资条目,能够根据具体情况进行增删。(6)工作流的模型解析和执行工作流的关键在于对流程模型进行定义和描述;然后对流程模型进行解析,解析成程序能读懂的实体对象;当提交申请生成流程实例后,就可以根据选择的流程模型进行执行;审批流程的主要功能包括部署流程,流程的顺序执行和并行执行,流程的回退,查看审批记录,配置任务的前后置动作等。2.5 系统优点本系统采用了优秀的Web框架极大的减少了代码编写量,同时采用MVC模式和三层架构编写代码,极大降低了其耦合性,方便代码的编写,降低了人力物力,节约开发成本。同时本系统采用免费开源的MySQL开源数据库,同样节约了成本。在使用上,管理员可以为不同的职能设置不同的权限,同时本系统的操作简单,界面友好,能让使用者能快速上手。3 系统详细设计3.1 系统模块总体设计本系统不同用户根据其职能拥有不同的权限,在同一个登录页面登录,身份验证后,进入相同的首页,但是首页上只会显示拥有权限的菜单。从功能上划分系统具有员工管理,部门管理,职能管理,工资管理,站内消息,审批管理等功能,不同的用户具有不同的权限。系统功能模块图如图5所示:图5 系统功能模块图3.2 系统流程及分析进入系统时直接进入首页,然后通过登录拦截判断当前用户是否登录,没有登录就跳转到登录页面;登录了就进入首页,这时候用户进行任何操作都会通过权限验证拦截,如果是退出操作,直接执行,否则需要权限验证通过才能执行操作,否则跳转到显示没有操作权限的提示信息页面。系统流程图如图6所示:图6 系统流程图3.3 系统功能的详细定义3.3.1 组织管理模块组织管理模块主要是对公司或企业的人员组织进行管理,包括员工管理,职能管理和部门管理三个子模块。(1)员工管理模块包括对员工的增加、删除、修改、查看操作,能实现不同条件的搜索,对员工登录密码的初始化。增加修改用户时,需要指定员工的职能和部门,其中员工的登录账号和工号需要验证唯一性。搜索员工信息可以按照登录账号、姓名、工号、所属部门、所属职能等进行搜索。员工登录密码初始化时需要一个确认提示框,确认初始化后初始化用户密码为工号。(2)部门管理模块包括对部门的增加、删除、修改、查看操作,能实现不同条件的搜索。搜索部门信息时,可以按照部门名称进行模糊查询。增加和修改部门信息时,部门名称需要验证唯一性。(3)职能管理模块职能是对员工类型的划分,包括对职能的增加、删除、修改、查看操作,为职能分配不同的权限。搜索职能信息时,可以按照职能名称进行模糊查询。增加和修改职能信息时,职能名称需要验证唯一性。设置职能权限时,权限信息需要以树状的形式进行展示,并且可以多选。员工的职能和权限最初来自于系统管理员的设置,系统管理员先录入员工信息,然后给职能分配权限,再把职能分配给员工,这样员工就拥有了自己的操作权限,其用例图如图7所示:图7 管理员分配权限用例图3.3.2 个人信息管理模块(1)个人信息修改,当前登录用户可以修改自己的手机号码、Email、通信地址、用户头像等基本信息,但是姓名、工号、部门、职能等信息只能查看不能修改。(2)登录密码修改,当前登录用户可以重置自己的登录密码,需要先输入旧密码,然后重复输入两次新密码,验证通过后才能重置密码,重置成功后,新密码会在下次登录时生效。 3.3.3 工资管理模块工资管理包括职能工资管理,员工工资管理,查询统计三个子模块。(1)职能工资管理:为不同类型的员工设置一个基本工资,在员工工资录入的时候,默认此员工的基本工资为此员工所属职能的基本工资,方便录入。(2)员工工资管理:包括对员工工资记录的增加、查看。增加员工工资记录时需要先选择一个或多个员工,然后在进入工资记录添加页面进行添加;工资记录可以按照员工姓名、工号、所属部门、所属职能、年份、月份进行查询工资记录。(3)查询统计:可以按照员工姓名、工号、所属部门、所属职能、年份、月份进行查询,查询出来的结果可以导出为excel文档,并且用饼图和折线图对查询出的结果进行统计。3.3.4 站内消息模块包括收件箱和发件箱,能够写信、查看消息和删除消息,并且在页面顶部能够即时提醒未读消息。写信和查看消息支持富文本,包括附件和图片的上传等,大大丰富了短消息的内容。写信填写收件人时需要进行远程验证,未读消息高亮显示,查看消息后未读提醒需要及时更新,提高用户体验度。3.3.5 审批流程模块审批流程功能模块是本系统的重点功能,实现了一个小型的工作流引擎,工作流引擎的作用是解析流程定义,创建制流程实例,并按照流程定义制订的步骤来执行和响应动作8。包括流程定义的部署和解析,创建流程实例并开启相应任务;响应用户动作来执行任务,通过后开启下一步的任务;响应用户的回退请求,将任务回退到上一步或重新开始。工作流引擎本身不处理具体的业务逻辑,只针对审批任务本身进行控制。具体功能模块如图8所示:图8 审批流程模块(1)流程设计器通过图形化界面的操作,以拖拽的方式简单的实现流程的定义及部署。(2)流程模板可以通过提交流程定义的xml文件的方式进行部署,能够启用、弃用、查看部署好的流程模板。添加部署时,如果已经有同名的流程模板,那么当前流程模板的版本号自动加一,且自动弃用同名的老版本号的流程模板。弃用流程模板后,在申请列表中将不可见。查看流程模板,支持图形化的查看方式,同时支持xml定义文件的下载。(3)申请列表列出启用的流程模板,选择一个流程模板进行申请的创建,提交申请后将生成此流程模板的一个流程实例,进入工作流引擎,开始进行审批。申请成功后自动跳转到我的申请列表。(4)我的申请查看当前登录用户所提交的申请,能够按照申请编号、申请状态、申请结果进行查询;能够以图形化的方式查看当前申请的状态,能够查看申请的审批记录。(5)我的任务查看当前登录用户需要进行审批的任务,能够查看任务所属申请的审批状态,能够查看任务所属申请的审批记录,能够根据流程模板所定义的操作权限进行任务办理。任务办理的权限独属于工作流引擎,需要在流程模板中定义,操作权限包括:顺序执行(同意或不同意)、关闭申请、回退申请等,默认为顺序执行。待办理的任务在页面顶部进行提醒,如办理完成,即时更新页面顶部的提醒。3.4 对象定义与数据库设计3.4.1 主要对象定义(1)用户对象,在本系统中主要用于存储员工的基本信息,属性包括登录名、密码、工号、姓名、性别、电话号码、电子邮件、上次登录IP、上次登录时间、本次登录IP、本次登录时间、头像地址等(2)部门对象,主要用于存储部门的基本信息,属性包括编号、名称、描述等(3)职能对象,主要用于存储职能的基本信息,职能是按照工作职责对用户类型进行的一种划分,属性包括名称、描述等(4)权限对象,主要用于存储权限的相关信息,在本系统中权限被分为三级,一二级权限为菜单,三级权限是相关操作的链接,属性包括名称、url地址、图标等(5)职能基本工资对象,主要用于存储职能的基本工资,属性包括基本工资、基本工资项等(6)员工工资记录对象,主要存储员工在某一年中某一个月的工资记录,属性包括员工编号、员工姓名、员工部门编号、员工部门名称、年份、月份、基本收入项、扣款项、个税、最终所得等(7)消息对象,主要用于存储用户在站内发送的消息,属性包括标题、摘要、内容、收件人、发件人、发送时间、收件人删除标志、发件人删除标志等(8)流程模板对象,主要用于存储流程模板的相关信息,属性包括名称、可用标志、版本号、创建时间、创建人、描述、定义文档内容等(9)流程实例对象,在本系统中,一个流程实例相当于一个申请,主要用于存储流程实例的基本信息,属性包括实例编号、创建人、创建时间、附属变量、状态标志、结果、申请信息等(10)审批任务对象,主要用于存储办理任务的相关信息,属性包括名称、类型、开启时间、完成时间、附属变量、节点编号、参与类型、动作名称、当前任务标志、活动状态等(11)审批办理人对象,用于存储任务所指定的办理人的基本信息,审批办理人在工作流中单独进行存储,属性包括办理人标识符、操作权限、完成标志、完成时间、动作名称(12)审批记录对象,是用审批办理人和审批任务组成的包装类型实体,仅用于查询(13)流程定义对象,流程定义是通过xml文件解析出来的流程模型,主要用于存储了流程模板中的相关信息系统中主要实体关系如图9所示:图9 总体E-R图其中主要的关系有:(1)员工只有一个职能,员工也只能属于一个部门。(2)职能与权限是一对多的关系,即一个职能可以拥有多个权限,而一个员工只能有一个职能,所以一个用户就拥有了多个权限。(3)一个员工在某一年的某一个月中只有一个工资记录。(4)一个流程模板可以生成多个流程实例,每个流程实例都有属于自己的任务,每个任务都有一到多个办理人。3.4.2 数据库设计数据库关系设计图如图10所示:图10 数据库关系设计图(1)员工信息表(user):该表主要用于存储员工的基本信息,结构如表2所示:表2 员工信息表(user)名称类型可否为空说明备注idbigint否用户 ID主键loginNamevarchar否登录账户名称唯一passwordvarchar否登录密码namevarchar否姓名gendervarchar否性别phoneNumbervarchar是手机电话emailvarchar是邮箱descriptionvarchar是描述departmentIdbigint否部门ID外键,关联部门信息表中的主键idlastLoginIpvarchar是上次登录IPlastLoginTimedatetime是上次登录时间loginNumbigint是登录次数codevarchar否工号唯一photoUrlvarchar是头像地址roleIdbigint否职能ID外键,关联职能信息表中的主键id其中loginName是用户登录的账户名,所以必须唯一;同样,每个员工都有属于自己的工号,所以也必须唯一,同时工号作为用户的初始密码。(2)部门信息表(department),用于存储部门的相关信息,结构如表3所示:表3 部门信息表(department)名称类型可否为空说明备注idbigint否部门ID主键namevarchar否部门名称唯一descriptionvarchar是描述codevarchar否部门编号唯一其中的部门名称必须唯一,即不能出现名称相同的部门。(3)职能信息表(role),用于存储职能的基本信息,结构如表4所示:表4 职能信息表(role)名称类型可否为空说明备注idbigint否部门ID主键namevarchar否部门名称唯一descriptionvarchar是描述codevarchar否部门编号唯一其中的职能名称必须唯一,即不能出现名称相同的职能。(4)权限信息表(privilege),用于组织菜单结构和操作按钮,权限表父子关系最多三级,一二级权限作为菜单,三级权限为具体增删改操作,结构如表5所示:表5 权限信息表(privilege)名称类型可否为空说明备注idbigint否权限ID主键urlvarchar是权限操作链接一级权限为空namevarchar否名称parentIdbigint是父权限icovarchar是小图标一级权限才有其中url为操作的链接, ico为小图标,parentId表示父权限;一级权限相当于菜单栏中的一级菜单,可以下拉,所以一级权限的url为空,parentId为空,但是有小图标ico;而二三级权限的url和parentId不能为空,没有小图标。(5)职能权限关联表(role_privilege),用于关联职能和权限,即为职能分配权限,结构如表6所示:表6 职能权限关联表(role_privilege)名称类型可否为空说明备注privilegeIdbigint否权限ID主键,外键关联权限表的主键idroleIdbigint否职能ID主键,外键关联职能表的主键id两个属性同时作为主键,即联合主键,表示这两个主键的组合不能重复出现,保证了职能和权限一对多关系的建立。(6)消息表(messageinfo),主要用于存储站内发送的消息信息,结构如表7所示:表7 站内消息表(messageinfo)名称类型可否为空说明备注idbigint否消息ID主键titlevarchar否标题contenttext否内容writerNamevarchar否发件人账号receiverNamevarchar否收件人账号timedatetime是发送时间writeStateint是发件人删除标志0未删,1已删receiveStateint是收件状态0未读/1已读/2已删zhaiyaovarchar否摘要默认截取内容前25字其中writerName和receiverName表示发件人和收件人的登录账号,因为登录账号可以唯一确定一个用户;writeState表示发件人的删除标志,为0表示发件人没有删除这条消息,1表示已经删除,已经删除的消息发件人不能看到;receiveState表示收件状态,与writeState类似,但是多了一个已读未读的状态,用于提示用户阅读消息。(7)职能基本工资表(rolesalary),为职能设置一个基本工资,表示这个职能下的员工的默认基本工资。结构如表8所示:表8 职能基本工资表(rolesalary)名称类型可否为空说明备注idbigint否职能工资ID主键roleIdbigint否职能ID外键basicWagedouble是基本工资合计itemsvarchar是基本工资项按照一定格式存储各种工资项目其中的items用于存储工资信息,一个工资条目的格式为“(名称:金额)”,多个工资条目可以使用多个形如“(名称:金额) (名称:金额)”的格式。(8)员工工资记录表(employeesalary),工资记录需要单独存储,所以员工及其所在部门等信息没有以外键关联的形式存储,而是直接存储具体数据,保证工资记录的独立性。结构如表9所示:表9 员工工资记录表(employeesalary)名称类型可否为空说明备注idbigint否工资ID主键employeerIdbigint是员工ID关联员工主键yearint是年份4位数字monthint否月份1-12basicWagedouble否基本工资合计deductdouble是扣项合计socialInsurancedouble是代扣社保等incometaxdouble是个人所得税finalIncomedouble否最终所得itemsvarchar是工资项目各种工资项目userNamevarchar否员工姓名userCodevarchar否员工编号userDepartmentNamevarchar是员工所在部门名称userDepartmentCodevarchar是员工所在部门编号其中的items用来存储工资信息,工资条目使用形如“(名称:金额)”的格式来表示;不同工资类型,比如属于基本工资还是扣款还是社保等,使用符号“-”来分隔,没有就为空,最后形成形如“(名称:金额)- (名称:金额)-”的格式。(9)员工职能关联表(user_ role),用于关联员工和职能,即为员工分配职能,结构如表10所示:表10 员工职能关联表(user_role)名称类型可否为空说明备注roleIdbigint否职能ID主键userIdbigint否员工ID主键两个属性同时作为主键,即联合主键,表示这两个主键的组合不能重复出现,保证了用户和职能一对一关系的建立。(10)工作流流程模板表(wf_templete),内容包括从xml定义中解析出来的相关内容,同时将xml内容以二进制的形式存储,方便再次进行解析。结构如表11所示:表11 流程模板表(wf_templete)名称类型可否为空说明备注idbigint否流程模板ID主键namevarchar否流程模板名称主键statetinyint否启用状态1可用,0不可用contentlongblob否Xml内容versionint否版本号createTimedatetime否创建时间creatorvarchar否创建人descriptionvarchar是相关描述其中属性content采用longblob的格式来存储二进制数据。(11)工作流流程实例表(wf_instance),利用流程模板生成的流程实例,每一个申请都可以看作一个流程实例。结构如表12所示:表12 流程实例表(wf_instance)名称类型可否为空说明备注idbigint否流程实例ID主键templateIdbigint否流程模板ID外键creatorvarchar否创建人createTimedatetime否创建时间expireTimedatetime是超期时间variablevarchar是附属变量json存储instanceNovarchar否流程实例编号 唯一instanceStatetinyint否状态1正在使用,0关闭流程instanceResultint否结果0审批中,1审批通过,2审批驳回applyInfotext是申请内容支持富文本其中附属变量以json字符串的形式存储,附属变量可以看作提交申请时所提交的信息;使用json存储的好处是可以存储任何的键值对类型的数据,并且json可以方便的和ma

    注意事项

    本文(基于SSM的OA系统后台的设计与实现--论文.docx)为本站会员(教****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开