Bladeren bron

导入时导入默认合并申请人权利人发明人

lwhhszx 1 jaar geleden
bovenliggende
commit
cb55e4430c

+ 72 - 0
src/main/java/cn/cslg/pas/service/business/es/EsMergePersonService.java

@@ -0,0 +1,72 @@
+package cn.cslg.pas.service.business.es;
+
+import cn.cslg.pas.domain.es.Patent;
+import cn.cslg.pas.domain.es.PatentJoin;
+import cn.cslg.pas.domain.es.PatentMergePerson;
+import cn.cslg.pas.domain.es.PatentPerson;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class EsMergePersonService {
+    @Autowired
+    private EsService esService;
+
+    public void addDefaultMergePerson(Patent patent, String patentId, Integer projectId) {
+        List<PatentPerson> applicant = patent.getApplicant();
+        List<PatentPerson> rightHolder = patent.getRightHolder();
+        List<PatentPerson> inventor = patent.getInventor();
+        if (applicant != null && applicant.size() != 0) {
+           this.addMergePersonToEs(applicant,patentId,projectId,"merge_applicat");
+        }
+        if (rightHolder != null && rightHolder.size() != 0) {
+            this.addMergePersonToEs(rightHolder,patentId,projectId,"merge_right_holder");
+        }
+        if (inventor != null && inventor.size() != 0) {
+            this.addMergePersonToEs(inventor,patentId,projectId,"merge_inventor");
+        }
+    }
+
+    public void addMergePersonToEs(List<PatentPerson> personList, String patentId, Integer projectId, String mergeType) {
+        if (personList != null && personList.size() != 0) {
+            List<PatentMergePerson> patentMergePersons = new ArrayList<>();
+            personList.forEach(item -> {
+                PatentMergePerson patentMergePerson = new PatentMergePerson();
+                patentMergePerson.setName(item.getName());
+                patentMergePerson.setOrder(item.getOrder());
+                patentMergePerson.setProjectId(projectId.toString());
+                patentMergePerson.setType(item.getType());
+                patentMergePersons.add(patentMergePerson);
+            });
+            Patent patent = new Patent();
+            if (patentMergePersons.size() != 0) {
+                switch (mergeType) {
+                    case "merge_applicat":
+                        patent.setMergeApplicant(patentMergePersons);
+                        break;
+                    case "merge_right_holder":
+                        patent.setMergeRightHolder(patentMergePersons);
+                        break;
+                    case "merge_inventor":
+                        patent.setMergeInventor(patentMergePersons);
+                        break;
+                }
+            }
+            PatentJoin patentJoin = new PatentJoin();
+            patentJoin.setParent(patentId);
+            patentJoin.setName(mergeType);
+            patent.setPatentJoin(patentJoin);
+            try {
+                esService.addChildPatent(patent, patentId);
+            } catch (Exception e) {
+            }
+        }
+
+
+    }
+}

+ 9 - 2
src/main/java/cn/cslg/pas/service/importPatent/SavePatentToEsThread.java

@@ -10,6 +10,7 @@ import cn.cslg.pas.domain.es.Patent;
 import cn.cslg.pas.domain.es.PatentJoin;
 import cn.cslg.pas.service.business.CompareLiteratureService;
 import cn.cslg.pas.service.business.ImportTaskService;
+import cn.cslg.pas.service.business.es.EsMergePersonService;
 import cn.cslg.pas.service.business.es.EsProductPatentService;
 import cn.cslg.pas.service.business.es.EsService;
 import cn.cslg.pas.service.common.FileManagerService;
@@ -81,6 +82,11 @@ public class SavePatentToEsThread extends Thread {
                             patentChild.setPatentJoin(patentJoin);
                             patentChild.setProjectId(importTaskAMVO.getProjectId());
                             esService.addChildPatent(patentChild, patentId);
+                            //当导入专题库时添加默认合并申请人
+                            if (importTaskAMVO.getProjectType() != null && importTaskAMVO.getProjectType().equals(0)) {
+                                EsMergePersonService esMergePersonService = applicationContext.getBean(EsMergePersonService.class);
+                                esMergePersonService.addDefaultMergePerson(patent, patentId, importTaskAMVO.getProjectId());
+                            }
                         }
 
                         //添加报告对比文件
@@ -90,6 +96,7 @@ public class SavePatentToEsThread extends Thread {
                                 compareLiteratureService.addPatentCompareLiterature(patent, importTaskAMVO.getProjectId(), importTaskAMVO.getCreateId());
                             }
                         }
+
                     }
                     //和任务关联
                     if (importTaskAMVO.getId() != null) {
@@ -111,9 +118,9 @@ public class SavePatentToEsThread extends Thread {
                         }
 
                     }
-                } else if (importTaskAMVO.getProductId() != null&&patentId!=null) {
+                } else if (importTaskAMVO.getProductId() != null && patentId != null) {
                     EsProductPatentService esProductPatentService = applicationContext.getBean(EsProductPatentService.class);
-                    esProductPatentService.addProductPatent(patentId,importTaskAMVO.getProductId());
+                    esProductPatentService.addProductPatent(patentId, importTaskAMVO.getProductId());
                 }
                 //导入完成,通知前台
                 taskThread.updateProcess(false, 1, "");