虚拟清单--高级搜索

This commit is contained in:
zhn
2022-06-06 16:53:54 +08:00
parent ea6cff7386
commit 39f3170b90
@@ -5531,42 +5531,40 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
String field = queryConditionVO.getField();
String val = queryConditionVO.getVal();
//如果查询字段对应的搜索条件值为空,则不作处理
if(StringUtils.isNotBlank(val)){
count ++;//从第二个查询条件开始拼接type(and或or)
if(count > 1){
sb.append(" "+type + " ");
if(StringUtils.isNotBlank(val)) {
count++;//从第二个查询条件开始拼接type(and或or)
if (count > 1) {
sb.append(" " + type + " ");
}
sb.append(" " + field + " ");
//查询类型
String ruleTemp = queryType(rule);
if(StringUtils.isNotBlank(ruleLike)){
if (StringUtils.isNotBlank(ruleLike)) {
sb.append(ruleLike + " ");
}else{
} else {
sb.append(ruleTemp + " ");
}
//..(用in-->特殊处理)
if(val.contains(",")){
StringBuilder sbTemp = new StringBuilder();
for (String valTemp : val.split(",")) {
sbTemp.append("'" + valTemp +"' ,");
}
if(StringUtils.isNotBlank(sbTemp)){
String substring = sbTemp.substring(0, sbTemp.length() - 1);
sb.append("("+substring+")");
}
}else{
//like和in需要特殊处理
if(QueryRuleEnum.IN.getCondition().equals(rule)){
sb.append("('" + val + "')");
}else if(QueryRuleEnum.LIKE.getCondition().equals(rule)){
sb.append("'%" + val + "%'");
}else if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)){
sb.append("'%" + val + "'");
}else if(QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
sb.append("'" + val + "%'");
}else{
sb.append("'" + val + "'");
//like和in需要特殊处理
if (QueryRuleEnum.IN.getCondition().equals(rule)) {
if (val.contains(",")) {
StringBuilder sbTemp = new StringBuilder();
for (String valTemp : val.split(",")) {
sbTemp.append("'" + valTemp + "' ,");
}
if (StringUtils.isNotBlank(sbTemp)) {
String substring = sbTemp.substring(0, sbTemp.length() - 1);
sb.append("(" + substring + ")");
}
}
sb.append("('" + val + "')");
} else if (QueryRuleEnum.LIKE.getCondition().equals(rule)) {
sb.append("'%" + val + "%'");
} else if (QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule)) {
sb.append("'%" + val + "'");
} else if (QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)) {
sb.append("'" + val + "%'");
} else {
sb.append("'" + val + "'");
}
}
}