10 KiB
10 KiB
制度模块API测试文档
1. 获取制度列表 (流程管理页面)
请求信息
- URL:
GET /api/regulation?page=1&size=10
- Method: GET
请求参数
page
: 页码,从1开始(必填)size
: 每页数量(必填)
响应格式
{
"status": 200,
"data": {
"records": [
{
"regulationId": "reg001",
"title": "员工考勤管理制度优化提案",
"content": "建议优化考勤管理制度,增加弹性工作时间,提高员工工作积极性...",
"regulationType": "人事制度",
"status": "VOTING",
"publisherId": "2",
"publisherName": "张三",
"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
请求参数
{
"title": "员工考勤管理制度优化提案",
"content": "建议优化考勤管理制度,增加弹性工作时间...",
"regulationType": "人事制度",
"scope": "全体员工",
"level": "MEDIUM",
"remark": "需要与人事部门协调实施"
}
响应格式
{
"status": 200,
"data": {
"regulationId": "reg005",
"title": "员工考勤管理制度优化提案",
"content": "建议优化考勤管理制度,增加弹性工作时间...",
"regulationType": "人事制度",
"status": "DRAFT",
"publisherId": "1",
"publisherName": "当前用户",
"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
请求参数
{
"title": "员工考勤管理制度优化提案",
"content": "建议优化考勤管理制度,增加弹性工作时间...",
"regulationType": "人事制度",
"scope": "全体员工",
"level": "MEDIUM",
"remark": "需要与人事部门协调实施"
}
响应格式
{
"status": 200,
"message": "制度提案更新成功"
}
4. 删除制度提案
请求信息
- URL:
DELETE /api/regulation/proposal/{regulationId}
- Method: DELETE
响应格式
{
"status": 200,
"data": {
"success": true
}
}
5. 获取制度详情
请求信息
- URL:
GET /api/regulation/{regulationId}
- Method: GET
响应格式
{
"status": 200,
"data": {
"regulationId": "reg001",
"title": "员工考勤管理制度优化提案",
"content": "建议优化考勤管理制度,增加弹性工作时间...",
"regulationType": "人事制度",
"status": "VOTING",
"publisherId": "1",
"publisherName": "张三",
"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
}
}
6. 提交投票
请求信息
- URL:
POST /api/regulation/{regulationId}/vote
- Content-Type:
application/json
请求参数
{
"voteType": "FOR", // FOR: 赞成, AGAINST: 反对, ABSTAIN: 弃权
"reason": "这个提案很有建设性" // 可选
}
响应格式
{
"status": 200,
"data": {
"success": true
}
}
7. 获取投票结果
请求信息
- URL:
GET /api/regulation/{regulationId}/vote-result
- Method: GET
响应格式
{
"status": 200,
"data": {
"regulationId": "reg001",
"voteFor": 15,
"voteAgainst": 3,
"voteAbstain": 2,
"totalVotes": 20,
"approvalRate": 0.75
}
}
8. 发布制度
请求信息
- URL:
POST /api/regulation/{regulationId}/publish
- Method: POST
响应格式
{
"status": 200,
"message": "制度发布成功"
}
9. 获取已发布制度列表
请求信息
- URL:
GET /api/regulation/published?page=1&size=10
- Method: GET
请求参数
page
: 页码(默认1)size
: 页大小(默认10)
响应格式
{
"status": 200,
"data": {
"records": [
{
"regulationId": "reg001",
"title": "员工考勤管理制度",
"content": "规范员工考勤管理...",
"status": "PUBLISHED",
"publishTime": "2024-01-01T12:00:00",
"confirmStatus": "pending"
}
],
"total": 1,
"size": 10,
"current": 1
}
}
10. 确认制度知晓
请求信息
- URL:
POST /api/regulation/{regulationId}/confirm
- Content-Type:
application/json
请求参数
{
"confirmComment": "已阅读并同意遵守该制度"
}
响应格式
{
"status": 200,
"message": "制度确认成功"
}
11. 批量确认制度
请求信息
- URL:
POST /api/regulation/confirm-all
- Method: POST
响应格式
{
"status": 200,
"message": "批量确认成功"
}
制度类型管理API
1. 获取制度类型列表
请求信息
- URL:
GET /api/regulation-type?parentId=type_001
- Method: GET
请求参数
parentId
: 父类型ID(可选)
响应格式
{
"status": 200,
"data": [
{
"typeId": "type_005",
"typeName": "考勤管理",
"typeCode": "ATTENDANCE",
"description": "员工考勤相关制度",
"parentId": "type_001",
"level": 2,
"sortOrder": 1,
"isEnabled": "1",
"icon": "clock-circle",
"color": "#1890ff",
"remark": "考勤管理子类型",
"createTime": "2024-01-01 10:00:00",
"updateTime": "2024-01-01 10:00:00"
}
]
}
2. 获取制度类型树
请求信息
- URL:
GET /api/regulation-type/tree
- Method: GET
响应格式
{
"status": 200,
"data": [
{
"typeId": "type_001",
"typeName": "人事制度",
"typeCode": "HR",
"description": "人力资源管理相关制度",
"parentId": null,
"level": 1,
"sortOrder": 1,
"isEnabled": "1",
"icon": "user",
"color": "#1890ff",
"children": [
{
"typeId": "type_005",
"typeName": "考勤管理",
"typeCode": "ATTENDANCE",
"description": "员工考勤相关制度",
"parentId": "type_001",
"level": 2,
"sortOrder": 1,
"isEnabled": "1",
"icon": "clock-circle",
"color": "#1890ff"
}
]
}
]
}
3. 创建制度类型
请求信息
- URL:
POST /api/regulation-type
- Content-Type:
application/json
请求参数
{
"typeName": "新制度类型",
"typeCode": "NEW_TYPE",
"description": "新制度类型描述",
"parentId": "type_001",
"level": 2,
"sortOrder": 3,
"isEnabled": "1",
"icon": "star",
"color": "#f5222d",
"remark": "新制度类型备注"
}
响应格式
{
"status": 200,
"message": "制度类型创建成功"
}
4. 更新制度类型
请求信息
- URL:
PUT /api/regulation-type/type_001
- Content-Type:
application/json
请求参数
{
"typeName": "更新后的制度类型",
"typeCode": "UPDATED_TYPE",
"description": "更新后的描述",
"icon": "star",
"color": "#f5222d"
}
响应格式
{
"status": 200,
"message": "制度类型更新成功"
}
5. 删除制度类型
请求信息
- URL:
DELETE /api/regulation-type/type_001
- Method: DELETE
响应格式
{
"status": 200,
"message": "制度类型删除成功"
}
6. 获取制度类型详情
请求信息
- URL:
GET /api/regulation-type/type_001
- Method: GET
响应格式
{
"status": 200,
"data": {
"typeId": "type_001",
"typeName": "人事制度",
"typeCode": "HR",
"description": "人力资源管理相关制度",
"parentId": null,
"level": 1,
"sortOrder": 1,
"isEnabled": "1",
"icon": "user",
"color": "#1890ff",
"remark": "人事管理相关制度",
"createTime": "2024-01-01 10:00:00",
"updateTime": "2024-01-01 10:00:00"
}
}
7. 启用/禁用制度类型
请求信息
- URL:
PUT /api/regulation-type/type_001/status?isEnabled=0
- Method: PUT
请求参数
isEnabled
: 是否启用(1-启用,0-禁用)
响应格式
{
"status": 200,
"message": "制度类型禁用成功"
}
测试步骤
- 执行建表语句: 运行
regulation_tables.sql
- 插入测试数据: 运行
regulation_test_data.sql
- 启动应用: 确保后端服务正常运行
- 测试接口: 使用Postman或其他工具测试上述接口
注意事项
- 所有接口都需要用户登录认证
- ID字段使用UUID自动生成,无需手动设置
- 创建时间和更新时间会自动设置
- 创建人和更新人会从当前登录用户获取
- 制度状态包括:DRAFT(草稿)、VOTING(投票中)、PUBLISHED(已发布)、ARCHIVED(已归档)
- 投票类型:FOR(赞成)、AGAINST(反对)、ABSTAIN(弃权)