chendayu il y a 2 ans
Parent
commit
3d2935e7b6

+ 35 - 29
PAS/src/main/java/cn/cslg/pas/common/utils/PatentRightUtils.java

@@ -53,7 +53,7 @@ public class PatentRightUtils {
         contentOut = contentOut.replaceAll(" +", "");
 
         //中日韩专利↓
-        if (country.equals("CN") || country.equals("JP") || country.equals("KR")) {
+        if (country.equals("CN") || country.equals("JP") || country.equals("KR") || content.contains("权利要求")) {
             String regex;
             if (content.contains("。2.")) {
                 regex = "。[0-9]+\\.";
@@ -68,33 +68,40 @@ public class PatentRightUtils {
             } else {
                 regex = "";
             }
-            Matcher matcher = Pattern.compile(regex).matcher(content);
-            Matcher matcherOut = Pattern.compile(regex).matcher(contentOut);
-            while (matcher.find()) {
-                if (matcher.group().contains(".청구항")) {
-                    //".청구항 2" -> "\\.청구항 2"
-                    String matcherGroup = matcher.group().replace(".", "\\.");
-                    //".청구항 2" -> ".\n청구항 2"
-                    content = content.replaceFirst(matcherGroup, ".\n" + matcherGroup.substring(matcherGroup.indexOf(".") + 1));
-                } else if (matcher.group().contains(".")) {
-                    //"。2." -> "。2\\."
-                    String matcherGroup = matcher.group().replace(".", "\\.");
-                    //"。2." -> "。\n2."
-                    content = content.replaceFirst(matcherGroup, "。\n" + matcherGroup.substring(matcherGroup.indexOf("。") + 1, matcherGroup.indexOf("\\")) + ".");
-                } else if (matcher.group().contains("、") || matcher.group().contains("請求項")) {
-                    content = content.replaceFirst(matcher.group(), "。\n" + matcher.group().substring(matcher.group().indexOf("。") + 1));
+            String[] strs;
+            String[] strsOut;
+            if (regex.equals("")) {
+                strs = content.split("。");
+                strsOut = contentOut.split("。");
+            } else {
+                Matcher matcher = Pattern.compile(regex).matcher(content);
+                Matcher matcherOut = Pattern.compile(regex).matcher(contentOut);
+                while (matcher.find()) {
+                    if (matcher.group().contains(".청구항")) {
+                        //".청구항 2" -> "\\.청구항 2"
+                        String matcherGroup = matcher.group().replace(".", "\\.");
+                        //".청구항 2" -> ".\n청구항 2"
+                        content = content.replaceFirst(matcherGroup, ".\n" + matcherGroup.substring(matcherGroup.indexOf(".") + 1));
+                    } else if (matcher.group().contains(".")) {
+                        //"。2." -> "。2\\."
+                        String matcherGroup = matcher.group().replace(".", "\\.");
+                        //"。2." -> "。\n2."
+                        content = content.replaceFirst(matcherGroup, "。\n" + matcherGroup.substring(matcherGroup.indexOf("。") + 1, matcherGroup.indexOf("\\")) + ".");
+                    } else if (matcher.group().contains("、") || matcher.group().contains("請求項")) {
+                        content = content.replaceFirst(matcher.group(), "。\n" + matcher.group().substring(matcher.group().indexOf("。") + 1));
+                    }
                 }
-            }
-            String[] strs = content.split("\n");
-            while (matcherOut.find()) {
-                if (matcherOut.group().contains(".")) {
-                    String matcherOutGroup = matcherOut.group().replace(".", "\\.");
-                    contentOut = contentOut.replaceFirst(matcherOutGroup, "。\n" + matcherOutGroup.substring(matcherOutGroup.indexOf("。") + 1, matcherOutGroup.indexOf("\\")) + ".");
-                } else if (matcherOut.group().contains("、")) {
-                    contentOut = contentOut.replaceFirst(matcherOut.group(), "。\n" + matcherOut.group().substring(matcherOut.group().indexOf("。") + 1));
+                strs = content.split("\n");
+                while (matcherOut.find()) {
+                    if (matcherOut.group().contains(".")) {
+                        String matcherOutGroup = matcherOut.group().replace(".", "\\.");
+                        contentOut = contentOut.replaceFirst(matcherOutGroup, "。\n" + matcherOutGroup.substring(matcherOutGroup.indexOf("。") + 1, matcherOutGroup.indexOf("\\")) + ".");
+                    } else if (matcherOut.group().contains("、")) {
+                        contentOut = contentOut.replaceFirst(matcherOut.group(), "。\n" + matcherOut.group().substring(matcherOut.group().indexOf("。") + 1));
+                    }
                 }
+                strsOut = contentOut.split("\n");
             }
-            String[] strsOut = contentOut.split("\n");
 
             //定义父权要排序号
             String regex1 = "权利要求[0-9]+";
@@ -168,10 +175,9 @@ public class PatentRightUtils {
             //英文专利的权要拆分 ↓
         } else {
             content = content.substring(content.indexOf("1."));
-            if(contentOut.equals("")){
-                contentOut="";
-            }
-           else if (contentOut.contains("1.")) {
+            if (contentOut.equals("")) {
+                contentOut = "";
+            } else if (contentOut.contains("1.")) {
                 contentOut = contentOut.substring(contentOut.indexOf("1."));
             } else {
                 contentOut = contentOut.substring(contentOut.indexOf("1、"));

+ 5 - 7
PAS/src/main/java/cn/cslg/pas/service/UploadPatentBatchService.java

@@ -697,11 +697,7 @@ public class UploadPatentBatchService {
         patent.setPublicNo(patentCell.getPublicNo());
         uploadParamsVO.setSimpleStatus(patentCell.getStatue());
         uploadParamsVO.setPatent(patent);
-        getOneOrInsertOne(uploadParamsVO);
-        //装载代理机构
-        if (patentCell.getAgency() != null) {
-            uploadParamsVO.getPatent().setAgencyId(patentAgencyService.getAgencyStringIdByName(patentCell.getAgency()));
-        }
+        uploadParamsVO.getPatent().setAgencyId(patentAgencyService.getAgencyStringIdByName(patentCell.getAgency()));
         try {
             //专利信息 OS_PATENT
             if (uploadParamsVO.getPatent() != null) {
@@ -717,11 +713,13 @@ public class UploadPatentBatchService {
             uploadParamsVO.getPatentRight().setContent(StringUtils.join(patentCell.getRights(), ""));
             uploadParamsVO.setSelfContent(patentCell.getMainRignt());
             //权利要求 OS_PATENT_RIGHT
-            patentRightBusiness(uploadParamsVO);
+            if (uploadParamsVO.getPatentRight().getContent() != null) {
+                patentRightBusiness(uploadParamsVO);
+            }
             //说明书(文本) OS_PATENT_INSTRUCTION_TEXT
             uploadParamsVO.setPatentInstructionText(new PatentInstructionText());
             uploadParamsVO.getPatentInstructionText().setManual(patentCell.getPatentInstructionText());
-            if (uploadParamsVO.getPatentInstructionText() != null) {
+            if (uploadParamsVO.getPatentInstructionText().getManual() != null) {
                 patentInstructionTextBusiness(uploadParamsVO);
             }
             //发明人 OS_PATENT_INVENTOR