许鹏程
2025-02-08 61fc6b12f5231c50103849866fe2d094fc0b9936
列表表单支持配置是否搜索该字段
已修改2个文件
30 ■■■■■ 文件已修改
src/main/java/com/product/face/entity/FaceListEntity.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/face/service/FaceCacheService.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/product/face/entity/FaceListEntity.java
@@ -14,7 +14,6 @@
import com.product.core.entity.FieldSetEntity;
import com.product.core.spring.context.SpringBeanUtil;
import com.product.core.spring.context.SpringMVCContextHolder;
import com.product.face.config.FaceConst;
import com.product.module.sys.entity.SystemUser;
import com.product.util.BaseUtil;
@@ -108,8 +107,9 @@
     * @param columnWidth    列宽
     * @param sequence       排序
     * @param fieldReference 参照
     * @param search        是否搜索
     */
    public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference) {
    public void addField(String fieldName, String faceUuid, String columnName, String columnWidth, Integer sequence, String fieldReference, boolean search) {
        FaceField faceField = new FaceField();
        faceField.setFieldName(fieldName);
        faceField.setFieldUuid(faceUuid);
@@ -117,6 +117,7 @@
        faceField.setColumnWidth(columnWidth);
        faceField.setSequence(sequence);
        faceField.setFieldReference(fieldReference);
        faceField.setSearch(search);
        if (this.faceFields == null) {
            this.faceFields = Lists.newArrayList();
        }
@@ -274,6 +275,9 @@
        maps.put("filter", filters);
        for (int i = 0; i < faceFields.size(); i++) {
            FaceField faceField = faceFields.get(i);
            if (!faceField.isSearch()) {
                continue;
            }
            if (StringUtils.isEmpty(faceField.getFieldName()) || StringUtils.isEmpty(faceField.getFieldReference())) {
                if (poolCache == null) {
                    poolCache = DataPoolCacheImpl.getInstance();
@@ -375,6 +379,8 @@
         */
        private String fieldReference;
        private boolean search;
        public String getFieldReference() {
            return fieldReference;
        }
@@ -423,6 +429,13 @@
            this.sequence = sequence;
        }
        public boolean isSearch() {
            return search;
        }
        public void setSearch(boolean search) {
            this.search = search;
        }
    }
src/main/java/com/product/face/service/FaceCacheService.java
@@ -3,7 +3,6 @@
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;
import com.product.common.lang.StringUtils;
import com.product.core.cache.util.RedisUtil;
import com.product.core.entity.DataTableEntity;
@@ -12,7 +11,6 @@
import com.product.face.config.FaceConst;
import com.product.face.entity.FaceEntity;
import com.product.face.entity.FaceListEntity;
import com.product.face.entity.TableColumn;
import com.product.face.util.FaceUtil;
import com.product.util.BaseUtil;
import org.springframework.stereotype.Service;
@@ -153,7 +151,6 @@
        String treeDataSource = fse.getString("tree_datasource");
        String treeLabelKey = fse.getString("tree_label_key");
        String treeValueKey = fse.getString("tree_value_key");
        List<TableColumn> result = Lists.newArrayList();
        FaceListEntity faceListEntity = new FaceListEntity();
        faceListEntity.setFaceName(faceNumber);
        faceListEntity.setTableUuid(tableUuid);
@@ -164,7 +161,6 @@
        faceListEntity.setTreeLabelKey(treeLabelKey);
        faceListEntity.setTreeValueKey(treeValueKey);
        for (int i = 0; i < tableColumns.size(); i++) {
            TableColumn tableColumn = new TableColumn();
            JSONObject columnJson = tableColumns.getJSONObject(i);
            String fieldName = columnJson.getString(FaceConst.FIELD_PROPERTY_VMODEL);
            if (StringUtils.isEmpty(fieldName)) {
@@ -175,21 +171,16 @@
            JSONObject config = columnJson.getJSONObject(FaceConst.FIELD_PROPERTY_CONFIG);
            Object setWidth = config.get("setWidth");
            if (!StringUtils.isEmpty(setWidth)) {
                tableColumn.setColumnWidth(setWidth + "%");
            }
            FieldSetEntity fieldInfo = BaseUtil.getSingleInfoByCache("表字段信息", new String[]{tableUuid, fieldName});
            String label = config.getString(FaceConst.FIELD_PROPERTY_LABEL);
            boolean search  = !"0".equals(config.getString("isSearch"));
            String fieldUuid = null;
            String fieldReference = null;
            if (!FieldSetEntity.isEmpty(fieldInfo)) {
                fieldUuid = fieldInfo.getString(FaceConst.UUID);
                fieldReference = fieldInfo.getString(FaceConst.FIELD_FIELD_REFERENCE);
            }
            faceListEntity.addField(fieldName, fieldUuid, label, tableColumn.getColumnWidth(), i, fieldReference);
            tableColumn.setField(fieldName);
            tableColumn.setTitle(config.getString(FaceConst.FIELD_PROPERTY_LABEL));
            result.add(tableColumn);
            faceListEntity.addField(fieldName, fieldUuid, label, !StringUtils.isEmpty(setWidth)? setWidth+"%" : null, i, fieldReference,search);
        }
        //验证表单中的字段是否存在
        if (faceListEntity != null && !CollectionUtil.isEmpty(faceListEntity.getFaceFields())) {