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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package com.dy.pipIrrGlobal.pojoRm;
 
import com.alibaba.fastjson2.annotation.JSONField;
import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.dy.common.mw.protocol.p206V1.DataV1;
import com.dy.common.mw.protocol.p206V2.DataV2;
import com.dy.common.po.BaseEntity;
import com.dy.common.util.DateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
 
import java.util.Date;
 
/**
 * @Author: liurunyu
 * @Date: 2024/6/26 21:32
 * @Description
 */
/**
 * 控制器整点报(只有靳总协议有)
 */
 
@TableName(value="rm_on_hour_report_last", autoResultMap = true)
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Schema(name = "控制器整点报历史数据")
public class RmOnHourReportHistory implements BaseEntity {
    public static final long serialVersionUID = 202406262133001L;
    /**
     * 主键
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    @TableId(type = IdType.INPUT)
    public Long id;
 
    /**
     * 控制器实体ID(外键)
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long controllerId;
 
    /**
     * 取水口实体ID(外键)
     */
    @JSONField(serializeUsing= ObjectWriterImplToString.class)
    public Long intakeId;
 
    /**
     * 控制器地址
 
     */
    public String rtuAddr;
 
    /**
     * 数据接收日期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date dt;
 
    /**
     * 控制器时钟
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    public Date rtuDt;
 
    /**
     * 瞬时流量,单位为m3/h
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double instantAmount;
 
    /**
     * 累计流量,单位为m3
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double totalAmount;
 
    /**
     * 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double lossAmount;
 
    /**
     * 水压,单位为KPa
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double waterPress;
 
    /**
     * 蓄电池电压,单位为V
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double batteryVolt;
 
    /**
     * 信号强度,取值范围0~99
     */
    public Integer signalValue;
 
    /**
     * 水价,单位为元
     */
    @JsonFormat(shape = JsonFormat.Shape.NUMBER_FLOAT, pattern="0.00" )
    public Double waterPrice;
 
 
    public void valueFrom(DataV1 dV1, com.dy.common.mw.protocol.p206V1.upVos.DataCdC0Vo cdData) throws Exception{
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV1.dt);
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        this.instantAmount = cdData.instantAmount; //瞬时流量,单位为m3/h
        this.totalAmount = cdData.totalAmount ;//累计流量,单位为m3
        this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。
        this.waterPress = cdData.waterPress ;// 水压,单位为KPa
        this.batteryVolt = cdData.batteryVolt ;// 蓄电池电压,单位为V
        this.signalValue = cdData.signalValue ;//  信号强度,取值范围0~99
        this.waterPrice = cdData.waterPrice ;//  水价,单位为元。
    }
 
 
 
    public void valueFrom(DataV2 dV2, com.dy.common.mw.protocol.p206V2.upVos.DataCdC0Vo cdData) throws Exception{
        this.dt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(dV2.dt);
        this.rtuDt = DateTime.dateFrom_yyyy_MM_dd_HH_mm_ss(cdData.rtuDt);
        this.instantAmount = cdData.instantAmount; //瞬时流量,单位为m3/h
        this.totalAmount = cdData.totalAmount ;//累计流量,单位为m3
        this.lossAmount = cdData.lossAmount ;// 损失流量(从0时到当前的漏损累计流量,24时一个周期,0时归0)单位为m3。
        this.waterPress = cdData.waterPress ;// 水压,单位为KPa
        this.batteryVolt = cdData.batteryVolt ;// 蓄电池电压,单位为V
        this.signalValue = cdData.signalValue ;//  信号强度,取值范围0~99
        this.waterPrice = cdData.waterPrice ;//  水价,单位为元。
    }
}