Ver Fonte

解决质检系统wbs树展示顺序错误的问题

lvy há 2 dias atrás
pai
commit
196b3ec67f

+ 5 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/utils/ComplexStringComparator.java

@@ -66,7 +66,11 @@ public class ComplexStringComparator<T> implements Comparator<T> {
 
         if (buffer.length() > 0) {
             if (numFlag == 1) {
-                parts.add(Integer.parseInt(buffer.toString()));
+                try {
+                    parts.add(Integer.parseInt(buffer.toString()));
+                } catch (NumberFormatException e) {
+                    parts.add(buffer.toString());
+                }
             } else {
                 parts.add(buffer.toString());
             }

+ 3 - 3
blade-service/blade-user/src/main/java/org/springblade/system/user/util/ComplexStringComparator.java

@@ -31,8 +31,8 @@ public class ComplexStringComparator<T> implements Comparator<T> {
             Object p1 = parts1.get(i);
             Object p2 = parts2.get(i);
 
-            if (p1 instanceof Long && p2 instanceof Long) {
-                int cmp = ((Long) p1).compareTo((Long) p2);
+            if (p1 instanceof Integer && p2 instanceof Integer) {
+                int cmp = ((Integer) p1).compareTo((Integer) p2);
                 if (cmp != 0) return cmp;
             } else {
                 int cmp = p1.toString().compareTo(p2.toString());
@@ -69,7 +69,7 @@ public class ComplexStringComparator<T> implements Comparator<T> {
         if (buffer.length() > 0) {
             if (numFlag == 1) {
                 try {
-                    parts.add(Long.parseLong(buffer.toString()));
+                    parts.add(Integer.parseInt(buffer.toString()));
                 } catch (NumberFormatException e) {
                     parts.add(buffer.toString());
                 }