Получить значение BigDecimal из параметров Grails - PullRequest
0 голосов
/ 02 сентября 2011

Я пишу функцию отчетности для объекта Домена в граалях. Есть поле "баланс", которое является BigDecimal. У меня проблемы с написанием запроса. Цени любую помощь.

View

<tr class="prop">
<td valign="top" class="name">
<label for="balance"><g:message code="sale.balance.label" default="Balance" /></label>
</td>
<td valign="top" class="value">
<g:textField name="balance" value="${params.balance}" />
</td>
</tr>

Контроллер

def c = Sale.createCriteria()
def saleList = c.list {
if(params.id)
    idEq(java.lang.Long.parseLong(params.id))
if(params.customerName)
    like('customerName', params.customerName+"%")
if(params.customerPh)
    like('customerPh', params.customerPh+"%")
if(params.balance)
    ge('balance', java.math.BigDecimal(params.balance))
if(params.totalSale)
    ge('totalSale', params.totalSale)

Исключение

groovy.lang.MissingPropertyException: Нет такого свойства: java для класса: grails.orm.HibernateCriteriaBuilder в colorthread.SaleController $ _closure9_closure23.doCall (SaleController.groovy: 289) at colorthread.SaleController $ _closure9_closure23.doCall (SaleController.groovy)

1 Ответ

3 голосов
/ 02 сентября 2011

Вам не хватает ключевого слова new :

    ge('balance', new java.math.BigDecimal(params.balance))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...