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

1204 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 安全责任清单 - 前端联调接口文档
> 基于模板与实例分离的新模型,同一清单可下发给多个公司。
>
> **核心变更**清单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`。