From 7343d25e195db19db935120a8fe17462a331c90a Mon Sep 17 00:00:00 2001 From: Silliter Date: Wed, 17 Apr 2019 19:12:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E7=AE=A1=E5=AE=B6=E4=BC=98?= =?UTF-8?q?=E5=8C=96=20=E4=BB=BB=E5=8A=A1=E5=88=97=E8=A1=A8=E4=BC=98?= =?UTF-8?q?=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 | 46 ++++++++++++---------- 1 file changed, 26 insertions(+), 20 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 edde64c..4f895d0 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 @@ -12,9 +12,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.common.base.Strings; import org.apache.commons.lang3.StringUtils; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.stream.Collectors; /** @@ -1450,31 +1448,40 @@ public class WmsHqlPack { DdlPackBean result = new DdlPackBean(); Set>> entries = groupDataAuth.entrySet(); //拼sql - entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())).forEach(o -> { - List value = o.getValue(); - List vList = value.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); + 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.WAREHOUSE.getValue() + "", o.getKey())) { + if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) { for (Map whNoItem : mapList) { - DdlPreparedPack.getInOrPackString(whNoItem.get("WH_CODE").toString(), "destWhNo", result); + // 拼接仓库查询sql + DdlPreparedPack.getStringEqualPackOr(whNoItem.get("WH_CODE").toString(), "destWhNo", result); } - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", o.getKey())) { + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { for (Map locateNoItem : mapList) { - DdlPreparedPack.getInOrPackString(locateNoItem.get("LOCATE_NO").toString(), "destLocateNo", result); + // 拼接库位查询sql + DdlPreparedPack.getStringEqualPackOr(locateNoItem.get("LOCATE_NO").toString(), "destLocateNo", result); } - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", o.getKey())) { + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { for (Map zoneNoItem : mapList) { - DdlPreparedPack.getInOrPackString(zoneNoItem.get("ZONE_CODE").toString(), "destZoneNo", result); + // 拼接存储区查询sql + DdlPreparedPack.getStringEqualPackOr(zoneNoItem.get("ZONE_CODE").toString(), "destZoneNo", result); } - } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", o.getKey())) { - for (Map zoneNoItem : mapList) { - DdlPreparedPack.getInOrPackString(zoneNoItem.get("PART_NO").toString(), "partNo", result); + } else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { + for (Map partNoItem : mapList) { + // 拼接物料查询sql + DdlPreparedPack.getStringEqualPackOr(partNoItem.get("PART_NO").toString(), "partNo", result); } } } - }); + } + + // 通用数据拼接 getStringBuilderPack(new WmsDataAuth(), result); return result; } @@ -1483,13 +1490,12 @@ public class WmsHqlPack { * 给定字段动态in sql * * @param columnName - * @param vals + * @param values * @return */ - public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List vals) { + public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List values) { DdlPackBean packBean = new DdlPackBean(); - String data = String.join(",", vals); - DdlPreparedPack.getInPack(data, columnName, packBean); + DdlPreparedPack.getInPackList(values, columnName, packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean);