yeg
2026-09-29 b78295e8da96c3e5e76befeef9582ce5273dbb74
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.battery.business.domain;
 
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
 
/**
 * 一次测试电池轮询槽位的检测柜与采集器组合观测,对应表 t_test_realtime_record。
 *
 * <p>槽位为空的记录来自授权历史导入或柜端逐行接收,同一秒可以存在多条不同来源编号的记录。</p>
 */
public class TTestRealtimeRecord implements Serializable
{
    /** 实时记录主键。 */
    private Long recordId;
    /** 所属测试主键。 */
    private Long testId;
    /** 所属测试电池主键,数据按电池号归属。 */
    private Long testBatteryId;
    /** 本次观测使用的通道绑定主键。 */
    private Long bindingId;
    /** 设备适配器实例编码。 */
    private String adapterCode;
    /** 来源身份,由适配器实例与厂商通道字段拼接,是幂等与冲突判定的组成部分。 */
    private String sourceIdentity;
    /** 来源记录编号:柜端为协议序号或来源主键,采集器为采集端序号;配合来源身份执行幂等。 */
    private String sourceRecordId;
    /** 柜端厂商设备类型,采集器来源或导入行为空。 */
    private Integer cabinetDevtype;
    /** 柜端厂商设备号。 */
    private Integer cabinetDevid;
    /** 柜端厂商单元号。 */
    private Integer cabinetSubdevid;
    /** 柜端厂商通道号。 */
    private Integer cabinetChlid;
    /** 柜端协议序号,工步切换点在同一绝对秒内可写入多条记录,靠该值区分。 */
    private Long cabinetSequenceId;
    /** 柜端设备时间,按适配器时区解释后以 UTC 保存。 */
    private Date cabinetDeviceTimeUtc;
    /** 柜端设备时间原始文本,保留厂家原值供核对。 */
    private String cabinetDeviceTimeRaw;
    /** 解释柜端设备时间所用的适配器时区标识。 */
    private String cabinetAdapterTimezoneId;
    /** 采集器主键,柜端单来源记录为空。 */
    private Long collectorId;
    /** 采集器通道编码。 */
    private String collectorChannelCode;
    /** 采集端记录序号。 */
    private Long collectorSequenceId;
    /** 采集器设备时间,按适配器时区解释后以 UTC 保存。 */
    private Date collectorDeviceTimeUtc;
    /** 采集器设备时间原始文本。 */
    private String collectorDeviceTimeRaw;
    /** 解释采集器设备时间所用的适配器时区标识。 */
    private String collectorAdapterTimezoneId;
    /** 系统轮询槽位;柜端逐行接收和授权历史导入的记录槽位为空,同秒多行因此各自成立。 */
    private Date captureSlotUtc;
    /** 服务器接收时间,仅用于展示接收节奏,不参与重复观测的内容比较。 */
    private Date serverReceivedAtUtc;
    /** 设备实际循环号。 */
    private Integer cycleNo;
    /** 设备实际工步号。 */
    private Integer stepNo;
    /** 设备工步类型,未知取值原样保留,不按电流或容量猜测方向。 */
    private String stepType;
    /** 设备工步名称。 */
    private String stepName;
    /** 电压,业务单位 V。 */
    private BigDecimal voltageV;
    /** 电流,业务单位 A。 */
    private BigDecimal currentA;
    /** 容量,业务单位 Ah。 */
    private BigDecimal capacityAh;
    /** 能量,业务单位 Wh。 */
    private BigDecimal energyWh;
    /** 主温度,业务单位 ℃;多路同类测量按绑定角色区分,辅助温度不覆盖主温度。 */
    private BigDecimal temperature;
    /** 正电位,业务单位 V。 */
    private BigDecimal positivePotential;
    /** 负电位,业务单位 V。 */
    private BigDecimal negativePotential;
    /** 扩展测量记录 JSON,按指标编码保存动态辅助通道或 DBC 指标及单位。 */
    private String extensionMeasurementsJson;
    /** 记录内容摘要,用于重复观测的幂等与冲突判定;比较时排除服务器接收时间。 */
    private byte[] contentSha256;
 
    public Long getRecordId() { return recordId; } public void setRecordId(Long v) { recordId = v; }
    public Long getTestId() { return testId; } public void setTestId(Long v) { testId = v; }
    public Long getTestBatteryId() { return testBatteryId; } public void setTestBatteryId(Long v) { testBatteryId = v; }
    public Long getBindingId() { return bindingId; } public void setBindingId(Long v) { bindingId = v; }
    public String getAdapterCode() { return adapterCode; } public void setAdapterCode(String v) { adapterCode = v; }
    public String getSourceIdentity() { return sourceIdentity; } public void setSourceIdentity(String v) { sourceIdentity = v; }
    public String getSourceRecordId() { return sourceRecordId; } public void setSourceRecordId(String v) { sourceRecordId = v; }
    public Integer getCabinetDevtype() { return cabinetDevtype; } public void setCabinetDevtype(Integer v) { cabinetDevtype = v; }
    public Integer getCabinetDevid() { return cabinetDevid; } public void setCabinetDevid(Integer v) { cabinetDevid = v; }
    public Integer getCabinetSubdevid() { return cabinetSubdevid; } public void setCabinetSubdevid(Integer v) { cabinetSubdevid = v; }
    public Integer getCabinetChlid() { return cabinetChlid; } public void setCabinetChlid(Integer v) { cabinetChlid = v; }
    public Long getCabinetSequenceId() { return cabinetSequenceId; } public void setCabinetSequenceId(Long v) { cabinetSequenceId = v; }
    public Date getCabinetDeviceTimeUtc() { return cabinetDeviceTimeUtc; } public void setCabinetDeviceTimeUtc(Date v) { cabinetDeviceTimeUtc = v; }
    public String getCabinetDeviceTimeRaw() { return cabinetDeviceTimeRaw; } public void setCabinetDeviceTimeRaw(String v) { cabinetDeviceTimeRaw = v; }
    public String getCabinetAdapterTimezoneId() { return cabinetAdapterTimezoneId; } public void setCabinetAdapterTimezoneId(String v) { cabinetAdapterTimezoneId = v; }
    public Long getCollectorId() { return collectorId; } public void setCollectorId(Long v) { collectorId = v; }
    public String getCollectorChannelCode() { return collectorChannelCode; } public void setCollectorChannelCode(String v) { collectorChannelCode = v; }
    public Long getCollectorSequenceId() { return collectorSequenceId; } public void setCollectorSequenceId(Long v) { collectorSequenceId = v; }
    public Date getCollectorDeviceTimeUtc() { return collectorDeviceTimeUtc; } public void setCollectorDeviceTimeUtc(Date v) { collectorDeviceTimeUtc = v; }
    public String getCollectorDeviceTimeRaw() { return collectorDeviceTimeRaw; } public void setCollectorDeviceTimeRaw(String v) { collectorDeviceTimeRaw = v; }
    public String getCollectorAdapterTimezoneId() { return collectorAdapterTimezoneId; } public void setCollectorAdapterTimezoneId(String v) { collectorAdapterTimezoneId = v; }
    public Date getCaptureSlotUtc() { return captureSlotUtc; } public void setCaptureSlotUtc(Date v) { captureSlotUtc = v; }
    public Date getServerReceivedAtUtc() { return serverReceivedAtUtc; } public void setServerReceivedAtUtc(Date v) { serverReceivedAtUtc = v; }
    public Integer getCycleNo() { return cycleNo; } public void setCycleNo(Integer v) { cycleNo = v; }
    public Integer getStepNo() { return stepNo; } public void setStepNo(Integer v) { stepNo = v; }
    public String getStepType() { return stepType; } public void setStepType(String v) { stepType = v; }
    public String getStepName() { return stepName; } public void setStepName(String v) { stepName = v; }
    public BigDecimal getVoltageV() { return voltageV; } public void setVoltageV(BigDecimal v) { voltageV = v; }
    public BigDecimal getCurrentA() { return currentA; } public void setCurrentA(BigDecimal v) { currentA = v; }
    public BigDecimal getCapacityAh() { return capacityAh; } public void setCapacityAh(BigDecimal v) { capacityAh = v; }
    public BigDecimal getEnergyWh() { return energyWh; } public void setEnergyWh(BigDecimal v) { energyWh = v; }
    public BigDecimal getTemperature() { return temperature; } public void setTemperature(BigDecimal v) { temperature = v; }
    public BigDecimal getPositivePotential() { return positivePotential; } public void setPositivePotential(BigDecimal v) { positivePotential = v; }
    public BigDecimal getNegativePotential() { return negativePotential; } public void setNegativePotential(BigDecimal v) { negativePotential = v; }
    public String getExtensionMeasurementsJson() { return extensionMeasurementsJson; } public void setExtensionMeasurementsJson(String v) { extensionMeasurementsJson = v; }
    public byte[] getContentSha256() { return contentSha256; } public void setContentSha256(byte[] v) { contentSha256 = v; }
}