From c5e953065f31da5afd00a4474250f61b075d2f0a Mon Sep 17 00:00:00 2001 From: yjz <3131811435@qq.com> Date: Mon, 5 Aug 2024 14:27:55 +0800 Subject: [PATCH] =?UTF-8?q?fix(87990):=20=E9=AB=98=E7=BA=A7=E6=A3=80?= =?UTF-8?q?=E7=B4=A2-=E6=B6=89=E5=8F=8A=E7=B3=BB=E7=BB=9F/=E9=83=A8?= =?UTF-8?q?=E4=BB=B6=E5=90=8E=E6=B2=A1=E6=9C=89=E9=80=89=E6=8B=A9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/laws/common/constant/FieldCommon.java | 5 +++-- .../documenttool/handler/impl/InConditionImpl.java | 14 ++++++++++++++ .../jero/modules/tag/enums/LawsFieldTypeEnum.java | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java index d2564592..78ea2b22 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/common/constant/FieldCommon.java @@ -32,8 +32,9 @@ public class FieldCommon { LawsFieldTypeEnum.TREE_BOX_SINGLE.getValue(), // 树型单选 LawsFieldTypeEnum.TREE_BOX.getValue(), // 树型多选 LawsFieldTypeEnum.OPTION_MANY.getValue(), // 下拉多选 - LawsFieldTypeEnum.TREE_OPTION.getValue() // 树形弹框选择 - ); + LawsFieldTypeEnum.TREE_OPTION.getValue(), // 树形弹框选择 + LawsFieldTypeEnum.TREE_OPTION2.getValue() // 树形弹框(带出子集和单线父级) + ); /** * @Author: liao diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/InConditionImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/InConditionImpl.java index f561c089..65a15fa9 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/InConditionImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/handler/impl/InConditionImpl.java @@ -4,11 +4,16 @@ import com.jero.modules.laws.common.constant.FieldCommon; import com.jero.modules.laws.documenttool.common.DocumentSplitCommon; import com.jero.modules.laws.documenttool.factory.ConditionMapFactory; import com.jero.modules.laws.documenttool.handler.AbstractConditionBase; +import com.jero.modules.laws.standard.entity.PartName; +import com.jero.modules.laws.standard.service.ILawsPartNameService; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import javax.annotation.Resource; import java.util.Arrays; import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; /** * @Author: yjz @@ -18,6 +23,8 @@ import java.util.List; @Component public class InConditionImpl extends AbstractConditionBase { + @Resource + private ILawsPartNameService lawsPartNameService; @Override public String buildCondition(String fieldName, String value){ @@ -25,6 +32,13 @@ public class InConditionImpl extends AbstractConditionBase { StringBuilder in = new StringBuilder(); in.append(DocumentSplitCommon.AND).append("(("); List list = Arrays.asList(value.split(",")); + // 涉及系统/部件 特殊处理 + if (FieldCommon.PART_NAME.equals(fieldName)){ + List partNameList = lawsPartNameService.listByIds(list); + if (!Objects.isNull(partNameList)){ + list = partNameList.stream().map(PartName::getCode).collect(Collectors.toList()); + } + } for (String s : list) { in.append(DocumentSplitCommon.INSTR_BEGIN).append(fieldName).append(",").append("'").append(s).append("'").append(")"); if (list.indexOf(s) != list.size() -1){ diff --git a/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java b/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java index 2c741962..f6a80da3 100644 --- a/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java +++ b/laws-modules/src/main/java/com/jero/modules/tag/enums/LawsFieldTypeEnum.java @@ -23,6 +23,7 @@ public enum LawsFieldTypeEnum { YEAR_OPTION("年份选择","14"), TREE_BOX_SINGLE("树型结构(单选)","15"), TREE_OPTION("树形弹框选择","16"), + TREE_OPTION2("树形弹框(带出子集和单线父级)","17"), ; String name;