|
|
|
@ -1462,26 +1462,29 @@ public class WmsHqlPack {
|
|
|
|
|
if (StringUtils.isNotBlank(data)) {
|
|
|
|
|
List<Map> 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<Map> 中的一组数据重新封装到List<String>中
|
|
|
|
|
* @param mapList
|
|
|
|
|
* @param keyName
|
|
|
|
|
*/
|
|
|
|
|
private static List<String> cyclicTraversal(List<Map> mapList,String keyName) {
|
|
|
|
|
List<String> list = new ArrayList<String>();
|
|
|
|
|
for(int i=0;i<mapList.size();i++){
|
|
|
|
|
Map<String,String> map = mapList.get(i);
|
|
|
|
|
list.add(map.get(keyName));
|
|
|
|
|
}
|
|
|
|
|
return list;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 把 List<Map> 中的一组查询条件封装成 HQL
|
|
|
|
|
* @param mapList
|
|
|
|
|
* @param keyName
|
|
|
|
@ -1518,37 +1535,31 @@ public class WmsHqlPack {
|
|
|
|
|
*/
|
|
|
|
|
public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List<String> orderList,Map<String, List<WmsDataAuth>> groupDataAuth) {
|
|
|
|
|
DdlPackBean packBean = new DdlPackBean();
|
|
|
|
|
|
|
|
|
|
Set<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet();
|
|
|
|
|
//拼sql
|
|
|
|
|
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.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);
|
|
|
|
|