Pārlūkot izejas kodu

7/30 外部检索逻辑更改

lwhhszx 1 gadu atpakaļ
vecāks
revīzija
679c3a58fb
19 mainītis faili ar 582 papildinājumiem un 22 dzēšanām
  1. 4 4
      src/main/java/cn/cslg/pas/common/config/WebSocketConfig.java
  2. 1 1
      src/main/java/cn/cslg/pas/common/utils/parseQueryToTree/expressManager.java
  3. 29 0
      src/main/java/cn/cslg/pas/factorys/GetWebIC1Query.java
  4. 50 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/FormWebQueryDateUtil.java
  5. 8 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/FormWebQueryFieldImp.java
  6. 47 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebAppNosQuery.java
  7. 27 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebCommonQuery.java
  8. 87 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebDateQuery.java
  9. 27 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC2Query.java
  10. 27 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC3Query.java
  11. 27 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC4Query.java
  12. 24 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC5Query.java
  13. 48 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebNosQuery.java
  14. 55 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebPatentNosQuery.java
  15. 40 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebPersonQuery.java
  16. 19 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebQueryFactory.java
  17. 28 0
      src/main/java/cn/cslg/pas/factorys/WebQueryFactory/WebQueryConfigVO.java
  18. 11 7
      src/main/java/cn/cslg/pas/service/query/FormatQueryService.java
  19. 23 10
      src/main/resources/jsons/webSearchConfig.json

+ 4 - 4
src/main/java/cn/cslg/pas/common/config/WebSocketConfig.java

@@ -6,8 +6,8 @@ import org.springframework.web.socket.server.standard.ServerEndpointExporter;
 
 @Configuration
 public class WebSocketConfig {
-    @Bean
-    public ServerEndpointExporter serverEndpointExporter() {
-        return new ServerEndpointExporter();
-    }
+//    @Bean
+//    public ServerEndpointExporter serverEndpointExporter() {
+//        return new ServerEndpointExporter();
+//    }
 }

+ 1 - 1
src/main/java/cn/cslg/pas/common/utils/parseQueryToTree/expressManager.java

@@ -268,7 +268,7 @@ public class expressManager {
                     if (temNode instanceof valueNode) {
                         lstValues.add(temNode);
                     } else {
-                        throw new Exception("无效的检索式!");
+                        throw  new Exception("无效的检索式!");
                     }
                 }
 

+ 29 - 0
src/main/java/cn/cslg/pas/factorys/GetWebIC1Query.java

@@ -0,0 +1,29 @@
+package cn.cslg.pas.factorys;
+
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.factorys.WebQueryFactory.FormWebQueryFieldImp;
+import cn.cslg.pas.factorys.WebQueryFactory.WebQueryConfigVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+public class GetWebIC1Query implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        if(value.length()!=1){
+            throw  new XiaoShiException("ipc部查询格式错误");
+        }
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 50 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/FormWebQueryDateUtil.java

@@ -0,0 +1,50 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.exception.XiaoShiException;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+
+public class FormWebQueryDateUtil {
+
+
+    public static String formatDate(String dateString, Boolean ifMax) {
+        try {
+            dateString = dateString.trim();
+            SimpleDateFormat sf1 = null;
+            if (dateString.length() == 4) {
+                sf1 = new SimpleDateFormat("yyyy");
+                Date date = sf1.parse(dateString);
+                if (ifMax) {
+                    return dateString + "1231";
+                } else {
+                    return dateString + "0101";
+                }
+            } else if (dateString.length() == 6) {
+                sf1 = new SimpleDateFormat("yyyyMM");
+                Date date = sf1.parse(dateString);
+                if (ifMax) {
+                    Calendar calendar = Calendar.getInstance();
+                    calendar.setTime(date);
+                    Integer day = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+                    String dayStr =day>=10?day+"":"0"+day;
+                    return dateString+dayStr;
+                } else {
+                    return dateString + "01";
+                }
+
+            } else if (dateString.length() == 8) {
+                sf1 = new SimpleDateFormat("yyyyMMdd");
+                Date date = sf1.parse(dateString);
+                return dateString;
+            }
+          else {
+                throw new XiaoShiException("格式化错误");
+            }
+        } catch (Exception e) {
+            throw new XiaoShiException("格式化错误");
+        }
+    }
+}

+ 8 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/FormWebQueryFieldImp.java

@@ -0,0 +1,8 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+
+import cn.cslg.pas.common.model.cronModel.SqlObject;
+
+public interface FormWebQueryFieldImp {
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO);
+}

+ 47 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebAppNosQuery.java

@@ -0,0 +1,47 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.utils.PatentNoUtil;
+import cn.cslg.pas.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebAppNosQuery implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value = webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        value = value.trim();
+        String[] valueStrs = value.split("\\s+");
+        List<String> queryLists = new ArrayList<>();
+
+        for (int i = 0; i < valueStrs.length; i++) {
+            valueStrs[i] = valueStrs[i].toUpperCase();
+            if (valueStrs[i].startsWith("ZL")) {
+                valueStrs[i] = valueStrs[i].replace("ZL", "CN");
+            }
+            String newValue = PatentNoUtil.formatApNo(valueStrs[i]);
+            String partQuery = newValue + option + filed;
+
+            queryLists.add(partQuery);
+        }
+        String reQuery = StringUtils.join(queryLists, "+");
+
+        if (valueStrs.length > 1) {
+            reQuery = "(" + reQuery + ")";
+        }
+        return reQuery;
+    }
+
+
+}

+ 27 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebCommonQuery.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebCommonQuery implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 87 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebDateQuery.java

@@ -0,0 +1,87 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebDateQuery implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value = webQueryConfigVO.getValue();
+        value = value.trim();
+        String filed = webQueryConfigVO.getSqlField();
+        String orgOption = webQueryConfigVO.getOption();
+        String option = "/";
+        String reQuery = "";
+        if (orgOption.equals("=")) {
+            String[] valueStrs = value.split("~");
+            if (valueStrs.length > 1) {
+                String date1 = FormWebQueryDateUtil.formatDate(valueStrs[0], false);
+                String date2 = FormWebQueryDateUtil.formatDate(valueStrs[1], true);
+                value = date1 + ">" + date2;
+                reQuery = value + option + filed;
+            } else {
+                reQuery = value + option + filed;
+            }
+        } else if (orgOption.equals(">")) {
+            Date date = new Date();
+            SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
+            String nowDate = sf1.format(date);
+            String dateStr1 = FormWebQueryDateUtil.formatDate(value, true);
+            try {
+                Date date1 = sf1.parse(dateStr1);
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(date1);
+                calendar.add(Calendar.DATE, 1);
+                dateStr1 = sf1.format(calendar.getTime());
+            } catch (Exception e) {
+            }
+            value = dateStr1 + ">" + nowDate;
+            reQuery = value + option + filed;
+        } else if (orgOption.equals(">=")) {
+            Date date = new Date();
+            SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
+            String nowDate = sf1.format(date);
+            String date1 = FormWebQueryDateUtil.formatDate(value, true);
+            value = date1 + ">" + nowDate;
+            reQuery = value + option + filed;
+        }
+
+        else if (orgOption.equals("<")) {
+
+            SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
+            String lastDate = "18000101";
+            String dateStr1 = FormWebQueryDateUtil.formatDate(value, true);
+            try {
+                Date date1 = sf1.parse(dateStr1);
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTime(date1);
+                calendar.add(Calendar.DATE, -1);
+                dateStr1 = sf1.format(calendar.getTime());
+            } catch (Exception e) {
+            }
+            value = lastDate + ">" + dateStr1;
+            reQuery = value + option + filed;
+        } else if (orgOption.equals("<=")) {
+            String lastDate = "18000101";
+            SimpleDateFormat sf1 = new SimpleDateFormat("yyyyMMdd");
+            String date1 = FormWebQueryDateUtil.formatDate(value, true);
+            value = lastDate + ">" + date1;
+            reQuery = value + option + filed;
+        }
+
+        return reQuery;
+    }
+
+
+}

+ 27 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC2Query.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.exception.XiaoShiException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+public class GetWebIC2Query implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        if(value.length()!=3){
+            throw  new XiaoShiException("ipc大类查询格式错误");
+        }
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 27 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC3Query.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.exception.XiaoShiException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+public class GetWebIC3Query implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        if(value.length()!=4){
+            throw  new XiaoShiException("ipc小类查询格式错误");
+        }
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 27 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC4Query.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.exception.XiaoShiException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+public class GetWebIC4Query implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        if(value.length()!=9){
+            throw  new XiaoShiException("ipc大组查询格式错误");
+        }
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 24 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebIC5Query.java

@@ -0,0 +1,24 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.exception.XiaoShiException;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+
+@Slf4j
+@Component
+public class GetWebIC5Query implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        return value +option+ filed;
+    }
+
+
+}

+ 48 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebNosQuery.java

@@ -0,0 +1,48 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.model.cronModel.SqlObject;
+import cn.cslg.pas.common.utils.StringUtils;
+import cn.cslg.pas.factorys.getSqlFactorys.GetSqlObject;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebNosQuery implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        value =value.trim();
+        String[] valueStrs =value.split("\\s+");
+        List<String> queryLists=new ArrayList<>();
+
+        for(int i=0;i< valueStrs.length;i++){
+            valueStrs[i] =valueStrs[i].toUpperCase();
+            if(valueStrs[i].startsWith("ZL"))
+            {
+              valueStrs[i] =valueStrs[i].replace("ZL","CN");
+            }
+            String partQuery=valueStrs[i]+option+filed;
+            queryLists.add(partQuery);
+        }
+     String reQuery=   StringUtils.join(queryLists,"+");
+
+        if(valueStrs.length>1){
+            reQuery ="("+reQuery+")";
+        }
+        return reQuery;
+    }
+
+
+}

+ 55 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebPatentNosQuery.java

@@ -0,0 +1,55 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.utils.PatentNoUtil;
+import cn.cslg.pas.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebPatentNosQuery implements FormWebQueryFieldImp {
+    private static List<String> fields = new ArrayList<String>(Arrays.asList("ANO", "GN", "PN", "PR"));
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value = webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        value = value.trim();
+        String[] valueStrs = value.split("\\s+");
+        List<String> queryLists = new ArrayList<>();
+
+        for (int i = 0; i < valueStrs.length; i++) {
+            String valueStr = valueStrs[i];
+            valueStr = valueStr.toUpperCase();
+            if (valueStr.startsWith("ZL")) {
+                valueStr = valueStr.replace("ZL", "CN");
+            }
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append("(");
+            stringBuilder.append(PatentNoUtil.formatApNo(valueStr) + option + "AN");
+            for (String item : fields) {
+                stringBuilder.append("+");
+                stringBuilder.append(valueStr + option + item);
+            }
+            stringBuilder.append(")");
+            queryLists.add(stringBuilder.toString());
+        }
+        String reQuery = StringUtils.join(queryLists, "+");
+
+        if (valueStrs.length > 1) {
+            reQuery = "(" + reQuery + ")";
+        }
+        return reQuery;
+    }
+
+
+}

+ 40 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebPersonQuery.java

@@ -0,0 +1,40 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+@Slf4j
+@Component
+public class GetWebPersonQuery implements FormWebQueryFieldImp {
+
+    @Override
+    public String getWebQuery(WebQueryConfigVO webQueryConfigVO) {
+        String value =webQueryConfigVO.getValue();
+        String filed = webQueryConfigVO.getSqlField();
+        String option = webQueryConfigVO.getOption();
+        if (option.equals("=")) {
+            option = "/";
+        }
+        value =value.trim();
+        String[] valueStrs =value.split("\\s+");
+        List<String> queryLists=new ArrayList<>();
+
+        for(int i=0;i< valueStrs.length;i++){
+            String partQuery=valueStrs[i]+option+filed;
+            queryLists.add(partQuery);
+        }
+     String reQuery=   StringUtils.join(queryLists,"+");
+
+        if(valueStrs.length>1){
+            reQuery ="("+reQuery+")";
+        }
+        return reQuery;
+    }
+
+
+}

+ 19 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/GetWebQueryFactory.java

@@ -0,0 +1,19 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import cn.cslg.pas.factorys.getSqlFactorys.GetSqlObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.Map;
+
+@Component
+public class GetWebQueryFactory {
+    @Autowired
+    private Map<String, FormWebQueryFieldImp> getWebQueryMap;
+
+
+    public FormWebQueryFieldImp getClass(String sqlType) {
+        FormWebQueryFieldImp bean1 = getWebQueryMap.get(sqlType);
+        return bean1;
+    }
+}

+ 28 - 0
src/main/java/cn/cslg/pas/factorys/WebQueryFactory/WebQueryConfigVO.java

@@ -0,0 +1,28 @@
+package cn.cslg.pas.factorys.WebQueryFactory;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * @author 沈永艺
+ * @date 2022-8-4
+ * @description 人员类 前台对应实体
+ */
+
+@Data
+@Accessors(chain = true)
+public class WebQueryConfigVO {
+    /**
+     * ID
+     */
+    private String field;
+    private String sqlField;
+    private String value;
+    private String sqlClass;
+    private String option;
+    private Boolean ifSearch;
+    private Boolean ifAsCondition;
+
+}

+ 11 - 7
src/main/java/cn/cslg/pas/service/query/FormatQueryService.java

@@ -14,6 +14,9 @@ import cn.cslg.pas.exception.ConditionException;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.factorys.EsBuilderFactory.EsBuilderFactory;
 import cn.cslg.pas.factorys.EsBuilderFactory.IQueryBuilder;
+import cn.cslg.pas.factorys.WebQueryFactory.FormWebQueryFieldImp;
+import cn.cslg.pas.factorys.WebQueryFactory.GetWebQueryFactory;
+import cn.cslg.pas.factorys.WebQueryFactory.WebQueryConfigVO;
 import cn.cslg.pas.factorys.getOrderFactory.GetOrderFactory;
 import cn.cslg.pas.factorys.getOrderFactory.GetOrderObject;
 import cn.cslg.pas.factorys.getSqlFactorys.GetSqlFactory;
@@ -51,7 +54,8 @@ public class FormatQueryService {
 
     @Autowired
     private EsBuilderFactory esBuilderFactory;
-
+    @Autowired
+    private GetWebQueryFactory getWebQueryFactory;
 
     public String getText(String text) throws Exception {
         treeNode tree = expressManager.getInstance().Parse(text, false);
@@ -554,12 +558,12 @@ public class FormatQueryService {
         if(node instanceof valueNode){
             valueNode valuenode =(valueNode) node;
             String json = CommonService.readJsonFile(tableName + ".json");
-            List<SqlObject> sqlObjects = JSON.parseArray(json, SqlObject.class);
-            SqlObject sqlObject = sqlObjects.stream().filter(item -> item.getField().equals(field)).findFirst().orElse(null);
-            sqlObject.setOption(option);
-            GetSqlObject getSqlObject =getSqlFactory.getClass(sqlObject.getSqlClass());
-            getSqlObject.setSqlObject(sqlObject);
-           return getSqlObject.getSql(valuenode.getvalue());
+            List<WebQueryConfigVO> webQueryConfigVOS = JSON.parseArray(json, WebQueryConfigVO.class);
+            WebQueryConfigVO webQueryConfigVO = webQueryConfigVOS.stream().filter(item -> item.getField().equals(field)).findFirst().orElse(null);
+            webQueryConfigVO.setOption(option);
+            FormWebQueryFieldImp formWebQueryFieldImp =getWebQueryFactory.getClass(webQueryConfigVO.getSqlClass());
+            webQueryConfigVO.setValue(valuenode.getvalue());
+           return formWebQueryFieldImp.getWebQuery(webQueryConfigVO);
         }
         else {
             operateNode operatenode =(operateNode)node;

+ 23 - 10
src/main/resources/jsons/webSearchConfig.json

@@ -18,7 +18,7 @@
     "value": "TI",
     "field": "TI",
     "sqlField": "TI",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebCommonQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -57,7 +57,7 @@
     "value": "AN",
     "field": "AN",
     "sqlField": "AN",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebAppNosQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -70,7 +70,7 @@
     "value": "ANO",
     "field": "ANO",
     "sqlField": "TX",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebNosQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -83,7 +83,7 @@
     "value": "GN",
     "field": "GN",
     "sqlField": "GN",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebNosQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -97,7 +97,20 @@
     "value": "PN",
     "field": "PN",
     "sqlField": "PN",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebNosQuery",
+    "orderClass": "",
+    "groupClass": "",
+    "ifSearch": "true",
+    "ifGroup": "false",
+    "ifShow": "false"
+  },
+  {
+    "name": "NO",
+    "type": "Integer",
+    "value": "NO",
+    "field": "NO",
+    "sqlField": "NO",
+    "sqlClass": "getWebPatentNosQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -110,7 +123,7 @@
     "value": "PR",
     "field": "PR",
     "sqlField": "PR",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebNosQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -188,7 +201,7 @@
     "value": "AD",
     "field": "AD",
     "sqlField": "AD",
-    "sqlClass": "getWebDateSql",
+    "sqlClass": "getWebDateQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -201,7 +214,7 @@
     "value": "GD",
     "field": "GD",
     "sqlField": "GD",
-    "sqlClass": "getWebDateSql",
+    "sqlClass": "getWebDateQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -214,7 +227,7 @@
     "value": "PD",
     "field": "PD",
     "sqlField": "PD",
-    "sqlClass": "getWebDateSql",
+    "sqlClass": "getWebDateQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",
@@ -254,7 +267,7 @@
     "value": "PA",
     "field": "PA",
     "sqlField": "PA",
-    "sqlClass": "getWebQuerySql",
+    "sqlClass": "getWebPersonQuery",
     "orderClass": "",
     "groupClass": "",
     "ifSearch": "true",