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