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);