forked from hbbohua-water

zhanglei
2021-03-26 dd3e3eeb8b02165e74fc041c634c5dbb9cc010bc
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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
package com.hbbohua.water.domain;
 
import com.hbbohua.water.domain.literal.AttributeNames;
import com.ooxsoft.ecsi.domain.Unit;
import com.ooxsoft.platform.domain.UnitOfMeasure;
import com.ooxsoft.platform.domain.literal.UnitOfMeasureIdsHex;
import org.jetbrains.annotations.Nullable;
 
/**
 * 水泵
 */
public final class WaterPump extends Unit {
 
    /**
     * 获取频率反馈计量单位
     *
     * @return 频率反馈计量单位
     */
    @Nullable
    public UnitOfMeasure getFrequencyFeedbackUnitOfMeasure() {
        return getAttributeValue(AttributeNames.frequencyFeedbackUnitOfMeasure);
    }
 
    /**
     * 设置频率反馈计量单位
     *
     * @param frequencyFeedbackUnitOfMeasure 频率反馈计量单位
     */
    public void setFrequencyFeedbackUnitOfMeasure(UnitOfMeasure frequencyFeedbackUnitOfMeasure) {
        setAttributeValue(AttributeNames.frequencyFeedbackUnitOfMeasure, frequencyFeedbackUnitOfMeasure);
    }
 
    /**
     * 获取电流反馈计量单位
     *
     * @return 电流反馈计量单位
     */
    @Nullable
    public UnitOfMeasure getElectricCurrentFeedbackUOM() {
        return getAttributeValue(AttributeNames.electricCurrentFeedbackUOM);
    }
 
    /**
     * 设置电流反馈计量单位
     *
     * @param electricCurrentFeedbackUOM 电流反馈计量单位
     */
    public void setElectricCurrentFeedbackUOM(UnitOfMeasure electricCurrentFeedbackUOM) {
        setAttributeValue(AttributeNames.electricCurrentFeedbackUOM, electricCurrentFeedbackUOM);
    }
 
    /**
     * 获取频率给定
     *
     * @return 频率给定
     */
    @Nullable
    public Double getFrequencySetting() {
        return getAttributeValue(AttributeNames.frequencySetting);
    }
 
    /**
     * 设置频率给定
     *
     * @param frequencySetting 频率给定
     */
    public void setFrequencySetting(Double frequencySetting) {
        setAttributeValue(AttributeNames.frequencySetting, frequencySetting);
    }
 
    /**
     * 获取电流反馈
     *
     * @return 电流反馈
     */
    @Nullable
    public Double getElectricCurrentFeedback() {
        return getAttributeValue(AttributeNames.electricCurrentFeedback);
    }
 
    /**
     * 设置电流反馈
     *
     * @param electricCurrentFeedback 电流反馈
     */
    public void setElectricCurrentFeedback(Double electricCurrentFeedback) {
        setAttributeValue(AttributeNames.electricCurrentFeedback, electricCurrentFeedback);
    }
 
    /**
     * 获取频率给定计量单位
     *
     * @return 频率给定计量单位
     */
    @Nullable
    public UnitOfMeasure getFrequencySettingUnitOfMeasure() {
        return getAttributeValue(AttributeNames.frequencySettingUnitOfMeasure);
    }
 
    /**
     * 设置频率给定计量单位
     *
     * @param frequencySettingUnitOfMeasure 频率给定计量单位
     */
    public void setFrequencySettingUnitOfMeasure(UnitOfMeasure frequencySettingUnitOfMeasure) {
        setAttributeValue(AttributeNames.frequencySettingUnitOfMeasure, frequencySettingUnitOfMeasure);
    }
 
    /**
     * 获取频率反馈
     *
     * @return 频率反馈
     */
    @Nullable
    public Double getFrequencyFeedback() {
        return getAttributeValue(AttributeNames.frequencyFeedback);
    }
 
    /**
     * 设置频率反馈
     *
     * @param frequencyFeedback 频率反馈
     */
    public void setFrequencyFeedback(Double frequencyFeedback) {
        setAttributeValue(AttributeNames.frequencyFeedback, frequencyFeedback);
    }
    /**
     * 对象持久化前处理。该方法由对象持久化框架回调。在将对象从非持久化状态"TRANSIENT"转换为已持久化状态"MANAGED"之前触发。
     * 子类重写该方法时,要考虑是否调用super.xxx(),以及调用先后时机,以免造成无意的父类代码逻辑被覆盖(丢失)
     */
    @Override
    protected void prePersist() {
        super.prePersist();
        //默认给定频率单位 HZ
        if (getFrequencySettingUnitOfMeasure() == null) {
            setFrequencySettingUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.HZ));
        }
        //默认反馈频率单位 HZ
        if (getElectricCurrentFeedbackUOM() == null) {
            setElectricCurrentFeedbackUOM(UnitOfMeasure.forId(UnitOfMeasureIdsHex.HZ));
        }
        //增加动态属性名,填充实时库标签用
        if(!containsDynamicAttribute(AttributeNames.frequencySetting)){
            setDynamicAttribute(AttributeNames.frequencySetting,null,true);
        }
        if(!containsDynamicAttribute(AttributeNames.frequencyFeedback)){
            setDynamicAttribute(AttributeNames.frequencyFeedback,null,true);
        }
        if(!containsDynamicAttribute(AttributeNames.electricCurrentFeedback)){
            setDynamicAttribute(AttributeNames.electricCurrentFeedback,null,true);
        }
    }
 
}