一、电表字段(electric-meter)

  1. online_state 设备在线状态
  2. running_state 设备运行状态
  3. battery_status 电池状态、电量显示(针对需要电池的设备)
  4. ua 相电压Ua(单位: V; 精确到小数点: 0.1
  5. ub 相电压Ub(单位: V; 精确到小数点: 0.1
  6. uc 相电压Uc(单位: V; 精确到小数点: 0.1
  7. uab 线电压Uab(单位: V; 精确到小数点: 0.1
  8. ubc 线电压Ubc(单位: V; 精确到小数点: 0.1
  9. uca 线电压Uca(单位: V; 精确到小数点: 0.1
  10. ia 电流Ia(单位: A; 精确到小数点: 0.001
  11. ib 电流Ib(单位: A; 精确到小数点: 0.001
  12. ic 电流Ic(单位: A; 精确到小数点: 0.001
  13. p 总有功P(单位: kW
  14. pa A相有功Pa(单位: kW
  15. pb B相有功Pb(单位: kW
  16. pc C相有功Pc(单位: kW
  17. q 总无功Q(单位: kVAr
  18. qa A相无功Qa(单位: kVAr
  19. qb B相无功Qb(单位: kVAr
  20. qc C相无功Qc(单位: kVAr
  21. s 总视在S(单位: kVA
  22. sa A相视在Sa(单位: kVA
  23. sb B相视在Sb(单位: kVA
  24. sc C相视在Sc(单位: kVA
  25. factor 总功率因数(无单位,精确到0.001
  26. afactor A相功因数(无单位,精确到0.001
  27. cfactor B相功因数(无单位,精确到0.001
  28. bfactor C相功因数(无单位,精确到0.001
  29. f 频率F (单位HZ,精确到0.01
  30. pos_active_energy 正向有功电能(单位: kWh,精确到0.01
  31. rev_active_energy 反向有功电能(单位: kWh,精确到0.01
  32. pos_reactive_energy 正向无功电能(单位: kVArh,精确到0.01
  33. rev_reactive_energy 反向无功电能(单位: kVArh,精确到0.01
  34. temperature 环境温度(单位: 精确到0.1
  1. @Data
  2. public class 电表实体类 extends Model<EngDataElectic> {
  3. /**
  4. * 主键
  5. */
  6. @TableId
  7. @ApiModelProperty(value = "主键")
  8. private Long id;
  9. /**
  10. * 区域id
  11. */
  12. @ApiModelProperty(value = "区域id")
  13. private Long regionId;
  14. /**
  15. * 记录创建时间(服务器创建记录的时间)
  16. */
  17. @ApiModelProperty(value = "记录创建时间(服务器创建记录的时间)")
  18. @TableField(fill = FieldFill.INSERT_UPDATE)
  19. private LocalDateTime createTime;
  20. /**
  21. * 设备采集到数据的时间(设备上传的报文提供)
  22. */
  23. @ApiModelProperty(value = "设备采集到数据的时间(设备上传的报文提供)")
  24. private LocalDateTime deviceTime;
  25. /**
  26. * 公司ID
  27. */
  28. @ApiModelProperty(value = "公司ID")
  29. private Long compId;
  30. /**
  31. * 采集设备的ID
  32. */
  33. @ApiModelProperty(value = "采集设备的ID")
  34. private Long devGatherId;
  35. /**
  36. * 监测点
  37. */
  38. @ApiModelProperty(value = "监测点")
  39. private Long monitorPointId;
  40. /**
  41. * 相电压Ua(单位: V; 精确到小数点: 0.1)
  42. */
  43. @ApiModelProperty(value = "相电压Ua(单位: V; 精确到小数点: 0.1)")
  44. private Double ua;
  45. /**
  46. * 相电压Ub(单位: V; 精确到小数点: 0.1)
  47. */
  48. @ApiModelProperty(value = "相电压Ub(单位: V; 精确到小数点: 0.1)")
  49. private Double ub;
  50. /**
  51. * 相电压Uc(单位: V; 精确到小数点: 0.1)
  52. */
  53. @ApiModelProperty(value = "相电压Uc(单位: V; 精确到小数点: 0.1)")
  54. private Double uc;
  55. /**
  56. * 线电压Uab(单位: V; 精确到小数点: 0.1)
  57. */
  58. @ApiModelProperty(value = "线电压Uab(单位: V; 精确到小数点: 0.1)")
  59. private Double uab;
  60. /**
  61. * 线电压Ubc(单位: V; 精确到小数点: 0.1)
  62. */
  63. @ApiModelProperty(value = "线电压Ubc(单位: V; 精确到小数点: 0.1)")
  64. private Double ubc;
  65. /**
  66. * 线电压Uca(单位: V; 精确到小数点: 0.1)
  67. */
  68. @ApiModelProperty(value = "线电压Uca(单位: V; 精确到小数点: 0.1)")
  69. private Double uca;
  70. /**
  71. * 电流Ia(单位: A; 精确到小数点: 0.001)
  72. */
  73. @ApiModelProperty(value = "电流Ia(单位: A; 精确到小数点: 0.001)")
  74. private Double ia;
  75. /**
  76. * 电流Ib(单位: A; 精确到小数点: 0.001)
  77. */
  78. @ApiModelProperty(value = "电流Ib(单位: A; 精确到小数点: 0.001)")
  79. private Double ib;
  80. /**
  81. * 电流Ic(单位: A; 精确到小数点: 0.001)
  82. */
  83. @ApiModelProperty(value = "电流Ic(单位: A; 精确到小数点: 0.001)")
  84. private Double ic;
  85. /**
  86. * A相有功Pa(单位: W)
  87. */
  88. @ApiModelProperty(value = "A相有功Pa(单位: W)")
  89. private Long pa;
  90. /**
  91. * B相有功Pb(单位: W)
  92. */
  93. @ApiModelProperty(value = "B相有功Pb(单位: W)")
  94. private Long pb;
  95. /**
  96. * C相有功Pc(单位: W)
  97. */
  98. @ApiModelProperty(value = "C相有功Pc(单位: W)")
  99. private Long pc;
  100. /**
  101. * 总有功P(单位: W)
  102. */
  103. @ApiModelProperty(value = "总有功P(单位: W)")
  104. private Long p;
  105. /**
  106. * A相无功Qa(单位: VAr)
  107. */
  108. @ApiModelProperty(value = "A相无功Qa(单位: VAr)")
  109. private Long qa;
  110. /**
  111. * B相无功Qb(单位: VAr)
  112. */
  113. @ApiModelProperty(value = "B相无功Qb(单位: VAr)")
  114. private Long qb;
  115. /**
  116. * C相无功Qc(单位: VAr)
  117. */
  118. @ApiModelProperty(value = "C相无功Qc(单位: VAr)")
  119. private Long qc;
  120. /**
  121. * 总无功Q(单位: VAr)
  122. */
  123. @ApiModelProperty(value = "总无功Q(单位: VAr)")
  124. private Long q;
  125. /**
  126. * A相视在Sa(单位: VA)
  127. */
  128. @ApiModelProperty(value = "A相视在Sa(单位: VA)")
  129. private Long sa;
  130. /**
  131. * B相视在Sb(单位: VA)
  132. */
  133. @ApiModelProperty(value = "B相视在Sb(单位: VA)")
  134. private Long sb;
  135. /**
  136. * C相视在Sc(单位: VA)
  137. */
  138. @ApiModelProperty(value = "C相视在Sc(单位: VA)")
  139. private Long sc;
  140. /**
  141. * 总视在S(单位: VA)
  142. */
  143. @ApiModelProperty(value = "总视在S(单位: VA)")
  144. private Long s;
  145. /**
  146. * A相功因数(无单位,精确到0.001)
  147. */
  148. @ApiModelProperty(value = "A相功因数(无单位,精确到0.001)")
  149. private Double afactor;
  150. /**
  151. * B相功因数(无单位,精确到0.001)
  152. */
  153. @ApiModelProperty(value = "B相功因数(无单位,精确到0.001)")
  154. private Double bfactor;
  155. /**
  156. * C相功因数(无单位,精确到0.001)
  157. */
  158. @ApiModelProperty(value = "C相功因数(无单位,精确到0.001)")
  159. private Double cfactor;
  160. /**
  161. * 总功率因数(无单位,精确到0.001)
  162. */
  163. @ApiModelProperty(value = "总功率因数(无单位,精确到0.001)")
  164. private Double factor;
  165. /**
  166. * 频率F (单位HZ,精确到0.01)
  167. */
  168. @ApiModelProperty(value = "频率F (单位HZ,精确到0.01)")
  169. private Double f;
  170. /**
  171. * 正向有功电能(单位: kWh,精确到0.01)
  172. */
  173. @ApiModelProperty(value = "正向有功电能(单位: kWh,精确到0.01)")
  174. private Double posactenergy;
  175. /**
  176. * 反向有功电能(单位: kWh,精确到0.01)
  177. */
  178. @ApiModelProperty(value = "反向有功电能(单位: kWh,精确到0.01)")
  179. private Double revactenergy;
  180. /**
  181. * 正向无功电能(单位: kVArh,精确到0.01)
  182. */
  183. @ApiModelProperty(value = "正向无功电能(单位: kVArh,精确到0.01)")
  184. private Double posresenergy;
  185. /**
  186. * 反向无功电能(单位: kVArh,精确到0.01)
  187. */
  188. @ApiModelProperty(value = "反向无功电能(单位: kVArh,精确到0.01)")
  189. private Double revresenergy;
  190. /**
  191. * 环境温度(T=Tx×0.1 单位℃)
  192. */
  193. @ApiModelProperty(value = "环境温度(T=Tx×0.1 单位℃)")
  194. private Double envtemp;
  195. /**
  196. * 温度T1(T=Tx×0.1 单位℃)
  197. */
  198. @ApiModelProperty(value = "温度T1(T=Tx×0.1 单位℃)")
  199. private Double tempt1;
  200. /**
  201. * 温度T2(T=Tx×0.1 单位℃)
  202. */
  203. @ApiModelProperty(value = "温度T2(T=Tx×0.1 单位℃)")
  204. private Double tempt2;
  205. /**
  206. * 温度T3(T=Tx×0.1 单位℃)
  207. */
  208. @ApiModelProperty(value = "温度T3(T=Tx×0.1 单位℃)")
  209. private Double tempt3;
  210. /**
  211. * 剩余电流(单位: mA)
  212. */
  213. @ApiModelProperty(value = "剩余电流(单位: mA)")
  214. private Long currresi;
  215. /**
  216. * 图片地址(有些数据是通过摄像头采集图片解析)
  217. */
  218. @ApiModelProperty(value = "图片地址(有些数据是通过摄像头采集图片解析)")
  219. private String picUrl;
  220. /**
  221. * 采集到的报文
  222. */
  223. @ApiModelProperty(value = "采集到的报文")
  224. private String recData;
  225. /**
  226. * 解析结果 1解析成功 2解析失败
  227. */
  228. @ApiModelProperty(value = "解析结果 1解析成功 2解析失败")
  229. private String parseRes;
  230. /**
  231. * 是否有效数据
  232. */
  233. @ApiModelProperty(value = "是否有效数据")
  234. private String isUse = CommonConstants.DataIsUse.yes;//默认是有效数据
  235. /**
  236. * 电流互感器(CT)变比
  237. */
  238. @ApiModelProperty(value = "电流互感器(CT)变比")
  239. private Integer electricCt;
  240. /**
  241. * 电压互感器(PT)变比
  242. */
  243. @ApiModelProperty(value = "电压互感器(PT)变比")
  244. private Integer electricPt;
  245. @ApiModelProperty(value = "电压三相不平衡度")
  246. private Double qU;
  247. @ApiModelProperty(value = "电流三相不平衡度")
  248. private Double qI;
  249. private void setIsUseFalse(Double v) {
  250. //如果不为nul并且是负数,肯定是无效数据
  251. if (null != v && v < 0) {
  252. this.isUse = CommonConstants.DataIsUse.no1;
  253. }
  254. }
  255. public Double getQU() {
  256. return qU;
  257. }
  258. public Double getQI() {
  259. return qI;
  260. }
  261. /**
  262. * 计算三线电压不平衡度
  263. */
  264. public void calqU(){
  265. qU = DataCommonUtil.calThree(uab, ubc, uca);
  266. }
  267. /**
  268. * 计算三相电流不平衡度
  269. */
  270. public void calqI(){
  271. qI = DataCommonUtil.calThree(ia, ib, ic);
  272. }
  273. }
  1. public class DataCommonUtil {
  2. /**
  3. * 计算三相平衡度
  4. * 适用于三相电压或者三相电流
  5. *
  6. * @param a a相
  7. * @param b b相
  8. * @param c c相
  9. * @return
  10. */
  11. public static Double calThree(Double a,Double b,Double c){
  12. if (null == a || null == b || null == c ||a <= 0 || b <= 0 || c <= 0){
  13. return null;
  14. }
  15. Double avg = (a+b+c)/3;
  16. Double suba = Math.abs(a -avg);
  17. Double subb = Math.abs(b -avg);
  18. Double subc = Math.abs(c -avg);
  19. Double maxSub = Math.max(suba,subb);
  20. maxSub = Math.max(maxSub,subc);
  21. return new BigDecimal(maxSub/avg).setScale(4,BigDecimal.ROUND_HALF_UP).doubleValue();//保留4位小数
  22. }
  23. }

二、水表字段(water-meter)

  1. online_state 设备在线状态
  2. running_state 设备运行状态
  3. battery_status 电池状态、电量显示(针对需要电池的设备)
  4. temperature 环境温度(单位: 精确到0.1
  5. cumulative_value 水表读数 (单位: m³(民间叫法:吨))
  6. stream_speed 水流速度

二、天然气表字段

  1. online_state 设备在线状态
  2. running_state 设备运行状态
  3. battery_status 电池状态、电量显示(针对需要电池的设备)
  4. temperature 环境温度(单位: 精确到0.1
  5. cumulative_value 天然气读数 (单位: m³(民间叫法:吨))
  6. stream_speed 天然气流速速度