zcloud_gbs_safetyDutyList/docs/安全责任清单接口文档.md

38 KiB
Raw Blame History

安全责任清单接口文档

一、概述

1.1 项目结构

项目采用六边形架构Hexagonal Architecture遵循 CQRS 模式:

zcloud_gbs_safety_accountability_list/
├── start/                    # 应用启动入口
├── web-adapter/             # 控制器层REST API
├── web-app/                 # 应用服务层Command/Query 执行器)
├── web-domain/              # 领域模型层
├── web-infrastructure/      # 基础设施层(持久化实现)
└── web-client/              # 客户端层DTO、CO、Cmd、Qry

1.2 模块职责

模块 职责
web-adapter Controller 层,负责接收 HTTP 请求,调用 Service
web-app 应用层,包含 Command写操作和 Query读操作执行器
web-domain 领域层包含领域模型、枚举、Gateway 接口
web-infrastructure 基础设施层,包含 DO、Repository、Mapper 实现
web-client 客户端层,包含 DTOCmd、Qry和 COClient Object

1.3 命名规范

类型 命名规范 示例
Controller {Entity}Controller TaskListController
Service 接口 {Entity}ServiceI TaskListServiceI
Command {Entity}AddCmd{Entity}UpdateCmd TaskListAddCmd
Query {Entity}PageQry{Entity}Qry TaskListPageQry
Client Object {Entity}CO TaskListCO
Data Object {Entity}DO TaskListDO
Gateway {Entity}Gateway TaskListGateway
Repository {Entity}Repository TaskListRepository
Mapper {Entity}Mapper TaskListMapper
AddExe {Entity}AddExe TaskListAddExe
QueryExe {Entity}QueryExe TaskListQueryExe
Convertor {Entity}CoConvertor TaskListCoConvertor

1.4 响应结构规范

项目使用 COLA 框架的响应类,位于 com.alibaba.cola.dto 包下:

响应类 说明 使用场景
SingleResponse<T> 单条数据响应 新增、修改、详情查询等返回单个对象
PageResponse<T> 分页数据响应 列表分页查询
MultiResponse<T> 多条数据响应 不分页的列表查询
Response 无数据响应 删除、关闭等无返回数据的操作

响应结构示例

// SingleResponse<T> - 单条数据响应
{
    "code": "200",
    "message": "success",
    "data": { ... }
}

// PageResponse<T> - 分页数据响应
{
    "code": "200",
    "message": "success",
    "data": [ ... ],
    "totalCount": 100,
    "pageSize": 10,
    "pageIndex": 1
}

// MultiResponse<T> - 多条数据响应
{
    "code": "200",
    "message": "success",
    "data": [ ... ]
}

// Response - 无数据响应
{
    "code": "200",
    "message": "success"
}

Controller 使用示例

// 新增 - 返回单条数据
@PostMapping("/save")
public SingleResponse<TaskListCO> add(@RequestBody TaskListAddCmd cmd) {
    return taskListService.add(cmd);
}

// 分页查询 - 返回分页数据
@PostMapping("/list")
public PageResponse<TaskListCO> list(@RequestBody TaskListPageQry qry) {
    return taskListService.listPage(qry);
}

// 列表查询(不分页) - 返回多条数据
@PostMapping("/listAll")
public MultiResponse<TaskListCO> listAll(@RequestBody TaskListQry qry) {
    return MultiResponse.of(taskListService.listAll(qry));
}

// 删除 - 无数据返回
@PostMapping("/{id}")
public Response remove(@PathVariable("id") Long id) {
    taskListService.remove(id);
    return SingleResponse.buildSuccess();
}

1.5 表清单

序号 表名 表中文名
1 safety_accountability_task_list 任务清单表
2 safety_accountability_task_detail 任务清单详细表
3 safety_accountability_feedback 执行反馈表
4 safety_accountability_feedback_exception 反馈异常信息表
建表语句:
-- =============================================
-- 任务清单表
-- =============================================
CREATE TABLE `safety_accountability_task_list` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_list_id` varchar(64) NOT NULL COMMENT '清单UUID业务主键',
    `task_list_name` varchar(255) NOT NULL COMMENT '清单名称',
    `task_level` tinyint(2) NOT NULL COMMENT '任务级别1-企业级 2-部门级 3-班组级',
    `responsibility_post` varchar(255) DEFAULT NULL COMMENT '责任岗位',
    `switch_flag` tinyint(1) NOT NULL DEFAULT '1' COMMENT '开启/关闭0-关 1-开',
    `status` tinyint(2) NOT NULL DEFAULT '1' COMMENT '状态1-进行中 2-已完成 3-已关闭',
    `period_start_time` datetime NOT NULL COMMENT '执行周期开始时间',
    `period_end_time` datetime NOT NULL COMMENT '执行周期结束时间',
    `score` decimal(5,2) DEFAULT NULL COMMENT '评分数',
    `score_user_id` bigint(20) DEFAULT NULL COMMENT '评分人ID',
    `score_department_id` bigint(20) DEFAULT NULL COMMENT '评分部门ID',
    `create_corp_id` bigint(20) DEFAULT NULL COMMENT '创建公司ID',
    `create_department_id` bigint(20) DEFAULT NULL COMMENT '创建部门ID',
    `create_user_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
    `issue_status` tinyint(4) DEFAULT '0' COMMENT '下发状态0-未下发 1-已下发',
    `issue_time` datetime DEFAULT NULL COMMENT '下发时间',
    `execute_corp_id` bigint(20) DEFAULT NULL COMMENT '执行公司ID',
    `execute_department_id` bigint(20) DEFAULT NULL COMMENT '执行部门ID',
    `execute_user_id` bigint(20) DEFAULT NULL COMMENT '执行人员ID',
    `close_time` datetime DEFAULT NULL COMMENT '关闭时间',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint(20) DEFAULT NULL COMMENT '单位ID',
    `version` int(11) DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint(20) DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_list_id` (`task_list_id`),
    KEY `idx_create_corp_id` (`create_corp_id`),
    KEY `idx_execute_corp_id` (`execute_corp_id`),
    KEY `idx_execute_user_id` (`execute_user_id`),
    KEY `idx_status` (`status`),
    KEY `idx_period_time` (`period_start_time`, `period_end_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务清单表';

-- =============================================
-- 任务清单详细表
-- =============================================
CREATE TABLE `safety_accountability_task_detail` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情UUID业务主键',
    `task_list_id` varchar(64) NOT NULL COMMENT '任务清单主键(关联任务清单表)',
    `execute_content` text COMMENT '执行内容',
    `feedback_cycle` tinyint(4) NOT NULL COMMENT '反馈周期1-每月 2-季度 3-半年 4-年',
    `task_status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务状态1-进行中 2-已完成 3-已关闭',
    `feedback_status` tinyint(4) DEFAULT '1' COMMENT '反馈状态1-正常 2-存在异常',
    `task_score` decimal(5,2) DEFAULT NULL COMMENT '任务分值',
    `task_rating` decimal(5,2) DEFAULT NULL COMMENT '任务评分',
    `score_time` datetime DEFAULT NULL COMMENT '评分时间',
    `score_department_id` bigint(20) DEFAULT NULL COMMENT '评分部门ID',
    `score_user_id` bigint(20) DEFAULT NULL COMMENT '评分人ID',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint(20) DEFAULT NULL COMMENT '单位ID',
    `version` int(11) DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint(20) DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_task_status` (`task_status`),
    KEY `idx_feedback_status` (`feedback_status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务清单详细表';

-- =============================================
-- 执行反馈表
-- =============================================
CREATE TABLE `safety_accountability_feedback` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `feedback_id` varchar(64) NOT NULL COMMENT '反馈UUID业务主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情UUID关联任务清单详细表',
    `task_list_id` varchar(64) NOT NULL COMMENT '任务清单UUID冗余字段便于查询',
    `feedback_time` datetime NOT NULL COMMENT '反馈时间',
    `feedback_period_start_time` datetime NOT NULL COMMENT '反馈周期开始时间(用于回显)',
    `feedback_period_end_time` datetime NOT NULL COMMENT '反馈周期结束时间(用于回显)',
    `feedback_period_flag` varchar(20) NOT NULL COMMENT '反馈周期标识格式2026-05表示月2026-Q1表示季度2026-H1表示半年2026表示年',
    `feedback_content` text COMMENT '反馈内容',
    `feedback_user_id` bigint(20) DEFAULT NULL COMMENT '反馈人ID',
    `feedback_corp_id` bigint(20) DEFAULT NULL COMMENT '反馈人公司ID',
    `feedback_department_id` bigint(20) DEFAULT NULL COMMENT '反馈人部门ID',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint(20) DEFAULT NULL COMMENT '单位ID',
    `version` int(11) DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint(20) DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_feedback_id` (`feedback_id`),
    KEY `idx_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_feedback_time` (`feedback_time`),
    KEY `idx_feedback_period_flag` (`feedback_period_flag`),
    KEY `idx_feedback_user_id` (`feedback_user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='执行反馈表';

-- =============================================
-- 反馈异常信息表
-- =============================================
CREATE TABLE `safety_accountability_feedback_exception` (
    `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `feedback_exception_id` varchar(64) NOT NULL COMMENT '反馈异常UUID业务主键',
    `task_detail_id` varchar(64) NOT NULL COMMENT '任务详情主键(关联任务清单详细表)',
    `task_list_id` varchar(64) DEFAULT NULL COMMENT '任务清单主键(冗余字段)',
    `exception_period_flag` varchar(20) DEFAULT NULL COMMENT '异常周期标识',
    `feedback_exception_period_time` varchar(255) DEFAULT NULL COMMENT '反馈周期(用于回显)',
    `exception_type` tinyint(4) DEFAULT 1 COMMENT '异常类型1-未按时反馈 2-反馈内容异常 3-其他',
    `exception_content` text COMMENT '反馈异常信息',
    `exception_time` datetime DEFAULT NULL COMMENT '异常时间',
    `delete_enum` varchar(32) DEFAULT 'FALSE' COMMENT '删除标识TRUE/FALSE',
    `remarks` varchar(500) DEFAULT NULL COMMENT '备注',
    `create_name` varchar(50) DEFAULT NULL COMMENT '创建人姓名',
    `update_name` varchar(50) DEFAULT NULL COMMENT '更新人姓名',
    `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户ID',
    `org_id` bigint(20) DEFAULT NULL COMMENT '单位ID',
    `version` int(11) DEFAULT '0' COMMENT '版本',
    `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',
    `create_id` bigint(20) DEFAULT NULL COMMENT '创建人ID',
    `update_id` bigint(20) DEFAULT NULL COMMENT '修改人ID',
    `env` varchar(50) DEFAULT NULL COMMENT '环境标识',
    PRIMARY KEY (`id`),
    UNIQUE KEY `uk_feedback_exception_id` (`feedback_exception_id`),
    KEY `idx_task_detail_id` (`task_detail_id`),
    KEY `idx_task_list_id` (`task_list_id`),
    KEY `idx_exception_period` (`exception_period`),
    KEY `idx_exception_type` (`exception_type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='反馈异常信息表';

二、枚举值说明

2.1 任务级别 (taskLevel)

说明
1 企业级
2 部门级
3 班组级

2.2 任务状态 (status)

说明
1 进行中
2 已完成
3 已关闭

2.3 反馈周期 (feedbackCycle)

说明 周期标识格式
1 每月 2026-05
2 每季度 2026-Q1
3 半年 2026-H1
4 2026-Y

2.4 反馈状态 (feedbackStatus)

说明
1 正常
2 异常

2.5 开关状态 (switchFlag)

说明
0 关闭
1 开启

2.6 异常类型 (exceptionType)

说明
1 未按时反馈
2 反馈内容异常
3 其他

2.7 评分状态 (scoreStatus)

说明
0 未评分
1 已评分

三、任务清单接口

3.1 获取任务清单列表

接口路径POST /{gateway}/safetyAccountability/taskList/list

接口描述:分页查询任务清单列表

请求参数

参数名 类型 必填 说明
pageIndex Integer 页码
pageSize Integer 每页条数
corpId Long 公司ID
taskListName String 清单名称(模糊查询)
taskLevel Integer 任务级别1-企业级 2-部门级 3-班组级
feedbackStatus Integer 反馈状态1-正常 2-存在异常
switchFlag Integer 开关状态0-关 1-开

请求示例

{
    "pageIndex": 1,
    "pageSize": 10,
    "corpId": 100001,
    "taskListName": "安全",
    "taskLevel": 1,
    "feedbackStatus": 1,
    "switchFlag": 1
}

响应参数

参数名 类型 说明
id Long 主键ID
taskListId String 清单UUID业务主键
taskListName String 清单名称
taskLevel Integer 任务级别1-企业级 2-部门级 3-班组级
responsibilityPost String 责任岗位
switchFlag Integer 开关状态0-关 1-开
status Integer 状态1-进行中 2-已完成 3-已关闭
executeDepartmentId Long 执行部门ID
executeDepartmentName String 执行部门名称
executeUserId Long 执行人员ID
executeUserName String 执行人员名称
taskCount Integer 任务数
periodStartTime String 执行周期开始时间
periodEndTime String 执行周期结束时间
taskStatus Integer 任务状态 1-进行中 2-已完成 3-已关闭
feedbackStatus Integer 反馈状态1-正常 2-异常
scoreDepartmentId Long 评分部门ID
scoreDepartmentName String 评分部门名称
scoreUserId Long 评分人员ID
scoreUserName String 评分人员名称
score BigDecimal 清单分数

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "id": 1,
            "taskListId": "abc123def456",
            "taskListName": "2026年度安全生产责任清单",
            "taskLevel": 1,
            "responsibilityPost": "安全员",
            "switchFlag": 1,
            "status": 1,
            "executeDepartmentId": 200001,
            "executeDepartmentName": "安全管理部",
            "executeUserId": 300001,
            "executeUserName": "张三",
            "taskCount": 5,
            "periodStartTime": "2026-01-01 00:00:00",
            "periodEndTime": "2026-12-31 23:59:59",
            "taskStatus": 1,
            "feedbackStatus": 1,
            "scoreDepartmentId": 200001,
            "scoreDepartmentName": "安全管理部",
            "scoreUserId": 400001,
            "scoreUserName": "李四",
            "score": 85.50
        }
    ],
    "totalCount": 100,
    "pageSize": 10,
    "pageIndex": 1
}

3.2 新增任务清单

接口路径POST /{gateway}/safetyAccountability/taskList/save

接口描述:新增任务清单

请求参数

参数名 类型 必填 说明
taskListName String 清单名称
taskLevel Integer 任务级别1-企业级 2-部门级 3-班组级
responsibilityPost String 责任岗位
switchFlag Integer 是否启用0-关 1-开

请求示例

{
    "taskListName": "2026年度安全生产责任清单",
    "taskLevel": 1,
    "responsibilityPost": "安全员",
    "switchFlag": 1
}

响应参数

参数名 类型 说明
id Long 主键ID
taskListId String 清单UUID业务主键
taskListName String 清单名称
taskLevel Integer 任务级别
taskLevelName String 任务级别名称

响应示例

{
    "code": "200",
    "message": "success",
    "data": {
        "id": 1,
        "taskListId": "abc123def456",
        "taskListName": "2026年度安全生产责任清单",
        "taskLevel": 1,
        "taskLevelName": "企业级"
    }
}

3.3 关闭清单

接口路径POST /{gateway}/safetyAccountability/taskList/close

接口描述:手动关闭任务清单

请求参数

参数名 类型 必填 说明
taskListId String 清单UUID

请求示例

{
    "taskListId": "abc123def456"
}

响应参数:无

响应示例

{
    "code": "200",
    "message": "success"
}

3.4 任务下发

接口路径POST /{gateway}/safetyAccountability/taskList/issue

接口描述:将任务清单下发给执行人(仅可下发开启状态的清单)

请求参数

参数名 类型 必填 说明
taskListId String 清单UUID仅开启状态的清单
executeCorpId Long 执行公司ID
executeUserId Long 执行人员ID
periodStartTime String 执行周期开始日期格式yyyy-MM-dd HH:mm:ss
periodEndTime String 执行周期结束日期格式yyyy-MM-dd HH:mm:ss

请求示例

{
    "taskListId": "abc123def456",
    "executeCorpId": 100002,
    "executeUserId": 300001,
    "periodStartTime": "2026-01-01 00:00:00",
    "periodEndTime": "2026-12-31 23:59:59"
}

响应参数:无

响应示例

{
    "code": "200",
    "message": "success"
}

四、任务详情接口

4.1 获取任务列表

接口路径POST /{gateway}/safetyAccountability/taskDetail/list

接口描述根据清单ID分页查询任务列表

请求参数

参数名 类型 必填 说明
pageIndex Integer 页码
pageSize Integer 每页条数
taskListId String 清单表主键ID
executeContent String 执行内容(模糊查询)
periodStartTime String 任务周期开始时间
periodEndTime String 任务周期结束时间
feedbackCycle Integer 反馈周期1-每月 2-季度 3-半年 4-年
feedbackStatus Integer 反馈状态1-正常 2-异常
taskStatus Integer 任务状态1-进行中 2-已完成 3-已关闭

请求示例

{
    "pageIndex": 1,
    "pageSize": 10,
    "taskListId": "abc123def456",
    "executeContent": "检查",
    "feedbackCycle": 1,
    "feedbackStatus": 1,
    "taskStatus": 1
}

响应参数

参数名 类型 说明
id Long 主键ID
taskDetailId String 任务详情UUID业务主键
executeContent String 执行内容
feedbackCycle Integer 反馈周期1-每月 2-季度 3-半年 4-年
feedbackCycleName String 反馈周期名称
taskScore BigDecimal 任务分值
taskRating BigDecimal 当前得分(任务评分)
taskStatus Integer 任务状态1-进行中 2-已完成 3-已关闭
taskStatusName String 任务状态名称
feedbackCount Integer 反馈次数
feedbackStatus Integer 反馈状态1-正常 2-存在异常
feedbackStatusName String 反馈状态名称
currentPeriodFeedback Boolean 当前节点是否反馈
exceptionList Array 异常列表
exceptionList[].exceptionPeriodFlag String 异常周期标识
exceptionList[].exceptionPeriodTime String 异常周期
exceptionList[].exceptionType Integer 异常类型1-未按时反馈 2-反馈内容异常 3-其他
exceptionList[].exceptionTypeName String 异常类型名称

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "id": 1,
            "taskDetailId": "detail001",
            "executeContent": "每月提交安全检查报告",
            "feedbackCycle": 1,
            "feedbackCycleName": "每月",
            "taskScore": 10.00,
            "taskRating": 9.50,
            "taskStatus": 1,
            "taskStatusName": "进行中",
            "feedbackCount": 5,
            "feedbackStatus": 1,
            "feedbackStatusName": "正常",
            "currentPeriodFeedback": true,
            "exceptionList": [
                {
                    "exceptionPeriodFlag": "2026-Q1",
                    "exceptionPeriodTime": "2026-01-01 - 2026-01-31",
                    "exceptionType": 1,
                    "exceptionTypeName": "未按时反馈"
                }
            ]
        }
    ],
    "totalCount": 10,
    "pageSize": 10,
    "pageIndex": 1
}

4.2 新增任务

接口路径POST /{gateway}/safetyAccountability/taskDetail/save

接口描述新增任务详情当前清单总分不能超过100

请求参数

参数名 类型 必填 说明
taskListId String 清单表主键ID
executeContent String 执行内容
feedbackCycle Integer 反馈周期1-每月 2-季度 3-半年 4-年
taskScore BigDecimal 任务分值当前清单总分不能超过100

请求示例

{
    "taskListId": "abc123def456",
    "executeContent": "每月提交安全检查报告",
    "feedbackCycle": 1,
    "taskScore": 10.00
}

响应参数

参数名 类型 说明
id Long 主键ID
taskDetailId String 任务详情UUID业务主键
executeContent String 执行内容
feedbackCycle Integer 反馈周期
feedbackCycleName String 反馈周期名称
taskScore BigDecimal 任务分值

响应示例

{
    "code": "200",
    "message": "success",
    "data": {
        "id": 1,
        "taskDetailId": "detail001",
        "executeContent": "每月提交安全检查报告",
        "feedbackCycle": 1,
        "feedbackCycleName": "每月",
        "taskScore": 10.00
    }
}

4.3 获取任务详情

接口路径GET /{gateway}/safetyAccountability/taskDetail/{detailId}

接口描述根据任务ID查询任务详情

路径参数

参数名 类型 必填 说明
detailId String 任务表业务主键ID

响应参数

参数名 类型 说明
id Long 主键ID
taskDetailId String 任务详情UUID
taskListId String 清单表主键ID
taskListName String 清单名称
taskLevel Integer 任务级别1-企业级 2-部门级 3-班组级
taskLevelName String 任务级别名称
responsibilityPost String 责任岗位
feedbackCycle Integer 反馈周期1-每月 2-季度 3-半年 4-年
feedbackCycleName String 反馈周期名称
taskScore BigDecimal 任务分值
executeContent String 执行内容

响应示例

{
    "code": "200",
    "message": "success",
    "data": {
        "id": 1,
        "taskDetailId": "detail001",
        "taskListId": "abc123def456",
        "taskListName": "2026年度安全生产责任清单",
        "taskLevel": 1,
        "taskLevelName": "企业级",
        "responsibilityPost": "安全员",
        "feedbackCycle": 1,
        "feedbackCycleName": "每月",
        "taskScore": 10.00,
        "executeContent": "每月提交安全检查报告"
    }
}

4.4 关闭任务

接口路径POST /{gateway}/safetyAccountability/taskDetail/close

接口描述:手动关闭任务

请求参数

参数名 类型 必填 说明
taskDetailId String 任务UUID

请求示例

{
    "taskDetailId": "detail001"
}

响应参数:无

响应示例

{
    "code": "200",
    "message": "success"
}

4.5 更新任务评分

接口路径POST /{gateway}/safetyAccountability/taskDetail/updateScore

接口描述:对任务进行评分

请求参数

参数名 类型 必填 说明
taskDetailId String 任务UUID
score Decimal 分数(不能超过任务分值)

请求示例

{
    "taskDetailId": "detail001",
    "score": 9.50
}

响应参数:无

响应示例

{
    "code": "200",
    "message": "success"
}

五、反馈接口

5.1 提交反馈

接口路径POST /{gateway}/safetyAccountability/feedback/save

接口描述:执行人提交反馈

请求参数

参数名 类型 必填 说明
taskDetailId String 任务ID
taskListId String 清单ID
feedbackContent String 反馈内容

请求示例

{
    "taskDetailId": "detail001",
    "taskListId": "abc123def456",
    "feedbackContent": "本月已完成安全检查发现隐患3处已全部整改完成。"
}

响应参数

参数名 类型 说明
id Long 主键ID
feedbackId String 反馈UUID业务主键
feedbackTime String 反馈时间
feedbackContent String 反馈内容
feedbackUserId Long 反馈人ID
feedbackUserName String 反馈人名称

响应示例

{
    "code": "200",
    "message": "success",
    "data": {
        "id": 1,
        "feedbackId": "feedback001",
        "feedbackTime": "2026-05-15 14:30:00",
        "feedbackContent": "本月已完成安全检查发现隐患3处已全部整改完成。",
        "feedbackUserId": 1,
        "feedbackUserName": "张三"
    }
}

5.2 获取反馈周期分组列表

接口路径POST /{gateway}/safetyAccountability/feedback/periodGroupList

接口描述根据任务ID获取反馈周期分组列表以周期标识为维度统计

请求参数

参数名 类型 必填 说明
taskDetailId String 任务ID
feedbackTimeStart String 反馈时间开始格式yyyy-MM-dd
feedbackTimeEnd String 反馈时间结束格式yyyy-MM-dd

请求示例

{
    "taskDetailId": "detail001",
    "feedbackTimeStart": "2026-01-01",
    "feedbackTimeEnd": "2026-12-31"
}

响应参数

参数名 类型 说明
taskDetailId String
feedbackPeriodStartTime String 反馈周期开始时间
feedbackPeriodEndTime String 反馈周期结束时间
feedbackCount Integer 反馈次数(以周期标识为维度统计)
feedbackUserName String 反馈人姓名
feedbackPeriodFlag String 周期标识

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
           "taskDetailId": "detail001",
            "feedbackPeriodStartTime": "2026-05-01 00:00:00",
            "feedbackPeriodEndTime": "2026-05-31 23:59:59",
            "feedbackCount": 2,
            "feedbackUserName": "张三",
            "feedbackPeriodFlag": "2026-05"
        },
        {
           "taskDetailId": "detail002",
            "feedbackPeriodStartTime": "2026-04-01 00:00:00",
            "feedbackPeriodEndTime": "2026-04-30 23:59:59",
            "feedbackCount": 1,
            "feedbackUserName": "张三",
            "feedbackPeriodFlag": "2026-04"
        }
    ]
}

5.3 获取反馈列表

接口路径POST /{gateway}/safetyAccountability/feedback/list

接口描述根据任务ID和周期标识获取反馈列表

请求参数

参数名 类型 必填 说明
taskDetailId String 任务ID
feedbackPeriodFlag String 周期标识2026-05、2026-Q1、2026-H1、2026

请求示例

{
    "taskDetailId": "detail001",
    "feedbackPeriodFlag": "2026-05"
}

响应参数

参数名 类型 说明
id Long 主键ID
feedbackId String 反馈UUID
feedbackTime String 反馈时间
feedbackContent String 反馈内容
feedbackUserName String 反馈人姓名

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "id": 1,
            "feedbackId": "feedback001",
            "feedbackTime": "2026-05-15 14:30:00",
            "feedbackContent": "本月已完成安全检查发现隐患3处已全部整改完成。",
            "feedbackUserName": "张三"
        },
        {
            "id": 2,
            "feedbackId": "feedback002",
            "feedbackTime": "2026-05-20 10:15:00",
            "feedbackContent": "补充反馈:隐患已全部验收通过。",
            "feedbackUserName": "张三"
        }
    ]
}

5.4 获取反馈详情

接口路径GET /{gateway}/safetyAccountability/feedback/{id}

接口描述根据反馈ID获取反馈详情

路径参数

参数名 类型 必填 说明
feedbackId String 反馈表业务主键ID

响应参数

参数名 类型 说明
id Long 主键ID
feedbackId String 反馈UUID
taskDetailId String 任务详情ID
executeContent String 执行内容(任务信息)
feedbackCycle Integer 反馈周期1-每月 2-季度 3-半年 4-年
feedbackCycleName String 反馈周期名称
feedbackContent String 反馈内容
feedbackTime String 反馈时间
feedbackPeriodStartTime String 反馈周期开始时间
feedbackPeriodEndTime String 反馈周期结束时间

响应示例

{
    "code": "200",
    "message": "success",
    "data": {
        "id": 1,
        "feedbackId": "feedback001",
        "taskDetailId": "detail001",
        "executeContent": "每月提交安全检查报告",
        "feedbackCycle": 1,
        "feedbackCycleName": "每月",
        "feedbackContent": "本月已完成安全检查发现隐患3处已全部整改完成。",
        "feedbackTime": "2026-05-15 14:30:00",
        "feedbackPeriodStartTime": "2026-05-01 00:00:00",
        "feedbackPeriodEndTime": "2026-05-31 23:59:59"
    }
}

六、统计接口

6.1 获取企业统计(股份端)

接口路径POST /{gateway}/safetyAccountability/statistics/corpStatistics

接口描述:股份端获取企业统计数据

请求参数

参数名 类型 必填 说明
pageIndex Integer 页码
pageSize Integer 每页条数
corpName String 企业名称(模糊查询)

请求示例

{
    "pageIndex": 1,
    "pageSize": 10,
    "corpName": "分公司"
}

响应参数

参数名 类型 说明
corpId Long 公司ID
corpName String 公司名称
completedTaskCount Integer 已完成任务数
closedTaskCount Integer 已关闭任务数
totalTaskCount Integer 年度执行任务总数

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "corpId": 100001,
            "corpName": "XX分公司",
            "completedTaskCount": 10,
            "closedTaskCount": 2,
            "totalTaskCount": 15
        }
    ],
    "totalCount": 50,
    "pageSize": 10,
    "pageIndex": 1
}

6.2 获取企业评价列表

接口路径POST /{gateway}/safetyAccountability/statistics/evaluationList

接口描述:获取企业评价列表

请求参数

参数名 类型 必填 说明
pageIndex Integer 页码
pageSize Integer 每页条数
corpName String 企业名称(模糊查询)
scoreStatus Integer 评分状态0-未评分 1-已评分

请求示例

{
    "pageIndex": 1,
    "pageSize": 10,
    "corpName": "分公司",
    "scoreStatus": 0
}

响应参数

参数名 类型 说明
corpId Long 公司ID
corpName String 公司名称
listCount Integer 清单数量

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "corpId": 100001,
            "corpName": "XX分公司",
            "listCount": 3
        }
    ],
    "totalCount": 50,
    "pageSize": 10,
    "pageIndex": 1
}

6.3 获取企业任务下发统计数

接口路径POST /{gateway}/safetyAccountability/statistics/issueStatistics

接口描述获取企业任务下发统计数据以执行公司ID为维度统计

请求参数

参数名 类型 必填 说明
pageIndex Integer 页码
pageSize Integer 每页条数
corpName String 企业名称(模糊查询)

请求示例

{
    "pageIndex": 1,
    "pageSize": 10,
    "corpName": "分公司"
}

响应参数

参数名 类型 说明
corpId Long 公司ID
corpName String 公司名称
issueCount Integer 任务清单下发数以清单表中的执行公司ID为维度统计

响应示例

{
    "code": "200",
    "message": "success",
    "data": [
        {
            "corpId": 100001,
            "corpName": "XX分公司",
            "issueCount": 15
        }
    ],
    "totalCount": 50,
    "pageSize": 10,
    "pageIndex": 1
}

七、反馈周期时间工具类

根据周期标识获取对应的开始时间和结束时间:

周期标识 开始时间 结束时间 说明
2026-05 2026-05-01 00:00:00 2026-05-31 23:59:59
2026-Q1 2026-01-01 00:00:00 2026-03-31 23:59:59 第一季度
2026-Q2 2026-04-01 00:00:00 2026-06-30 23:59:59 第二季度
2026-Q3 2026-07-01 00:00:00 2026-09-30 23:59:59 第三季度
2026-Q4 2026-10-01 00:00:00 2026-12-31 23:59:59 第四季度
2026-H1 2026-01-01 00:00:00 2026-06-30 23:59:59 上半年
2026-H2 2026-07-01 00:00:00 2026-12-31 23:59:59 下半年
2026 2026-01-01 00:00:00 2026-12-31 23:59:59

八、注意事项

  1. 任务分值限制新增任务时当前清单下所有任务分值总和不能超过100分。

  2. 反馈周期判断

    • 每月:每个月必须有反馈,否则判定为异常
    • 每季度:每个季度必须有反馈,否则判定为异常
    • 半年:每半年必须有反馈,否则判定为异常
    • 年:每年必须有反馈,否则判定为异常
    • 周期内可多次提交反馈
  3. 状态流转

    • 任务清单状态:进行中 → 已完成(周期结束自动变更)/ 已关闭(手动关闭)
    • 任务状态:进行中 → 已完成(周期结束自动变更)/ 已关闭(手动关闭)
  4. 反馈状态推导:清单的反馈状态由任务反馈状态推导,有任意任务反馈状态为异常时,清单反馈状态为异常。

  5. 下发条件仅可下发开启状态switchFlag=1的任务清单。

  6. 评分限制:任务评分不能超过任务分值。