浏览代码

修改html中的maxlenth与元素库长度保持一致

lvy 1 月之前
父节点
当前提交
299b4519a5

+ 17 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -790,6 +790,23 @@ public class ExcelTabController extends BladeController {
                 this.excelTabService.gsColor(pkeyId, process.getPKeyId().toString(), wbsTreeContract.getProjectId(), doc);
             }
             doc.select("Col").remove();
+            org.springblade.manager.entity.TableInfo tableInfo = this.tableInfoService.getOne(Wrappers.<org.springblade.manager.entity.TableInfo>lambdaQuery().select(org.springblade.manager.entity.TableInfo::getId)
+                    .eq(org.springblade.manager.entity.TableInfo::getTabEnName, wbsTreeContract.getInitTableName()).eq(org.springblade.manager.entity.TableInfo::getIsDeleted, 0).last("limit 1"));
+            if (tableInfo != null ) {
+                List<WbsFormElement> list = this.wbsFormElementService.list(Wrappers.<WbsFormElement>lambdaQuery().select(WbsFormElement::getEKey, WbsFormElement::getELength)
+                        .eq(WbsFormElement::getFId, tableInfo.getId()).eq(WbsFormElement::getIsDeleted, 0));
+                if (list != null && !list.isEmpty()) {
+                    Map<String, Integer> keyNameMap = list.stream().filter(wbsFormElement -> wbsFormElement.getELength() != null).collect(Collectors.toMap(WbsFormElement::getEKey, WbsFormElement::getELength, (v1, v2) -> v1 > v2 ? v1 : v2));
+                    Elements keyNames = table.getElementsByAttribute("keyname");
+                    keyNames.forEach(element -> {
+                        String key = element.attr("keyname");
+                        Integer length = keyNameMap.get(key.split("__")[0]);
+                        if (length != null) {
+                            element.attr("maxlength", length.toString());
+                        }
+                    });
+                }
+            }
             fileInputStream.close();
             return R.data(table + "");
         } catch (Exception e) {