From 615fe5b5dffb1bbb1d54c497bb72a1ffe048260b Mon Sep 17 00:00:00 2001 From: caihaohan Date: Mon, 5 Feb 2024 16:29:11 +0800 Subject: [PATCH] =?UTF-8?q?fix:=2081788=20=E5=9B=BD=E5=86=85=E6=B5=B7?= =?UTF-8?q?=E5=A4=96=E6=A0=87=E5=87=86--=E6=9F=A5=E8=AF=A2=20=E9=9B=B6?= =?UTF-8?q?=E9=83=A8=E4=BB=B6=E5=90=8D=E7=A7=B0=E8=BE=93=E5=85=A51?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E6=9F=A5=E8=AF=A2=EF=BC=8C=E9=9B=B6=E9=83=A8?= =?UTF-8?q?=E4=BB=B6=E5=AD=97=E6=AE=B5=E6=B2=A1=E6=9C=89=E5=80=BC=E7=9A=84?= =?UTF-8?q?=E4=B9=9F=E8=A2=AB=E6=9F=A5=E8=AF=A2=E5=87=BA=E6=9D=A5=E4=BA=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LawsCommonServiceImpl.java | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 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 ae7cf7af..8cc2c106 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 @@ -1956,7 +1956,7 @@ public class LawsCommonServiceImpl implements ILawsCommonService { String module = (String) parameterMap.get("module"); // 获取要操作的表名 String tableName = TableNameEnum.getTableName(module); - //查询条件 + // 查询条件 StringBuilder selectCondition = new StringBuilder("where 1 = 1"); // 拼接多表关联查询条件 Set idSet = new HashSet<>(); @@ -2018,13 +2018,18 @@ public class LawsCommonServiceImpl implements ILawsCommonService { selectCondition.append(sql); parameterMap.remove(FieldCommon.REFERENCED_STANDARD); } - + // 零部件名称 + String partName = (String) parameterMap.get(FieldCommon.PART_NAME); + if (StrUtil.isNotBlank(partName)) { + String sql = getLawsPartNameStandardSql(tableName, partName); + selectCondition.append(sql); + parameterMap.remove(FieldCommon.PART_NAME); + } // 分标委 String biddingCommittee = (String) parameterMap.get(FieldCommon.BIDDING_COMMITTEE); if (StrUtil.isNotBlank(biddingCommittee)) { LambdaQueryWrapper standardizationWrapper = new LambdaQueryWrapper<>(); standardizationWrapper.eq(LawsStandardization::getPid, "0"); - List biddingCommitteeList = Arrays.asList(biddingCommittee.split(",")); LawsStandardization rootNode = lawsStandardizationService.getOne(standardizationWrapper); standardizationWrapper.clear(); standardizationWrapper.eq(LawsStandardization::getPid, rootNode.getId()); @@ -2106,6 +2111,31 @@ public class LawsCommonServiceImpl implements ILawsCommonService { return selectCondition.toString(); } + @NotNull + private String getLawsPartNameStandardSql(String tableName, String partName) { + LambdaQueryWrapper partNameWrapper = new LambdaQueryWrapper<>(); + partNameWrapper.like(PartName::getName, partName); + List list = partNameService.list(partNameWrapper); + List codeList = new ArrayList<>(); + list.forEach(p -> codeList.add(p.getCode())); + + if (codeList.isEmpty()) { + return ""; // 或者根据实际情况返回一个适当的条件,例如 "1=0" 使得查询结果为空 + } + + StringBuilder sql = new StringBuilder(" AND ("); + for (int i = 0; i < codeList.size(); i++) { + sql.append("FIND_IN_SET('").append(codeList.get(i)).append("', ").append(tableName).append(".part_name)"); + if (i < codeList.size() - 1) { + sql.append(" OR "); + } + } + sql.append(")"); + + return sql.toString(); + } + + private void getSysUserSql(String tableName, StringBuilder selectCondition, String key, String value) { if (CharSequenceUtil.isNotBlank(value)) { List strData = Arrays.asList(value.split(","));