|
@@ -203,10 +203,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
String name = vo.getName();
|
|
|
Integer type = vo.getType();
|
|
|
//1.保存到mySQL表
|
|
|
- Integer personId = 0;
|
|
|
- if (!CollectionUtils.isEmpty(vo.getMergedName())) {
|
|
|
- personId = saveMergePerson(vo);
|
|
|
- }
|
|
|
+ Integer personId = saveMergePerson(vo);
|
|
|
//2.更新ES的合并数据
|
|
|
// 2.1.查询合并后的数据
|
|
|
List<Hit<Patent>> hits = searchChildByIterator(vo);
|
|
@@ -1163,22 +1160,25 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
//4.查询父文档拿出对应type的数据后添加新的子文档
|
|
|
searchPatent(patentIds, type, projectId);
|
|
|
//5.合并
|
|
|
- MergePersonVO personVO = new MergePersonVO();
|
|
|
- personVO.setProjectId(projectId);
|
|
|
- personVO.setType(type);
|
|
|
- personVO.setName(name);
|
|
|
- personVO.setAbbreviation(personVO.getAbbreviation());
|
|
|
- personVO.setCountry(person.getCountry());
|
|
|
- personVO.setProvince(person.getProvince());
|
|
|
- personVO.setAddress(person.getAddress());
|
|
|
- personVO.setRemark(person.getRemark());
|
|
|
- personVO.setMergedName(list);
|
|
|
- Integer id = null;
|
|
|
- try {
|
|
|
- id = this.mergePerson(personVO);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new XiaoShiException("移除失败");
|
|
|
+ Integer id = 0;
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ MergePersonVO personVO = new MergePersonVO();
|
|
|
+ personVO.setProjectId(projectId);
|
|
|
+ personVO.setType(type);
|
|
|
+ personVO.setName(name);
|
|
|
+ personVO.setAbbreviation(personVO.getAbbreviation());
|
|
|
+ personVO.setCountry(person.getCountry());
|
|
|
+ personVO.setProvince(person.getProvince());
|
|
|
+ personVO.setAddress(person.getAddress());
|
|
|
+ personVO.setRemark(person.getRemark());
|
|
|
+ personVO.setMergedName(list);
|
|
|
+ try {
|
|
|
+ id = this.mergePerson(personVO);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException("移除失败");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
return id;
|
|
|
}
|
|
|
|
|
@@ -1379,4 +1379,31 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
return -1;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 删除申请人/权利人/发明人合并名称
|
|
|
+ *
|
|
|
+ * @param patent
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Integer delMergePerson(Patent patent, String id, Integer type, String name) {
|
|
|
+ String source = "";
|
|
|
+ if (type == 0) {
|
|
|
+ source = "if (ctx._source.merge_applicant != null) { ctx._source.merge_applicant.removeIf(item -> item.name == params.name); } if (ctx._source.merge_right_holder != null) { ctx._source.merge_right_holder .removeIf(item -> item.name == params.name); }";
|
|
|
+ } else {
|
|
|
+ source = "if (ctx._source.merge_inventor != null) { ctx._source.merge_inventor.removeIf(item -> item.name == params.name); }";
|
|
|
+ }
|
|
|
+ String finalSource = source;
|
|
|
+ InlineScript inlineScript = InlineScript.of(i -> i.lang("painless").params("name", JsonData.of(name)).source(finalSource));
|
|
|
+ Script script = Script.of(i -> i.inline(inlineScript));
|
|
|
+ Query query = QueryBuilders.term(i -> i.field("_id").value(id));
|
|
|
+ UpdateByQueryRequest request = UpdateByQueryRequest.of(i -> i.index("patent").script(script).query(query));
|
|
|
+ try {
|
|
|
+ client.updateByQuery(request);
|
|
|
+ return 1;
|
|
|
+ } catch (IOException e) {
|
|
|
+ return -1;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|