# 数据分析 本模块共 20 个接口。源文件:`api.json`。 ## 快速索引 | 接口名称 | 方法 | 路径 | 用途 | | --- | --- | --- | --- | | 首页数据看板 | GET | `/gd_dataserver/business/points/analysis/dashboard` | 返回 data 为对象,包含:totalHazard-隐患总数、monthHazard-本月新增隐患、pendingHazard-待处理隐患、totalPoints-积分总量、monthPoints-本月发放积分、onTimeRate-准时率(%)、todayExchangeCount-今日兑换单数、todayPointsIssued-今日发放积分数。 | | 隐患热力图-按部门统计 | GET | `/gd_dataserver/business/points/analysis/heatmap/department` | 返回 data 为数组,每个元素包含:departmentId-部门ID、departmentName-部门名称、hazardCount-隐患数量。 | | 隐患热力图-按单位统计 | GET | `/gd_dataserver/business/points/analysis/heatmap/unit` | 返回 data 为数组,每个元素包含:unitId-单位ID、unitName-单位名称、hazardCount-隐患数量。 | | 首页-核心指标概览 | GET | `/gd_dataserver/business/points/analysis/home/overview` | 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,包含:pendingAuditCount-待审核数、monthClosedCount-本月已闭环数、todayReportCount-今日新增上报数、todayExchangeCount-今日兑换单数、todayPointsIssued-今日发放积分数。 | | 首页-待办与预警 | GET | `/gd_dataserver/business/points/analysis/home/todo-warning` | 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,包含:pendingAuditOver24hCount-待审核超24h条数、riskWarningCount-风控预警(集中兑换)条数、pendingAppealCount-申诉待处理条数。 | | 首页-近7日趋势与最新上报 | GET | `/gd_dataserver/business/points/analysis/home/trend-latest` | 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,trend7d-近7日每日上报数组(元素含date、count),latestReports-最新上报前5条(含id、reportNo、hazardName、hazardLevelName、status、statusName、reporterName、factoryDeptName、createTime)。 | | 兑换排行统计(按单位) | GET | `/gd_dataserver/business/points/analysis/ranking/exchange` | 按单位统计兑换数据,仅统计兑换成功(status=2)的订单。返回 data 为数组,每个元素包含:unitId-单位ID、unitName-单位名称、orderCount-兑换单数、totalPoints-消耗积分总量、userCount-兑换人数。 | | 积分排行榜-本月获取 | GET | `/gd_dataserver/business/points/analysis/ranking/monthlyPoints` | 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、monthIncome-本月获取积分、rank-排名。 | | 我的积分排名(APP端) | GET | `/gd_dataserver/business/points/analysis/ranking/myRank` | 查询当前登录用户的积分排名,返回userId、totalIncome、rank | | 积分排行榜-总入账 | GET | `/gd_dataserver/business/points/analysis/ranking/points` | 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、totalIncome-总入账积分、rank-排名。按 totalIncome 降序排列。 | | 上报积分排行 | GET | `/gd_dataserver/business/points/analysis/ranking/report` | 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、reportCount-上报次数、rank-排名。按上报次数降序。 | | 月度安全运营报告(JSON) | GET | `/gd_dataserver/business/points/analysis/report/monthly` | 查询指定月份的运营数据,支持查询全年或单月。month=0 表示查询全年各月数据,month=1~12 表示查询指定月份。返回 data 为 MonthlyReportVO 数组,每个元素包含:month-月份、hazardCount-隐患总数、approvedCount-已通过数、rejectedCount-已驳回数、pointsIssued-发放积分、avgProcessHours-平均处理时长(小时)、onTimeRate-准时率(%)、exchangeOrderCount-兑换单数、exchangePoints-兑换消耗积分。 | | 月度安全运营报告导出(Excel) | GET | `/gd_dataserver/business/points/analysis/report/monthly/export` | 导出指定月份的运营数据为 Excel 文件。month=0 表示导出全年各月数据,month=1~12 表示导出指定月份。直接下载 Excel 文件,无需解析返回数据。 | | 隐患统计-按分类 | GET | `/gd_dataserver/business/points/analysis/stats/category` | 返回 data 为数组,每个元素包含:categoryName-隐患分类名称、count-数量。用于饼图展示。 | | 隐患统计-按级别 | GET | `/gd_dataserver/business/points/analysis/stats/level` | 返回 data 为数组,每个元素包含:levelName-隐患级别名称、count-数量。用于饼图展示。 | | 处理时效-按级别 | GET | `/gd_dataserver/business/points/analysis/timeliness/level` | 返回 data 为数组,每个元素包含:levelName-级别名称、avgHours-平均处理时长、completedCount-已完成数。 | | 超期未处理列表 | GET | `/gd_dataserver/business/points/analysis/timeliness/overdue` | 返回 data 为 HazardReport 数组,每条记录包含 id、reportNo、hazardName、unitName、hazardLevelName、limitedCompleteTime-限定完成时间、status-状态 等字段。 | | 处理时效总览 | GET | `/gd_dataserver/business/points/analysis/timeliness/overview` | 返回 data 为对象,包含:avgHours-平均处理时长(小时)、maxHours-最大处理时长、minHours-最小处理时长、onTimeRate-准时率(%)、totalCount-总隐患数、completedCount-已完成数、pendingCount-待处理数。 | | 处理时效-按单位 | GET | `/gd_dataserver/business/points/analysis/timeliness/unit` | 返回 data 为数组,每个元素包含:unitName-单位名称、avgHours-平均处理时长、completedCount-已完成数。 | | 隐患趋势-按月份 | GET | `/gd_dataserver/business/points/analysis/trend/month` | 返回 data 为数组,每个元素包含:month-月份(如'2026-01')、count-当月隐患数量。用于折线图展示。 | ## 接口详情 ### 首页数据看板 - **用途:** 返回 data 为对象,包含:totalHazard-隐患总数、monthHazard-本月新增隐患、pendingHazard-待处理隐患、totalPoints-积分总量、monthPoints-本月发放积分、onTimeRate-准时率(%)、todayExchangeCount-今日兑换单数、todayPointsIssued-今日发放积分数。 - **请求:** `GET /gd_dataserver/business/points/analysis/dashboard` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `dashboardUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 隐患热力图-按部门统计 - **用途:** 返回 data 为数组,每个元素包含:departmentId-部门ID、departmentName-部门名称、hazardCount-隐患数量。 - **请求:** `GET /gd_dataserver/business/points/analysis/heatmap/department` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `heatmapByDepartmentUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | unitId | query | 否 | integer / int64 | 单位ID | - | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 隐患热力图-按单位统计 - **用途:** 返回 data 为数组,每个元素包含:unitId-单位ID、unitName-单位名称、hazardCount-隐患数量。 - **请求:** `GET /gd_dataserver/business/points/analysis/heatmap/unit` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `heatmapByUnitUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 首页-核心指标概览 - **用途:** 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,包含:pendingAuditCount-待审核数、monthClosedCount-本月已闭环数、todayReportCount-今日新增上报数、todayExchangeCount-今日兑换单数、todayPointsIssued-今日发放积分数。 - **请求:** `GET /gd_dataserver/business/points/analysis/home/overview` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `homeOverviewUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 首页-待办与预警 - **用途:** 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,包含:pendingAuditOver24hCount-待审核超24h条数、riskWarningCount-风控预警(集中兑换)条数、pendingAppealCount-申诉待处理条数。 - **请求:** `GET /gd_dataserver/business/points/analysis/home/todo-warning` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `homeTodoWarningUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 首页-近7日趋势与最新上报 - **用途:** 按账户权限统计(管理员全部、其它账户仅本厂区)。返回 data 为对象,trend7d-近7日每日上报数组(元素含date、count),latestReports-最新上报前5条(含id、reportNo、hazardName、hazardLevelName、status、statusName、reporterName、factoryDeptName、createTime)。 - **请求:** `GET /gd_dataserver/business/points/analysis/home/trend-latest` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `homeTrendAndLatestUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 兑换排行统计(按单位) - **用途:** 按单位统计兑换数据,仅统计兑换成功(status=2)的订单。返回 data 为数组,每个元素包含:unitId-单位ID、unitName-单位名称、orderCount-兑换单数、totalPoints-消耗积分总量、userCount-兑换人数。 - **请求:** `GET /gd_dataserver/business/points/analysis/ranking/exchange` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `exchangeRankingByUnitUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 积分排行榜-本月获取 - **用途:** 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、monthIncome-本月获取积分、rank-排名。 - **请求:** `GET /gd_dataserver/business/points/analysis/ranking/monthlyPoints` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `monthlyPointsRankingUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | topN | query | 否 | integer / int32 | 前N名 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 我的积分排名(APP端) - **用途:** 查询当前登录用户的积分排名,返回userId、totalIncome、rank - **请求:** `GET /gd_dataserver/business/points/analysis/ranking/myRank` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `myRankUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 积分排行榜-总入账 - **用途:** 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、totalIncome-总入账积分、rank-排名。按 totalIncome 降序排列。 - **请求:** `GET /gd_dataserver/business/points/analysis/ranking/points` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `pointsRankingUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | topN | query | 否 | integer / int32 | 前N名 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 上报积分排行 - **用途:** 返回 data 为数组,每个元素包含:userId-用户ID、userName-用户姓名、reportCount-上报次数、rank-排名。按上报次数降序。 - **请求:** `GET /gd_dataserver/business/points/analysis/ranking/report` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `reportPointsRankingUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | topN | query | 否 | integer / int32 | 前N名 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 月度安全运营报告(JSON) - **用途:** 查询指定月份的运营数据,支持查询全年或单月。month=0 表示查询全年各月数据,month=1~12 表示查询指定月份。返回 data 为 MonthlyReportVO 数组,每个元素包含:month-月份、hazardCount-隐患总数、approvedCount-已通过数、rejectedCount-已驳回数、pointsIssued-发放积分、avgProcessHours-平均处理时长(小时)、onTimeRate-准时率(%)、exchangeOrderCount-兑换单数、exchangePoints-兑换消耗积分。 - **请求:** `GET /gd_dataserver/business/points/analysis/report/monthly` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `monthlyReportUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | year | query | 是 | integer / int32 | 年份 | - | | month | query | 否 | integer / int32 | 月份(0=全年,1-12=指定月) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 月度安全运营报告导出(Excel) - **用途:** 导出指定月份的运营数据为 Excel 文件。month=0 表示导出全年各月数据,month=1~12 表示导出指定月份。直接下载 Excel 文件,无需解析返回数据。 - **请求:** `GET /gd_dataserver/business/points/analysis/report/monthly/export` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `exportMonthlyReportUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | year | query | 是 | integer / int32 | 年份 | - | | month | query | 否 | integer / int32 | 月份(0=全年,1-12=指定月) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | - | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 隐患统计-按分类 - **用途:** 返回 data 为数组,每个元素包含:categoryName-隐患分类名称、count-数量。用于饼图展示。 - **请求:** `GET /gd_dataserver/business/points/analysis/stats/category` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `statsByCategoryUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 隐患统计-按级别 - **用途:** 返回 data 为数组,每个元素包含:levelName-隐患级别名称、count-数量。用于饼图展示。 - **请求:** `GET /gd_dataserver/business/points/analysis/stats/level` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `statsByLevelUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 处理时效-按级别 - **用途:** 返回 data 为数组,每个元素包含:levelName-级别名称、avgHours-平均处理时长、completedCount-已完成数。 - **请求:** `GET /gd_dataserver/business/points/analysis/timeliness/level` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `timelinessByLevelUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 超期未处理列表 - **用途:** 返回 data 为 HazardReport 数组,每条记录包含 id、reportNo、hazardName、unitName、hazardLevelName、limitedCompleteTime-限定完成时间、status-状态 等字段。 - **请求:** `GET /gd_dataserver/business/points/analysis/timeliness/overdue` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `overdueListUsingGET` 参数: _无_ 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 处理时效总览 - **用途:** 返回 data 为对象,包含:avgHours-平均处理时长(小时)、maxHours-最大处理时长、minHours-最小处理时长、onTimeRate-准时率(%)、totalCount-总隐患数、completedCount-已完成数、pendingCount-待处理数。 - **请求:** `GET /gd_dataserver/business/points/analysis/timeliness/overview` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `timelinessOverviewUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 处理时效-按单位 - **用途:** 返回 data 为数组,每个元素包含:unitName-单位名称、avgHours-平均处理时长、completedCount-已完成数。 - **请求:** `GET /gd_dataserver/business/points/analysis/timeliness/unit` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `timelinessByUnitUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | startTime | query | 否 | string / date-time | 开始时间(yyyy-MM-dd) | - | | endTime | query | 否 | string / date-time | 结束时间(yyyy-MM-dd) | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - | ### 隐患趋势-按月份 - **用途:** 返回 data 为数组,每个元素包含:month-月份(如'2026-01')、count-当月隐患数量。用于折线图展示。 - **请求:** `GET /gd_dataserver/business/points/analysis/trend/month` - **鉴权:** `X-Access-Token`(以接口定义为准) - **operationId:** `trendByMonthUsingGET` 参数: | 字段 | 位置 | 必填 | 类型 | 说明 | 示例 | | --- | --- | --- | --- | --- | --- | | year | query | 否 | integer / int32 | 年份 | - | 响应: | 状态码 | 说明 | 响应模型 | | --- | --- | --- | | 200 | OK | */*: object | | 401 | Unauthorized | - | | 403 | Forbidden | - | | 404 | Not Found | - |