2025-07-29 20:11:46 +08:00
|
|
|
|
# 制度模块API测试文档
|
|
|
|
|
|
|
|
|
|
## 1. 获取制度列表 (流程管理页面)
|
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `GET /api/regulation?page=1&size=10`
|
|
|
|
|
- **Method**: GET
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
- `page`: 页码,从1开始(必填)
|
|
|
|
|
- `size`: 每页数量(必填)
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"records": [
|
|
|
|
|
{
|
|
|
|
|
"regulationId": "reg001",
|
|
|
|
|
"title": "员工考勤管理制度优化提案",
|
|
|
|
|
"content": "建议优化考勤管理制度,增加弹性工作时间,提高员工工作积极性...",
|
|
|
|
|
"regulationType": "人事制度",
|
|
|
|
|
"status": "VOTING",
|
2025-07-30 16:17:42 +08:00
|
|
|
|
"createBy": "张三",
|
2025-07-29 20:11:46 +08:00
|
|
|
|
"publishTime": "2024-01-01T12:00:00",
|
|
|
|
|
"effectiveTime": "2024-01-01T12:00:00",
|
|
|
|
|
"expireTime": "2024-01-08T12:00:00",
|
|
|
|
|
"scope": "全体员工",
|
|
|
|
|
"level": "MEDIUM",
|
|
|
|
|
"version": "1.0",
|
|
|
|
|
"remark": "需要与人事部门协调实施",
|
|
|
|
|
"createBy": "admin",
|
|
|
|
|
"updateBy": "admin",
|
|
|
|
|
"createTime": "2024-01-01 10:00:00",
|
|
|
|
|
"updateTime": "2024-01-01 12:00:00",
|
|
|
|
|
"page": 1,
|
|
|
|
|
"pageSize": 10,
|
|
|
|
|
"delFlag": "0",
|
|
|
|
|
"voteFor": 15,
|
|
|
|
|
"voteAgainst": 3,
|
|
|
|
|
"voteAbstain": 2
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
"total": 4,
|
|
|
|
|
"size": 10,
|
|
|
|
|
"current": 1,
|
|
|
|
|
"pages": 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 2. 创建制度提案
|
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `POST /api/regulation/proposal`
|
|
|
|
|
- **Content-Type**: `application/json`
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"title": "员工考勤管理制度优化提案",
|
|
|
|
|
"content": "建议优化考勤管理制度,增加弹性工作时间...",
|
|
|
|
|
"regulationType": "人事制度",
|
|
|
|
|
"scope": "全体员工",
|
|
|
|
|
"level": "MEDIUM",
|
|
|
|
|
"remark": "需要与人事部门协调实施"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"regulationId": "reg005",
|
|
|
|
|
"title": "员工考勤管理制度优化提案",
|
|
|
|
|
"content": "建议优化考勤管理制度,增加弹性工作时间...",
|
|
|
|
|
"regulationType": "人事制度",
|
|
|
|
|
"status": "DRAFT",
|
2025-07-30 16:17:42 +08:00
|
|
|
|
"createBy": "当前用户",
|
2025-07-29 20:11:46 +08:00
|
|
|
|
"publishTime": "2024-01-25T10:30:00",
|
|
|
|
|
"effectiveTime": "2024-01-25T10:30:00",
|
|
|
|
|
"expireTime": "2025-01-25T10:30:00",
|
|
|
|
|
"scope": "全体员工",
|
|
|
|
|
"level": "MEDIUM",
|
|
|
|
|
"version": "1.0",
|
|
|
|
|
"remark": "需要与人事部门协调实施",
|
|
|
|
|
"createBy": "admin",
|
|
|
|
|
"updateBy": "admin",
|
|
|
|
|
"createTime": "2024-01-25 10:30:00",
|
|
|
|
|
"updateTime": "2024-01-25 10:30:00",
|
|
|
|
|
"page": 1,
|
|
|
|
|
"pageSize": 10,
|
|
|
|
|
"delFlag": "0"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 3. 更新制度提案
|
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `PUT /api/regulation/proposal/{regulationId}`
|
|
|
|
|
- **Content-Type**: `application/json`
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"title": "员工考勤管理制度优化提案",
|
|
|
|
|
"content": "建议优化考勤管理制度,增加弹性工作时间...",
|
|
|
|
|
"regulationType": "人事制度",
|
|
|
|
|
"scope": "全体员工",
|
|
|
|
|
"level": "MEDIUM",
|
|
|
|
|
"remark": "需要与人事部门协调实施"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"message": "制度提案更新成功"
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 4. 删除制度提案
|
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `DELETE /api/regulation/proposal/{regulationId}`
|
|
|
|
|
- **Method**: DELETE
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"success": true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 5. 获取制度详情
|
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `GET /api/regulation/{regulationId}`
|
|
|
|
|
- **Method**: GET
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"regulationId": "reg001",
|
|
|
|
|
"title": "员工考勤管理制度优化提案",
|
|
|
|
|
"content": "建议优化考勤管理制度,增加弹性工作时间...",
|
|
|
|
|
"regulationType": "人事制度",
|
|
|
|
|
"status": "VOTING",
|
2025-07-30 16:17:42 +08:00
|
|
|
|
"createBy": "张三",
|
2025-07-29 20:11:46 +08:00
|
|
|
|
"publishTime": "2024-01-01T12:00:00",
|
|
|
|
|
"effectiveTime": "2024-01-01T12:00:00",
|
|
|
|
|
"expireTime": "2024-01-08T12:00:00",
|
|
|
|
|
"scope": "全体员工",
|
|
|
|
|
"level": "MEDIUM",
|
|
|
|
|
"version": "1.0",
|
|
|
|
|
"remark": "需要与人事部门协调实施",
|
|
|
|
|
"createBy": "admin",
|
|
|
|
|
"updateBy": "admin",
|
|
|
|
|
"createTime": "2024-01-01 10:00:00",
|
|
|
|
|
"updateTime": "2024-01-01 12:00:00",
|
|
|
|
|
"page": 1,
|
|
|
|
|
"pageSize": 10,
|
|
|
|
|
"delFlag": "0",
|
|
|
|
|
"voteFor": 15,
|
|
|
|
|
"voteAgainst": 3,
|
|
|
|
|
"voteAbstain": 2
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 6. 提交投票
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `POST /api/regulation/{regulationId}/vote`
|
|
|
|
|
- **Content-Type**: `application/json`
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"voteType": "FOR", // FOR: 赞成, AGAINST: 反对, ABSTAIN: 弃权
|
|
|
|
|
"reason": "这个提案很有建设性" // 可选
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"success": true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 7. 获取投票结果
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `GET /api/regulation/{regulationId}/vote-result`
|
|
|
|
|
- **Method**: GET
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"regulationId": "reg001",
|
|
|
|
|
"voteFor": 15,
|
|
|
|
|
"voteAgainst": 3,
|
|
|
|
|
"voteAbstain": 2,
|
|
|
|
|
"totalVotes": 20,
|
|
|
|
|
"approvalRate": 0.75
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 8. 发布制度
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `POST /api/regulation/{regulationId}/publish`
|
|
|
|
|
- **Method**: POST
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"message": "制度发布成功"
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 9. 获取已发布制度列表
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `GET /api/regulation/published?page=1&size=10`
|
|
|
|
|
- **Method**: GET
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
2025-07-30 09:24:22 +08:00
|
|
|
|
- `page`: 页码(默认1)
|
|
|
|
|
- `size`: 页大小(默认10)
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
|
|
|
|
"records": [
|
|
|
|
|
{
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"regulationId": "reg001",
|
|
|
|
|
"title": "员工考勤管理制度",
|
|
|
|
|
"content": "规范员工考勤管理...",
|
2025-07-29 20:11:46 +08:00
|
|
|
|
"status": "PUBLISHED",
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"publishTime": "2024-01-01T12:00:00",
|
|
|
|
|
"confirmStatus": "pending"
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
],
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"total": 1,
|
2025-07-29 20:11:46 +08:00
|
|
|
|
"size": 10,
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"current": 1
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 10. 确认制度知晓
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `POST /api/regulation/{regulationId}/confirm`
|
|
|
|
|
- **Content-Type**: `application/json`
|
|
|
|
|
|
|
|
|
|
### 请求参数
|
|
|
|
|
```json
|
|
|
|
|
{
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"confirmComment": "已阅读并同意遵守该制度"
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
2025-07-30 09:24:22 +08:00
|
|
|
|
"message": "制度确认成功"
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2025-07-30 09:24:22 +08:00
|
|
|
|
## 11. 批量确认制度
|
2025-07-29 20:11:46 +08:00
|
|
|
|
|
|
|
|
|
### 请求信息
|
|
|
|
|
- **URL**: `POST /api/regulation/confirm-all`
|
|
|
|
|
- **Method**: POST
|
|
|
|
|
|
|
|
|
|
### 响应格式
|
|
|
|
|
```json
|
|
|
|
|
{
|
|
|
|
|
"status": 200,
|
|
|
|
|
"data": {
|
2025-07-30 16:17:42 +08:00
|
|
|
|
"success": true,
|
|
|
|
|
"confirmedCount": 5
|
2025-07-29 20:11:46 +08:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 测试步骤
|
|
|
|
|
|
|
|
|
|
1. **执行建表语句**: 运行 `regulation_tables.sql`
|
|
|
|
|
2. **插入测试数据**: 运行 `regulation_test_data.sql`
|
|
|
|
|
3. **启动应用**: 确保后端服务正常运行
|
|
|
|
|
4. **测试接口**: 使用Postman或其他工具测试上述接口
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
|
|
|
1. 所有接口都需要用户登录认证
|
|
|
|
|
2. ID字段使用UUID自动生成,无需手动设置
|
|
|
|
|
3. 创建时间和更新时间会自动设置
|
|
|
|
|
4. 创建人和更新人会从当前登录用户获取
|
|
|
|
|
5. 制度状态包括:DRAFT(草稿)、VOTING(投票中)、PUBLISHED(已发布)、ARCHIVED(已归档)
|
|
|
|
|
6. 投票类型:FOR(赞成)、AGAINST(反对)、ABSTAIN(弃权)
|