Вместо выполнения execute, который всегда будет возвращать логическое значение, выполните что-то вроде следующего:
def searchProductionOrder (String sequentialNumber) {
def sql = Sql.newInstance(dbUrl, user, pwd, driverName)
String idProdOrders = sql.rows("""
SELECT production_order.idProdOrder
FROM production_order production_order
WHERE production_order.sequential_number LIKE ${sequentialNumber}
""")
if(idProdOrders.size()==1)
{
String url = ":8080/app2/api/productionOrder/"+idProdOrders[0].idProdOrder
// call to Restful service
return Order
}
else
{
//You have either no results from the query or more then 1 so do something
}
}
Если вы хотите убедиться, что что-то сделали для каждого результата, вы также можете использовать sql.eachRow.Документация здесь .Единственное, что нужно перепроверить, это имя возвращаемой записи. Я не уверен, что это будет делать, так как вы делаете production_order.idProdOrder