# HG changeset patch
# User Adrián Romero <adrianromero@openbravo.com>
# Date 1461152384 -7200
#      Wed Apr 20 13:39:44 2016 +0200
# Node ID f3dc89ab6cfe3caa47734fd89f438c6113d10bdc
# Parent  fa25b18f6026a2c01ebcd6a85685c8e6f311641a
Fixes issue 0032727: Error thrown when finding related services for a list of lines

diff --git a/src/org/openbravo/mobile/core/process/SimpleQueryBuilder.java b/src/org/openbravo/mobile/core/process/SimpleQueryBuilder.java
--- a/src/org/openbravo/mobile/core/process/SimpleQueryBuilder.java
+++ b/src/org/openbravo/mobile/core/process/SimpleQueryBuilder.java
@@ -571,7 +571,9 @@
         if (paramsArray.length() > 0) {
           for (int i = 0; i < paramsArray.length(); i++) {
 
-            if (paramsArray.get(i) instanceof Number) {
+            if (paramsArray.get(i) instanceof Integer || paramsArray.get(i) instanceof Long) {
+              operatorValueName = "valueEqLong";
+            } else if (paramsArray.get(i) instanceof Number) {
               operatorValueName = "valueEqNum";
             } else if (paramsArray.get(i) instanceof Boolean) {
               operatorValueName = "valueEqB";
@@ -603,7 +605,7 @@
     this.paramValues = new HashMap<String, Object>();
     newhql = replaceAll(newhql, "$filtersCriteria", new FiltersCriteria(filters, properties,
         this.paramValues));
-    newhql = replaceAll(newhql, "$orderByCriteria", new OrderByCriteria(orderByClause));    
+    newhql = replaceAll(newhql, "$orderByCriteria", new OrderByCriteria(orderByClause));
     newhql = replaceAll(newhql, "$hqlCriteria", new HQLCriteria(filters, hqlCriteria,
         this.paramValues));
 
@@ -708,6 +710,8 @@
             query.setParameter(value.getKey(), "'" + value.getValue().toString() + "'");
           } else if (value.getValue() instanceof BigDecimal) {
             query.setParameter(value.getKey(), value.getValue());
+          } else if (value.getKey().startsWith("valueEqLong")) {
+            query.setParameter(value.getKey(), new Long(value.getValue().toString()));
           } else if (value.getKey().startsWith("valueEqNum")) {
             query.setParameter(value.getKey(), new BigDecimal(value.getValue().toString()));
           } else if (value.getValue() instanceof Boolean) {
