虚拟清单--高级搜索
This commit is contained in:
+26
-28
@@ -5531,42 +5531,40 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String field = queryConditionVO.getField();
|
String field = queryConditionVO.getField();
|
||||||
String val = queryConditionVO.getVal();
|
String val = queryConditionVO.getVal();
|
||||||
//如果查询字段对应的搜索条件值为空,则不作处理
|
//如果查询字段对应的搜索条件值为空,则不作处理
|
||||||
if(StringUtils.isNotBlank(val)){
|
if(StringUtils.isNotBlank(val)) {
|
||||||
count ++;//从第二个查询条件开始拼接type(and或or)
|
count++;//从第二个查询条件开始拼接type(and或or)
|
||||||
if(count > 1){
|
if (count > 1) {
|
||||||
sb.append(" "+type + " ");
|
sb.append(" " + type + " ");
|
||||||
}
|
}
|
||||||
sb.append(" " + field + " ");
|
sb.append(" " + field + " ");
|
||||||
//查询类型
|
//查询类型
|
||||||
String ruleTemp = queryType(rule);
|
String ruleTemp = queryType(rule);
|
||||||
if(StringUtils.isNotBlank(ruleLike)){
|
if (StringUtils.isNotBlank(ruleLike)) {
|
||||||
sb.append(ruleLike + " ");
|
sb.append(ruleLike + " ");
|
||||||
}else{
|
} else {
|
||||||
sb.append(ruleTemp + " ");
|
sb.append(ruleTemp + " ");
|
||||||
}
|
}
|
||||||
//在..中(用in-->特殊处理)
|
//like和in需要特殊处理
|
||||||
if(val.contains(",")){
|
if (QueryRuleEnum.IN.getCondition().equals(rule)) {
|
||||||
StringBuilder sbTemp = new StringBuilder();
|
if (val.contains(",")) {
|
||||||
for (String valTemp : val.split(",")) {
|
StringBuilder sbTemp = new StringBuilder();
|
||||||
sbTemp.append("'" + valTemp +"' ,");
|
for (String valTemp : val.split(",")) {
|
||||||
}
|
sbTemp.append("'" + valTemp + "' ,");
|
||||||
if(StringUtils.isNotBlank(sbTemp)){
|
}
|
||||||
String substring = sbTemp.substring(0, sbTemp.length() - 1);
|
if (StringUtils.isNotBlank(sbTemp)) {
|
||||||
sb.append("("+substring+")");
|
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 + "'");
|
|
||||||
}
|
}
|
||||||
|
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 + "'");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user