|
@@ -2144,7 +2144,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
* @param nodeId 筛选条件:节点编号
|
|
|
* @return 符合条件的档案列表
|
|
|
*/
|
|
|
- public List<ArchiveTreeContract> archiveTreeContractFilter(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId,Long contractId) {
|
|
|
+ public List<ArchiveTreeContract> archiveTreeContractFilter1(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId,Long contractId) {
|
|
|
List<ArchiveTreeContract> result = new ArrayList<>();
|
|
|
|
|
|
if (contractId==null) {
|
|
@@ -2158,7 +2158,11 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
//如果还选择了节点
|
|
|
if (StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId)) {
|
|
|
result.add(contract);
|
|
|
+ }else if (contract.getId().toString().equals(nodeId)) {
|
|
|
+ result.add(contract);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}else{
|
|
|
if (StringUtils.isEmpty(contract.getTreeCode()) || contractId.toString().equals(contract.getTreeCode()) || contractId.equals(contract.getContractId())) {
|
|
|
result.add(contract);
|
|
@@ -2170,10 +2174,52 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
//如果还选择了节点
|
|
|
if (StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId)) {
|
|
|
result.add(contract);
|
|
|
+ }else if (contract.getId().toString().equals(nodeId) )
|
|
|
+ result.add(contract);
|
|
|
}
|
|
|
}else{
|
|
|
result.add(contract);
|
|
|
}
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ * 根据给定的条件过滤ArchiveTreeContract列表
|
|
|
+ *
|
|
|
+ * @param archiveTreeContracts 待过滤的ArchiveTreeContract列表
|
|
|
+ * @param treeCode 树代码
|
|
|
+ * @param nodeId 节点ID
|
|
|
+ * @param contractId 合同ID
|
|
|
+ * @return 过滤后的ArchiveTreeContract列表
|
|
|
+ */
|
|
|
+ public List<ArchiveTreeContract> archiveTreeContractFilter(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId, Long contractId) {
|
|
|
+ List<ArchiveTreeContract> result = new ArrayList<>();
|
|
|
+
|
|
|
+ if (contractId == null) {
|
|
|
+ return archiveTreeContracts;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (ArchiveTreeContract contract : archiveTreeContracts) {
|
|
|
+ boolean isContractValid = contractId.toString().equals(contract.getTreeCode()) || contractId.equals(contract.getContractId());
|
|
|
+
|
|
|
+ if (StringUtils.isEmpty(treeCode)) {
|
|
|
+ if (StringUtils.isNotEmpty(nodeId)) {
|
|
|
+ if (isNodeOrAncestor(contract, nodeId) && isContractValid) {
|
|
|
+ result.add(contract);
|
|
|
+ }
|
|
|
+ } else if (isContractValid || StringUtils.isEmpty(contract.getTreeCode())) {
|
|
|
+ result.add(contract);
|
|
|
+ }
|
|
|
+ } else if (treeCode.equals(contract.getTreeCode()) || isContractValid) {
|
|
|
+ if (StringUtils.isNotEmpty(nodeId)) {
|
|
|
+ if (isNodeOrAncestor(contract, nodeId) ) {
|
|
|
+ result.add(contract);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ result.add(contract);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -2181,6 +2227,11 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
+ private boolean isNodeOrAncestor(ArchiveTreeContract contract, String nodeId) {
|
|
|
+ return StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId) || contract.getId().toString().equals(nodeId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 带权限筛选的档案列表筛选函数
|
|
|
* 规则,1. 合同段ID为空,则不过滤
|