实施日期 和 四个多选适用车型 , 适用认证.. REGEXP正则查询和BETWEEN日期范围查询
This commit is contained in:
@@ -95,10 +95,39 @@ public class SarAdvanceSearchUtil {
|
||||
String sql = "";
|
||||
SarAdvanceSearchVO searchVO=searchVOList.get(i);
|
||||
if (StringUtils.isNotBlank(searchVO.getValue()));
|
||||
if (i==0){
|
||||
sql+=tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
}else {
|
||||
sql+="AND"+" "+tableName+searchVO.getField()+" " + searchVO.getType() + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
|
||||
|
||||
|
||||
switch (searchVO.getType()){
|
||||
//多个正则查询
|
||||
case "regexp":
|
||||
case "REGEXP":
|
||||
if (i==0){
|
||||
sql+=tableName+searchVO.getField()+" " + "REGEXP" + " " + "\'" + searchVO.getValue().replaceAll(",","|").replaceAll("\\s*","") + "\'";
|
||||
}else {
|
||||
sql+=" AND "+" "+tableName+searchVO.getField()+" " + "REGEXP" + " " +"\'"+ searchVO.getValue().replaceAll(",","|").replaceAll("\\s*","") + "\'" ;
|
||||
}
|
||||
break;
|
||||
//模糊查询
|
||||
case "LIKE":
|
||||
case "like":
|
||||
if (i==0){
|
||||
sql+=tableName+searchVO.getField()+" " + "LIKE" + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
}else {
|
||||
sql+=" AND "+" "+tableName+searchVO.getField()+" " +"LIKE" + " " + "concat(concat('%','" +searchVO.getValue() + "'),'%') ";
|
||||
}
|
||||
break;
|
||||
//日期范围查询
|
||||
case "between":
|
||||
case "BETWEEN":
|
||||
String[] boundaryArray = searchVO.getValue().split(",");
|
||||
if (i==0){
|
||||
sql+= "DATE_FORMAT("+ tableName+searchVO.getField() + ",'%Y-%m-%d')"+" " + "BETWEEN" + " " +"DATE_FORMAT("+ "\'" + boundaryArray[0].replaceAll("\\s*","") + "\'" +",'%Y-%m-%d')" +" AND "+ "DATE_FORMAT("+ "\'" + boundaryArray[1].replaceAll("\\s*","") + "\'" + ",'%Y-%m-%d')";
|
||||
}else {
|
||||
sql+=" AND "+" "+"DATE_FORMAT("+ tableName+searchVO.getField() + ",'%Y-%m-%d')"+" " + "BETWEEN" + " " +"DATE_FORMAT("+ "\'" + boundaryArray[0].replaceAll("\\s*","") + "\'" + ",'%Y-%m-%d')" +" AND "+ "DATE_FORMAT("+ "\'" + boundaryArray[1].replaceAll("\\s*","") + "\'" + ",'%Y-%m-%d')";
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
sqlBuilder.append(sql);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user