| | |
| | | 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; |
| | |
| | | * @date 2024/4/3 |
| | | */ |
| | | public class FieldBuildUtil { |
| | | |
| | | /** |
| | | * 构建基础数据字段树形层级 |
| | | * |
| | |
| | | * @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<>(); |
| | | |
| | |
| | | String levelThreeCategory = tbField.getLevelThreeCategory(); |
| | | Long id = tbField.getId(); |
| | | String fieldName = tbField.getFieldName(); |
| | | String fieldValue = formatNumberWithCommas(item.getFieldValue()); |
| | | String fieldValue = item.getFieldValue(); |
| | | FieldsTreeVO field = new FieldsTreeVO(); |
| | | field.setId(id); |
| | | 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)) { |
| | |
| | | } |
| | | |
| | | 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); |
| | |
| | | * |
| | | * @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<>(); |
| | | |
| | |
| | | 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)) { |