fix(文档拆分): 标准树结构查询

This commit is contained in:
yjz
2024-07-01 17:36:05 +08:00
parent 7193c1ca70
commit f749fab720
2 changed files with 25 additions and 1 deletions
@@ -78,4 +78,8 @@ public class SplitFileInfo {
@TableField(exist = false)
@ApiModelProperty(value = "ids 查询用")
private String ids;
@TableField(exist = false)
@ApiModelProperty(value = "标准结构树 查询用")
private String standardSystem;
}
@@ -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<String> list = Arrays.asList(splitFileInfo.getStandardSystem().split(","));
List<LawsTreeNode> lawsTreeNodeList = lawsTreeNodeService.listByIds(list);
List<LawsNodeRelation> lawsNodeRelationList = lawsNodeRelationService.list(new LambdaQueryWrapper<LawsNodeRelation>()
.in(LawsNodeRelation::getNodeId, lawsTreeNodeList.stream().map(LawsTreeNode::getId)
.collect(Collectors.toList())));
if (lawsNodeRelationList.isEmpty()){
return new Page<>();
}
List<String> 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(",")));