From 70be635a9a999167ff3e6ca9e36e2d7c663d926c Mon Sep 17 00:00:00 2001 From: "zhaokaiyao@91isoft.com" <6922339zky> Date: Mon, 17 Jan 2022 15:57:42 +0800 Subject: [PATCH] =?UTF-8?q?if()=E6=B2=A1=E6=9C=89=E5=A4=A7=E6=8B=AC?= =?UTF-8?q?=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../da/utils/util/SarAdvanceSearchUtil.java | 79 ++++++++++--------- 1 file changed, 40 insertions(+), 39 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/utils/util/SarAdvanceSearchUtil.java b/adc-da-slrs/src/main/java/com/adc/da/utils/util/SarAdvanceSearchUtil.java index 60a53752..b35dd3f9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/utils/util/SarAdvanceSearchUtil.java +++ b/adc-da-slrs/src/main/java/com/adc/da/utils/util/SarAdvanceSearchUtil.java @@ -94,50 +94,51 @@ public class SarAdvanceSearchUtil { for (int i = 0; i < searchVOList.size(); i++) { String sql = ""; SarAdvanceSearchVO searchVO=searchVOList.get(i); - if (StringUtils.isNotBlank(searchVO.getValue())); + if (StringUtils.isNotBlank(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; + 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 "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; - case "equals": - case "EQUALS": - if (i==0){ - sql+= "DATE_FORMAT("+ tableName+searchVO.getField() + ",'%Y-%m-%d')"+" " + "=" + " " +"DATE_FORMAT("+ "\'" + searchVO.getValue() + "\'" +",'%Y-%m-%d')" ; - }else { - sql+=" AND "+" "+"DATE_FORMAT("+ tableName+searchVO.getField() + ",'%Y-%m-%d')"+" " + "=" + " " +"DATE_FORMAT("+ "\'" + searchVO.getValue() + "\'" +",'%Y-%m-%d')" ; - } - break; - default: + 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; + case "equals": + case "EQUALS": + if (i == 0) { + sql += "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "=" + " " + "DATE_FORMAT(" + "\'" + searchVO.getValue() + "\'" + ",'%Y-%m-%d')"; + } else { + sql += " AND " + " " + "DATE_FORMAT(" + tableName + searchVO.getField() + ",'%Y-%m-%d')" + " " + "=" + " " + "DATE_FORMAT(" + "\'" + searchVO.getValue() + "\'" + ",'%Y-%m-%d')"; + } + break; + default: + } + + sqlBuilder.append(sql); } - sqlBuilder.append(sql); } sqlInfo = sqlBuilder.toString(); }