zero 1 år sedan
förälder
incheckning
cb6d69d4c2

+ 8 - 1
src/main/java/cn/cslg/pas/factorys/EsBuilderFactory/NumberQueryBuilder.java

@@ -6,6 +6,8 @@ import co.elastic.clients.json.JsonData;
 import org.springframework.stereotype.Component;
 
 import java.text.ParseException;
+import java.util.HashMap;
+import java.util.Map;
 
 @Component
 public class NumberQueryBuilder implements IQueryBuilder{
@@ -22,7 +24,12 @@ public class NumberQueryBuilder implements IQueryBuilder{
     @Override
     public Query creteQuery() throws ParseException {
         Query query = null;
-        if (operator.equals(GT)) {
+        if (value.contains("~")) {
+            String[] dates = value.split("~");
+            String date1 = dates[0];
+            String date2 = dates[1];
+            query = QueryBuilders.range(range -> range.field(field).gte(JsonData.of(date1)).lte(JsonData.of(date2)));
+        } else if (operator.equals(GT)) {
             query = QueryBuilders.range(range -> range.field(field).gt(JsonData.of(value)));
         } else if (operator.equals(GTE)) {
             query = QueryBuilders.range(range -> range.field(field).gte(JsonData.of(value)));

+ 1 - 1
src/main/resources/jsons/webSearchConfig.json

@@ -69,7 +69,7 @@
     "type": "Integer",
     "value": "ANO",
     "field": "ANO",
-    "sqlField": "TX",
+    "sqlField": "ANO",
     "sqlClass": "getWebNosQuery",
     "orderClass": "",
     "groupClass": "",

+ 140 - 80
src/test/java/cn/cslg/pas/service/EsSearchingTest.java

@@ -409,8 +409,8 @@ public class EsSearchingTest {
     @Test
     public void test12_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=CN"; //条件
-        String excepted = "F XX (CN/TX)";
+        String s = "ANO=202410428165"; //条件
+        String excepted = "F XX (202410428165/ANO)";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -445,8 +445,8 @@ public class EsSearchingTest {
     @Test
     public void test13_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=CN202410069972X"; //条件
-        String excepted = "F XX (CN202410069972X/TX)";
+        String s = "ANO=2024"; //条件
+        String excepted = "F XX (2024/ANO)";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -481,8 +481,8 @@ public class EsSearchingTest {
     @Test
     public void test14_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=202410069972.X"; //条件
-        String excepted = "F XX (202410069972.X/TX)";
+        String s = "ANO=202410"; //条件
+        String excepted = "F XX (202410/ANO)";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -517,8 +517,8 @@ public class EsSearchingTest {
     @Test
     public void test15_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=202410069972X"; //条件
-        String excepted = "F XX (202410069972X/TX)";
+        String s = "ANO=202410428"; //条件
+        String excepted = "F XX (202410428/ANO)";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -553,8 +553,8 @@ public class EsSearchingTest {
     @Test
     public void test16_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=(CN WO)"; //条件
-        String excepted = "F XX ((CN/TX+WO/TX))";
+        String s = "ANO=(202410428165 202410429732)"; //条件
+        String excepted = "F XX ((202410428165/ANO+202410429732/ANO))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -589,8 +589,8 @@ public class EsSearchingTest {
     @Test
     public void test17_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=(CN OR WO)"; //条件
-        String excepted = "F XX ((CN/TX+WO/TX))";
+        String s = "ANO=(202410428165 OR 202410428165)"; //条件
+        String excepted = "F XX ((202410428165/ANO+202410428165/ANO))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -625,8 +625,8 @@ public class EsSearchingTest {
     @Test
     public void test18_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=CN AND ANO=2024"; //条件
-        String excepted = "F XX ((CN/TX*2024/TX))";
+        String s = "ANO=2024 AND ANO=202410429732"; //条件
+        String excepted = "F XX ((2024/ANO*202410429732/ANO))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -661,8 +661,8 @@ public class EsSearchingTest {
     @Test
     public void test19_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=CN AND NOT ANO=2024"; //条件
-        String excepted = "F XX ((CN/TX*(/TI-2024/TX)))";
+        String s = "ANO=2024 AND NOT ANO=202410429732"; //条件
+        String excepted = "F XX ((2024/ANO*(/TI-202410429732/ANO)))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -697,8 +697,8 @@ public class EsSearchingTest {
     @Test
     public void test20_2() {
         //1、读取excel中的条件和预期值
-        String s = "ANO=(NOT CN)"; //条件
-        String excepted = "F XX ((/TI-CN/TX))";
+        String s = "ANO=(NOT 202410428165)"; //条件
+        String excepted = "F XX ((/TI-202410428165/ANO))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -733,8 +733,8 @@ public class EsSearchingTest {
     @Test
     public void test21_2() {
         //1、读取excel中的条件和预期值
-        String s = "NOT ANO=CN"; //条件
-        String excepted = "F XX ((/TI-CN/TX))";
+        String s = "NOT ANO=202410428165"; //条件
+        String excepted = "F XX ((/TI-202410428165/ANO))";
         //2、根据条件生成树结构
         final String s1 = formatQueryService.reQuery(s, "webSearchConfig");
         //3、将生成的树结构与预期值比较
@@ -7749,10 +7749,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test220() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7760,10 +7761,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test220_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"match\":{\"simple_family_num\":{\"query\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7772,10 +7774,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test221() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN>50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\">\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7783,10 +7786,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test221_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN>50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"simple_family_num\":{\"gt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7795,10 +7799,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test222() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN>=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\">=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7806,10 +7811,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test222_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN>=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"simple_family_num\":{\"gte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7818,10 +7824,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test223() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN<50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\"<\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7829,10 +7836,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test223_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN<50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"simple_family_num\":{\"lt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7841,10 +7849,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test224() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN<=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\"<=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7852,10 +7861,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test224_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN<=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"simple_family_num\":{\"lte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7864,10 +7874,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test225() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"SFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50~500\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7875,10 +7886,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test225_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "SFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"simple_family_num\":{\"gte\":\"50\",\"lte\":\"500\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7887,10 +7899,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test226() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7898,10 +7911,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test226_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"match\":{\"inpadoc_family_num\":{\"query\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7910,10 +7924,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test227() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN> 50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\">\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7921,10 +7936,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test227_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN> 50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"inpadoc_family_num\":{\"gt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7933,10 +7949,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test228() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN>=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\">=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7944,10 +7961,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test228_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN>=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"inpadoc_family_num\":{\"gte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7956,10 +7974,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test229() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN<50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\"<\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7967,10 +7986,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test229_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN<50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"inpadoc_family_num\":{\"lt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -7979,10 +7999,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test230() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN<=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\"<=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -7990,10 +8011,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test230_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN<=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"inpadoc_family_num\":{\"lte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8002,10 +8024,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test231() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"IFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50~500\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8013,10 +8036,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test231_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "IFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"inpadoc_family_num\":{\"gte\":\"50\",\"lte\":\"500\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8025,10 +8049,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test232() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8036,10 +8061,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test232_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"match\":{\"patsnap_family_num\":{\"query\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8048,10 +8074,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test233() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN>50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\">\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8059,10 +8086,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test233_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN>50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"patsnap_family_num\":{\"gt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8071,10 +8099,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test234() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN>=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\">=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8082,10 +8111,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test234_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN>=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"patsnap_family_num\":{\"gte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8094,10 +8124,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test235() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN<50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\"<\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8105,10 +8136,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test235_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN<50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"patsnap_family_num\":{\"lt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8117,10 +8149,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test236() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN<=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\"<=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8128,10 +8161,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test236_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN<=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"patsnap_family_num\":{\"lte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8140,10 +8174,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test237() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"PFN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50~500\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8151,10 +8186,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test237_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "PFN=50~500"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"patsnap_family_num\":{\"gte\":\"50\",\"lte\":\"500\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8163,10 +8199,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test238() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8174,10 +8211,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test238_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"match\":{\"quote_patent_no_num\":{\"query\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8186,10 +8224,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test239() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN>50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\">\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8197,10 +8236,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test239_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN>50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quote_patent_no_num\":{\"gt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8209,10 +8249,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test240() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN>=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\">=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8220,10 +8261,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test240_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN>=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quote_patent_no_num\":{\"gte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8232,10 +8274,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test241() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN<50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\"<\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8243,10 +8286,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test241_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN<50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quote_patent_no_num\":{\"lt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8255,10 +8299,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test242() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN<=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\"<=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8266,10 +8311,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test242_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN<=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quote_patent_no_num\":{\"lte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8278,10 +8324,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test243() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN=50~500"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QPN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50~500\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8289,10 +8336,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test243_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QPN=50~500"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quote_patent_no_num\":{\"gte\":\"50\",\"lte\":\"500\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8301,10 +8349,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test244() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8312,10 +8361,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test244_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"match\":{\"quoted_patent_no_num\":{\"query\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8324,10 +8374,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test245() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN>50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\">\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8335,10 +8386,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test245_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN>50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quoted_patent_no_num\":{\"gt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8347,10 +8399,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test246() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN>=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\">=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\">=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8358,10 +8411,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test246_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN>=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quoted_patent_no_num\":{\"gte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8370,10 +8424,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test247() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN<50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\"<\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8381,10 +8436,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test247_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN<50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quoted_patent_no_num\":{\"lt\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8393,10 +8449,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test248() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN<=50"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\"<=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"<=\",\"type\":1},\"right\":{\"value\":\"50\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8404,10 +8461,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test248_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN<=50"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quoted_patent_no_num\":{\"lte\":\"50\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
@@ -8416,10 +8474,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, queryStr);
     }
 
+    @Test
     public void test249() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN=50~500"; //条件
-        String excepted = "";
+        String excepted = "{\"left\":{\"value\":\"QDPN\"},\"operate\":{\"code\":\"=\",\"operateValue\":2,\"priorityVale\":20,\"showName\":\"=\",\"type\":1},\"right\":{\"value\":\"50~500\"}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         String treeJson = JSONObject.toJSONString(tree, SerializerFeature.DisableCircularReferenceDetect);
@@ -8427,10 +8486,11 @@ public class EsSearchingTest {
         Assertions.assertEquals(excepted, treeJson);
     }
 
+    @Test
     public void test249_1() throws Exception {
         //1、读取excel中的条件和预期值
         String s = "QDPN=50~500"; //条件
-        String excepted = "";
+        String excepted = "Query: {\"range\":{\"quoted_patent_no_num\":{\"gte\":\"50\",\"lte\":\"500\"}}}";
         //2、根据条件生成树结构
         treeNode tree = expressManager.getInstance().Parse(s, false);
         Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);

+ 27 - 0
src/test/java/cn/cslg/pas/service/EventServiceTests.java

@@ -27,7 +27,12 @@ import cn.cslg.pas.service.business.ReportTempleService;
 import cn.cslg.pas.service.business.es.*;
 import cn.cslg.pas.service.common.FileManagerService;
 import cn.cslg.pas.service.common.TranslateService;
+import cn.cslg.pas.service.query.FormatQueryService;
+import co.elastic.clients.elasticsearch.ElasticsearchClient;
 import co.elastic.clients.elasticsearch._types.query_dsl.Query;
+import co.elastic.clients.elasticsearch.core.SearchRequest;
+import co.elastic.clients.elasticsearch.core.SearchResponse;
+import co.elastic.clients.elasticsearch.core.search.Hit;
 import com.alibaba.fastjson.JSONObject;
 import org.apache.http.entity.ContentType;
 import org.junit.jupiter.api.Test;
@@ -593,4 +598,26 @@ public class EventServiceTests {
 
     }
 
+    @Autowired
+    private FormatQueryService formatQueryService;
+
+    @Autowired
+    private  ElasticsearchClient client;
+    @Test
+    public void test107() throws Exception {
+        String s = "IFN=3~4"; //条件
+        SearchRequest.Builder builder = new SearchRequest.Builder();
+        //设置查询索引
+        builder.index("patent");
+        //2、根据条件生成树结构
+        treeNode tree = expressManager.getInstance().Parse(s, false);
+        Query query = formatQueryService.EsQueryToQuery((operateNode) tree, "patent", 331);
+        builder.query(query);
+        SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
+        final List<Hit<Patent>> hits = response.hits().hits();
+        for (Hit<Patent> hit : hits) {
+            System.out.println(1);
+        }
+    }
+
 }