|
@@ -1524,7 +1524,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 单租组卷流程 20230628 SBD又说单独组卷规则节点下只组一卷,不用满规格新组。这辈子没见过这样的人。
|
|
|
|
|
|
+ * 单租组卷流程 20230628 SBD又说单独组卷规则节点下只组一卷,不用满规格新组。
|
|
*
|
|
*
|
|
* @param list
|
|
* @param list
|
|
* @param boxMap
|
|
* @param boxMap
|
|
@@ -2414,7 +2414,44 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
|
|
* @param nodeId 筛选条件:节点编号
|
|
* @param nodeId 筛选条件:节点编号
|
|
* @return 符合条件的档案列表
|
|
* @return 符合条件的档案列表
|
|
*/
|
|
*/
|
|
|
|
+
|
|
public List<ArchiveTreeContract> archiveTreeContractFilterNum(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId, Long contractId) {
|
|
public List<ArchiveTreeContract> archiveTreeContractFilterNum(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId, Long contractId) {
|
|
|
|
+ if (contractId == null) {
|
|
|
|
+ return archiveTreeContracts;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ List<ArchiveTreeContract> result = new ArrayList<>();
|
|
|
|
+ for (ArchiveTreeContract contract : archiveTreeContracts) {
|
|
|
|
+ // 核心逻辑:nodeId不为空时必须满足祖先/ID条件
|
|
|
|
+ if (StringUtils.isNotEmpty(nodeId)) {
|
|
|
|
+ boolean matchesNode = (StringUtils.isNotEmpty(contract.getAncestors()) && contract.getAncestors().contains(nodeId))
|
|
|
|
+ || contract.getId().toString().equals(nodeId);
|
|
|
|
+ if (!matchesNode) {
|
|
|
|
+ continue; // 不满足node条件直接跳过
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 根据treeCode决定额外条件
|
|
|
|
+ boolean isOwnerContract = StringUtils.isEmpty(treeCode); // 业主合同段标识
|
|
|
|
+ boolean passesOwnerCheck = contractId.toString().equals(contract.getTreeCode())
|
|
|
|
+ || contractId.equals(contract.getContractId())
|
|
|
|
+ || StringUtils.isEmpty(contract.getTreeCode());
|
|
|
|
+
|
|
|
|
+ if (isOwnerContract) {
|
|
|
|
+ // 业主合同段:仅需额外检查(nodeId为空时)
|
|
|
|
+ if (passesOwnerCheck) {
|
|
|
|
+ result.add(contract);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ // 非业主合同段:treeCode匹配或额外检查
|
|
|
|
+ if (treeCode.equals(contract.getTreeCode()) || passesOwnerCheck) {
|
|
|
|
+ result.add(contract);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return result;
|
|
|
|
+ }
|
|
|
|
+ public List<ArchiveTreeContract> archiveTreeContractFilterNum1(List<ArchiveTreeContract> archiveTreeContracts, String treeCode, String nodeId, Long contractId) {
|
|
List<ArchiveTreeContract> result = new ArrayList<>();
|
|
List<ArchiveTreeContract> result = new ArrayList<>();
|
|
|
|
|
|
if (contractId == null) {
|
|
if (contractId == null) {
|