java基于ssh的oa系统的设计内容摘要:

型公司。 在 OA系统我们选择职能型的组织架构,机构下可以 挂子机构也可以挂员工。 机构设计为树型结构。 组织管理能够实现授权登陆用户能够添加机构信息、人员信息,删除机构信息、人员信息,修改机构信息、人员信息,普通登陆用户能构查看机构信息、人员信息。 公文流转 在这个功能模块中,我们将使用工作流引擎 JBPM。 利用 JBPM 的流程设计器设计流程,授权登陆用户能够上传流程文件、流程图片,删除流程,普通登陆用户能够查看流程定义文件、流程定义图片,创建公文,审批公文,查看未审公文。 权限管理 通过权限管理,系统能够控制不同用户对模块的访问权限,而且要控制到 CRUD(增删改查)的操 作级别。 能通过角色对用户进行统一授权,在特殊情况下,也能够单独对用户进行授权。 权限设计有很多种设计方法,但是核心都是一样的。 权限设计的核心是三元组的概念( who、 what、 how)。 who 是主体, what是客体、 how 就是负担在客体上面的一种操作。 根据系统需求,在 OA系统中,我们采用 ACL 模型( Access Control List), ACL 中包含用户( User)、资源 (Resource)、资源操作( Operation)三个关键要素。 通过将资源以及资源操作授权给用户而使用户获取对资源进行操作的权限。 但是 ACL 是个比较简单的模型,并未提出对于权限的继承和权限的排斥的解决方案,所以 OA系统采用重构后的 ACL模型,解决系统用户权限继承角色权限,以及权限排斥的问题。 权限管理实现授权登陆用户能够添加模块信息、删除模块信息,添加角色、删除角色、给角色授权,给用户分配帐号、删除帐号、修改帐号信息,给用户分配角色、给特权用户授权、查看用户信息,普通登陆用户能够查看模块信息、角色信息 、修改用户密码。 本系统采用了分层开发,但是对三层架构做了修改,将持久层合并在业务逻辑层中,系统分为呈现层、业务逻辑层。 呈现层使用 jsp 和 jstl[15]表示。 系统 层次 如图 42 所示 : 浙江海洋学院毕业论文 10 领域模型业务逻辑层呈现层 图 42 数据库结构的设计 系统开发中先根据系统需求建立领域模型,根据领域模型构造出实例对象,最后采用 O/R映射工具 Hibernate,从对象模型导出 关系模型。 领域模型如 图 43所示: M od u l e 模块 1*+ pa r en t+ ch i l dr enO r ga n i z at i on 机构 1*+ pa r en t+ ch i l dr enR o l e 角色 A C L 访问控制列表 *1*1U se r sR ol es 用户角色 *1A p pr ov eI n f o 审批信息 D ocu m en t 公文 *1W or kf l ow 流程 *1A d dr essL i st 通信录 N o t e 便签 In f or m at i o n 公共信息 E m pl oy ee 员工 *1+ or gU se r 用户 * 111*1*1 ap pr ov er*1 cr ea t or1*1* 图 43 系统模型图 浙江海洋学院毕业论文 11 数据库表的生成 根据领域模型创建实体类,创建出实体类之间的关联关系。 通过工具 xdoclet 生成实体类的映射文件和 hibernate 配置文件。 利用 hibernate 的工具类倒出数据库表,系统的表结构如下所示: 表 41 t_anization(机构表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 机构 id serialNumber varchar(255) YES NULL 机构编号 Name varchar(255) YES NULL 机构名称 description varchar(255) YES NULL 描述 parentId int(11) YES MUL NULL 父机构 ID 表 42 t_employee (员工表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 员工 id empName varchar(255) YES NULL 员工姓名 gender varchar(255) YES NULL 性别 age int(11) YES NULL 年龄 telephone varchar(255) YES NULL 电话 address varchar(255) YES NULL 地址 varchar(255) YES NULL duty varchar(255) YES NULL 职务 Id int(11) YES MUL NULL 机构 ID remark varchar(255) YES NULL 备注 表 43 t_note (便签表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 便签 id title varchar(255) YES NULL 便签标题 content varchar(255) YES NULL 便签内容 createTime datetime YES NULL 便签日期 createorId int(11) YES MUL NULL 创建者 ID 浙江海洋学院毕业论文 12 表 44 t_addressList (通信录表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 通讯录 id name varchar(255) YES NULL 名字 mobilePhone varchar(255) YES NULL 手机电话 homePhone varchar(255) YES NULL 家庭电话 officePhone varchar(255) YES NULL 办公室电话 varchar(255) YES NULL MSN varchar(255) YES NULL MSN Code varchar(255) YES NULL 邮编 address varchar(255) YES NULL 地址 remark varchar(255) YES NULL 备注 creatorId int(11) YES MUL NULL 创建者 ID 表 45 t_user (用户表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 用户 id username varchar(255) YES NULL 用户名 password varchar(255) YES NULL 密码 createTime datetime YES NULL 创建时间 expireTime datetime YES NULL 失效时间 emp int(11) YES UNI NULL 员工 ID 表 46 t_role (角色表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 角色 id roleName varchar(255) YES NULL 角色名 表 47 t_users_roles (用户角色第三方表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id userId int(11) YES MUL NULL 用户 ID roleId int(11) YES MUL NULL 角色 ID orderNo int(11) YES NULL 角 色级别,该字段用于解决权限冲突问题 浙江海洋学院毕业论文 13 表 48 t_acl ( acl列表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment id principalType varchar(255) YES NULL 主体类型( Role、User) principalId int(11) YES NULL 主体 id moduleId int(11) YES NULL 模块 id aclState int(11) YES NULL 访问控制状态 aclTriState int(11) YES NULL 是否继承,该字段用于解决权限继承问题 表 49 t_module (模块表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 模块 id moduleName varchar(255) YES NULL 模块名称 url varchar(255) YES NULL 模 块的 url orderNo int(11) YES NULL 排序号码 serialNumber varchar(255) YES NULL 模块编号 parentId int(11) YES MUL NULL 父模块 ID 表 410 t_workflow (流程表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 流程 id workflowName varchar(255) YES NULL 流程名称 processDef longblob YES NULL 流程定义 processImage longblob YES NULL 流程图片 表 411 t_document (公文表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 公文 id title varchar(255) YES NULL 公文标题 content longblob YES NULL 公文内容 annex longblob YES NULL 公文附件 description varchar(255) YES NULL 公文描述 createTime datetime YES NULL 创建时间 processInstanceId bigint(20) YES NULL 流程实例 ID status varchar(255) YES NULL 公文状态 createorId int(11) YES MUL NULL 创建者 ID 浙江海洋学院毕业论文 14 表 412 t_approveinfo (审批信息表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 审批信息 id approveTime datetime YES NULL 审批时间 ment varchar(255) YES NULL 审批内容 documentId int(11) YES MUL NULL 公文 ID approverId int(11) YES MUL NULL 审批者 ID 表 413 t_information (信息表) Field Type Null Key Default Extra 描述 id int(11) NO PRI NULL auto_increment 信息 id title varchar(255) YES NULL 信息标题 cotent varchar(255) YES NULL 信息内容 annex longblob YES NULL 信息附件 createTime datetime YES NULL 信息发布时间 数据库的操作 Hibernate是现在非常流行的持久化框架,使用 Hibernate进行持久化数据是一个非常好的选择。 在 Hibernat。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。