From 8474c22961d9d50f9bee411b8f199236b777aba0 Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 11 Dec 2023 11:36:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=AB=98=E7=BA=A7=E6=90=9C=E7=B4=A2?= =?UTF-8?q?=E4=BB=A3=E6=9B=BF=E8=A2=AB=E4=BB=A3=E6=9B=BFSQL=E6=8B=BC?= =?UTF-8?q?=E6=8E=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java index 2d73f96b..5f7398da 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/service/impl/LawsCommonServiceImpl.java @@ -1910,7 +1910,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService { String replacedByStandard = (String) parameterMap.get(FieldCommon.REPLACED_BY_STANDARD); if (StrUtil.isNotBlank(replacedByStandard)) { List standardNo = Arrays.asList(replacedByStandard.split(",")); - String sql = getLawsReplacedStandardSql(tableName, standardNo, " replaced_by ", "1"); + String sql = getLawsReplacedByStandardSql(tableName, standardNo, " replaced_by ", "1"); selectCondition.append(sql); parameterMap.remove(FieldCommon.REPLACED_BY_STANDARD); } @@ -1926,7 +1926,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService { String referencedStandard = (String) parameterMap.get(FieldCommon.REFERENCED_STANDARD); if (StrUtil.isNotBlank(referencedStandard)) { List standardNo = Arrays.asList(referencedStandard.split(",")); - String sql = getLawsReplacedStandardSql(tableName, standardNo, " replaced_by ", "2"); + String sql = getLawsReplacedByStandardSql(tableName, standardNo, " replaced_by ", "2"); selectCondition.append(sql); parameterMap.remove(FieldCommon.REFERENCED_STANDARD); } @@ -1973,17 +1973,6 @@ public class LawsCommonServiceImpl implements ILawsCommonService { } selectCondition.append(idSql).append(")"); } -// if (standNoSearch) { -// String noSql = standNoSet.stream() -// .map(item -> "'" + item + "'") -// .collect(Collectors.joining(",")); -// // 拼接SQL -// selectCondition.append(" AND standard_number IN ("); -// if (StrUtil.isBlank(noSql)) { -// noSql = "''"; -// } -// selectCondition.append(noSql).append(")"); -// } selectCondition.append(" AND del_flag = 0"); // 删除pageNo和pageSize,不参与条件查询 @@ -2058,6 +2047,19 @@ public class LawsCommonServiceImpl implements ILawsCommonService { @NotNull private String getLawsReplacedStandardSql(String tableName, List standardNo, String replaced, String type) { + StringBuilder str = new StringBuilder(); + for (int i = 0; i < standardNo.size(); i++) { + str.append(replaced).append(" like '%").append(standardNo.get(i)).append("%' "); + if (i != standardNo.size() - 1) { + str.append(" and "); + } + } + return "and exists (select id from laws_replaced_standard where " + tableName + ".standard_number = replaced_by" + + " and type = " + type + " and " + str + ")"; + } + + @NotNull + private String getLawsReplacedByStandardSql(String tableName, List standardNo, String replaced, String type) { StringBuilder str = new StringBuilder(); for (int i = 0; i < standardNo.size(); i++) { str.append(replaced).append(" like '%").append(standardNo.get(i)).append("%' ");