实施日期 和 四个多选适用车型 , 适用认证.. REGEXP正则查询和BETWEEN日期范围查询

This commit is contained in:
zhaokaiyao@91isoft.com
2021-12-29 19:40:58 +08:00
parent 84ca72d640
commit e2c70d68f8
@@ -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);
}