package com.battery.business.domain; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; /** * 一条循环统计记录,对应表 t_test_cycle_record;设备没有循环汇总行时由工步层按循环聚合,来源类别随之保存。 */ public class TTestCycleRecord implements Serializable { /** 循环记录主键。 */ private Long cycleRecordId; /** 所属测试主键。 */ private Long testId; /** 所属测试电池主键。 */ private Long testBatteryId; /** 本次观测使用的通道绑定主键。 */ private Long bindingId; /** 设备适配器实例编码。 */ private String adapterCode; /** 来源身份,由适配器实例与厂商通道字段拼接。 */ private String sourceIdentity; /** 来源记录编号,设备未提供时为空并回落到时间组合去重。 */ private String sourceRecordId; /** * 循环统计来源类别:DEVICE 设备提供、AGGREGATED 工步层聚合、IMPORTED 文件导入。 * 推导值必须能与设备事实区分,不能只靠界面文案说明。 */ private String sourceKind; /** 解释设备时间所用的适配器时区标识。 */ private String adapterTimezoneId; /** 幂等键:优先取来源记录编号,缺失时按设备结束时间与循环号组合。 */ private String dedupeKey; /** 扩展测量记录 JSON。 */ private String extensionMeasurementsJson; /** 循环结束时间,按适配器时区解释后以 UTC 保存。 */ private Date deviceTimeUtc; /** 服务器接收时间。 */ private Date serverReceivedAtUtc; /** 设备时间原始文本,保留厂家原值供核对。 */ private String deviceTimeRaw; /** 设备循环号。 */ private Integer cycleNo; /** 充电容量,业务单位 Ah。 */ private BigDecimal chargeCapacityAh; /** 放电容量,业务单位 Ah。 */ private BigDecimal dischargeCapacityAh; /** 充电能量,业务单位 Wh。 */ private BigDecimal chargeEnergyWh; /** 放电能量,业务单位 Wh。 */ private BigDecimal dischargeEnergyWh; /** 循环效率,业务单位 %,为放电容量 ÷ 充电容量;没有可用充电容量时为空,未知比率不用零代替。 */ private BigDecimal efficiency; /** 记录内容摘要,用于重复观测的幂等与冲突判定。 */ private byte[] contentSha256; public Long getCycleRecordId(){return cycleRecordId;} public void setCycleRecordId(Long v){cycleRecordId=v;} public String getSourceKind(){return sourceKind;} public void setSourceKind(String v){sourceKind=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 String getAdapterTimezoneId(){return adapterTimezoneId;} public void setAdapterTimezoneId(String v){adapterTimezoneId=v;} public Date getDeviceTimeUtc(){return deviceTimeUtc;} public void setDeviceTimeUtc(Date v){deviceTimeUtc=v;} public String getDeviceTimeRaw(){return deviceTimeRaw;} public void setDeviceTimeRaw(String v){deviceTimeRaw=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 BigDecimal getChargeCapacityAh(){return chargeCapacityAh;} public void setChargeCapacityAh(BigDecimal v){chargeCapacityAh=v;} public BigDecimal getDischargeCapacityAh(){return dischargeCapacityAh;} public void setDischargeCapacityAh(BigDecimal v){dischargeCapacityAh=v;} public BigDecimal getChargeEnergyWh(){return chargeEnergyWh;} public void setChargeEnergyWh(BigDecimal v){chargeEnergyWh=v;} public BigDecimal getDischargeEnergyWh(){return dischargeEnergyWh;} public void setDischargeEnergyWh(BigDecimal v){dischargeEnergyWh=v;} public BigDecimal getEfficiency(){return efficiency;} public void setEfficiency(BigDecimal v){efficiency=v;} public String getExtensionMeasurementsJson(){return extensionMeasurementsJson;} public void setExtensionMeasurementsJson(String v){extensionMeasurementsJson=v;} public String getDedupeKey(){return dedupeKey;} public void setDedupeKey(String v){dedupeKey=v;} public byte[] getContentSha256(){return contentSha256;} public void setContentSha256(byte[] v){contentSha256=v;} }