Руководство пользователя Semantic MDM
×
Меню
Индекс

Пример формирования строкового обозначения максимального рабочего давления для датчиков давления

 
Данный пример форматирует вывод максимального рабочего давления в обозначение датчика давления по следующим правилам:
Все значения в системе хранятся в базовой единице измерения. Для давления, базовой единицей измерения является “Паскаль”. Соответственно при вводе значения в “Мегапаскаль”, система переводит введенное значение в “Паскаль” (путем деления на “ 0,000001”) и сохраняет введенное значение в БД. Для получения в скрипте Groovy значения в “Мегапаскаль”, требуется домножить полученное значение на “ 0,000001G”(литера G необходима для определения числа как BigDecimal) и округлить значение до требуемой точности “2”.
 
import java.text.*;
 
String getValue(){
    // для обращения к значению свойства позиции использовать конструкцию вида:
    // @[Наименование свойства]
    // для обращения к значению свойства агрегированной позиции:
    // @[Наименование агрегации][Наименование свойства]
    // вернуть вычисленную строку
    BigDecimal value = support.getDoubleValue(@[Максимальное рабочее давление],2,0.000001G);
    if ((value>0)&&(value<10)) {
      //округлим значение до двух знаков
      return '-'+new DecimalFormat("#0.00").format(value);
    }
    else if ((value>=10)&&(value<100)) {
      //округлим значение до одного знака
      return '-'+new DecimalFormat("#.0").format(value);
    }
    else if (value>=100) {
      //округлим значение до целого
      return '-'+new DecimalFormat("#").format(value);
    }
    else
      return ''
}