Browse Source

Merge branch 'test-merge' of http://219.151.181.73:3000/zhuwei/bladex into test-merge

lvy 14 hours ago
parent
commit
0c143b9701

+ 34 - 3
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ArchivesAutoServiceImpl.java

@@ -5747,7 +5747,6 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 		updateIds.add(archivesAuto.getId());
 		if(!dto.getList().isEmpty()){
 			archivesAuto.setIsVolume(1);
-			archivesAuto.setVolumeIds("");
 			int x=1;
 			for (SaveVolumeDto1 saveVolumeDto1 : dto.getList()) {
 				Long archiveId;
@@ -5757,8 +5756,40 @@ public class ArchivesAutoServiceImpl extends BaseServiceImpl<ArchivesAutoMapper,
 					auto.setId(SnowFlakeUtil.getId());
 					auto.setName(saveVolumeDto1.getArchiveName());
 					auto.setIsVolume(2);
-					auto.setTreeSort(archivesAuto.getTreeSort()+x);
-					auto.setAutoFileSort(archivesAuto.getAutoFileSort()+x);
+					String treeSort = archivesAuto.getTreeSort();
+					if (treeSort == null) {
+						auto.setTreeSort("");
+					} else {
+						// 确保字符串至少有2位
+						if (treeSort.length() >= 2) {
+							// 截取最后两位
+							String lastTwoDigits = treeSort.substring(treeSort.length() - 2);
+							try {
+								// 转换为数字并加上x
+								int lastNumber = Integer.parseInt(lastTwoDigits);
+								int newNumber = lastNumber + x;
+								// 格式化为两位数字符串
+								String newLastDigits = String.format("%02d", newNumber);
+								// 替换最后两位
+								String newTreeSort = treeSort.substring(0, treeSort.length() - 2) + newLastDigits;
+								auto.setTreeSort(newTreeSort);
+							} catch (NumberFormatException e) {
+								// 如果转换失败,保持原值
+								auto.setTreeSort(treeSort);
+							}
+						} else {
+							// 如果字符串长度不足2位,直接加上x
+							try {
+								int number = Integer.parseInt(treeSort) + x;
+								auto.setTreeSort(String.valueOf(number));
+							} catch (NumberFormatException e) {
+								auto.setTreeSort(treeSort);
+							}
+						}
+					}
+					if(archivesAuto.getAutoFileSort()!=null){
+						auto.setAutoFileSort(archivesAuto.getAutoFileSort()+x);
+					}
 					x++;
 					archiveId= auto.getId();
 					baseMapper.insert(auto);

+ 8 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -255,6 +255,14 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
             tenantId = StringPool.EMPTY;
         }
         List<ExceTabTreVO> ls = baseMapper.tabLazyTree(tenantId, modeId, parentId + "");
+        if(ls.stream().anyMatch(f -> f.getFileType() == 3)){
+            Comparator<ExceTabTreVO> safeComparator = Comparator
+                    .comparing(ExceTabTreVO::getSort, Comparator.nullsFirst(Comparator.naturalOrder()))
+                    .thenComparing(new ComplexStringComparator<>(obj ->
+                            obj.getName() != null ? obj.getName() : ""));
+            //对结果进行排序
+            ls.sort(safeComparator);
+        }
         return ForestNodeMerger.merge(ls);
     }