package com.hbbohua.water.domain;
|
|
import com.hbbohua.water.domain.literal.AttributeNames;
|
import com.hbbohua.water.domain.literal.ValueIds;
|
import com.ooxsoft.ecsi.domain.Unit;
|
import com.ooxsoft.objekt.domain.Value;
|
import com.ooxsoft.platform.domain.UnitOfMeasure;
|
import com.ooxsoft.platform.domain.literal.UnitOfMeasureIdsHex;
|
import org.jetbrains.annotations.Nullable;
|
|
/**
|
* 集水池
|
*/
|
public final class Sump extends Unit {
|
|
/**
|
* 指定地图标记的类型(点、线、圆、矩形、多边形等)
|
*
|
* @return 地图标记的类型
|
*/
|
@Override
|
public Value locationType() {
|
return Value.forId(ValueIds.LocationType_marker);
|
}
|
|
/**
|
* 获取警戒液位
|
*
|
* @return 警戒液位
|
*/
|
@Nullable
|
public Double getWarningLevel() {
|
return getAttributeValue(AttributeNames.warningLevel);
|
}
|
|
/**
|
* 设置警戒液位
|
*
|
* @param warningLevel 警戒液位
|
*/
|
public void setWarningLevel(Double warningLevel) {
|
setAttributeValue(AttributeNames.warningLevel, warningLevel);
|
}
|
|
/**
|
* 获取液位
|
*
|
* @return 液位
|
*/
|
@Nullable
|
public Double getLiquidLevel() {
|
return getAttributeValue(AttributeNames.liquidLevel);
|
}
|
|
/**
|
* 设置液位
|
*
|
* @param liquidLevel 液位
|
*/
|
public void setLiquidLevel(Double liquidLevel) {
|
setAttributeValue(AttributeNames.liquidLevel, liquidLevel);
|
}
|
|
/**
|
* 获取警戒液位计量单位
|
*
|
* @return 警戒液位计量单位
|
*/
|
@Nullable
|
public UnitOfMeasure getWarningLevelUnitOfMeasure() {
|
return getAttributeValue(AttributeNames.warningLevelUnitOfMeasure);
|
}
|
|
/**
|
* 设置警戒液位计量单位
|
*
|
* @param warningLevelUnitOfMeasure 警戒液位计量单位
|
*/
|
public void setWarningLevelUnitOfMeasure(UnitOfMeasure warningLevelUnitOfMeasure) {
|
setAttributeValue(AttributeNames.warningLevelUnitOfMeasure, warningLevelUnitOfMeasure);
|
}
|
|
/**
|
* 获取液位计量单位
|
*
|
* @return 液位计量单位
|
*/
|
@Nullable
|
public UnitOfMeasure getLiquidLevelUnitOfMeasure() {
|
return getAttributeValue(AttributeNames.liquidLevelUnitOfMeasure);
|
}
|
|
/**
|
* 设置液位计量单位
|
*
|
* @param liquidLevelUnitOfMeasure 液位计量单位
|
*/
|
public void setLiquidLevelUnitOfMeasure(UnitOfMeasure liquidLevelUnitOfMeasure) {
|
setAttributeValue(AttributeNames.liquidLevelUnitOfMeasure, liquidLevelUnitOfMeasure);
|
}
|
|
/**
|
* 对象持久化前处理。该方法由对象持久化框架回调。在将对象从非持久化状态"TRANSIENT"转换为已持久化状态"MANAGED"之前触发。
|
* 子类重写该方法时,要考虑是否调用super.xxx(),以及调用先后时机,以免造成无意的父类代码逻辑被覆盖(丢失)
|
*/
|
@Override
|
protected void prePersist() {
|
super.prePersist();
|
//默认液位单位 米
|
if (getLiquidLevelUnitOfMeasure() == null) {
|
setLiquidLevelUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.M));
|
}
|
//默认警戒液位单位 米
|
if (getWarningLevelUnitOfMeasure() == null) {
|
setWarningLevelUnitOfMeasure(UnitOfMeasure.forId(UnitOfMeasureIdsHex.M));
|
}
|
//增加动态属性名,填充实时库标签用
|
if(!containsDynamicAttribute(AttributeNames.liquidLevel)){
|
setDynamicAttribute(AttributeNames.liquidLevel,null,true);
|
}
|
}
|
}
|