zero hai 1 ano
pai
achega
113d17e632

+ 33 - 15
src/main/java/cn/cslg/pas/service/business/MergePersonService.java

@@ -650,14 +650,18 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         Integer type = vo.getType();
         String condition = vo.getSearchQuery();
 
+        //最终数据
         List<GetAllPersonDTO> personDTOList = new ArrayList<>();
+        //合并的名称数据
         List<GetAllPersonDTO> mergePersonList = new ArrayList<>();
+        //es获取的名称
         List<GetAllPersonDTO> personList = new ArrayList<>();
 
-
+        //获取被 合并的名称
         List<String> mergedList = new ArrayList<>();
         List<MergePerson> mergePeopleList = mergePersonMapper.selectList(new LambdaQueryWrapper<MergePerson>()
-                .eq(MergePerson::getProjectId, projectId));
+                .eq(MergePerson::getProjectId, projectId)
+                .eq(MergePerson::getType, type));
         int size = mergePeopleList.size();
         int mergedCount = 0;
         if (!CollectionUtils.isEmpty(mergePeopleList)) {
@@ -682,7 +686,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         SearchRequest.Builder builder = new SearchRequest.Builder();
         //设置查询索引
         builder.index("patent");
-        builder.size(0);
+//        builder.size(0);
         if (StringUtils.isNotEmpty(condition)) {
             //1. 解析检索条件
             treeNode tree = expressManager.getInstance().Parse(condition, false);
@@ -831,23 +835,37 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
         Aggregate totalAgg = response.aggregations().get("totalAgg");
         Aggregate totalAggregate = totalAgg.nested().aggregations().get("statsBucket");
         long total = totalAggregate.statsBucket().count();
+
         List<String> mergeList = new ArrayList<>();
-        Aggregate agg = response.aggregations().get("Agg");
-        Aggregate nestedAgg = agg.nested().aggregations().get("nestedAgg");
-        List<StringTermsBucket> buckets = nestedAgg.sterms().buckets().array();
-        for (StringTermsBucket bucket : buckets) {
-            String value = bucket.key().stringValue();
-            mergeList.add(value);
-        }
-        Aggregate rightAgg = response.aggregations().get("rightAgg");
-        Aggregate rightNestedAgg = rightAgg.nested().aggregations().get("rightNestedAgg");
-        List<StringTermsBucket> bucketList = rightNestedAgg.sterms().buckets().array();
-        if (!CollectionUtils.isEmpty(bucketList)) {
-            for (StringTermsBucket bucket : bucketList) {
+        if (type == 0) {
+            Aggregate agg = response.aggregations().get("Agg");
+            Aggregate nestedAgg = agg.nested().aggregations().get("nestedAgg");
+            List<StringTermsBucket> buckets = nestedAgg.sterms().buckets().array();
+            for (StringTermsBucket bucket : buckets) {
                 String value = bucket.key().stringValue();
                 mergeList.add(value);
             }
+            Aggregate rightAgg = response.aggregations().get("rightAgg");
+            Aggregate rightNestedAgg = rightAgg.nested().aggregations().get("rightNestedAgg");
+            List<StringTermsBucket> bucketList = rightNestedAgg.sterms().buckets().array();
+            if (!CollectionUtils.isEmpty(bucketList)) {
+                for (StringTermsBucket bucket : bucketList) {
+                    String value = bucket.key().stringValue();
+                    mergeList.add(value);
+                }
+            }
+        } else {
+            Aggregate inventorAgg = response.aggregations().get("Agg");
+            Aggregate inventorNestedAgg = inventorAgg.nested().aggregations().get("nestedAgg");
+            List<StringTermsBucket> bucketList = inventorNestedAgg.sterms().buckets().array();
+            if (!CollectionUtils.isEmpty(bucketList)) {
+                for (StringTermsBucket bucket : bucketList) {
+                    String value = bucket.key().stringValue();
+                    mergeList.add(value);
+                }
+            }
         }
+
         List<String> nameList = mergeList.stream().distinct().collect(Collectors.toList());
         if (!CollectionUtils.isEmpty(nameList)) {
             for (String name : nameList) {