Pārlūkot izejas kodu

公式说明优化

lvy 1 dienu atpakaļ
vecāks
revīzija
85dbc5a52e

+ 16 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ExcelTabServiceImpl.java

@@ -1401,6 +1401,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                 int index = 0;
                 if (resultFormData != null && resultFormData.getValues() != null) {
                     List<ElementData> values = resultFormData.getValues();
+                    if (values.size() == 1 && relyList.size() == 1) {
+                        index = -1;
+                    }
                     int x = 0, y = 0;
                     if (split1.length > 1 && split1[1].contains("_")) {
                         String[] point = split1[1].split("_");
@@ -1421,7 +1424,9 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                                 }
                             }
                             resultData = value;
-                            index = i;
+                            if (index > -1) {
+                                index = i;
+                            }
                             break;
                         }
                     }
@@ -1431,6 +1436,16 @@ public class ExcelTabServiceImpl extends BaseServiceImpl<ExcelTabMapper, ExcelTa
                     relyList.forEach(rely -> {
                         FormData formData = map.get(rely);
                         if (formData != null && formData.getValues() != null) {
+                            if (tempIndex == -1) {
+                                for (int i = 0; i < formData.getValues().size(); i++) {
+                                    ElementData elementData = formData.getValues().get(i);
+                                    if ((elementData ==  null || StringUtil.isBlank(elementData.stringValue())) && formData.getInitial() != null && formData.getInitial().size() > i ) {
+                                        elementData = formData.getInitial().get(i);
+                                    }
+                                    data.append(elementData == null || elementData.getValue() == null ? "" : elementData.getValue().toString() + " ,");
+                                }
+                                return;
+                            }
                             if (formData.getValues().size() > tempIndex) {
                                 ElementData elementData = formData.getValues().get(tempIndex);
                                 if ((elementData ==  null || StringUtil.isBlank(elementData.stringValue())) && formData.getInitial() != null && formData.getInitial().size() > tempIndex ) {