소스 검색

20240904 导出任务修改

lwhhszx 1 년 전
부모
커밋
3bf2f74c10

+ 33 - 1
src/main/java/cn/cslg/pas/service/exportProject/ImportFromFileToEsService.java

@@ -1,6 +1,7 @@
 package cn.cslg.pas.service.exportProject;
 
 import cn.cslg.pas.common.core.base.FamilyType;
+import cn.cslg.pas.common.dto.PatentStarListDTO;
 import cn.cslg.pas.common.dto.business.CustomFieldDTO;
 import cn.cslg.pas.common.dto.business.CustomOptionDTO;
 import cn.cslg.pas.common.dto.business.EsPatentFamilyDTO;
@@ -12,6 +13,7 @@ import cn.cslg.pas.common.utils.FileUtils;
 import cn.cslg.pas.common.utils.FormatUtil;
 import cn.cslg.pas.common.utils.esDataForm.AddressSplitter;
 import cn.cslg.pas.common.utils.esDataForm.PatentClassifySplitter;
+import cn.cslg.pas.common.vo.StarPatentVO;
 import cn.cslg.pas.domain.business.TreeNode;
 import cn.cslg.pas.domain.es.*;
 import cn.cslg.pas.service.business.CommonService;
@@ -20,10 +22,12 @@ import cn.cslg.pas.service.business.CustomOptionService;
 import cn.cslg.pas.service.business.TreeNodeService;
 import cn.cslg.pas.service.business.es.EsService;
 import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.common.PatentStarApiService;
 import cn.cslg.pas.service.exportProject.oldPasEntity.*;
 
 import com.alibaba.fastjson.JSONArray;
 import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
 import org.springframework.context.annotation.Scope;
 import org.springframework.stereotype.Service;
 
@@ -41,7 +45,7 @@ public class ImportFromFileToEsService {
     private final CustomOptionService customOptionService;
     private final EsService esService;
     private final FileManagerService fileManagerService;
-
+    private final PatentStarApiService patentStarApiService;
     public void ImportFromFile(File file, Integer projectId) {
 //获取自定义栏位列表
         List<OldProjectField> oldProjectFields = new ArrayList<>();
@@ -192,6 +196,34 @@ public class ImportFromFileToEsService {
         String contry = usedNo.substring(0, 2);
         if (contry.equals("CN")) {
             patent.setPatentNo(appNo);
+//            if(patent.getAppNo()==null||patent.getAppNo().trim().equals(""))
+//            {
+//                String conditions ="F XX "+usedNo+"/AN+"+usedNo+"/PN+"+usedNo+"/AN";
+//                PatentStarListDTO patentStarListDTO1 = new PatentStarListDTO();
+//                patentStarListDTO1.setCurrentQuery(conditions);
+//                patentStarListDTO1.setPageNum(1);
+//                patentStarListDTO1.setDBType("CN");
+//                patentStarListDTO1.setCurrentQuery(conditions);
+//                patentStarListDTO1.setRowCount(10);
+//                patentStarListDTO1.setOrderBy("AD");
+//                patentStarListDTO1.setOrderByType("DESC");
+//                patentStarListDTO1.setFormed(true);
+//                //调用一般接口返回一批专利著录相关数据
+//try {
+//    Map<String, Object> resultMap = patentStarApiService.patentStarSearchApi(patentStarListDTO1);
+//
+//    if (resultMap != null && (Integer) resultMap.get("total") != 0) {
+//        List<StarPatentVO> starPatents = (List<StarPatentVO>) resultMap.get("records");
+//        patent.setAppNo(starPatents.get(0).getApplicationNo());
+//        patent.setPatentNo(patent.getAppNo());
+//        System.out.println("号码是"+patent.getPatentNo());
+//    }
+//}
+//catch (Exception e){}
+
+
+
+
         } else {
             if (publicNo != null) {
                 patent.setPatentNo(publicNo);

+ 17 - 1
src/main/java/cn/cslg/pas/service/exportProject/SavePatentToEsService.java

@@ -28,18 +28,34 @@ public class SavePatentToEsService {
         Patent patent = uploadPatentWebDTO.getPatent();
 
         try {
+            String patentNo = patent.getPatentNo();
+            if (patentNo == null||patentNo.trim().equals("")) {
+                if (patent.getPublicNo() != null) {
+                    patentNo = patent.getPublicNo();
+                } else if (patent.getGrantNo() != null) {
+                    patentNo = patent.getGrantNo();
+                }
+            }
             //根据专利号查询专利
-            PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patent.getPatentNo());
+            PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patentNo);
             String patentId = null;
             // 若查出专利则更新
             Patent orgPatent =null;
             if (patentWithIdVO != null) {
+                if(patent.getPatentNo()==null||patent.getPatentNo().trim().equals("")){
+                    patent .setPatentNo(patentWithIdVO.getPatent().getPatentNo());
+                    System.out.println("获取到的专利号是"+patent.getPatentNo());
+                }
                 patentId = patentWithIdVO.getId();
                 orgPatent = patentWithIdVO.getPatent();
                 patent =this.formPatent(patent,orgPatent);
                 BeanUtils.copyProperties(patent, orgPatent, FormatUtil.getNullPropertyNames(patent));
                 esService.updatePatent(orgPatent, patentWithIdVO.getId());
             } else {
+                if(patent.getPatentNo()==null||patent.getPatentNo().trim().equals("")){
+                    System.out.println("无专利");
+                    return;
+                }
                 patent =this.formPatent(patent,orgPatent);
                 PatentJoin patentJoin = new PatentJoin();
                 patentJoin.setName("patent");

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

@@ -61,6 +61,7 @@ public class SavePatentToEsThread extends Thread {
             try {
                 //根据专利号查询专利
                 EsService esService = applicationContext.getBean(EsService.class);
+
                 PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patent.getPatentNo());
                 String patentId = null;
                 // 若查出专利则更新
@@ -69,6 +70,7 @@ public class SavePatentToEsThread extends Thread {
 
                 //更新专利
                 if (patentWithIdVO != null) {
+
                     patentId = patentWithIdVO.getId();
                     orgPatent = patentWithIdVO.getPatent();
                     patent = this.formPatent(patent, orgPatent);
@@ -228,13 +230,13 @@ public class SavePatentToEsThread extends Thread {
             if (orgPatent.getClaim() != null && orgPatent.getClaim().size() > 0 && orgPatent.getGrantNo() != null && patent.getGrantNo() == null) {
                 patent.setClaim(orgPatent.getClaim());
             }
-            if(orgPatent.getGrantNo()!=null){
+            if (orgPatent.getGrantNo() != null) {
                 patent.setGrantFullText(patent.getPublicFullText());
                 patent.setPublicFullText(null);
             }
         }
 
-return  patent;
+        return patent;
     }
 
 }