sql拼接优化

yun-zuoyi
陈思洁 6 years ago
parent fb98db0bcc
commit 30dd11cce7

@ -1459,31 +1459,28 @@ public class WmsHqlPack {
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() + "", 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);
}
}
}
String hqlString = " and ( 1=1 " + result.getPackedHql() + ") ";
//转换封装后的hql
String packedHql = result.getPackedHql();
if(packedHql.startsWith(" or")){
packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") ";
System.out.println(packedHql);
}
result.setWhereAppend(packedHql);
result.setWhereAppend(hqlString);
// 通用数据拼接
WmsDataAuth wmsDataAuth = new WmsDataAuth();
wmsDataAuth.setOrganizeCode(organizeCode);
@ -1498,14 +1495,15 @@ public class WmsHqlPack {
* @param columnName
* @param packBean
*/
private static void packMutilConditionHql(List<Map> mapList, String keyName,
String columnName, DdlPackBean packBean) {
Integer index = 1;
private static void packMutilConditionHql(List<Map> mapList, String keyName,String columnName, DdlPackBean packBean) {
int index = 1;
String columnParam = null;
for (Map item : mapList) {
packBean.addColumnQuery(columnName + index.toString()," or model." +
columnName + " = :m_" + columnName + index.toString(),
columnParam = columnName + String.valueOf(index);
packBean.addColumnQuery(columnParam,
" or model." + columnName + " = :m_" + columnParam,
item.get(keyName).toString());
index++;
}
}
@ -1541,9 +1539,14 @@ public class WmsHqlPack {
}
}
String hqlString = " and ( 1=1 " + packBean.getPackedHql() + ") ";
//转换封装后的hql
String packedHql = packBean.getPackedHql();
if(packedHql.startsWith(" or")){
packedHql = " and (" + packedHql.substring(3,packedHql.length()) + ") ";
System.out.println(packedHql);
}
packBean.setWhereAppend(hqlString);
packBean.setWhereAppend(packedHql);
DdlPreparedPack.getInPackList(orderList, columnName, packBean);
DdlPreparedPack.getStringRightLikerPack(bean.getOrderNo(), "orderNo", packBean);

Loading…
Cancel
Save