/OASystem

OA是Office Automation的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自动化处理。实现信息化、无纸化办公,可方便的生成统计报表等。

Primary LanguageJavaScript

#OA系统简介 ##What is OA? 官方一点的说法:OA是Office Automation的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自动化处理。实现信息化、无纸化办公,可方便的生成统计报表等。 说白了,就是提高办公效率的一套软件系统。

项目是暑假的时候,跟着传智播客的视频做的,自己又独立完成了一遍。不能说是自己的项目,不过觉得,从这个视频中收获了很多。把之前学过的三大框架的知识,系统的整合到了一起,在实践中得以运用。视频的下载地址

##How to Run this project?

##1.功能需求

| 模块| 功能 | | ------------- |:-------------:| -----:| | 组织与用户管理 | 岗位管理 | | | | 部门管理 | | | | 用户管理 | | | 系统权限 | 初始化权限| | | | 分配权限| | | | 验证权限| | | 网上交流--论坛 | 版块管理 | | | | 看帖、发帖、回帖| | | | 文章管理| | | 审批流转(工作流) | 表单模板管理 | | | | 审批流程管理| | | | 审批流转| | | | 表单查询| |

##2.整体设计

  • 表示层:JSP、Struts2
  • 业务逻辑层:Spring2.5
  • 数据访问层:Hibernate3.6

##3.开发工具及涉及技术

###一、开发环境

  • Windows7
  • MyEclipse8.5
  • Mysql5.5
  • Tomcat6.0
  • JDK7.0
  • Chrome

###二、涉及技术

  • Struts2
  • Hibernate
  • Spring
  • jbpm
  • junit
  • Jquery

##4.数据库设计

###一、创建数据库

create database oa charset utf8;

###二、ER图

des

###三、数据表含义

表名 字段名 字段含义
itcast_user loginName 登录名
password 密码
name 真实姓名
gender 性别
phoneNumber 电话号码
email 电子邮件
description 说明
departmentId 部门号
itcast_role name 角色名称
description 角色描述
itcast_privilege name 权限名称
url 链接
parentId 父权限ID
itcast_department name 部门名称
description 职能描述
parentId 父级部门ID
itcast_forum name 版块名称
description 版块描述
position 版块位置
topicCount 主题数
articleCount 文章数
lastTopicId 最近一次发表主题的ID
itcast_topic title 帖子主题
content 内容
faceIcon 图标
postTime 发表时间
ipAddr 发表者的IP地址
authorId 作者ID
type 帖子类型(精华、普通、置顶)
replyCount 回复数
lastUpdateTime 最后一次更新时间
forumId 所属版块ID
lastReplyId 最后一次回复的ID
itcast_reply title 标题(同Topic都继承Article)
content 内容
faceIcon 图标
postTime 发表时间
ipAddr 回复者的IP地址
authorId 回复者的ID
topicId 所属主题的ID

##5.公共类的设计

###1、设计BaseDao 一般有6个方法

	void save(T entity);//增
	
	void delete(Long id);
	
	void update(T entity);
	
	T getById(Long id);//查
	
	List<T> findAll();
	
	List<T> getByIds(Long []ids);

###2、设计BaseDao实现类

实现上面6个方法 设计BaseDaoImpl实现 获取T的真实类型: 使用反射的方法

	ParameterizedType pt=this.getClass().getGenericSuperClass();
	clazz=(Class<T>)pt.getActualTypeArguments()[0];

##交流与学习