通过属性定义取属性的显示单位,有覆盖单位取覆盖单位,没有覆盖单位取默认单位
private static String getUnitName(AttributeDefinitionReadView readView) {
String unit = "";
try {
String MeasurementSystemName = PropertyDefinitionHelper.getMeasurementSystem();
AttributeDefDefaultView ibaDefView = SetObjectIBAValue.getAttDefViewByLogicalID(readView.getName());
if (ibaDefView instanceof UnitDefView) {
UnitDefView ud = (UnitDefView) ibaDefView;
QuantityOfMeasureDefaultView qom = ud.getQuantityOfMeasureDefaultView();
unit = readView.getDisplayUnits(MeasurementSystemName);
if (StringUtils.isEmpty(unit)) {
unit = qom.getDisplayUnitString(MeasurementSystemName);
} else if (StringUtils.isEmpty(unit)) {
unit = qom.getDefaultDisplayUnitString(MeasurementSystemName);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return unit;
}