zero vor 1 Jahr
Ursprung
Commit
97afb75e06

+ 4 - 2
src/main/java/cn/cslg/pas/common/vo/business/PatentKinVO.java

@@ -5,11 +5,13 @@ import lombok.Data;
 @Data
 public class PatentKinVO {
     //专利号
-    private String patentNo;
-    //专利号
+    private String no;
+    //同族类型
     private String type;
     //页码
     private Integer pageNum;
     //页的大小
     private Integer pageSize;
+    //查询专利号--支持模糊
+    private String patentNo;
 }

+ 19 - 5
src/main/java/cn/cslg/pas/service/business/es/EsPatentService.java

@@ -105,7 +105,11 @@ public class EsPatentService {
 
     //通用返回申请人、权利人、发明人
     public List<String> loadName(List<PatentPerson> list) {
-        return list.stream().map(PatentPerson::getName).collect(Collectors.toList());
+        List<String> collect = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(list)) {
+            collect = list.stream().map(PatentPerson::getName).collect(Collectors.toList());
+        }
+        return collect;
     }
 
     /**
@@ -117,10 +121,11 @@ public class EsPatentService {
      */
     public List<PatentKinDTO> selectKinByPatentNo(PatentKinVO vo) throws IOException {
         //1.根据专利号查询出同族
-        String no = vo.getPatentNo();
+        String no = vo.getNo();
         Integer pageNum = vo.getPageNum();
         Integer pageSize = vo.getPageSize();
         String type = vo.getType();
+        String patentNo = vo.getPatentNo();
         SearchRequest.Builder builder = new SearchRequest.Builder();
         //设置查询索引
         builder.index("patent_family");
@@ -150,7 +155,7 @@ public class EsPatentService {
                     kinDetailVO.setAppNo(familyPatent.getAppNo());
                     kinDetailVO.setPublicNo(familyPatent.getPublicNo());
                     kinDetailVO.setGrantNo(familyPatent.getGrantNo());
-                    PatentKinDTO kinDTO = this.selectPatentKindDetail(kinDetailVO)
+                    PatentKinDTO kinDTO = this.selectPatentKindDetail(kinDetailVO,patentNo)
                             .stream().findFirst().orElse(null);
                     if (kinDTO != null) {
                         kinDTOS.add(kinDTO);
@@ -162,7 +167,7 @@ public class EsPatentService {
         return kinDTOS;
     }
 
-    public List<PatentKinDTO> selectPatentKindDetail(PatentKinDetailVO vo) throws IOException {
+    public List<PatentKinDTO> selectPatentKindDetail(PatentKinDetailVO vo, String patentNo) throws IOException {
         List<PatentKinDTO> list = new ArrayList<>();
         SearchRequest.Builder builder = new SearchRequest.Builder();
         //设置查询索引
@@ -173,7 +178,15 @@ public class EsPatentService {
         Query q2 = QueryBuilders.term(t -> t.field("patent_no.keyword").value(vo.getPublicNo()));
         //授权号
 //        Query q3 = QueryBuilders.term(t -> t.field("patent_no.keyword").value(vo.getGrantNo()));
-        Query bool = QueryBuilders.bool(i -> i.should(q1, q2));
+        Query bool = null;
+        if (StringUtils.isNotEmpty(patentNo)) {
+            String str = "*";
+            String s = str.concat(patentNo).concat("*");
+            Query query = QueryBuilders.wildcard(i -> i.field(patentNo).value(s));
+            bool = QueryBuilders.bool(i -> i.should(q1, q2).must(query));
+        } else {
+            bool = QueryBuilders.bool(i -> i.should(q1, q2));
+        }
         builder.query(bool);
         SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
         List<Hit<Patent>> hits = response.hits().hits();
@@ -189,6 +202,7 @@ public class EsPatentService {
                 kinDTO.setAbstractStr(patent.getAbstractStr());
                 kinDTO.setApplicant(this.loadName(patent.getApplicant()));
                 kinDTO.setRightHolder(this.loadName(patent.getRightHolder()));
+                kinDTO.setPictureGuid(FormatUtil.getPictureFormat(kinDTO.getAppNo()));
                 list.add(kinDTO);
             }
         }

+ 12 - 10
src/main/java/cn/cslg/pas/service/business/es/EsService.java

@@ -180,16 +180,18 @@ public class EsService {
         Query q = formatQueryService.EsQueryToQuery((operateNode) tree, "patent");
         //判断同族分组
         String str = "";
-        switch (groupField) {
-            case "simpleFamilyId":
-                str = "simple_family_id";
-                break;
-            case "inpadocFamilyId":
-                str = "inpadoc_family_id";
-                break;
-            case "patsnapFamilyId":
-                str = "patsnap_family_id";
-                break;
+        if (StringUtils.isNotEmpty(groupField)) {
+            switch (groupField) {
+                case "simpleFamilyId":
+                    str = "simple_family_id";
+                    break;
+                case "inpadocFamilyId":
+                    str = "inpadoc_family_id";
+                    break;
+                case "patsnapFamilyId":
+                    str = "patsnap_family_id";
+                    break;
+            }
         }
         String esField = str;
         if (StringUtils.isNotEmpty(esField)) {