sql优化

yun-zuoyi
陈思洁 6 years ago
parent 721ddbee3c
commit 91999948b6

@ -1462,26 +1462,29 @@ public class WmsHqlPack {
if (StringUtils.isNotBlank(data)) { if (StringUtils.isNotBlank(data)) {
List<Map> mapList = JSONObject.parseArray(data, Map.class); List<Map> mapList = JSONObject.parseArray(data, Map.class);
if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) { if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.WAREHOUSE.getValue() + "", key)) {
packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result); DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"WH_CODE"), "destWhNo", result);
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) { //packMutilConditionHql(mapList, "WH_CODE", "destWhNo", result);
packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result); }/* else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.LOCATE.getValue() + "", key)) {
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) { DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"LOCATE_NO"), "destLocateNo", result);
packMutilConditionHql(mapList, "ZONE_CODE", "destZoneNo", result); //packMutilConditionHql(mapList, "LOCATE_NO", "destLocateNo", result);
} else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.MATERIAL.getValue() + "", key)) { }*/ else if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.ZONE.getValue() + "", key)) {
packMutilConditionHql(mapList, "PART_NO", "partNo", result); 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 //转换封装后的hql
String packedHql = result.getPackedHql(); /*String packedHql = result.getPackedHql();
if(packedHql.startsWith(" or")){ if(packedHql.startsWith(" or")){
packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") ";
System.out.println(packedHql); System.out.println(packedHql);
} }
result.setWhereAppend(packedHql); result.setWhereAppend(packedHql);*/
// 通用数据拼接 // 通用数据拼接
WmsDataAuth wmsDataAuth = new WmsDataAuth(); WmsDataAuth wmsDataAuth = new WmsDataAuth();
wmsDataAuth.setOrganizeCode(organizeCode); 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 * List<Map> HQL
* @param mapList * @param mapList
* @param keyName * @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) { public static DdlPackBean packHqlAndIn(WmsTaskInfo bean, String columnName, List<String> orderList,Map<String, List<WmsDataAuth>> groupDataAuth) {
DdlPackBean packBean = new DdlPackBean(); DdlPackBean packBean = new DdlPackBean();
Set<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet(); Set<Map.Entry<String, List<WmsDataAuth>>> entries = groupDataAuth.entrySet();
//拼sql //拼sql
entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey())); entries.stream().filter(o -> !Strings.isNullOrEmpty(o.getKey()));
for (Map.Entry<String, List<WmsDataAuth>> map : entries) { for (Map.Entry<String, List<WmsDataAuth>> map : entries) {
String key = map.getKey(); String key = map.getKey();
List<WmsDataAuth> valueList = map.getValue(); List<WmsDataAuth> valueList = map.getValue();
List<String> vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList()); List<String> vList = valueList.stream().map(x -> x.getDataObjValue()).collect(Collectors.toList());
String data = String.join(",", vList); String data = String.join(",", vList);
if (StringUtils.isNotBlank(data)) { if (StringUtils.isNotBlank(data)) {
List<Map> mapList = JSONObject.parseArray(data, Map.class); List<Map> mapList = JSONObject.parseArray(data, Map.class);
if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.TRANS_TYPE.getValue() + "", key)) { if (StringUtils.equalsIgnoreCase(WmsEnumUtil.DATA_OBJ_TYPE.TRANS_TYPE.getValue() + "", key)) {
DdlPreparedPack.getInPackList(cyclicTraversal(mapList,"TRANS_TYPE_CODE"), "transTypeCode", packBean);
packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean); //packMutilConditionHql(mapList, "TRANS_TYPE_CODE", "transTypeCode", packBean);
break; break;
} }
} }
} }
//转换封装后的hql //转换封装后的hql
String packedHql = packBean.getPackedHql(); /*String packedHql = packBean.getPackedHql();
if(packedHql.startsWith(" or")){ if(packedHql.startsWith(" or")){
packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") "; packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") ";
System.out.println(packedHql); System.out.println(packedHql);
} }
packBean.setWhereAppend(packedHql); packBean.setWhereAppend(packedHql);*/
DdlPreparedPack.getInPackList(orderList, columnName, packBean); DdlPreparedPack.getInPackList(orderList, columnName, packBean);
DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean); DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean);
DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean); DdlPreparedPack.getNumNOEqualPack(bean.getTaskStatus(), "taskStatus", packBean);

Loading…
Cancel
Save