|
|
|
@ -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<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet();
|
|
|
|
|
//拼sql
|
|
|
|
|
entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())).forEach(o -> {
|
|
|
|
|
List<WmsDataAuth> value = o.getValue();
|
|
|
|
|
List<String> vList = value.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList());
|
|
|
|
|
entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey()));
|
|
|
|
|
|
|
|
|
|
for (Map.Entry<String, List<WmsDataAuth>> map : entries) {
|
|
|
|
|
String key = map.getKey();
|
|
|
|
|
List<WmsDataAuth> valueList = map.getValue();
|
|
|
|
|
List<String> vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList());
|
|
|
|
|
String data = String.join(",", vList);
|
|
|
|
|
if (StringUtils.isNotBlank(data)) {
|
|
|
|
|
List<Map> 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<String> vals) {
|
|
|
|
|
public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List<String> 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);
|
|
|
|
|
|
|
|
|
|