|
@@ -538,7 +538,6 @@ public class PatentService extends ServiceImpl<PatentMapper, Patent> {
|
|
|
List<PatentSimpleFamilyLink> patentPatSnapFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByFamilyIds(dataPage.stream().map(Patent::getPatSnapFamily).collect(Collectors.toList()));
|
|
|
List<SystemDict> systemDictList = systemDictService.getSystemDictListByType(Arrays.asList(Constants.PATENT_TYPE, Constants.PATENT_SIMPLE_STATUS));
|
|
|
dataPage.forEach(item -> {
|
|
|
-
|
|
|
PatentDTO patentDTO = new PatentDTO();
|
|
|
BeanUtils.copyProperties(item, patentDTO);
|
|
|
patentDTO.setApplicationDate(DateUtils.formatDate(item.getApplicationDate(), DateUtils.YYYY_MM_DD));
|
|
@@ -570,6 +569,53 @@ public class PatentService extends ServiceImpl<PatentMapper, Patent> {
|
|
|
});
|
|
|
return records;
|
|
|
}
|
|
|
+ //查询对比文件信息
|
|
|
+ public List<PatentDTO> getRmsComparePatent(PatentVO params) {
|
|
|
+ List<Patent> dataPage = baseMapper.getPatent(params.getPatentNos(),-1,-1);
|
|
|
+ List<PatentDTO> records = new ArrayList<>();
|
|
|
+ List<Integer> patentIds = dataPage.stream().map(Patent::getId).collect(Collectors.toList());
|
|
|
+ List<PatentApplicant> patentApplicantList = patentApplicantService.getPatentApplicantByPatentIds(patentIds);
|
|
|
+ List<PatentInventor> patentInventorList = patentInventorService.getPatentInventorByPatentIds(patentIds);
|
|
|
+ List<PatentClassNumberLink> patentClassNumberLinkList = patentClassNumberLinkService.getPatentClassNumberLinkByPatentIds(patentIds);
|
|
|
+ List<PatentAgent> patentAgentList = patentAgentService.getPatentAgentByPatentIds(patentIds);
|
|
|
+ List<PatentAgency> patentAgencyList = patentAgencyService.getPatentAgencyByIds(dataPage.stream().filter(item -> StringUtils.isNotEmpty(item.getAgencyId())).map(item -> Integer.parseInt(item.getAgencyId())).distinct().collect(Collectors.toList()));
|
|
|
+ List<PatentSimpleFamilyLink> patentSimpleFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByFamilyIds(dataPage.stream().map(Patent::getSimpleFamily).collect(Collectors.toList()));
|
|
|
+ List<PatentSimpleFamilyLink> patentInpadocFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByFamilyIds(dataPage.stream().map(Patent::getInpadocFamily).collect(Collectors.toList()));
|
|
|
+ List<PatentSimpleFamilyLink> patentPatSnapFamilyLinkList = patentSimpleFamilyLinkService.getPatentSimpleFamilyLinkByFamilyIds(dataPage.stream().map(Patent::getPatSnapFamily).collect(Collectors.toList()));
|
|
|
+ List<SystemDict> systemDictList = systemDictService.getSystemDictListByType(Arrays.asList(Constants.PATENT_TYPE, Constants.PATENT_SIMPLE_STATUS));
|
|
|
+ dataPage.forEach(item -> {
|
|
|
+ PatentDTO patentDTO = new PatentDTO();
|
|
|
+ BeanUtils.copyProperties(item, patentDTO);
|
|
|
+ patentDTO.setApplicationDate(DateUtils.formatDate(item.getApplicationDate(), DateUtils.YYYY_MM_DD));
|
|
|
+ patentDTO.setPriorityDate(DateUtils.formatDate(item.getPriorityDate(), DateUtils.YYYY_MM_DD));
|
|
|
+ patentDTO.setPublicDate(DateUtils.formatDate(item.getPublicDate(), DateUtils.YYYY_MM_DD));
|
|
|
+ patentDTO.setPublicAccreditDate(DateUtils.formatDate(item.getPublicAccreditDate(), DateUtils.YYYY_MM_DD));
|
|
|
+ patentDTO.setFirstPublicDate(DateUtils.formatDate(item.getFirstPublicDate(), DateUtils.YYYY_MM_DD));
|
|
|
+ patentDTO.setSimpleStatus(systemDictList.stream().filter(systemDict -> systemDict.getType().equals(Constants.PATENT_SIMPLE_STATUS) && systemDict.getValue().equals(String.valueOf(item.getSimpleStatus()))).findFirst().orElse(new SystemDict()).getLabel());
|
|
|
+ patentDTO.setSimpleStatusInt(item.getSimpleStatus());
|
|
|
+ patentDTO.setType(systemDictList.stream().filter(systemDict -> systemDict.getType().equals(Constants.PATENT_TYPE) && systemDict.getValue().equals(String.valueOf(item.getType()))).findFirst().orElse(new SystemDict()).getLabel());
|
|
|
+ patentDTO.setApplicant(patentApplicantList.stream().filter(patentApplicant -> patentApplicant.getPatentId().equals(item.getId())).collect(Collectors.toList()));
|
|
|
+ patentDTO.setInventor(patentInventorList.stream().filter(patentInventor -> patentInventor.getPatentId().equals(item.getId())).collect(Collectors.toList()));
|
|
|
+ patentDTO.setIpcList(patentClassNumberLinkList.stream().filter(patentClassNumber -> patentClassNumber.getPatentId().equals(item.getId()) && patentClassNumber.getType().equals(Constants.PATENT_CLASS_NUMBER_IPC)).map(PatentClassNumberLink::getCode).distinct().collect(Collectors.toList()));
|
|
|
+ patentDTO.setCpcList(patentClassNumberLinkList.stream().filter(patentClassNumber -> patentClassNumber.getPatentId().equals(item.getId()) && patentClassNumber.getType().equals(Constants.PATENT_CLASS_NUMBER_CPC)).map(PatentClassNumberLink::getCode).distinct().collect(Collectors.toList()));
|
|
|
+ patentDTO.setUpcList(patentClassNumberLinkList.stream().filter(patentClassNumber -> patentClassNumber.getPatentId().equals(item.getId()) && patentClassNumber.getType().equals(Constants.PATENT_CLASS_NUMBER_UPC)).map(PatentClassNumberLink::getCode).distinct().collect(Collectors.toList()));
|
|
|
+ patentDTO.setLocList(patentClassNumberLinkList.stream().filter(patentClassNumber -> patentClassNumber.getPatentId().equals(item.getId()) && patentClassNumber.getType().equals(Constants.PATENT_CLASS_NUMBER_LOC)).map(PatentClassNumberLink::getCode).distinct().collect(Collectors.toList()));
|
|
|
+ if (StringUtils.isNotEmpty(item.getAgencyId())) {
|
|
|
+ patentDTO.setAgency(patentAgencyList.stream().filter(patentAgency -> patentAgency.getId().equals(Integer.parseInt(item.getAgencyId()))).findFirst().orElse(null));
|
|
|
+ }
|
|
|
+ PatentDTO.PatentFamily patentFamily = new PatentDTO.PatentFamily();
|
|
|
+ patentFamily.setSimple(patentSimpleFamilyLinkList.stream().filter(patentSimpleFamilyLink -> patentSimpleFamilyLink.getFamilyId().equals(item.getSimpleFamily())).map(PatentSimpleFamilyLink::getPatentNo).collect(Collectors.toList()));
|
|
|
+ patentFamily.setInpadoc(patentInpadocFamilyLinkList.stream().filter(patentSimpleFamilyLink -> patentSimpleFamilyLink.getFamilyId().equals(item.getInpadocFamily())).map(PatentSimpleFamilyLink::getPatentNo).collect(Collectors.toList()));
|
|
|
+ patentFamily.setPatSnap(patentPatSnapFamilyLinkList.stream().filter(patentSimpleFamilyLink -> patentSimpleFamilyLink.getFamilyId().equals(item.getPatSnapFamily())).map(PatentSimpleFamilyLink::getPatentNo).collect(Collectors.toList()));
|
|
|
+ patentDTO.setFamily(patentFamily);
|
|
|
+ patentDTO.setAffair(patentAffairService.getPatentAffairByPatentId(item.getId()));
|
|
|
+ patentDTO.setAgent(patentAgentList.stream().filter(patentAgent -> patentAgent.getPatentId().equals(item.getId())).collect(Collectors.toList()));
|
|
|
+ // TODO 性能优化
|
|
|
+ records.add(patentDTO);
|
|
|
+ });
|
|
|
+ return records;
|
|
|
+ }
|
|
|
+
|
|
|
// 获得对比专利号
|
|
|
public String getComPantentNos(PatentVO params){
|
|
|
List<String> patents = baseMapper.getListForRMS(params);
|
|
@@ -1472,4 +1518,7 @@ public String getConPantentNos(QueryPatentVO params){
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|