|
@@ -184,7 +184,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
|
|
public Integer mergePersonAgain(MergePersonAgainVO vo) throws Exception {
|
|
|
List<String> mergedNames = vo.getNeedMergedName();
|
|
|
- List<String> mergeName = vo.getMergeName();
|
|
|
+ List<String> mergeName = vo.getMergedName();
|
|
|
List<String> nameList = new ArrayList<>();
|
|
|
if (!CollectionUtils.isEmpty(mergedNames)) {
|
|
|
for (String mergedName : mergedNames) {
|
|
@@ -427,7 +427,6 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
List<GetEsAllPersonDTO> personDTOS = new ArrayList<>();
|
|
|
for (Hit<Patent> hit : hits) {
|
|
|
Patent esMess = hit.source();
|
|
|
- PersonAddress applicantAddr = null;
|
|
|
GetEsAllPersonDTO personDTO = new GetEsAllPersonDTO();
|
|
|
personDTO.setApplicantAddr(esMess.getApplicantAddr());
|
|
|
personDTO.setRightHolderAddr(esMess.getRightHolderAddr());
|
|
@@ -480,7 +479,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
for (String s : rightHolder) {
|
|
|
GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
dto.setName(s);
|
|
|
- dto.setType(0);
|
|
|
+ dto.setType(1);
|
|
|
if (StringUtils.isNotEmpty(rightHolderAddr.getCountry())) {
|
|
|
dto.setCountry(rightHolderAddr.getCountry());
|
|
|
}
|
|
@@ -494,7 +493,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
for (String s : rightHolder) {
|
|
|
GetAllPersonDTO dto = new GetAllPersonDTO();
|
|
|
dto.setName(s);
|
|
|
- dto.setType(0);
|
|
|
+ dto.setType(1);
|
|
|
rightDTOS.add(dto);
|
|
|
}
|
|
|
}
|
|
@@ -504,13 +503,19 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
//申请人和权利人相同的去除
|
|
|
if (!CollectionUtils.isEmpty(applicantDTOS) && !CollectionUtils.isEmpty(rightDTOS)) {
|
|
|
for (GetAllPersonDTO applicantDTO : applicantDTOS) {
|
|
|
- rightDTOS.removeIf(rightDTO -> applicantDTO.getName().equals(rightDTO.getName()));
|
|
|
+ rightDTOS.removeIf(rightDTO -> rightDTO.getName().equals(applicantDTO.getName()));
|
|
|
}
|
|
|
}
|
|
|
//装载在同一个集合
|
|
|
personDTOList.addAll(applicantDTOS);
|
|
|
personDTOList.addAll(rightDTOS);
|
|
|
|
|
|
+ if (!CollectionUtils.isEmpty(personDTOList)) {
|
|
|
+ Set<GetAllPersonDTO> set = new TreeSet<>(Comparator.comparing(GetAllPersonDTO::getName));
|
|
|
+ set.addAll(personDTOList);
|
|
|
+ personDTOList = new ArrayList<>(set);
|
|
|
+ }
|
|
|
+
|
|
|
//发明人
|
|
|
List<GetAllPersonDTO> inventorDTOS = new ArrayList<>();
|
|
|
if (!CollectionUtils.isEmpty(personDTOS)) {
|
|
@@ -529,6 +534,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
// IPage<MergePerson> page = new Page<>(vo.getPageNum(), vo.getPageSize());
|
|
|
LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
|
|
|
.eq(MergePerson::getProjectId, vo.getProjectId())
|
|
|
+ .eq(MergePerson::getType, type)
|
|
|
.eq(StringUtils.isNotEmpty(vo.getName()), MergePerson::getName, vo.getName())
|
|
|
.orderByDesc(MergePerson::getCreateTime);
|
|
|
// IPage<MergePerson> record = mergePersonMapper.selectPage(page, wrapper);
|
|
@@ -550,6 +556,8 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
merge.setRemark(person.getRemark());
|
|
|
merge.setType(personType);
|
|
|
merge.setMergeId(person.getId());
|
|
|
+ merge.setAbbreviation(person.getAbbreviation());
|
|
|
+ merge.setProvince(person.getProvince());
|
|
|
mergeList.add(merge);
|
|
|
|
|
|
if (personType == 0) {
|
|
@@ -621,7 +629,7 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
String name = vo.getName();
|
|
|
Integer projectId = vo.getProjectId();
|
|
|
MergePerson mergePerson = mergePersonMapper.selectOne(new LambdaQueryWrapper<MergePerson>()
|
|
|
- .eq(MergePerson::getMergedName, name)
|
|
|
+ .eq(MergePerson::getName, name)
|
|
|
.eq(MergePerson::getProjectId, projectId));
|
|
|
if (ObjectUtil.isNotEmpty(mergePerson)) {
|
|
|
Integer personId = mergePerson.getId();
|
|
@@ -682,42 +690,46 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
public Integer delMergePerson(MergePersonIdVO vo) throws IOException {
|
|
|
Integer type = vo.getType();
|
|
|
MergePerson mergePerson = mergePersonMapper.selectById(vo.getId());
|
|
|
- String name = mergePerson.getName();
|
|
|
if (ObjectUtil.isNotEmpty(mergePerson)) {
|
|
|
LambdaQueryWrapper<MergePerson> wrapper = new LambdaQueryWrapper<MergePerson>()
|
|
|
.eq(BaseEntity::getId, vo.getId());
|
|
|
this.remove(wrapper);
|
|
|
|
|
|
- SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
- //设置查询索引
|
|
|
- builder.index("patent");
|
|
|
- List<Query> queries = new ArrayList<>();
|
|
|
- if (type == 0) {
|
|
|
- Query q1 = QueryBuilders.term(i -> i.field("merge_applicant.name.raw").value(name));
|
|
|
- Query query1 = QueryBuilders.nested(i -> i.path("merge_applicant").query(q1));
|
|
|
- Query q2 = QueryBuilders.term(i -> i.field("merge_right_holder.name.raw").value(name));
|
|
|
- Query query2 = QueryBuilders.nested(i -> i.path("merge_right_holder").query(q2));
|
|
|
- queries.add(query1);
|
|
|
- queries.add(query2);
|
|
|
- } else {
|
|
|
- Query q = QueryBuilders.term(i -> i.field("merge_inventor.name.raw").value(name));
|
|
|
- Query query3 = QueryBuilders.nested(i -> i.path("merge_inventor").query(q));
|
|
|
- queries.add(query3);
|
|
|
- }
|
|
|
- Query query = QueryBuilders.bool(i -> i.must(queries));
|
|
|
- builder.query(query);
|
|
|
- SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
- List<Hit<Patent>> hits = response.hits().hits();
|
|
|
- Map<String, Patent> map = new HashMap<>();
|
|
|
- for (Hit<Patent> hit : hits) {
|
|
|
- String id = hit.id();
|
|
|
- map.put(id, hit.source());
|
|
|
- }
|
|
|
+ String name = mergePerson.getName();
|
|
|
+ String mergedName = mergePerson.getMergedName();
|
|
|
+ List<String> list = JSONArray.parseArray(mergedName, String.class);
|
|
|
+ if (!CollectionUtils.isEmpty(list)) {
|
|
|
+ SearchRequest.Builder builder = new SearchRequest.Builder();
|
|
|
+ //设置查询索引
|
|
|
+ builder.index("patent");
|
|
|
+ List<Query> queries = new ArrayList<>();
|
|
|
+ if (type == 0) {
|
|
|
+ Query q1 = QueryBuilders.term(i -> i.field("merge_applicant.name.raw").value(name));
|
|
|
+ Query query1 = QueryBuilders.nested(i -> i.path("merge_applicant").query(q1));
|
|
|
+ Query q2 = QueryBuilders.term(i -> i.field("merge_right_holder.name.raw").value(name));
|
|
|
+ Query query2 = QueryBuilders.nested(i -> i.path("merge_right_holder").query(q2));
|
|
|
+ queries.add(query1);
|
|
|
+ queries.add(query2);
|
|
|
+ } else {
|
|
|
+ Query q = QueryBuilders.term(i -> i.field("merge_inventor.name.raw").value(name));
|
|
|
+ Query query3 = QueryBuilders.nested(i -> i.path("merge_inventor").query(q));
|
|
|
+ queries.add(query3);
|
|
|
+ }
|
|
|
+ Query query = QueryBuilders.bool(i -> i.must(queries));
|
|
|
+ builder.query(query);
|
|
|
+ SearchResponse<Patent> response = client.search(builder.build(), Patent.class);
|
|
|
+ List<Hit<Patent>> hits = response.hits().hits();
|
|
|
+ Map<String, Patent> map = new HashMap<>();
|
|
|
+ for (Hit<Patent> hit : hits) {
|
|
|
+ String id = hit.id();
|
|
|
+ map.put(id, hit.source());
|
|
|
+ }
|
|
|
|
|
|
- if (!CollectionUtils.isEmpty(map)) {
|
|
|
- for (String id : map.keySet()) {
|
|
|
- Patent patent = map.get(id);
|
|
|
- esService.delMergePerson(patent, id, type, mergePerson.getName());
|
|
|
+ if (!CollectionUtils.isEmpty(map)) {
|
|
|
+ for (String id : map.keySet()) {
|
|
|
+ Patent patent = map.get(id);
|
|
|
+ esService.delMergePerson(patent, id, type, mergePerson.getName());
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -743,4 +755,24 @@ public class MergePersonService extends ServiceImpl<MergePersonMapper, MergePers
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取国内省份列表查询
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<GetAllCountryDTO> getAllProvince() {
|
|
|
+ List<GetAllCountryDTO> list = new ArrayList<>();
|
|
|
+ List<SystemDict> countries = systemDictMapper.selectList(new LambdaQueryWrapper<SystemDict>()
|
|
|
+ .eq(SystemDict::getType, "PROVINCE"));
|
|
|
+ if (!CollectionUtils.isEmpty(countries)) {
|
|
|
+ countries.forEach(county -> {
|
|
|
+ GetAllCountryDTO dto = new GetAllCountryDTO();
|
|
|
+ dto.setLabel(county.getLabel());
|
|
|
+ dto.setValue(county.getValue());
|
|
|
+ dto.setType(county.getType());
|
|
|
+ list.add(dto);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return list;
|
|
|
+ }
|
|
|
}
|