zcloud_gbs_safetyDutyList/docs/前端联调接口文档.md

1204 lines
31 KiB
Markdown
Raw Normal View History

# 安全责任清单 - 前端联调接口文档
> 基于模板与实例分离的新模型,同一清单可下发给多个公司。
>
> **核心变更**清单task_list和任务task_detail为模板下发task_list_issue和执行task_execution为实例。
---
## 变更总览
| 序号 | 接口 | 变更类型 | 主要变更点 |
|------|------|----------|-----------|
| 1 | 获取清单列表 | **重构** | 主表由 task_list_issue 改为 task_list返回 TaskListCO纯模板新增 status 字段 |
| 2 | 新增清单 | 不变 | - |
| 3 | 修改清单 | **新增** | 修改清单模板信息 |
| 4 | 删除清单 | **新增** | 删除清单模板 |
| 5 | 开关切换 | **新增** | 开启/关闭清单 |
| 6 | 获取任务列表 | **重构** | 主表由 task_execution 改为 task_detail返回 TaskDetailCO纯模板传参由 taskIssueId 改为 taskListId新增 taskStatus 字段 |
| 7 | 批量保存任务 | **新增** | 批量新增/修改任务模板 |
| 8 | 获取任务详情 | 不变 | - |
| 9 | 企业落实情况 | **重构** | 路径由 /taskList/issueList 改为 /taskListIssue/list以 task_list_issue 为主表 |
| 10 | 获取下发记录详情 | **新增** | 通过 taskIssueId 获取下发记录详情 |
| 11 | 任务执行列表 | **重构** | 路径由 /taskDetail/executionList 改为 /taskExecution/list |
| 12 | 获取执行记录详情 | **新增** | 通过 taskExecutionId 获取执行记录详情 |
| 13 | 反馈周期分组 | 不变 | 传参 taskExecutionId |
| 14 | 反馈列表 | 不变 | 传参 taskExecutionId + feedbackPeriodFlag |
| 15 | 反馈详情 | **修改** | 返回 FeedbackInfoCO含任务信息+反馈信息),非 FeedbackCO |
| 16 | 编辑反馈 | **新增** | 修改反馈内容 |
| 17 | 删除反馈 | **新增** | 删除反馈记录 |
| 18 | 企业评价列表 | 不变 | - |
| 19 | 更新任务评分 | **重构** | 路径由 /taskDetail/updateScore 改为 /taskExecution/updateScore |
| 20 | 提交反馈 | 不变 | - |
| 21 | 企业任务下发统计 | 不变 | - |
| 22 | 企业统计(股份端) | **新增** | 按企业统计已完成/已关闭/总任务数 |
| 23 | 关闭清单 | **修改** | 传参 taskListId同步关闭下发表+执行表状态 |
| 24 | 关闭任务 | **修改** | 传参 taskDetailId同步关闭执行表状态 |
| 25 | 任务下发 | **新增** | 新增 executeDepartmentId 字段 |
---
## 枚举值
| 枚举 | 值 | 说明 |
|------|------|------|
| task_level | 1/2/3 | 企业级/部门级/班组级 |
| switch_flag | 0/1 | 关闭/开启 |
| task_list.status | 1/2/3 | 进行中/已完成/已关闭 |
| task_detail.task_status | 1/2/3 | 进行中/已完成/已关闭 |
| task_list_issue.status | 1/2/3 | 进行中/已完成/已关闭 |
| issue_status | 0/1 | 未下发/已下发 |
| task_execution.task_status | 1/2/3 | 进行中/已完成/已关闭 |
| task_execution.feedback_status | 1/2 | 正常/异常 |
| feedback_cycle_type | 1/2/3/4 | 每月/每季度/每半年/每年 |
---
## 一、获取任务清单列表
`POST /safetyDutyList/taskList/list`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"taskListName": "安全",
"taskLevel": 1
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| taskListName | String | 否 | 清单名称(模糊查询) |
| taskLevel | Integer | 否 | 任务级别1-企业级 2-部门级 3-班组级 |
### 响应字段
```json
{
"success": true,
"data": [
{
"id": 1,
"taskListId": "uuid-xxx",
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管",
"switchFlag": 1,
"status": 1,
"createCorpId": 100,
"createDepartmentId": 200,
"createUserId": 300
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键 |
| taskListId | String | 清单UUID业务主键 |
| taskListName | String | 清单名称 |
| taskLevel | Integer | 任务级别1-企业级 2-部门级 3-班组级 |
| responsibilityPost | String | 责任岗位 |
| switchFlag | Integer | 是否启用0-关 1-开 |
| status | Integer | 状态1-进行中 2-已完成 3-已关闭 |
| createCorpId | Long | 创建公司ID |
| createDepartmentId | Long | 创建部门ID |
| createUserId | Long | 创建人ID |
---
## 二、新增任务清单
`POST /safetyDutyList/taskList/save`
### 请求参数
```json
{
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管",
"switchFlag": 1
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskListName | String | **是** | 清单名称 |
| taskLevel | Integer | **是** | 任务级别1-企业级 2-部门级 3-班组级 |
| responsibilityPost | String | **是** | 责任岗位 |
| switchFlag | Integer | **是** | 是否启用1-启用 0-不启用 |
### 响应字段
同接口一的单条 TaskListCO 对象。
---
## 三、修改任务清单
`POST /safetyDutyList/taskList/edit`
### 请求参数
```json
{
"taskListId": "uuid-xxx",
"taskListName": "安全生产责任清单(修改)",
"taskLevel": 2,
"responsibilityPost": "安全总监",
"switchFlag": 1
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskListId | String | **是** | 清单UUID业务主键 |
| taskListName | String | **是** | 清单名称 |
| taskLevel | Integer | **是** | 任务级别1-企业级 2-部门级 3-班组级 |
| responsibilityPost | String | **是** | 责任岗位 |
| switchFlag | Integer | **是** | 是否启用1-启用 0-不启用 |
### 响应
```json
{
"success": true
}
```
---
## 四、删除任务清单
`POST /safetyDutyList/taskList/delete/{id}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | Long | **是** | 清单主键ID路径参数 |
### 响应
```json
{
"success": true
}
```
---
## 五、开启/关闭任务清单
`POST /safetyDutyList/taskList/switchFlag`
> 调用此接口即表示要关闭任务清单switchFlag 传 0 关闭)
### 请求参数
```json
{
"taskListId": "uuid-xxx",
"switchFlag": 0
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskListId | String | **是** | 清单UUID业务主键 |
| switchFlag | Integer | **是** | 开启/关闭0-关 1-开 |
### 响应
```json
{
"success": true
}
```
---
## 六、获取任务列表(模板)
`POST /safetyDutyList/taskDetail/list`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"taskListId": "uuid-xxx",
"taskContent": "巡检",
"feedbackCycleType": 1
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| taskListId | String | **是** | 清单表主键ID |
| taskContent | String | 否 | 执行内容(模糊查询) |
| feedbackCycleType | Integer | 否 | 反馈周期类型1-每月 2-季度 3-半年 4-年 |
### 响应字段
```json
{
"success": true,
"data": [
{
"id": 1,
"taskDetailId": "uuid-detail-1",
"taskListId": "uuid-xxx",
"executeContent": "每日安全巡检",
"feedbackCycleType": 1,
"feedbackCycleName": "每月",
"taskScore": 10.00,
"taskStatus": 1,
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管"
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键 |
| taskDetailId | String | 任务模板UUID |
| taskListId | String | 清单UUID |
| executeContent | String | 执行内容 |
| feedbackCycleType | Integer | 反馈周期类型1-每月 2-季度 3-半年 4-年 |
| feedbackCycleName | String | 反馈周期名称 |
| taskScore | BigDecimal | 任务分值 |
| taskStatus | Integer | 任务状态1-进行中 2-已完成 3-已关闭 |
| taskListName | String | 清单名称 |
| taskLevel | Integer | 任务级别 |
| responsibilityPost | String | 责任岗位 |
---
## 七、批量保存任务
`POST /safetyDutyList/taskDetail/saveBatch`
> 传入数组,批量新增/修改任务模板。有 id 为修改,无 id 为新增。
### 请求参数
```json
[
{
"taskListId": "uuid-xxx",
"taskDetailId": "uuid-detail-1",
"executeContent": "每日安全巡检",
"feedbackCycleType": 1,
"taskScore": 10.00
},
{
"taskListId": "uuid-xxx",
"executeContent": "每周安全会议",
"feedbackCycleType": 2,
"taskScore": 15.00
}
]
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | Long | 否 | 主键ID有值则修改无值则新增 |
| taskListId | String | **是** | 清单表主键ID |
| taskDetailId | String | 否 | 任务表ID修改时传入 |
| executeContent | String | 否 | 执行内容 |
| feedbackCycleType | Integer | **是** | 反馈周期类型1-每月 2-季度 3-半年 4-年 |
| taskScore | BigDecimal | 否 | 任务分值 |
### 响应字段
返回 TaskDetailCO 数组,字段同接口六的单条对象。
---
## 八、获取任务详情
`GET /safetyDutyList/taskDetail/{detailId}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| detailId | String | **是** | 任务模板UUID路径参数 |
### 响应字段
```json
{
"success": true,
"data": {
"id": 1,
"taskDetailId": "uuid-detail-1",
"taskListId": "uuid-xxx",
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管",
"feedbackCycleType": 1,
"taskScore": 10.00,
"executeContent": "每日安全巡检"
}
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键ID |
| taskDetailId | String | 任务详情UUID |
| taskListId | String | 清单表主键ID |
| taskListName | String | 清单名称 |
| taskLevel | Integer | 任务级别 |
| responsibilityPost | String | 责任岗位 |
| feedbackCycleType | Integer | 反馈周期类型 |
| taskScore | BigDecimal | 任务分值 |
| executeContent | String | 执行内容 |
---
## 九、企业落实情况(获取所有下发清单列表)
`POST /safetyDutyList/taskListIssue/list`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"taskListId": "uuid-xxx",
"executeCorpId": 100,
"executeUserId": 300,
"taskListName": "安全",
"taskLevel": 1,
"issueStatus": 1,
"status": 1,
"feedbackStatus": 2,
"scoreStatus": 0
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| taskListId | String | 否 | 清单UUID |
| executeCorpId | Long | 否 | 执行公司ID |
| executeUserId | Long | 否 | 执行人ID |
| taskListName | String | 否 | 清单名称(模糊查询) |
| taskLevel | Integer | 否 | 任务级别1-企业级 2-部门级 3-班组级 |
| issueStatus | Integer | 否 | 下发状态0-未下发 1-已下发 |
| status | Integer | 否 | 状态1-进行中 2-已完成 3-已关闭 |
| feedbackStatus | Integer | 否 | 反馈状态1-正常 2-异常 |
| scoreStatus | Integer | 否 | 评分状态0-未评分 1-已评分 |
### 响应字段
```json
{
"success": true,
"data": [
{
"id": 1,
"taskIssueId": "uuid-issue-1",
"taskListId": "uuid-xxx",
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管",
"executeCorpId": 100,
"executeCorpName": "XX公司",
"executeDepartmentId": 200,
"executeDepartmentName": "安全部",
"executeUserId": 300,
"executeUserName": "张三",
"issueStatus": 1,
"issueTime": "2026-01-01 00:00:00",
"periodStartTime": "2026-01-01 00:00:00",
"periodEndTime": "2026-12-31 23:59:59",
"status": 1,
"closeTime": null,
"ratingScore": 85.50,
"ratingUserId": 400,
"ratingUserName": "李四",
"ratingDepartmentId": 500,
"ratingDepartmentName": "考核部",
"taskCount": 5,
"feedbackStatus": 1,
"switchFlag": 1
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键 |
| taskIssueId | String | 下发记录UUID业务主键 |
| taskListId | String | 清单UUID |
| taskListName | String | 任务清单名称 |
| taskLevel | Integer | 任务级别 |
| responsibilityPost | String | 责任岗位 |
| executeCorpId | Long | 执行公司ID |
| executeCorpName | String | 执行公司名称 |
| executeDepartmentId | Long | 执行部门ID |
| executeDepartmentName | String | 执行部门名称 |
| executeUserId | Long | 执行人员ID |
| executeUserName | String | 执行人员名称 |
| issueStatus | Integer | 下发状态0-未下发 1-已下发 |
| issueTime | String | 下发时间 |
| periodStartTime | String | 执行周期开始时间 |
| periodEndTime | String | 执行周期结束时间 |
| status | Integer | 状态1-进行中 2-已完成 3-已关闭 |
| closeTime | String | 关闭时间 |
| ratingScore | BigDecimal | 评分数 |
| ratingUserId | Long | 评分人ID |
| ratingUserName | String | 评分人姓名 |
| ratingDepartmentId | Long | 评分部门ID |
| ratingDepartmentName | String | 评分部门名称 |
| taskCount | Integer | 任务数 |
| feedbackStatus | Integer | 反馈状态1-正常 2-异常 |
| switchFlag | Integer | 是否启用0-关 1-开 |
---
## 十、获取清单下发记录详情
`GET /safetyDutyList/taskListIssue/{taskIssueId}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskIssueId | String | **是** | 下发记录UUID路径参数 |
### 响应字段
同接口九的单条 TaskListIssueCO 对象。
---
## 十一、获取任务执行记录列表
`POST /safetyDutyList/taskExecution/list`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"taskIssueId": "uuid-issue-1",
"taskListId": "uuid-xxx",
"taskContent": "巡检",
"feedbackCycleType": "1",
"feedbackStatus": "1",
"taskStatus": "1"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| taskIssueId | String | 否 | 清单下发记录UUID |
| taskListId | String | 否 | 清单UUID |
| taskContent | String | 否 | 执行内容(模糊查询) |
| feedbackCycleType | String | 否 | 反馈周期类型1-每月 2-季度 3-半年 4-年 |
| feedbackStatus | String | 否 | 反馈状态1-正常 2-异常 |
| taskStatus | String | 否 | 任务状态1-进行中 2-已完成 3-已关闭 |
> **注意**feedbackCycleType、feedbackStatus、taskStatus 类型为 String非 Integer。
### 响应字段
```json
{
"success": true,
"data": [
{
"id": 1,
"taskExecutionId": "uuid-exec-1",
"taskIssueId": "uuid-issue-1",
"taskDetailId": "uuid-detail-1",
"taskListId": "uuid-xxx",
"taskStatus": 1,
"feedbackStatus": 1,
"taskRating": 8.00,
"ratingTime": "2026-06-01 10:00:00",
"ratingDepartmentId": 500,
"ratingDepartmentName": "考核部",
"ratingUserId": 400,
"ratingUserName": "李四",
"executeContent": "每日安全巡检",
"feedbackCycleType": 1,
"taskScore": 10.00,
"taskListName": "安全生产责任清单",
"taskLevel": 1,
"responsibilityPost": "安全主管",
"feedbackCount": 3,
"currentPeriodFeedback": 1
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键 |
| taskExecutionId | String | 任务执行UUID业务主键 |
| taskIssueId | String | 清单下发记录UUID |
| taskDetailId | String | 任务模板UUID |
| taskListId | String | 清单UUID |
| taskStatus | Integer | 任务状态1-进行中 2-已完成 3-已关闭 |
| feedbackStatus | Integer | 反馈状态1-正常 2-异常 |
| taskRating | BigDecimal | 任务评分 |
| ratingTime | String | 评分时间 |
| ratingDepartmentId | Long | 评分部门ID |
| ratingDepartmentName | String | 评分部门名称 |
| ratingUserId | Long | 评分人ID |
| ratingUserName | String | 评分人姓名 |
| executeContent | String | 执行内容 |
| feedbackCycleType | Integer | 反馈周期类型 |
| taskScore | BigDecimal | 任务分值 |
| taskListName | String | 清单名称 |
| taskLevel | Integer | 任务级别 |
| responsibilityPost | String | 责任岗位 |
| feedbackCount | Integer | 反馈次数 |
| currentPeriodFeedback | Integer | 当前周期是否已反馈0-否 1-是 |
---
## 十二、获取任务执行记录详情
`GET /safetyDutyList/taskExecution/{taskExecutionId}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskExecutionId | String | **是** | 任务执行UUID路径参数 |
### 响应字段
同接口十一的单条 TaskExecutionCO 对象。
---
## 十三、获取反馈周期分组列表
`POST /safetyDutyList/feedback/periodGroupList`
### 请求参数
```json
{
"taskExecutionId": "uuid-exec-1",
"feedbackTimeStart": "2026-01-01",
"feedbackTimeEnd": "2026-06-30"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskExecutionId | String | **是** | 任务执行业务ID |
| feedbackTimeStart | String | 否 | 反馈时间开始格式yyyy-MM-dd |
| feedbackTimeEnd | String | 否 | 反馈时间结束格式yyyy-MM-dd |
### 响应字段
```json
{
"success": true,
"data": [
{
"taskExecutionId": "uuid-exec-1",
"feedbackPeriodStartTime": "2026-05-01 00:00:00",
"feedbackPeriodEndTime": "2026-05-31 23:59:59",
"feedbackCount": 3,
"feedbackUserName": "张三",
"feedbackPeriodFlag": "2026-05"
}
]
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| taskExecutionId | String | 任务执行业务ID |
| feedbackPeriodStartTime | String | 反馈周期开始时间 |
| feedbackPeriodEndTime | String | 反馈周期结束时间 |
| feedbackCount | Integer | 反馈次数(以周期标识为维度统计) |
| feedbackUserName | String | 反馈人姓名 |
| feedbackPeriodFlag | String | 周期标识 |
---
## 十四、获取反馈列表
`POST /safetyDutyList/feedback/list`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"taskExecutionId": "uuid-exec-1",
"feedbackPeriodFlag": "2026-05"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| taskExecutionId | String | **是** | 任务执行业务ID |
| feedbackPeriodFlag | String | **是** | 周期标识 |
### 响应字段
```json
{
"success": true,
"data": [
{
"id": 1,
"feedbackId": "uuid-fb-1",
"taskDetailId": "uuid-detail-1",
"taskExecutionId": "uuid-exec-1",
"taskListId": "uuid-xxx",
"taskIssueId": "uuid-issue-1",
"feedbackTime": "2026-05-15 14:30:00",
"feedbackPeriodStartTime": "2026-05-01 00:00:00",
"feedbackPeriodEndTime": "2026-05-31 23:59:59",
"feedbackPeriodFlag": "2026-05",
"feedbackCycleType": 1,
"feedbackContent": "已完成本月安全巡检",
"feedbackUserId": 300,
"feedbackUserName": "张三",
"feedbackCorpId": 100,
"feedbackCorpName": "XX公司",
"feedbackDepartmentId": 200,
"feedbackDepartmentName": "安全部",
"executeContent": "每日安全巡检",
"taskListName": "安全生产责任清单",
"createTime": "2026-05-15 14:30:00"
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键 |
| feedbackId | String | 反馈UUID业务主键 |
| taskDetailId | String | 任务详情UUID |
| taskExecutionId | String | 任务执行UUID |
| taskListId | String | 任务清单UUID |
| taskIssueId | String | 清单下发记录UUID |
| feedbackTime | String | 反馈时间 |
| feedbackPeriodStartTime | String | 反馈周期开始时间 |
| feedbackPeriodEndTime | String | 反馈周期结束时间 |
| feedbackPeriodFlag | String | 反馈周期标识 |
| feedbackCycleType | Integer | 反馈周期类型 |
| feedbackContent | String | 反馈内容 |
| feedbackUserId | Long | 反馈人ID |
| feedbackUserName | String | 反馈人姓名 |
| feedbackCorpId | Long | 反馈人公司ID |
| feedbackCorpName | String | 反馈人公司名称 |
| feedbackDepartmentId | Long | 反馈人部门ID |
| feedbackDepartmentName | String | 反馈人部门名称 |
| executeContent | String | 执行内容 |
| taskListName | String | 清单名称 |
| createTime | String | 创建时间 |
---
## 十五、获取反馈详情
`GET /safetyDutyList/feedback/{feedbackId}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| feedbackId | String | **是** | 反馈UUID路径参数 |
### 响应字段
> 返回 FeedbackInfoCO包含任务信息和反馈信息。
```json
{
"success": true,
"data": {
"id": 1,
"feedbackId": "uuid-fb-1",
"taskDetailId": "uuid-detail-1",
"executeContent": "每日安全巡检",
"feedbackCycleType": 1,
"feedbackContent": "已完成本月安全巡检",
"feedbackTime": "2026-05-15 14:30:00",
"feedbackPeriodStartTime": "2026-05-01 00:00:00",
"feedbackPeriodEndTime": "2026-05-31 23:59:59"
}
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| id | Long | 主键ID |
| feedbackId | String | 反馈UUID |
| taskDetailId | String | 任务详情ID |
| executeContent | String | 执行内容 |
| feedbackCycleType | Integer | 反馈周期类型 |
| feedbackContent | String | 反馈内容 |
| feedbackTime | String | 反馈时间 |
| feedbackPeriodStartTime | String | 反馈周期开始时间 |
| feedbackPeriodEndTime | String | 反馈周期结束时间 |
---
## 十六、编辑反馈
`POST /safetyDutyList/feedback/edit`
### 请求参数
```json
{
"feedbackId": "uuid-fb-1",
"feedbackContent": "已完成本月安全巡检(修改)"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| feedbackId | String | **是** | 反馈UUID |
| feedbackContent | String | **是** | 反馈内容 |
### 响应
```json
{
"success": true
}
```
---
## 十七、删除反馈
`POST /safetyDutyList/feedback/delete/{id}`
### 请求参数
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| id | Long | **是** | 反馈主键ID路径参数 |
### 响应
```json
{
"success": true
}
```
---
## 十八、获取企业评价列表
`POST /safetyDutyList/statistics/evaluationList`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"corpName": "XX公司",
"scoreStatus": 0
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| corpName | String | 否 | 企业名称(模糊查询) |
| scoreStatus | Integer | 否 | 评分状态0-未评分 1-已评分 |
### 响应字段
```json
{
"success": true,
"data": [
{
"corpId": 100,
"corpName": "XX公司",
"pendingScoreCount": 3,
"scoredCount": 5
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| corpId | Long | 公司ID |
| corpName | String | 企业名称 |
| pendingScoreCount | Integer | 待评分清单数量清单分数为0或空的 |
| scoredCount | Integer | 已评分清单数量清单分数不为0且不为空的 |
---
## 十九、更新任务评分
`POST /safetyDutyList/taskExecution/updateScore`
### 请求参数
```json
{
"taskExecutionId": "uuid-exec-1",
"taskRating": 8.00
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskExecutionId | String | **是** | 任务执行UUID |
| taskRating | BigDecimal | **是** | 分数(不能超过任务分值) |
### 响应
```json
{
"success": true
}
```
---
## 二十、提交反馈
`POST /safetyDutyList/feedback/save`
### 请求参数
```json
{
"taskExecutionId": "uuid-exec-1",
"feedbackContent": "已完成本月安全巡检"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskExecutionId | String | **是** | 任务执行ID |
| feedbackContent | String | **是** | 反馈内容 |
### 响应
```json
{
"success": true,
"data": {
"id": 1,
"feedbackId": "uuid-fb-1",
"taskDetailId": "uuid-detail-1",
"taskExecutionId": "uuid-exec-1",
"taskListId": "uuid-xxx",
"taskIssueId": "uuid-issue-1",
"feedbackTime": "2026-05-15 14:30:00",
"feedbackPeriodStartTime": "2026-05-01 00:00:00",
"feedbackPeriodEndTime": "2026-05-31 23:59:59",
"feedbackPeriodFlag": "2026-05",
"feedbackCycleType": 1,
"feedbackContent": "已完成本月安全巡检",
"feedbackUserId": 300,
"feedbackUserName": "张三",
"feedbackCorpId": 100,
"feedbackCorpName": "XX公司",
"feedbackDepartmentId": 200,
"feedbackDepartmentName": "安全部",
"executeContent": "每日安全巡检",
"taskListName": "安全生产责任清单",
"createTime": "2026-05-15 14:30:00"
}
}
```
> 响应为完整 FeedbackCO 对象,字段同接口十四。
---
## 二十一、获取企业任务下发统计数
`POST /safetyDutyList/statistics/issueStatistics`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"corpName": "XX公司"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| corpName | String | 否 | 企业名称(模糊查询) |
### 响应字段
```json
{
"success": true,
"data": [
{
"corpId": 100,
"corpName": "XX公司",
"issueCount": 8
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| corpId | Long | 公司ID |
| corpName | String | 公司名称 |
| issueCount | Integer | 任务清单下发数 |
---
## 二十二、获取企业统计(股份端)
`POST /safetyDutyList/statistics/corpStatistics`
### 请求参数
```json
{
"pageIndex": 1,
"pageSize": 10,
"corpName": "XX公司"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| pageIndex | Integer | 否 | 页码默认1 |
| pageSize | Integer | 否 | 每页条数默认10 |
| corpName | String | 否 | 企业名称(模糊查询) |
### 响应字段
```json
{
"success": true,
"data": [
{
"corpId": 100,
"corpName": "XX公司",
"completedTaskCount": 15,
"closedTaskCount": 3,
"totalTaskCount": 20
}
],
"totalCount": 1,
"pageSize": 10,
"pageIndex": 1
}
```
| 字段 | 类型 | 说明 |
|------|------|------|
| corpId | Long | 公司ID |
| corpName | String | 公司名称 |
| completedTaskCount | Integer | 已完成任务数 |
| closedTaskCount | Integer | 已关闭任务数 |
| totalTaskCount | Integer | 年度执行任务总数 |
---
## 二十三、关闭清单
`POST /safetyDutyList/taskList/close`
### 请求参数
```json
{
"taskListId": "uuid-xxx"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskListId | String | **是** | 清单业务ID |
### 响应
```json
{
"success": true
}
```
### 业务逻辑
1. 将 task_list.status 更新为 3已关闭
2. 同步关闭该清单下所有进行中的下发记录task_list_issue.status → 3
3. 同步关闭所有下发记录下进行中的任务执行记录task_execution.task_status → 3
---
## 二十四、关闭任务
`POST /safetyDutyList/taskDetail/close`
### 请求参数
```json
{
"taskDetailId": "uuid-detail-1"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskDetailId | String | **是** | 任务业务ID |
### 响应
```json
{
"success": true
}
```
### 业务逻辑
1. 将 task_detail.task_status 更新为 3已关闭
2. 同步关闭关联的所有进行中的任务执行记录task_execution.task_status → 3
---
## 二十五、任务下发
`POST /safetyDutyList/taskList/issue`
### 请求参数
```json
{
"taskListId": "uuid-xxx",
"executeCorpId": 100,
"executeDepartmentId": 200,
"executeUserId": 300,
"periodStartTime": "2026-01-01 00:00:00",
"periodEndTime": "2026-12-31 23:59:59"
}
```
| 字段 | 类型 | 必填 | 说明 |
|------|------|------|------|
| taskListId | String | **是** | 清单UUID业务主键需为开启状态的清单 |
| executeCorpId | Long | **是** | 执行公司ID |
| executeDepartmentId | Long | **是** | 执行部门ID |
| executeUserId | Long | **是** | 执行人员ID |
| periodStartTime | LocalDateTime | **是** | 执行周期开始时间格式yyyy-MM-dd HH:mm:ss |
| periodEndTime | LocalDateTime | **是** | 执行周期结束时间格式yyyy-MM-dd HH:mm:ss |
### 响应
```json
{
"success": true
}
```
### 业务逻辑
1. 在 task_list_issue 表创建下发记录
2. 根据 task_list 关联的 task_detail 模板,在 task_execution 表创建对应的任务执行记录
3. 下发记录的 issue_status 设为 1已下发
---
## 接口路径汇总
| 序号 | 接口 | 路径 | Controller |
|------|------|------|-----------|
| 1 | 获取清单列表 | POST /taskList/list | TaskListController |
| 2 | 新增清单 | POST /taskList/save | TaskListController |
| 3 | 修改清单 | POST /taskList/edit | TaskListController |
| 4 | 删除清单 | POST /taskList/delete/{id} | TaskListController |
| 5 | 开关切换 | POST /taskList/switchFlag | TaskListController |
| 6 | 获取任务列表 | POST /taskDetail/list | TaskDetailController |
| 7 | 批量保存任务 | POST /taskDetail/saveBatch | TaskDetailController |
| 8 | 获取任务详情 | GET /taskDetail/{detailId} | TaskDetailController |
| 9 | 企业落实情况 | POST /taskListIssue/list | TaskListIssueController |
| 10 | 下发记录详情 | GET /taskListIssue/{taskIssueId} | TaskListIssueController |
| 11 | 任务执行列表 | POST /taskExecution/list | TaskExecutionController |
| 12 | 执行记录详情 | GET /taskExecution/{taskExecutionId} | TaskExecutionController |
| 13 | 反馈周期分组 | POST /feedback/periodGroupList | FeedbackController |
| 14 | 反馈列表 | POST /feedback/list | FeedbackController |
| 15 | 反馈详情 | GET /feedback/{feedbackId} | FeedbackController |
| 16 | 编辑反馈 | POST /feedback/edit | FeedbackController |
| 17 | 删除反馈 | POST /feedback/delete/{id} | FeedbackController |
| 18 | 企业评价列表 | POST /statistics/evaluationList | StatisticsController |
| 19 | 更新任务评分 | POST /taskExecution/updateScore | TaskExecutionController |
| 20 | 提交反馈 | POST /feedback/save | FeedbackController |
| 21 | 企业下发统计 | POST /statistics/issueStatistics | StatisticsController |
| 22 | 企业统计(股份端) | POST /statistics/corpStatistics | StatisticsController |
| 23 | 关闭清单 | POST /taskList/close | TaskListController |
| 24 | 关闭任务 | POST /taskDetail/close | TaskDetailController |
| 25 | 任务下发 | POST /taskList/issue | TaskListController |
> 所有路径前缀为 `/safetyDutyList`。