public interface ExtCurrencyHandler extends Injectable
Далее для простоты везде этот интерфейс и его реализации будем называть "округлятором".
NOTE: все денежные суммы представлены в BigDecimal с двумя знаками после запятой, т.е. scale=2
| Modifier and Type | Method and Description |
|---|---|
default java.lang.Long |
calculateNdsSum(java.lang.Long sum,
java.lang.Float nds)
Вычисление суммы НДС
|
java.lang.Long |
convertCurrency(java.math.BigDecimal value)
Преобразует денежную величину "в рублях" в денежную величину, выраженную в минимальных денежных единицах.
|
java.math.BigDecimal |
convertCurrency(java.lang.Long value)
Преобразует денежную величину из копеек в рубли.
|
java.lang.Long |
convertQuantity(java.math.BigDecimal quantity)
Преобразует весовую величину из килограммов в граммы.
|
java.math.BigDecimal |
convertQuantity(java.lang.Long quantity)
Преобразует весовую велиичну из граммов в килограммы.
|
default java.lang.String |
getCurrencyCode() |
java.math.BigDecimal |
getPositionSum(java.math.BigDecimal price,
long qnty)
Вычислить сумму позиции и округлить в соответствиями с текущими правилами округления (т.е.
|
java.math.BigDecimal |
round(java.math.BigDecimal value)
Вернет результат округления указанного аргумента до ближайшей валидной суммы денег.
|
java.math.BigDecimal getPositionSum(java.math.BigDecimal price,
long qnty)
price - ценаqnty - количенство в тысячных долях от единиц СИ (1000 = 1 шт.; 21458 = 21 кг 458 г)java.math.BigDecimal round(java.math.BigDecimal value)
| значение | округлится до |
|---|---|
| 0.1234 | 0 |
| 12.3456 | 0 |
| 25.00 | 0 |
| 75.00 | 100.00 |
| 123.4567 | 100.00 |
| значение | округлится до |
|---|---|
| 0.009 | 0.01 |
| 0.018 | 0.02 |
| 1.2345 | 1.23 |
value - количество денег, чей результат округления надо вернутьjava.lang.Long convertCurrency(java.math.BigDecimal value)
value - денежная велечина в рублях.convertCurrency(Long)java.math.BigDecimal convertCurrency(java.lang.Long value)
value - денежная величина в копейкахconvertCurrency(BigDecimal)java.lang.Long convertQuantity(java.math.BigDecimal quantity)
quantity - величина в килограммахconvertQuantity(Long)java.math.BigDecimal convertQuantity(java.lang.Long quantity)
quantity - величина в граммахconvertQuantity(BigDecimal)default java.lang.Long calculateNdsSum(java.lang.Long sum,
java.lang.Float nds)
sum - сумма в копейкахnds - ставка НДСdefault java.lang.String getCurrencyCode()