| | |
| | | @Override public List<Map<String, Object>> records(Long testId) |
| | | { |
| | | tests.selectTestById(testId); |
| | | return normalizeApiTimes(mapper.selectPersistedFinalRealtimeRecords(testId)); |
| | | List<Map<String, Object>> rows = normalizeApiTimes(mapper.selectPersistedFinalRealtimeRecords(testId)); |
| | | for (Map<String, Object> row : rows) |
| | | { |
| | | Object extension = row.get("extensionMeasurementsJson"); |
| | | if (extension != null) row.put("relativeTimeSeconds", |
| | | com.alibaba.fastjson2.JSON.parseObject(extension.toString()).get("relativeTimeSeconds")); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** 查询尚存工步记录,包含设备统计与授权历史导入。 */ |
| | |
| | | if (extension == null) continue; |
| | | Map<String, Object> values = com.alibaba.fastjson2.JSON.parseObject(extension.toString()); |
| | | // 中值与历史峰谷值是不同测量,不将旧扩展字段回退映射为中值。 |
| | | for (String field : List.of("stepDuration", "startVoltage", "chargeMedianVoltage", "dischargeMedianVoltage")) |
| | | // 四组容量能量是设备工步层事实:单项列无法表达未确认方向时,调用方读这四组核对。 |
| | | for (String field : List.of("stepDuration", "startVoltage", "chargeMedianVoltage", "dischargeMedianVoltage", |
| | | "chargeCapacity", "dischargeCapacity", "chargeEnergy", "dischargeEnergy")) |
| | | if (values.containsKey(field)) row.put(field, values.get(field)); |
| | | } |
| | | return rows; |
| | | } |
| | | |
| | | /** 查询尚存循环记录,包含设备统计与授权历史导入。 */ |
| | | /** 查询尚存循环记录,包含设备统计、工步层聚合与授权历史导入;携带来源类别供界面标注聚合来源。 */ |
| | | @Override public List<Map<String, Object>> cycles(Long testId) |
| | | { |
| | | tests.selectTestById(testId); |