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;