|
@@ -91,8 +91,11 @@ public class PatentSimpleFamilyService extends ServiceImpl<PatentSimpleFamilyMap
|
|
|
public void updateData(List<String> familyNo, String patentNo, Integer patentId, Integer type) {
|
|
|
//两个表 1.同族表 2.同组关联专利表
|
|
|
//用专利号 获取同族关联专利表的信息
|
|
|
- List<PatentSimpleFamilyLink> patentSimpleFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByPatentNo(patentNo);
|
|
|
- PatentSimpleFamily family;
|
|
|
+ if (!familyNo.contains(patentNo)) {
|
|
|
+ familyNo.add(patentNo);
|
|
|
+ }
|
|
|
+ List<PatentSimpleFamilyLink> patentSimpleFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByPatentNo(familyNo);
|
|
|
+ PatentSimpleFamily family = new PatentSimpleFamily();
|
|
|
|
|
|
if (patentSimpleFamilyLinkList == null || patentSimpleFamilyLinkList.size() == 0) {
|
|
|
//如果 同组关联专利表 内没有数据 就新建一条 同族表 的数据
|
|
@@ -106,85 +109,76 @@ public class PatentSimpleFamilyService extends ServiceImpl<PatentSimpleFamilyMap
|
|
|
family = patentSimpleFamily;
|
|
|
}
|
|
|
}
|
|
|
- for (String patent : familyNo) {
|
|
|
- PatentSimpleFamilyLink temp = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByPatentNoAndFamilyId(patent, family.getId());
|
|
|
- if (temp == null) {
|
|
|
- PatentSimpleFamilyLink patentSimpleFamilyLink = new PatentSimpleFamilyLink();
|
|
|
- patentSimpleFamilyLink.setFamilyId(family.getId());
|
|
|
- patentSimpleFamilyLink.setPatentNo(patent);
|
|
|
- patentSimpleFamilyLink.insert();
|
|
|
- } else {
|
|
|
- temp.setFamilyId(family.getId());
|
|
|
- temp.updateById();
|
|
|
- }
|
|
|
+// List<PatentSimpleFamilyLink> temps = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByPatentNoAndFamilyId(familyNo, family.getId());
|
|
|
|
|
|
-
|
|
|
- Patent patent1 = patentService.getPublicDateAndPatentNoByPatentNo(patent);
|
|
|
- Patent patent2 = patentService.getPublicDateAndPatentNoByPatentNo(family.getPatentNo());
|
|
|
- if (patent1 != null) {
|
|
|
- switch (type) {
|
|
|
- case 1:
|
|
|
- patent1.setSimpleFamily(family.getId());
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- patent1.setInpadocFamily(family.getId());
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- patent1.setPatSnapFamily(family.getId());
|
|
|
- break;
|
|
|
+ List<Patent> patent1s = patentService.getPublicDateAndPatentNoByPatentNo(familyNo);
|
|
|
+ // 遍历
|
|
|
+ if (patentSimpleFamilyLinkList != null && patentSimpleFamilyLinkList.size() != 0) {
|
|
|
+ Patent patent2 = new Patent();
|
|
|
+ for (String patent : familyNo) {
|
|
|
+ PatentSimpleFamilyLink temp = patentSimpleFamilyLinkList.stream().filter(item -> item.getPatentNo().equals(patent)).findFirst().orElse(null);
|
|
|
+ if (temp == null) {
|
|
|
+ PatentSimpleFamilyLink patentSimpleFamilyLink = new PatentSimpleFamilyLink();
|
|
|
+ patentSimpleFamilyLink.setFamilyId(family.getId());
|
|
|
+ patentSimpleFamilyLink.setPatentNo(patent);
|
|
|
+ patentSimpleFamilyLink.insert();
|
|
|
+ } else {
|
|
|
+ temp.setFamilyId(family.getId());
|
|
|
+ temp.updateById();
|
|
|
}
|
|
|
- family.setPatentNo(patent1.getPatentNo());
|
|
|
- patent1.updateById();
|
|
|
- }
|
|
|
- if (patent2 != null) {
|
|
|
- switch (type) {
|
|
|
- case 1:
|
|
|
- patent2.setSimpleFamily(family.getId());
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- patent2.setInpadocFamily(family.getId());
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- patent2.setPatSnapFamily(family.getId());
|
|
|
- break;
|
|
|
- }
|
|
|
- family.setPatentNo(patent2.getPatentNo());
|
|
|
- patent2.updateById();
|
|
|
- }
|
|
|
|
|
|
-
|
|
|
- if (StringUtils.isEmpty(family.getPatentNo())) {
|
|
|
- family.setPatentNo(patent);
|
|
|
- } else {
|
|
|
- if (patent1 != null && patent2 != null) {
|
|
|
- String country1 = PatentUtils.getPatentCountry(patent1.getPatentNo());
|
|
|
- String country2 = PatentUtils.getPatentCountry(patent2.getPatentNo());
|
|
|
- if ("CN".equals(country1) && !"CN".equals(country2)) {
|
|
|
- family.setPatentNo(patent1.getPatentNo());
|
|
|
+ //更新同族专利的同族号
|
|
|
+ Patent patent1 = patent1s.stream().filter(item -> item.getPatentNo().equals(patent)).findFirst().orElse(null);
|
|
|
+ if (patent1 != null && patent1.getType() != null) {
|
|
|
+ switch (type) {
|
|
|
+ case 1:
|
|
|
+ patent1.setSimpleFamily(family.getId());
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ patent1.setInpadocFamily(family.getId());
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ patent1.setPatSnapFamily(family.getId());
|
|
|
+ break;
|
|
|
}
|
|
|
- if (!"CN".equals(country1) && "CN".equals(country2)) {
|
|
|
- family.setPatentNo(patent2.getPatentNo());
|
|
|
- }
|
|
|
- if ("CN".equals(country1) && "CN".equals(country2)) {
|
|
|
- Integer publicData1 = patent1.getPublicDate();
|
|
|
- Integer publicData2 = patent2.getPublicDate();
|
|
|
- if (publicData1 == null && publicData2 != null) {
|
|
|
- family.setPatentNo(patent2.getPatentNo());
|
|
|
- }
|
|
|
- if (publicData1 != null && publicData2 == null) {
|
|
|
+ family.setPatentNo(patent1.getPatentNo());
|
|
|
+ patent1.updateById();
|
|
|
+ }
|
|
|
+
|
|
|
+ if (StringUtils.isEmpty(family.getPatentNo())) {
|
|
|
+ family.setPatentNo(patent);
|
|
|
+ } else {
|
|
|
+ if (patent1 != null && patent2 != null) {
|
|
|
+ String country1 = PatentUtils.getPatentCountry(patent1.getPatentNo());
|
|
|
+ String country2 = PatentUtils.getPatentCountry(patent2.getPatentNo());
|
|
|
+ if ("CN".equals(country1) && !"CN".equals(country2)) {
|
|
|
family.setPatentNo(patent1.getPatentNo());
|
|
|
- }
|
|
|
- if (publicData1 != null && publicData2 != null) {
|
|
|
- if (publicData1 > publicData2) {
|
|
|
+ patent2 = patent1;
|
|
|
+ } else if (!"CN".equals(country1) && "CN".equals(country2)) {
|
|
|
+ family.setPatentNo(patent2.getPatentNo());
|
|
|
+ } else if (("CN".equals(country1) && "CN".equals(country2)) || (!"CN".equals(country1) && !"CN".equals(country2))) {
|
|
|
+ Integer publicData1 = patent1.getPublicDate();
|
|
|
+ Integer publicData2 = patent2.getPublicDate();
|
|
|
+ if (publicData1 == null && publicData2 != null) {
|
|
|
family.setPatentNo(patent2.getPatentNo());
|
|
|
- } else {
|
|
|
+ } else if (publicData1 != null && publicData2 == null) {
|
|
|
family.setPatentNo(patent1.getPatentNo());
|
|
|
+ patent2 = patent1;
|
|
|
+ } else if (publicData1 != null && publicData2 != null) {
|
|
|
+ if (publicData1 > publicData2) {
|
|
|
+ family.setPatentNo(patent2.getPatentNo());
|
|
|
+ } else {
|
|
|
+ family.setPatentNo(patent1.getPatentNo());
|
|
|
+ patent2 = patent1;
|
|
|
+ System.out.println(patent2);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ family.updateById();
|
|
|
}
|
|
|
- family.updateById();
|
|
|
}
|
|
|
}
|
|
|
}
|