Преглед изворни кода

Merge remote-tracking branch 'origin/dev' into dev

LHB пре 1 месец
родитељ
комит
8d74dc4acb

+ 7 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -766,7 +766,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 	public List<Map<String, String>> getAllArchiveAgeByContractType(Long projectId) {
 		List<Map<String, String>> list = baseMapper.getAllArchiveAgeByContractType(projectId);
 		return list;
-	}
+}
 
 	@Override
 	public void splitArchvies(Long projectId, Long contractId, Long nodeId) {
@@ -3121,7 +3121,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		for (ArchiveTreeContract contract : archiveTreeContracts) {
 			boolean isContractValid = contractId.toString().equals(contract.getTreeCode()) || contractId.equals(contract.getContractId());
 
-			if (StringUtils.isEmpty(treeCode)) {
+			if (StringUtils.isEmpty(treeCode) || treeCode.equals("S")) {
 				if (StringUtils.isNotEmpty(nodeId)) {
 					if (isNodeOrAncestor(contract, nodeId)) {
 						result.add(contract);
@@ -3204,14 +3204,14 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			}
 
 			// 根据treeCode决定额外条件
-			boolean isOwnerContract = StringUtils.isEmpty(treeCode); // 业主合同段标识
+			boolean isOwnerContract = (StringUtils.isEmpty(treeCode) || treeCode.equals("S")); // 业主合同段标识
 			boolean passesOwnerCheck = contractId.toString().equals(contract.getTreeCode())
 					|| contractId.equals(contract.getContractId())
 					|| StringUtils.isEmpty(contract.getTreeCode());
 
 			if (isOwnerContract) {
 				// 业主合同段:仅需额外检查(nodeId为空时)
-				if (passesOwnerCheck) {
+				if (true) {
 					result.add(contract);
 				}
 			} else {
@@ -5028,6 +5028,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		// 多个组的进行合并组操作
 		List<List<ArchiveFile>> nodeGroups = new ArrayList<>(nodeGroupMap.values());
 		List<List<ArchiveFile>> mergedGroups = new ArrayList<>();
+		List<Integer> mergedGroupsPageCount =  new ArrayList<>();
 
 		int i = 0;
 		while (i < nodeGroups.size()) {
@@ -5037,6 +5038,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			// 如果第一组页数和大于350,则第一组不合并
 			if (currentPages > 350) {
 				mergedGroups.add(currentMergedGroup);
+				mergedGroupsPageCount.add(currentPages);
 				i++;
 				continue;
 			}
@@ -5059,6 +5061,7 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 			}
 
 			mergedGroups.add(currentMergedGroup);
+			mergedGroupsPageCount.add(currentPages);
 			i = j; // 从下一个未处理的组继续
 		}