diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java index 2567491..5ccb8eb 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java @@ -1459,31 +1459,28 @@ public class WmsHqlPack { String data = String.join(",", vList); if (StringUtils.isNotBlank(data)) { - List mapList = JSONObject.parseArray(data, Map.class); - if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) { - packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { - packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { - packMutilConditionHql(mapList, "ZONE_CODE", "destZoneNo", result); - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { - packMutilConditionHql(mapList, "PART_NO", "partNo", result); } } } - String hqlString = " and ( 1=1 " + result.getPackedHql() + ") "; + //转换封装后的hql + String packedHql = result.getPackedHql(); + if(packedHql.startsWith(" or")){ + packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; + System.out.println(packedHql); + } + + result.setWhereAppend(packedHql); - result.setWhereAppend(hqlString); // 通用数据拼接 WmsDataAuth wmsDataAuth = new WmsDataAuth(); wmsDataAuth.setOrganizeCode(organizeCode); @@ -1498,14 +1495,15 @@ public class WmsHqlPack { * @param columnName * @param packBean */ - private static void packMutilConditionHql(List mapList, String keyName, - String columnName, DdlPackBean packBean) { - Integer index = 1; - + private static void packMutilConditionHql(List mapList, String keyName,String columnName, DdlPackBean packBean) { + int index = 1; + String columnParam = null; for (Map item : mapList) { - packBean.addColumnQuery(columnName + index.toString()," or model." + - columnName + " = :m_" + columnName + index.toString(), + columnParam = columnName + String.valueOf(index); + packBean.addColumnQuery(columnParam, + " or model." + columnName + " = :m_" + columnParam, item.get(keyName).toString()); + index++; } } @@ -1541,9 +1539,14 @@ public class WmsHqlPack { } } - String hqlString = " and ( 1=1 " + packBean.getPackedHql() + ") "; + //转换封装后的hql + String packedHql = packBean.getPackedHql(); + if(packedHql.startsWith(" or")){ + packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; + System.out.println(packedHql); + } - packBean.setWhereAppend(hqlString); + packBean.setWhereAppend(packedHql); DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean);