高级搜索
This commit is contained in:
+31
-9
@@ -3141,15 +3141,17 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
|
||||
//高级搜索 queryConditionVOList List<QueryConditionVO>
|
||||
List<QueryConditionVO> queryConditionVOList = (List<QueryConditionVO>) parameter.get("queryConditionVOList");
|
||||
if(ObjectUtils.isNotEmpty(queryConditionVOList)){
|
||||
String queryCondition = sqlJoint(queryConditionVOList);
|
||||
if(StringUtils.isNotBlank(queryCondition)){
|
||||
conditionSb.append(queryCondition);
|
||||
if(ObjectUtils.isNotEmpty(parameter.get("queryConditionVOList"))){
|
||||
String queryConditionVOListStr = (String) parameter.get("queryConditionVOList");
|
||||
List<QueryConditionVO> queryConditionVOList = JSONObject.parseArray(queryConditionVOListStr, QueryConditionVO.class);
|
||||
if(ObjectUtils.isNotEmpty(queryConditionVOList)){
|
||||
String queryCondition = sqlJoint(queryConditionVOList);
|
||||
if(StringUtils.isNotBlank(queryCondition)){
|
||||
conditionSb.append(" and " + queryCondition);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//处理列表表头排序
|
||||
if (StringUtils.isNotBlank((String) parameter.get("orderByField"))) {
|
||||
conditionSb.append(" order by " + (String) parameter.get("orderByField"));
|
||||
@@ -5089,6 +5091,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
fieldListQuery.add("technology_territory");
|
||||
fieldListQuery.add("xin1_che1_xing2_shi2_shi1_ri4_qi1");
|
||||
fieldListQuery.add("implement_time");
|
||||
fieldListQuery.add("corresponding_standard");
|
||||
|
||||
List<String> fieldListNew = new ArrayList<>();
|
||||
fieldListNew.add("id");
|
||||
@@ -5145,6 +5148,10 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
for (QueryConditionVO queryConditionVO : queryConditionVOList) {
|
||||
String type = queryConditionVO.getType();//and或or
|
||||
String rule = queryConditionVO.getRule();
|
||||
String ruleLike = "";
|
||||
if(QueryRuleEnum.LEFT_LIKE.getCondition().equals(rule) || QueryRuleEnum.RIGHT_LIKE.getCondition().equals(rule)){
|
||||
ruleLike = QueryRuleEnum.LIKE.getCondition();
|
||||
}
|
||||
String field = queryConditionVO.getField();
|
||||
String val = queryConditionVO.getVal();
|
||||
//如果查询字段对应的搜索条件值为空,则不作处理
|
||||
@@ -5153,7 +5160,11 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
sb.append(" " + field + " ");
|
||||
//查询类型
|
||||
String ruleTemp = queryType(rule);
|
||||
sb.append(ruleTemp + " ");
|
||||
if(StringUtils.isNotBlank(ruleLike)){
|
||||
sb.append(ruleLike + " ");
|
||||
}else{
|
||||
sb.append(ruleTemp + " ");
|
||||
}
|
||||
//在..中(用in-->特殊处理)
|
||||
if(val.contains(",")){
|
||||
StringBuilder sbTemp = new StringBuilder();
|
||||
@@ -5162,10 +5173,21 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
||||
}
|
||||
if(StringUtils.isNotBlank(sbTemp)){
|
||||
String substring = sbTemp.substring(0, sbTemp.length() - 1);
|
||||
sb.append(substring);
|
||||
sb.append("("+substring+")");
|
||||
}
|
||||
}else{
|
||||
sb.append(val);
|
||||
//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 + "'");
|
||||
}
|
||||
}
|
||||
if(count > 1){
|
||||
sb.append(type + " ");
|
||||
|
||||
Reference in New Issue
Block a user