|
@@ -1,9 +1,5 @@
|
|
|
package cn.cslg.pas.common.utils;
|
|
|
|
|
|
-import cn.cslg.pas.common.model.vo.KeyValueVO;
|
|
|
-import com.alibaba.druid.support.json.JSONUtils;
|
|
|
-import com.alibaba.fastjson.JSONObject;
|
|
|
-
|
|
|
import java.net.MalformedURLException;
|
|
|
import java.net.URL;
|
|
|
import java.net.URLClassLoader;
|
|
@@ -72,11 +68,11 @@ class PatentTypeHandler implements IProcessData {
|
|
|
public Object processData(Object data, Object ob) {
|
|
|
if (data.toString().contains("实用新型")) {
|
|
|
return 1;
|
|
|
- } else if (data.toString().contains("发明申请")) {
|
|
|
+ } else if (data.toString().contains("发明申请") || data.toString().contains("发明公布")) {
|
|
|
return 2;
|
|
|
} else if (data.toString().contains("外观设计")) {
|
|
|
return 3;
|
|
|
- } else if (data.toString().contains("授权发明")) {
|
|
|
+ } else if (data.toString().contains("授权")) {
|
|
|
return 4;
|
|
|
}
|
|
|
return null;
|
|
@@ -170,6 +166,87 @@ class IncoPatPatentAffairHandler implements IProcessData {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+class IncoPatUCMainHandler implements IProcessData {
|
|
|
+ @Override
|
|
|
+ public Object processData(Object data, Object splitSymbol) {
|
|
|
+ List<String> splitList = StringUtils.changeStringToString(data.toString(), splitSymbol.toString());
|
|
|
+ return splitList.get(0);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class PatenticsPatentAffairHandler implements IProcessData {
|
|
|
+ @Override
|
|
|
+ public Object processData(Object data, Object code) {
|
|
|
+ List<String> splitStr = StringUtils.changeStringToString(data.toString(), "\n");
|
|
|
+ splitStr.removeIf(item -> item.equals(""));
|
|
|
+
|
|
|
+ List<String> processList = splitStr.stream().map(item -> item.replaceAll(" ", "\\|")).collect(Collectors.toList());
|
|
|
+
|
|
|
+ StringBuilder all = new StringBuilder();
|
|
|
+ StringBuilder one = new StringBuilder();
|
|
|
+ List<String> messageList;
|
|
|
+ Pattern p = Pattern.compile("[0-9]*");
|
|
|
+
|
|
|
+ for (int j = 0; j < processList.size(); j++) {
|
|
|
+ if (j < processList.size() - 1) {
|
|
|
+ Matcher m = p.matcher(processList.get(j + 1).substring(0, 2));
|
|
|
+ if (!m.matches()) {
|
|
|
+ processList.set(j, processList.get(j) + " " + processList.get(j + 1));
|
|
|
+ processList.remove(j + 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ messageList = StringUtils.changeStringToString(processList.get(j), "\\|");
|
|
|
+
|
|
|
+ for (int i = 0; i < messageList.size(); i += 3) {
|
|
|
+ if (one.toString().equals("")) {
|
|
|
+ one = new StringBuilder("\"inpadocData\"" + ":[" + "{" + "\"name\"" + ":" + "\"发生日期\"" + "," + "\"content\"" + ":" + "\"" + messageList.get(i).trim() + "\"" + "}");
|
|
|
+ } else {
|
|
|
+ one.append("," + "{" + "\"name\"" + ":" + "\"发生日期\"" + "," + "\"content\"" + ":" + "\"").append(messageList.get(i).trim()).append("\"").append("}");
|
|
|
+ }
|
|
|
+ one.append(",{").append("\"name\":\"法律状态\"").append(",").append("\"content\":").append("\"").append(messageList.get(i + 1).trim()).append("\"").append("}");
|
|
|
+ one.append("," + "{" + "\"name\"" + ":" + "\"描述信息\"" + "," + "\"content\"" + ":" + "\"").append(messageList.get(i + 2).trim()).append("\"").append("}]");
|
|
|
+
|
|
|
+ if (!one.toString().equals("")) {
|
|
|
+ if (!all.toString().equals("")) {
|
|
|
+ all.append(",{").append(one).append("}");
|
|
|
+ } else {
|
|
|
+ all = new StringBuilder("{" + one + "}");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ one = new StringBuilder();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ all = new StringBuilder("[" + all + "]");
|
|
|
+ return all.toString();
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class PatenticsAgencyAndAgentHandler implements IProcessData {
|
|
|
+ @Override
|
|
|
+ public Object processData(Object data, Object code) {
|
|
|
+ List<String> splitStr = StringUtils.changeStringToString(data.toString().replaceAll(" ", ""), ";");
|
|
|
+ if (code.toString().equals("1")) {
|
|
|
+ return splitStr.get(0);
|
|
|
+ } else if (code.toString().equals("2")) {
|
|
|
+ splitStr.remove(0);
|
|
|
+ return splitStr;
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+class PatenticsStringHandler implements IProcessData {
|
|
|
+ @Override
|
|
|
+ public Object processData(Object data, Object splitSymbol) {
|
|
|
+ if (!"".equals(splitSymbol)) {
|
|
|
+ return StringUtils.changeStringToString(data.toString().replaceAll(" ", "").replaceAll("\n", ""), splitSymbol.toString());
|
|
|
+ } else {
|
|
|
+ return data.toString().replaceAll(" ", "");
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
class ProcessDataFactory {
|
|
|
public static IProcessData getData(String typeName, String jarOrClassPath) {
|
|
|
|
|
@@ -196,35 +273,12 @@ class ProcessDataFactory {
|
|
|
|
|
|
public static void main(String[] args) {
|
|
|
IProcessData iProcessData = new TimeHandler();
|
|
|
-
|
|
|
- Integer b = (Integer) iProcessData.processData("2022/01/01 00:00:00", null);
|
|
|
+ Integer a = (Integer) iProcessData.processData("2022-01-01", null);
|
|
|
+ List<String> b = new ArrayList<>();
|
|
|
+ b.add("1");
|
|
|
+ b.add("2");
|
|
|
+ b.remove(0);
|
|
|
System.out.println(b);
|
|
|
-
|
|
|
- IProcessData incoPatPatentAffairHandler = new IncoPatPatentAffairHandler();
|
|
|
- String c = "法律状态公告日:20191015;\n" +
|
|
|
- "法律状态:公开;\n" +
|
|
|
- "描述信息:公开;\n" +
|
|
|
- "法律状态公告日:20191108;\n" +
|
|
|
- "法律状态:实质审查的生效;\n" +
|
|
|
- "描述信息:实质审查的生效IPC(主分类):A61B 1/045;\n" +
|
|
|
- "法律状态公告日:20220325;\n" +
|
|
|
- "法律状态:授权;\n" +
|
|
|
- "描述信息:授权;\n";
|
|
|
- String d = (String) incoPatPatentAffairHandler.processData(c, null);
|
|
|
-
|
|
|
-// List<KeyValueVO> lst = JsonUtils.jsonToList(b, KeyValueVO.class);
|
|
|
-// KeyValueVO flag;
|
|
|
-// for (int i = 0; i < Objects.requireNonNull(lst).size() - 1; i++) {
|
|
|
-// for (int j = 0; j < lst.size() - i - 1; j++) {
|
|
|
-// if (DateUtils.strToDate(lst.get(j).getInpadocData().get(0).getContent()).compareTo(DateUtils.strToDate(lst.get(j + 1).getInpadocData().get(0).getContent())) < 0) {
|
|
|
-// flag = lst.get(j);
|
|
|
-// lst.set(j, lst.get(j + 1));
|
|
|
-// lst.set(j + 1, flag);
|
|
|
-// }
|
|
|
-// }
|
|
|
-// }
|
|
|
-// System.out.println(lst);
|
|
|
-
|
|
|
}
|
|
|
|
|
|
}
|