From 256c59555e2a5dffdd6d127a519d4f0944b80e7f Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期三, 14 五月 2025 16:29:38 +0800
Subject: [PATCH] #物料表动态字段搜索

---
 rsf-server/src/main/java/com/vincent/rsf/server/common/domain/BaseParam.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/BaseParam.java b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/BaseParam.java
index e39e208..6ee5310 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/BaseParam.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/common/domain/BaseParam.java
@@ -1,10 +1,16 @@
 package com.vincent.rsf.server.common.domain;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.vincent.rsf.common.utils.Utils;
+import com.vincent.rsf.framework.common.SpringUtils;
+import com.vincent.rsf.server.system.entity.Fields;
+import com.vincent.rsf.server.system.service.FieldsService;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -36,6 +42,9 @@
 
     @TableField(exist = false)
     private Map<String, Object> map;
+
+    @TableField(exist = false)
+    private Map<String, Object> fields = new HashMap<>();
 
     public void syncMap(Map<String, Object> map) {
         if (null == map) {
@@ -69,6 +78,20 @@
             this.setCondition(String.valueOf(map.get("condition")));
             map.remove("condition");
         }
+
+        FieldsService fieldsService = SpringUtils.getBean(FieldsService.class);
+        List<Fields> fields = fieldsService.list(new LambdaQueryWrapper<Fields>().eq(Fields::getFlagEnable, 1).eq(Fields::getStatus, 1));
+        if (!fields.isEmpty()) {
+            for (Fields fields1 : fields) {
+                if (null !=map.get(fields1.getFields())){
+                    this.fields.put(fields1.getFields(), map.get(fields1.getFields()));
+                    map.entrySet().removeIf(next -> next.getKey().equals(fields1.getFields())
+                    );
+                }
+            }
+
+        }
+
         this.setMap(map);
     }
 

--
Gitblit v1.9.1