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
package com.dy.common.mw.protocol4Mqtt.pSdV1.upVos;
 
import com.alibaba.fastjson2.annotation.JSONField;
import com.dy.common.mw.protocol4Mqtt.Vo4Up;
import com.dy.common.util.DateTime;
import lombok.Data;
 
/**
 * @Author: liurunyu
 * @Date: 2025/6/10 10:05
 * @Description
 */
@Data
public class ManureVo implements Vo4Up {
    @JSONField(name = "flexem_message_id")
    public Integer messageId ;//消息ID
 
    public Integer no ;//测站编号,其不在JSON数据中,其在主题中
 
    /**
     * 搅拌机1是否运行;(水肥机还可存在搅拌机2、搅拌机3、搅拌机4 ......) 运行时1,停止0.
     */
    @JSONField(alternateNames = {"搅拌运行1", "stirRunning1"})
    public Byte stirRunning1;//搅拌1运行状态
    /**
     * 搅拌机2是否运行;(水肥机还可存在搅拌机2、搅拌机3、搅拌机4 ......) 运行时1,停止0.
     * (当前大禹应用不存在)
     */
    @JSONField(alternateNames = {"搅拌运行2", "stirRunning2"})
    public Byte stirRunning2;//搅拌2运行状态
    /**
     * 搅拌机3是否运行;(水肥机还可存在搅拌机2、搅拌机3、搅拌机4 ......) 运行时1,停止0.
     * (当前大禹应用不存在)
     */
    @JSONField(alternateNames = {"搅拌运行3", "stirRunning3"})
    public Byte stirRunning3;//搅拌3运行状态
    /**
     * 搅拌机4是否运行;(水肥机还可存在搅拌机2、搅拌机3、搅拌机4 ......) 运行时1,停止0.
     * (当前大禹应用不存在)
     */
    @JSONField(alternateNames = {"搅拌运行4", "stirRunning4"})
    public Byte stirRunning4;//搅拌4运行状态
 
    /**
     * 一个水肥机只有一个注肥泵
     */
    @JSONField(alternateNames = {"注肥运行", "injectRunning"})
    public Byte injectRunning ;//注肥运行状态
 
 
    @JSONField(alternateNames = {"灌溉运行", "irrRunning"})
    public Byte irrRunning ;//灌溉运行状态
 
    /**
     *  1:注肥泵有故障。0:注肥泵没有故障
     */
    @JSONField(alternateNames = {"报警", "alarm"})
    public Byte alarm ;//注肥泵故障
 
    /**
     * 肥料流量,单位升
     */
    @JSONField(alternateNames = {"肥料流量", "manureFlow"})
    public Float manureFlow ;
 
    /**
     * 单位秒
     */
    @JSONField(alternateNames = {"注肥经过时间", "manureTime"})
    public Integer manureTime ;
 
    /**
     * 单位秒
     */
    @JSONField(alternateNames = {"搅拌经过时间", "stirTime"})
    public Integer stirTime ;
 
    /**
     * 单位秒
     */
    @JSONField(alternateNames = {"搅拌设定时间", "stirDuration"})
    public Integer stirDuration ;
 
    /**
     * 单位秒
     */
    @JSONField(alternateNames = {"注肥设定时间", "injectDuration"})
    public Integer injectDuration ;
 
    @JSONField(name = "flexem_timestamp")
    public Long devDt ;//设备时间
 
    public String devDtStr ;//设备时间
 
    @Override
    public void setNo(Integer no ){
        this.no = no ;
    }
 
    public String getDevDtStr() {
        if(devDt != null){
            return DateTime.yyyy_MM_dd_HH_mm_ss(DateTime.getDate(devDt)) ;
        }else{
            return "" ;
        }
    }
 
    @Override
    public String toString(){
        StringBuilder sb = new StringBuilder();
        sb.append("水肥数据=>") ;
        sb.append(" 消息ID:" + messageId + ", ") ;
        sb.append(" 搅拌运行1:" + stirRunning1 + ", ") ;
        sb.append(" 搅拌运行2:" + stirRunning2 + ", ") ;
        sb.append(" 搅拌运行3:" + stirRunning3 + ", ") ;
        sb.append(" 搅拌运行4:" + stirRunning4 + ", ") ;
        sb.append(" 注肥运行:" + injectRunning + ", ") ;
        sb.append(" 灌溉运行:" + irrRunning + ", ") ;
        sb.append(" 报警:" + alarm + ", ") ;
        sb.append(" 肥料流量:" + manureFlow + ", ") ;
        sb.append(" 注肥经过时间:" + manureTime + ", ") ;
        sb.append(" 搅拌经过时间:" + stirTime + ", ") ;
        sb.append(" 注肥设定时间:" + injectDuration + ", ") ;
        sb.append(" 搅拌设定时间:" + stirDuration + ", ") ;
        sb.append(" 设备时间:" + devDt + ", ") ;
        sb.append(" 设备时间:" +  this.getDevDtStr()) ;
        sb.append("\n") ;
        return sb.toString() ;
    }
 
}