# oa_system
**Repository Path**: CWH6/oa_system
## Basic Information
- **Project Name**: oa_system
- **Description**: 基于工作流的概念,实现办公自动化。企业中使企业内部人员方便
快捷的共享信息,高效协作。通过部署报销流程后,下级申请报销后,上级可以进行审批或者
不批操作。本系统主要包括以下模块:认证与授权模块,系统根据用户账号和凭据对用户身份认证,
授权。报销管理模块包含报销申请,我的报销单,我的待办事务等功能。流程管理模块包含发布流程,
查看流程图等功能。
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 1
- **Created**: 2022-04-21
- **Last Updated**: 2025-06-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: SSM, MySQL, activiti, MyBatis, Shiro
## README
## 青果办公系统
#### 系统介绍
青果办公系统,基于工作流的概念,实现办公自动化。企业中使企业内部人员方便
快捷的共享信息,高效协作。通过部署报销流程后,下级申请报销后,上级可以进行审批或者
不批操作。本系统主要包括以下模块:认证与授权模块,系统根据用户账号和凭据对用户身份认证,
授权。报销管理模块包含报销申请,我的报销单,我的待办事务等功能。流程管理模块包含发布流程,
查看流程图等功能。
#### 系统环境
- Spring
- Springmvc
- Mybatis
- shiro
- activiti
- Tomcat9
- mysql8
- JDK1.8
#### 技术概述
1. 项目使用SSM框架,maven构建项目
2. 采用Shiro对用户身份的认证以及资源的授权
3. 通过Eclipse插件绘制报销流程图
4. Activiti框架实现报销流程根据流程变量推进对应流程
5. Activiti实现使用zip文件流程部署
6. 通过逆向工程生成代码简化开发
7. 单元测试@Test检验mapper返回数据
#### 安装教程
1. 将代码克隆到本地
2. 使用eclipse或者IDea导入代码
3. 使用Tomcat服务器部署项目,启动Tomcat
4. 访问项目localhost:8080//oa_ssm/login
#### 系统功能模块截图
##### :tw-1f538:系统登录界面

##### :tw-1f538:流程部署界面
部署相关代码片段
```java
@Override
public void saveNewDeploy(InputStream in, String processName) {
//将普通的file流转换成ZipInputStream流
ZipInputStream zipInputStream = new ZipInputStream(in);
//部署流程
this.repositoryService
.createDeployment()
.addZipInputStream(zipInputStream)
.name(processName)
.deploy();
}
```

##### :tw-1f538:流程申报界面

##### :tw-1f538:流程办理界面

##### :tw-1f538:流程流程审批界面
对应zhang的上级mike能对zhang的报销进行批准

##### :tw-1f538:报销记录列表界面

##### :tw-1f538:部署列表界面

##### :tw-1f538:用户权限管理

#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request