# ams **Repository Path**: m40/ams ## Basic Information - **Project Name**: ams - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 档案管理系统 (AMS) 基于 Spring Boot 3 + MyBatis-Plus + Vue 3 的企业级档案管理系统,支持 RBAC 权限管理、自定义档案类型、报表打印导出。 ## 技术栈 ### 后端 - Spring Boot 3.2.0 - Spring Security + JWT 认证 - MyBatis-Plus 3.5.5(ORM + 分页) - MySQL 8.0 - OpenPDF(PDF报表生成) - Apache POI(Excel导出) - Spring AOP(操作日志) ### 前端 - Vue 3 + Element Plus - Axios(HTTP请求) ## 功能模块 ### 系统管理 | 模块 | 功能 | |------|------| | 用户管理 | 用户CRUD、密码加密、状态管理、角色分配 | | 角色管理 | 角色CRUD、权限分配(树形勾选) | | 权限管理 | 菜单/按钮/接口权限管理(树形结构) | | 部门管理 | 部门树形结构管理 | | 操作日志 | AOP自动记录操作日志,支持分页查询 | ### 档案管理 | 模块 | 功能 | |------|------| | 档案类型 | 自定义档案类型(文书/科技/会计/人事/声像),支持多级分类 | | 字段配置 | 每种档案类型可自定义字段(文本/数字/日期/下拉/多选等) | | 档案录入 | 动态表单录入,档号自动生成,支持文件上传 | | 报表管理 | 案卷目录/卷内目录/移交目录/统计报表,支持PDF/Excel导出和打印预览 | ### 安全特性 - JWT Token 认证 - BCrypt 密码加密 - 接口级权限控制(@PreAuthorize) - 操作日志记录(AOP) ## 快速部署 ### 环境要求 - JDK 17+ - Maven 3.6+ - MySQL 8.0+ ### 1. 数据库初始化 ```bash mysql -u root -p < backend/src/main/resources/db/schema.sql mysql -u root -p < backend/src/main/resources/db/data.sql ``` ### 2. 修改配置 编辑 `backend/src/main/resources/application.yml`,修改数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/ams?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: your_password ``` ### 3. 构建运行 ```bash cd backend mvn clean package -DskipTests java -jar target/archive-management-system-1.0.0.jar ``` ### 4. 一键部署 ```bash sudo bash deploy.sh ``` ### 5. 前端访问 ```bash # 方式一:直接打开 浏览器打开 frontend/index.html # 方式二:Nginx部署 sudo cp -r frontend/* /var/www/html/ ``` ## 默认账号 | 用户名 | 密码 | 角色 | |--------|------|------| | admin | admin123 | 超级管理员 | | zhangsan | admin123 | 系统管理员 | | lisi | admin123 | 普通用户 | | dangan | admin123 | 档案管理员 | ## 预置档案类型 | 类型编码 | 类型名称 | 子类型 | |---------|---------|--------| | WS | 文书档案 | 公文档案、会议档案、邮件档案 | | KJ | 科技档案 | 科研档案、基建档案、设备档案、产品档案 | | KUAI | 会计档案 | 会计凭证、会计账簿、财务报告、其他会计资料 | | RS | 人事档案 | 职工档案、招聘档案 | | SX | 声像档案 | 照片档案、录音档案、录像档案 | ## 预置报表模板 | 模板 | 说明 | 导出格式 | |------|------|---------| | 文书档案案卷目录 | 档号、责任者、题名、日期、页数、保管期限 | PDF/Excel | | 文书档案卷内文件目录 | 案卷内每份文件信息 | PDF/Excel | | 科技档案案卷目录 | 项目编号、题名、编制单位 | PDF/Excel | | 会计档案案卷目录 | 凭证号、金额、保管期限 | PDF/Excel | | 档案移交目录 | 移交档案清单 | PDF/Excel | | 档案统计报表 | 按类型统计数量 | PDF/Excel | | 人事档案名册 | 职工基本信息 | PDF/Excel | ## API 接口 ### 认证 - `POST /api/auth/login` - 登录 - `POST /api/auth/register` - 注册 ### 用户管理 - `GET /api/user/list` - 用户列表(分页) - `POST /api/user` - 新增用户 - `PUT /api/user/{id}` - 修改用户 - `DELETE /api/user/{id}` - 删除用户 - `POST /api/user/{id}/roles` - 分配角色 ### 角色管理 - `GET /api/role/all` - 角色列表 - `POST /api/role` - 新增角色 - `PUT /api/role/{id}` - 修改角色 - `DELETE /api/role/{id}` - 删除角色 - `POST /api/role/{id}/permissions` - 分配权限 ### 权限管理 - `GET /api/permission/tree` - 权限树 - `POST /api/permission` - 新增权限 - `PUT /api/permission/{id}` - 修改权限 - `DELETE /api/permission/{id}` - 删除权限 ### 部门管理 - `GET /api/dept/tree` - 部门树 - `POST /api/dept` - 新增部门 - `PUT /api/dept/{id}` - 修改部门 - `DELETE /api/dept/{id}` - 删除部门 ### 档案类型 - `GET /api/archive-type/tree` - 类型树 - `POST /api/archive-type` - 新增类型 - `PUT /api/archive-type/{id}` - 修改类型 - `DELETE /api/archive-type/{id}` - 删除类型 ### 档案字段 - `GET /api/archive-field/type/{typeId}` - 获取类型字段 - `POST /api/archive-field` - 新增字段 - `PUT /api/archive-field/{id}` - 修改字段 - `DELETE /api/archive-field/{id}` - 删除字段 ### 档案数据 - `GET /api/archive-data/list` - 档案列表(分页) - `POST /api/archive-data` - 新增档案 - `PUT /api/archive-data/{id}` - 修改档案 - `DELETE /api/archive-data/{id}` - 删除档案 - `POST /api/archive-data/upload` - 上传文件 ### 报表 - `GET /api/report/template/all` - 报表模板列表 - `POST /api/report/preview/{id}` - 预览报表(HTML) - `GET /api/report/export/pdf/{id}` - 导出PDF - `GET /api/report/export/excel/{id}` - 导出Excel ### 操作日志 - `GET /api/log/list` - 日志列表(分页) ## 项目结构 ``` archive-system/ ├── backend/ │ ├── src/main/java/com/ams/ │ │ ├── annotation/ # 自定义注解(@Log) │ │ ├── aspect/ # AOP切面(日志记录) │ │ ├── common/ # 通用类(Result) │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # MyBatis Mapper │ │ ├── security/ # 安全相关(JWT/Filter) │ │ └── service/ # 服务层 │ └── src/main/resources/ │ ├── db/schema.sql # 建表脚本 │ ├── db/data.sql # 初始数据 │ └── application.yml # 配置文件 ├── frontend/ │ └── index.html # Vue3单页面应用 ├── deploy.sh # 一键部署脚本 └── README.md ``` ## License MIT