一、电表字段(electric-meter)
online_state 设备在线状态running_state 设备运行状态battery_status 电池状态、电量显示(针对需要电池的设备)ua 相电压Ua(单位: V; 精确到小数点: 0.1)ub 相电压Ub(单位: V; 精确到小数点: 0.1)uc 相电压Uc(单位: V; 精确到小数点: 0.1)uab 线电压Uab(单位: V; 精确到小数点: 0.1)ubc 线电压Ubc(单位: V; 精确到小数点: 0.1)uca 线电压Uca(单位: V; 精确到小数点: 0.1)ia 电流Ia(单位: A; 精确到小数点: 0.001)ib 电流Ib(单位: A; 精确到小数点: 0.001)ic 电流Ic(单位: A; 精确到小数点: 0.001)p 总有功P(单位: kW)pa A相有功Pa(单位: kW)pb B相有功Pb(单位: kW)pc C相有功Pc(单位: kW)q 总无功Q(单位: kVAr)qa A相无功Qa(单位: kVAr)qb B相无功Qb(单位: kVAr)qc C相无功Qc(单位: kVAr)s 总视在S(单位: kVA)sa A相视在Sa(单位: kVA)sb B相视在Sb(单位: kVA)sc C相视在Sc(单位: kVA)factor 总功率因数(无单位,精确到0.001)afactor A相功因数(无单位,精确到0.001)cfactor B相功因数(无单位,精确到0.001)bfactor C相功因数(无单位,精确到0.001)f 频率F (单位HZ,精确到0.01)pos_active_energy 正向有功电能(单位: kWh,精确到0.01)rev_active_energy 反向有功电能(单位: kWh,精确到0.01)pos_reactive_energy 正向无功电能(单位: kVArh,精确到0.01)rev_reactive_energy 反向无功电能(单位: kVArh,精确到0.01)temperature 环境温度(单位: ℃ 精确到0.1)
@Datapublic class 电表实体类 extends Model<EngDataElectic> { /** * 主键 */ @TableId @ApiModelProperty(value = "主键") private Long id; /** * 区域id */ @ApiModelProperty(value = "区域id") private Long regionId; /** * 记录创建时间(服务器创建记录的时间) */ @ApiModelProperty(value = "记录创建时间(服务器创建记录的时间)") @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime createTime; /** * 设备采集到数据的时间(设备上传的报文提供) */ @ApiModelProperty(value = "设备采集到数据的时间(设备上传的报文提供)") private LocalDateTime deviceTime; /** * 公司ID */ @ApiModelProperty(value = "公司ID") private Long compId; /** * 采集设备的ID */ @ApiModelProperty(value = "采集设备的ID") private Long devGatherId; /** * 监测点 */ @ApiModelProperty(value = "监测点") private Long monitorPointId; /** * 相电压Ua(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "相电压Ua(单位: V; 精确到小数点: 0.1)") private Double ua; /** * 相电压Ub(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "相电压Ub(单位: V; 精确到小数点: 0.1)") private Double ub; /** * 相电压Uc(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "相电压Uc(单位: V; 精确到小数点: 0.1)") private Double uc; /** * 线电压Uab(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "线电压Uab(单位: V; 精确到小数点: 0.1)") private Double uab; /** * 线电压Ubc(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "线电压Ubc(单位: V; 精确到小数点: 0.1)") private Double ubc; /** * 线电压Uca(单位: V; 精确到小数点: 0.1) */ @ApiModelProperty(value = "线电压Uca(单位: V; 精确到小数点: 0.1)") private Double uca; /** * 电流Ia(单位: A; 精确到小数点: 0.001) */ @ApiModelProperty(value = "电流Ia(单位: A; 精确到小数点: 0.001)") private Double ia; /** * 电流Ib(单位: A; 精确到小数点: 0.001) */ @ApiModelProperty(value = "电流Ib(单位: A; 精确到小数点: 0.001)") private Double ib; /** * 电流Ic(单位: A; 精确到小数点: 0.001) */ @ApiModelProperty(value = "电流Ic(单位: A; 精确到小数点: 0.001)") private Double ic; /** * A相有功Pa(单位: W) */ @ApiModelProperty(value = "A相有功Pa(单位: W)") private Long pa; /** * B相有功Pb(单位: W) */ @ApiModelProperty(value = "B相有功Pb(单位: W)") private Long pb; /** * C相有功Pc(单位: W) */ @ApiModelProperty(value = "C相有功Pc(单位: W)") private Long pc; /** * 总有功P(单位: W) */ @ApiModelProperty(value = "总有功P(单位: W)") private Long p; /** * A相无功Qa(单位: VAr) */ @ApiModelProperty(value = "A相无功Qa(单位: VAr)") private Long qa; /** * B相无功Qb(单位: VAr) */ @ApiModelProperty(value = "B相无功Qb(单位: VAr)") private Long qb; /** * C相无功Qc(单位: VAr) */ @ApiModelProperty(value = "C相无功Qc(单位: VAr)") private Long qc; /** * 总无功Q(单位: VAr) */ @ApiModelProperty(value = "总无功Q(单位: VAr)") private Long q; /** * A相视在Sa(单位: VA) */ @ApiModelProperty(value = "A相视在Sa(单位: VA)") private Long sa; /** * B相视在Sb(单位: VA) */ @ApiModelProperty(value = "B相视在Sb(单位: VA)") private Long sb; /** * C相视在Sc(单位: VA) */ @ApiModelProperty(value = "C相视在Sc(单位: VA)") private Long sc; /** * 总视在S(单位: VA) */ @ApiModelProperty(value = "总视在S(单位: VA)") private Long s; /** * A相功因数(无单位,精确到0.001) */ @ApiModelProperty(value = "A相功因数(无单位,精确到0.001)") private Double afactor; /** * B相功因数(无单位,精确到0.001) */ @ApiModelProperty(value = "B相功因数(无单位,精确到0.001)") private Double bfactor; /** * C相功因数(无单位,精确到0.001) */ @ApiModelProperty(value = "C相功因数(无单位,精确到0.001)") private Double cfactor; /** * 总功率因数(无单位,精确到0.001) */ @ApiModelProperty(value = "总功率因数(无单位,精确到0.001)") private Double factor; /** * 频率F (单位HZ,精确到0.01) */ @ApiModelProperty(value = "频率F (单位HZ,精确到0.01)") private Double f; /** * 正向有功电能(单位: kWh,精确到0.01) */ @ApiModelProperty(value = "正向有功电能(单位: kWh,精确到0.01)") private Double posactenergy; /** * 反向有功电能(单位: kWh,精确到0.01) */ @ApiModelProperty(value = "反向有功电能(单位: kWh,精确到0.01)") private Double revactenergy; /** * 正向无功电能(单位: kVArh,精确到0.01) */ @ApiModelProperty(value = "正向无功电能(单位: kVArh,精确到0.01)") private Double posresenergy; /** * 反向无功电能(单位: kVArh,精确到0.01) */ @ApiModelProperty(value = "反向无功电能(单位: kVArh,精确到0.01)") private Double revresenergy; /** * 环境温度(T=Tx×0.1 单位℃) */ @ApiModelProperty(value = "环境温度(T=Tx×0.1 单位℃)") private Double envtemp; /** * 温度T1(T=Tx×0.1 单位℃) */ @ApiModelProperty(value = "温度T1(T=Tx×0.1 单位℃)") private Double tempt1; /** * 温度T2(T=Tx×0.1 单位℃) */ @ApiModelProperty(value = "温度T2(T=Tx×0.1 单位℃)") private Double tempt2; /** * 温度T3(T=Tx×0.1 单位℃) */ @ApiModelProperty(value = "温度T3(T=Tx×0.1 单位℃)") private Double tempt3; /** * 剩余电流(单位: mA) */ @ApiModelProperty(value = "剩余电流(单位: mA)") private Long currresi; /** * 图片地址(有些数据是通过摄像头采集图片解析) */ @ApiModelProperty(value = "图片地址(有些数据是通过摄像头采集图片解析)") private String picUrl; /** * 采集到的报文 */ @ApiModelProperty(value = "采集到的报文") private String recData; /** * 解析结果 1解析成功 2解析失败 */ @ApiModelProperty(value = "解析结果 1解析成功 2解析失败") private String parseRes; /** * 是否有效数据 */ @ApiModelProperty(value = "是否有效数据") private String isUse = CommonConstants.DataIsUse.yes;//默认是有效数据 /** * 电流互感器(CT)变比 */ @ApiModelProperty(value = "电流互感器(CT)变比") private Integer electricCt; /** * 电压互感器(PT)变比 */ @ApiModelProperty(value = "电压互感器(PT)变比") private Integer electricPt; @ApiModelProperty(value = "电压三相不平衡度") private Double qU; @ApiModelProperty(value = "电流三相不平衡度") private Double qI; private void setIsUseFalse(Double v) { //如果不为nul并且是负数,肯定是无效数据 if (null != v && v < 0) { this.isUse = CommonConstants.DataIsUse.no1; } } public Double getQU() { return qU; } public Double getQI() { return qI; } /** * 计算三线电压不平衡度 */ public void calqU(){ qU = DataCommonUtil.calThree(uab, ubc, uca); } /** * 计算三相电流不平衡度 */ public void calqI(){ qI = DataCommonUtil.calThree(ia, ib, ic); }}
public class DataCommonUtil { /** * 计算三相平衡度 * 适用于三相电压或者三相电流 * * @param a a相 * @param b b相 * @param c c相 * @return */ public static Double calThree(Double a,Double b,Double c){ if (null == a || null == b || null == c ||a <= 0 || b <= 0 || c <= 0){ return null; } Double avg = (a+b+c)/3; Double suba = Math.abs(a -avg); Double subb = Math.abs(b -avg); Double subc = Math.abs(c -avg); Double maxSub = Math.max(suba,subb); maxSub = Math.max(maxSub,subc); return new BigDecimal(maxSub/avg).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue();//保留4位小数 }}
二、水表字段(water-meter)
online_state 设备在线状态running_state 设备运行状态battery_status 电池状态、电量显示(针对需要电池的设备)temperature 环境温度(单位: ℃ 精确到0.1)cumulative_value 水表读数 (单位: m³(民间叫法:吨))stream_speed 水流速度
二、天然气表字段
online_state 设备在线状态running_state 设备运行状态battery_status 电池状态、电量显示(针对需要电池的设备)temperature 环境温度(单位: ℃ 精确到0.1)cumulative_value 天然气读数 (单位: m³(民间叫法:吨))stream_speed 天然气流速速度