From 91999948b6943cddee5c5471d06cf0dc80556ee0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=80=9D=E6=B4=81?= Date: Thu, 20 Jun 2019 17:23:07 +0800 Subject: [PATCH] =?UTF-8?q?sql=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../estsh/i3plus/pojo/wms/sqlpack/WmsHqlPack.java | 53 +++++++++++++--------- 1 file changed, 32 insertions(+), 21 deletions(-) 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 0cd5c14..a8e2ecc 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 @@ -1462,26 +1462,29 @@ public class WmsHqlPack { 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); - } + DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"WH_CODE"), "destWhNo", result); + //packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result); + }/* else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { + DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"LOCATE_NO"), "destLocateNo", result); + //packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result); + }*/ else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { + DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"ZONE_CODE"), "destZoneNo", result); + //packMutilConditionHql(mapList, "ZONE_CODE", "destZoneNo", result); + } /*else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { + DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"PART_NO"), "partNo", result); + //packMutilConditionHql(mapList, "PART_NO", "partNo", result); + }*/ } } //转换封装后的hql - String packedHql = result.getPackedHql(); + /*String packedHql = result.getPackedHql(); if(packedHql.startsWith(" or")){ packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; System.out.println(packedHql); } - result.setWhereAppend(packedHql); - + result.setWhereAppend(packedHql);*/ // 通用数据拼接 WmsDataAuth wmsDataAuth = new WmsDataAuth(); wmsDataAuth.setOrganizeCode(organizeCode); @@ -1490,6 +1493,20 @@ public class WmsHqlPack { } /** + * 把 List 中的一组数据重新封装到List中 + * @param mapList + * @param keyName + */ + private static List cyclicTraversal(List mapList,String keyName) { + List list = new ArrayList(); + for(int i=0;i map = mapList.get(i); + list.add(map.get(keyName)); + } + return list; + } + + /** * 把 List 中的一组查询条件封装成 HQL * @param mapList * @param keyName @@ -1518,37 +1535,31 @@ public class WmsHqlPack { */ public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List orderList,Map> groupDataAuth) { DdlPackBean packBean = new DdlPackBean(); - Set>> entries = groupDataAuth.entrySet(); //拼sql entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())); - for (Map.Entry> map : entries) { - String key = map.getKey(); List valueList = map.getValue(); List vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); String data = String.join(",", vList); - if (StringUtils.isNotBlank(data)) { List mapList = JSONObject.parseArray(data, Map.class); if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.TRANS_TYPE.getValue() + "", key)) { - - packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean); + DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"TRANS_TYPE_CODE"), "transTypeCode", packBean); + //packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean); break; } } } - //转换封装后的hql - String packedHql = packBean.getPackedHql(); + /*String packedHql = packBean.getPackedHql(); if(packedHql.startsWith(" or")){ packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; System.out.println(packedHql); } - packBean.setWhereAppend(packedHql); - + packBean.setWhereAppend(packedHql);*/ DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean);