feat: There is no way the

This commit is contained in:
super_liu
2021-08-24 13:40:45 +08:00
parent 0c8fb2b03f
commit a971d3bcf7
4 changed files with 21 additions and 17 deletions
@@ -14,7 +14,7 @@ import java.util.List;
public class SarAdvanceSearchUtil {
// 拼接sql语句
public static String createSql(List<SarAdvanceSearchVO> searchVOList) {
public static String createSql(List<SarAdvanceSearchVO> searchVOList,String tableName) {
String sqlInfo = "";
StringBuilder sqlBuilder = new StringBuilder();
if (searchVOList != null && !searchVOList.isEmpty()) {
@@ -26,14 +26,14 @@ public class SarAdvanceSearchUtil {
List<String> list = Arrays.asList(searchVO.getValue().split(","));
for (int i = 0; i < list.size(); i++) {
if (i == list.size() - 1) {
sql += searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') ";
sql += tableName+"."+searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') ";
} else {
sql += searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') and ";
sql += tableName+"."+searchVO.getField() + " " + searchVO.getType() + " " + "concat(concat('%','" + list.get(i) + "'),'%') and ";
}
}
sql += " )";
} else {
sql += searchVO.getConnect() + " " + searchVO.getField() + " ";
sql += searchVO.getConnect() + " " + tableName+"."+searchVO.getField() + " ";
if (!"like".equals(searchVO.getType())) {
sql += searchVO.getType() + "'" + searchVO.getValue() + "'";
} else {
@@ -44,30 +44,30 @@ public class SarAdvanceSearchUtil {
} else if (StringUtils.isNotBlank(searchVO.getTimeSt()) || StringUtils.isNotBlank(searchVO.getTimeEd())) {
sql += searchVO.getConnect() + " ";
if (StringUtils.isNotBlank(searchVO.getTimeSt()) && StringUtils.isBlank(searchVO.getTimeEd())) {
sql += "(" + searchVO.getField();
sql += "(" + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between " + "'" + searchVO.getTimeSt() + "' and '2099-12-31'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between " + "'" + searchVO.getTimeSt() + " 00:00:00" + "' and '2099-12-31 23:59:59'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += " = 'TBD'";
sql += ")";
} else if (StringUtils.isBlank(searchVO.getTimeSt()) && StringUtils.isNotBlank(searchVO.getTimeEd())) {
sql += "(" + searchVO.getField();
sql += "(" + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '1970-01-01' and " + "'" + searchVO.getTimeEd() + "'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '1970-01-01 00:00:00' and " +
"'" + searchVO.getTimeEd() + " 23:59:59'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += " = 'TBD'";
sql += ")";
} else if (StringUtils.isNotBlank(searchVO.getTimeSt()) && StringUtils.isNotBlank(searchVO.getTimeEd())) {
sql += "(" + searchVO.getField();
sql += "(" + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '" + searchVO.getTimeSt() + "' and '"
+ searchVO.getTimeEd() + "'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += (searchVO.getType().equals("!=") ? " not " : "") + " between '" + searchVO.getTimeSt() + " 00:00:00" + "' and '"
+ searchVO.getTimeEd() + " 23:59:59'";
sql += " or " + searchVO.getField();
sql += " or " + tableName+"."+searchVO.getField();
sql += " = 'TBD'";
sql += ")";
}