From 604d00f67ddcf25a9d079ceddd1c668b2a4e5288 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 19 四月 2024 15:08:22 +0800
Subject: [PATCH] bug修复

---
 ruoyi-system/src/main/java/com/ruoyi/system/utils/FieldBuildUtil.java |   41 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 37 insertions(+), 4 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/utils/FieldBuildUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/utils/FieldBuildUtil.java
index 47fbb5a..11e3494 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/utils/FieldBuildUtil.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/utils/FieldBuildUtil.java
@@ -1,10 +1,12 @@
 package com.ruoyi.system.utils;
 
+import com.ruoyi.common.enums.FieldInputTypeEnum;
+import com.ruoyi.common.enums.FieldTypeEnum;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.system.domain.TbBasicDataField;
 import com.ruoyi.system.domain.TbField;
 import com.ruoyi.system.vo.FieldsTreeVO;
-
+import java.text.DecimalFormat;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -14,6 +16,7 @@
  * @date 2024/4/3
  */
 public class FieldBuildUtil {
+
     /**
      * 构建基础数据字段树形层级
      *
@@ -21,7 +24,8 @@
      * @param fieldMap        字段Map
      * @param roots           返回的vo
      */
-    public static void buildTreeStructure(List<TbBasicDataField> basicDataFields, Map<Long, TbField> fieldMap, List<FieldsTreeVO> roots) {
+    public static void buildTreeStructure(List<TbBasicDataField> basicDataFields,
+            Map<Long, TbField> fieldMap, List<FieldsTreeVO> roots) {
         Map<String, FieldsTreeVO> levelTwoMap = new HashMap<>();
         Map<String, FieldsTreeVO> levelThreeMap = new HashMap<>();
 
@@ -39,6 +43,12 @@
                 field.setName(fieldName);
                 field.setValue(fieldValue);
                 field.setCategory(Boolean.FALSE);
+                field.setFieldType(tbField.getFieldType());
+                if (tbField.getFieldType().equals(FieldTypeEnum.TEXT) && tbField.getTextInputType()
+                        .equals(FieldInputTypeEnum.FIXED_CONTENT)) {
+                    field.setDropdown(tbField.getTextContent());
+                    field.setDropdownState(Boolean.TRUE);
+                }
                 FieldsTreeVO levelOneField = null;
                 for (FieldsTreeVO root : roots) {
                     if (root.getName().equals(levelOneCategory)) {
@@ -62,7 +72,8 @@
                     }
 
                     if (StringUtils.isNotBlank(levelThreeCategory)) {
-                        FieldsTreeVO levelThreeField = levelThreeMap.getOrDefault(levelThreeCategory, null);
+                        FieldsTreeVO levelThreeField = levelThreeMap.getOrDefault(
+                                levelThreeCategory, null);
                         if (levelThreeField == null) {
                             levelThreeField = new FieldsTreeVO();
                             levelThreeField.setName(levelThreeCategory);
@@ -85,7 +96,8 @@
      *
      * @param tbFieldList 字段列表
      */
-    public static void buildTreeFromTbFieldList(List<TbField> tbFieldList, List<FieldsTreeVO> roots) {
+    public static void buildTreeFromTbFieldList(List<TbField> tbFieldList,
+            List<FieldsTreeVO> roots) {
         Map<String, FieldsTreeVO> levelOneMap = new HashMap<>();
         Map<String, FieldsTreeVO> levelTwoMap = new HashMap<>();
 
@@ -99,6 +111,12 @@
             field.setId(id);
             field.setName(fieldName);
             field.setCategory(Boolean.FALSE);
+            field.setFieldType(tbField.getFieldType());
+            if (tbField.getFieldType().equals(FieldTypeEnum.TEXT) &&
+                    tbField.getTextInputType().equals(FieldInputTypeEnum.FIXED_CONTENT)) {
+                field.setDropdown(tbField.getTextContent());
+                field.setDropdownState(Boolean.TRUE);
+            }
             FieldsTreeVO levelOneField = null;
             for (FieldsTreeVO root : roots) {
                 if (root.getName().equals(levelOneCategory)) {
@@ -134,4 +152,19 @@
             }
         }
     }
+
+    /**
+     * 数值类型格式化 数字类型字符串,每三位增加逗号
+     *
+     * @param fieldValue 整数类型的字符串
+     * @return 格式化后的值
+     */
+    public static String formatNumberWithCommas(String fieldValue) {
+        if (fieldValue != null && fieldValue.matches("\\d+")) {
+            DecimalFormat df = new DecimalFormat("#,###");
+            return df.format(Long.parseLong(fieldValue));
+        } else {
+            return fieldValue; // 不满足条件时返回传入的值
+        }
+    }
 }
\ No newline at end of file

--
Gitblit v1.7.1