diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/SplitFileInfo.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/SplitFileInfo.java index 001d1f85..5dd0b91f 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/SplitFileInfo.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/entity/SplitFileInfo.java @@ -78,4 +78,8 @@ public class SplitFileInfo { @TableField(exist = false) @ApiModelProperty(value = "ids 查询用") private String ids; + + @TableField(exist = false) + @ApiModelProperty(value = "标准结构树 查询用") + private String standardSystem; } diff --git a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java index 5d9ab91f..9a9bab08 100644 --- a/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java +++ b/laws-modules/src/main/java/com/jero/modules/laws/documenttool/service/impl/DocumentSplitServiceImpl.java @@ -36,9 +36,13 @@ import com.jero.modules.laws.enterprise.service.EnterpriseStandardAuthUserServic import com.jero.modules.laws.labeldatabase.entity.LawsLabelDatabase; import com.jero.modules.laws.labeldatabase.service.ILawsLabelDatabaseService; import com.jero.modules.laws.standard.entity.LawsEnterpriseStandard; +import com.jero.modules.laws.standard.entity.LawsNodeRelation; +import com.jero.modules.laws.standard.entity.LawsTreeNode; import com.jero.modules.laws.standard.entity.PartName; import com.jero.modules.laws.standard.service.ILawsEnterpriseStandardService; +import com.jero.modules.laws.standard.service.ILawsNodeRelationService; import com.jero.modules.laws.standard.service.ILawsPartNameService; +import com.jero.modules.laws.standard.service.ILawsTreeNodeService; import com.jero.modules.split.entity.SarFileSplitInfoEO; import com.jero.modules.split.entity.SarFileSplitItemsValEO; import com.jero.modules.split.entity.SarFileSplitMenuEO; @@ -128,6 +132,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { private final ISysBaseAPI sysBaseAPI; private final ISarFileSplitItemsValEOService sarFileSplitItemsValEOService; private final ISysDepartService sysDepartService; + private final ILawsNodeRelationService lawsNodeRelationService; + private final ILawsTreeNodeService lawsTreeNodeService; private static final String INFO_ID = "info_id"; private static final String ID = "id"; private static final String IDS = "ids"; @@ -190,7 +196,7 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { ILawsLabelDatabaseService lawsLabelDatabaseService, ISysBaseAPI sysBaseAPI, ISarFileSplitItemsValEOService sarFileSplitItemsValEOService, - ISysDepartService sysDepartService) { + ISysDepartService sysDepartService, ILawsNodeRelationService lawsNodeRelationService, ILawsTreeNodeService lawsTreeNodeService) { this.documentSplitMapper = documentSplitMapper; this.sarFileSplitInfoService = sarFileSplitInfoService; this.lawsCommonMapper = lawsCommonMapper; @@ -212,6 +218,8 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { this.sysBaseAPI = sysBaseAPI; this.sarFileSplitItemsValEOService = sarFileSplitItemsValEOService; this.sysDepartService = sysDepartService; + this.lawsNodeRelationService = lawsNodeRelationService; + this.lawsTreeNodeService = lawsTreeNodeService; } @Autowired @@ -1329,6 +1337,18 @@ public class DocumentSplitServiceImpl implements IDocumentSplitService { queryWrapper.eq(StringUtils.isNotBlank(splitFileInfo.getStandardFileType()), "standard_file_type", splitFileInfo.getStandardFileType()); queryWrapper.likeLeft("file_name", ".docx"); queryWrapper.isNotNull("o.standard_id"); + if (StringUtils.isNotBlank(splitFileInfo.getStandardSystem())){ + List list = Arrays.asList(splitFileInfo.getStandardSystem().split(",")); + List lawsTreeNodeList = lawsTreeNodeService.listByIds(list); + List lawsNodeRelationList = lawsNodeRelationService.list(new LambdaQueryWrapper() + .in(LawsNodeRelation::getNodeId, lawsTreeNodeList.stream().map(LawsTreeNode::getId) + .collect(Collectors.toList()))); + if (lawsNodeRelationList.isEmpty()){ + return new Page<>(); + } + List idList = lawsNodeRelationList.stream().map(LawsNodeRelation::getUniqueRelationFlag).collect(Collectors.toList()); + queryWrapper.in("o.standard_id", idList); + } queryWrapper.orderByDesc(CREATE_TIME); if (StringUtils.isNotBlank(splitFileInfo.getIds())){ queryWrapper.in("o.id", Arrays.asList(splitFileInfo.getIds().split(",")));