本次在 lims 模块新增了“数据分析与展示”能力,覆盖:
接口统一前缀:/lims/dataAnalysis
Authorization 请求头)。AjaxResult{
"code": 200,
"msg": "操作成功",
"data": {}
}
yyyy-MM-dd HH:mm:ssstartTime/endTime 都不传,则默认最近 7 天。| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| startTime | string | 否 | 开始时间,格式:yyyy-MM-dd HH:mm:ss |
| endTime | string | 否 | 结束时间,格式:yyyy-MM-dd HH:mm:ss |
| dataType | string | 否 | 数据类型:temperature/humidity/pressure/flow/concentration |
| deviceCode | string | 否 | 设备编号 |
| granularity | string | 否 | 趋势粒度:day/hour,默认 day |
| dimension | string | 否 | 比较维度:dataType/deviceName/deviceCode,默认 dataType |
| topN | number | 否 | 比较分析返回条数,默认 10,最大 50 |
| 接口 | 方法 | 说明 |
|---|---|---|
/lims/dataAnalysis/dashboard |
GET | 一次返回看板全部数据(推荐) |
/lims/dataAnalysis/overview |
GET | 仅返回概览指标 |
/lims/dataAnalysis/trend |
GET | 仅返回趋势数据 |
/lims/dataAnalysis/comparison |
GET | 仅返回比较分析数据 |
/lims/dataAnalysis/qualityDistribution |
GET | 仅返回质量分布数据 |
GET /lims/dataAnalysis/dashboarddata 结构:
{
"startTime": "2026-05-16 00:00:00",
"endTime": "2026-05-22 23:59:59",
"granularity": "day",
"dimension": "dataType",
"overview": {
"totalCollections": 1200,
"todayCollections": 210,
"abnormalCollections": 38,
"qualifiedRate": 94.17,
"inProgressExperiments": 6,
"warningMonitors": 3,
"inStockSamples": 168
},
"trend": [
{
"time": "2026-05-16",
"pointCount": 145,
"avgValue": 23.65,
"maxValue": 29.40,
"minValue": 20.10
}
],
"comparison": [
{
"dimensionValue": "temperature",
"pointCount": 560,
"avgValue": 24.31,
"maxValue": 33.20,
"minValue": 18.90
}
],
"qualityDistribution": [
{
"category": "qualified",
"pointCount": 1130,
"ratio": 94.17
},
{
"category": "abnormal",
"pointCount": 38,
"ratio": 3.17
},
{
"category": "pending",
"pointCount": 32,
"ratio": 2.67
}
]
}
字段解释:
overview.totalCollections:时间范围内采集总条数overview.todayCollections:最近 24 小时采集条数overview.qualifiedRate:合格率(百分比)trend:折线图数据源comparison:柱状图/横向条形图数据源qualityDistribution:饼图数据源dashboard,减少请求次数。dashboard。overview/trend/comparison/qualityDistribution。trend 已补齐时间轴空档位(无数据返回 0),可直接绘制连续折线。curl -G 'http://localhost:8080/lims/dataAnalysis/dashboard' \
--data-urlencode 'startTime=2026-05-16 00:00:00' \
--data-urlencode 'endTime=2026-05-22 23:59:59' \
--data-urlencode 'granularity=day' \
--data-urlencode 'dimension=dataType' \
--data-urlencode 'topN=10' \
-H 'Authorization: Bearer <token>'