|
@@ -54,6 +54,7 @@ public class CompareRecordService {
|
|
|
@Autowired
|
|
|
private ProofGroupService proofGroupService;
|
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public Integer addCompareRecord(AddCompareRecordDTO addCompareRecordDTO) {
|
|
|
List<AddCompareRecordDTO.AssoFeature> assoFeatureList = addCompareRecordDTO.getAssoFeatureList();
|
|
|
Integer id = addCompareRecordDTO.getId();
|
|
@@ -76,6 +77,7 @@ public class CompareRecordService {
|
|
|
evidenceReason.setDescription(addCompareRecordDTO.getCommon());
|
|
|
evidenceReason.setFileGuid(addCompareRecordDTO.getFileGuid());
|
|
|
evidenceReason.insert();
|
|
|
+ id = evidenceReason.getId();
|
|
|
}
|
|
|
AssoReasonLiterature assoReasonLiterature = new AssoReasonLiterature();
|
|
|
assoReasonLiterature.setReasonId(evidenceReason.getId());
|
|
@@ -178,7 +180,7 @@ public class CompareRecordService {
|
|
|
assoFeatureList.add(assoFeature);
|
|
|
});
|
|
|
compareRecordVO.setAssoFeatureList(assoFeatureList);
|
|
|
- recordVOS.add(compareRecordVO);
|
|
|
+ recordVOS.add(compareRecordVO);
|
|
|
}
|
|
|
return recordVOS;
|
|
|
}
|
|
@@ -215,7 +217,7 @@ public class CompareRecordService {
|
|
|
|
|
|
//根据特征id 查询对比记录
|
|
|
LambdaQueryWrapper<AssoGroupReason> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(AssoGroupReason::getFeatureId, ids)
|
|
|
+ queryWrapper.in(AssoGroupReason::getFeatureId, ids)
|
|
|
.isNull(AssoGroupReason::getGroupId);
|
|
|
List<AssoGroupReason> assoGroupReasons = assoGroupReasonService.list(queryWrapper);
|
|
|
|
|
@@ -244,25 +246,41 @@ public class CompareRecordService {
|
|
|
.collect(Collectors.toList());
|
|
|
List<Integer> reasonIds = assoGroupReasons1.stream().map(AssoGroupReason::getReasonId).collect(Collectors.toList());
|
|
|
//根据无效理由id 查询无效理由
|
|
|
- LambdaQueryWrapper<EvidenceReason> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.in(EvidenceReason::getId, reasonIds);
|
|
|
- List<EvidenceReason> evidenceReasons = evidenceReasonService.list(queryWrapper1);
|
|
|
-
|
|
|
- //根据无效理由id 查询无效理由和文献关联
|
|
|
- LambdaQueryWrapper<AssoReasonLiterature> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper2.in(AssoReasonLiterature::getReasonId, reasonIds);
|
|
|
- List<AssoReasonLiterature> assoReasonLiteratures = assoReasonLiteratureService.list(queryWrapper2);
|
|
|
- //根据文献id查询文献列表
|
|
|
- List<Integer> literatureIds = assoReasonLiteratures.stream().map(AssoReasonLiterature::getLiteratureId).collect(Collectors.toList());
|
|
|
- List<CompareLiteratureVO> compareLiteratureVOS = compareLiteratureService.getByIds(literatureIds);
|
|
|
+ List<EvidenceReason> evidenceReasons = new ArrayList<>();
|
|
|
|
|
|
+ List<AssoReasonLiterature> assoReasonLiteratures = new ArrayList<>();
|
|
|
+ if (reasonIds != null && reasonIds.size() != 0) {
|
|
|
+ LambdaQueryWrapper<EvidenceReason> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper1.in(EvidenceReason::getId, reasonIds);
|
|
|
+ evidenceReasons = evidenceReasonService.list(queryWrapper1);
|
|
|
+
|
|
|
+ //根据无效理由id 查询无效理由和文献关联
|
|
|
+ LambdaQueryWrapper<AssoReasonLiterature> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper2.in(AssoReasonLiterature::getReasonId, reasonIds);
|
|
|
+ assoReasonLiteratures = assoReasonLiteratureService.list(queryWrapper2);
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据文献id查询文献列表
|
|
|
+ List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
|
|
|
+ if (assoReasonLiteratures.size() != 0) {
|
|
|
+ List<Integer> literatureIds = assoReasonLiteratures.stream().map(AssoReasonLiterature::getLiteratureId).collect(Collectors.toList());
|
|
|
+ compareLiteratureVOS = compareLiteratureService.getByIds(literatureIds);
|
|
|
+ }
|
|
|
List<AllCompareRecordVO.EvidenceReason> evidenceReasonList = new ArrayList<>();
|
|
|
|
|
|
//装载无效理由
|
|
|
- evidenceReasons.forEach(item -> {
|
|
|
+
|
|
|
+ for (EvidenceReason item : evidenceReasons) {
|
|
|
AllCompareRecordVO.EvidenceReason evidenceReason = new AllCompareRecordVO.EvidenceReason();
|
|
|
evidenceReason.setEvidenceText(item.getEvidenceText());
|
|
|
evidenceReason.setCommon(item.getDescription());
|
|
|
+ evidenceReason.setEvidenceId(item.getId());
|
|
|
+ evidenceReason.setFileGuid(item.getFileGuid());
|
|
|
+ AssoGroupReason assoGroupReason =assoGroupReasons1.stream().filter(i->i.getReasonId().equals(item.getId())).findFirst().orElse(null);
|
|
|
+ if(assoGroupReason!=null){
|
|
|
+ evidenceReason.setConclusion(assoGroupReason.getConclusion());
|
|
|
+ }
|
|
|
+
|
|
|
//根据无效理由id 查询无效理由和文献关联
|
|
|
AssoReasonLiterature assoReasonLiteratureTmp = assoReasonLiteratures.stream()
|
|
|
.filter(t -> t.getReasonId().equals(item.getId())).findFirst().orElse(null);
|
|
@@ -284,7 +302,7 @@ public class CompareRecordService {
|
|
|
}
|
|
|
|
|
|
evidenceReasonList.add(evidenceReason);
|
|
|
- });
|
|
|
+ }
|
|
|
allCompareRecordVO.setEvidenceReasons(evidenceReasonList);
|
|
|
vos.add(allCompareRecordVO);
|
|
|
}
|
|
@@ -296,7 +314,8 @@ public class CompareRecordService {
|
|
|
Integer projectId = queryCompareRecordDTO.getProjectId();
|
|
|
//根据ProjectId查询对比组合
|
|
|
LambdaQueryWrapper<ProofGroup> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ProofGroup::getProjectId, projectId);
|
|
|
+ queryWrapper.eq(ProofGroup::getProjectId, projectId)
|
|
|
+ .orderByAsc(ProofGroup::getClaimSort);
|
|
|
List<ProofGroup> proofGroups = proofGroupService.list(queryWrapper);
|
|
|
|
|
|
//查询标的专利号
|
|
@@ -357,49 +376,71 @@ public class CompareRecordService {
|
|
|
if (assoGroupReasonList.size() != 0) {
|
|
|
List<Integer> reasonIds = assoGroupReasonList.stream().map(AssoGroupReason::getReasonId).collect(Collectors.toList());
|
|
|
//根据无效理由id 查询无效理由
|
|
|
- LambdaQueryWrapper<EvidenceReason> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper2.in(EvidenceReason::getId, reasonIds);
|
|
|
- List<EvidenceReason> evidenceReasonList = evidenceReasonService.list(queryWrapper2);
|
|
|
-
|
|
|
- //根据无效理由id 查询无效理由和文献关联
|
|
|
- LambdaQueryWrapper<AssoReasonLiterature> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper3.in(AssoReasonLiterature::getReasonId, reasonIds);
|
|
|
- List<AssoReasonLiterature> assoReasonLiteratures = assoReasonLiteratureService.list(queryWrapper3);
|
|
|
- //根据文献id查询文献列表
|
|
|
- List<Integer> literatureIds = assoReasonLiteratures.stream().map(AssoReasonLiterature::getLiteratureId).collect(Collectors.toList());
|
|
|
- List<CompareLiteratureVO> compareLiteratureVOS = compareLiteratureService.getByIds(literatureIds);
|
|
|
-
|
|
|
-
|
|
|
- //装载无效理由
|
|
|
- evidenceReasonList.forEach(item -> {
|
|
|
- AllCompareGroupVO.EvidenceReason evidenceReason = new AllCompareGroupVO.EvidenceReason();
|
|
|
- evidenceReason.setEvidenceText(item.getEvidenceText());
|
|
|
- evidenceReason.setCommon(item.getDescription());
|
|
|
+ if (reasonIds.size() != 0) {
|
|
|
+
|
|
|
+ LambdaQueryWrapper<EvidenceReason> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper2.in(EvidenceReason::getId, reasonIds);
|
|
|
+ List<EvidenceReason> evidenceReasonList = evidenceReasonService.list(queryWrapper2);
|
|
|
+
|
|
|
//根据无效理由id 查询无效理由和文献关联
|
|
|
- AssoReasonLiterature assoReasonLiteratureTmp = assoReasonLiteratures.stream()
|
|
|
- .filter(t -> t.getReasonId().equals(item.getId())).findFirst().orElse(null);
|
|
|
- //装载划词信息
|
|
|
- if (assoReasonLiteratureTmp != null) {
|
|
|
- evidenceReason.setLiteratureId(assoReasonLiteratureTmp.getLiteratureId());
|
|
|
- evidenceReason.setFieldName(assoReasonLiteratureTmp.getFieldName());
|
|
|
- evidenceReason.setPosition(assoReasonLiteratureTmp.getPosition());
|
|
|
- //装载文献信息
|
|
|
- CompareLiteratureVO compareLiteratureVO = compareLiteratureVOS.stream()
|
|
|
- .filter(t -> t.getId().equals(assoReasonLiteratureTmp.getLiteratureId()))
|
|
|
- .findFirst().orElse(null);
|
|
|
- if (compareLiteratureVO != null) {
|
|
|
- evidenceReason.setLiteratureNo(compareLiteratureVO.getLiteratureNo());
|
|
|
- evidenceReason.setLiteratureName(compareLiteratureVO.getName());
|
|
|
- evidenceReason.setLiteratureSysOrder(compareLiteratureVO.getSysOrder());
|
|
|
- evidenceReason.setLiteratureType(compareLiteratureVO.getType());
|
|
|
- }
|
|
|
+ LambdaQueryWrapper<AssoReasonLiterature> queryWrapper3 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper3.in(AssoReasonLiterature::getReasonId, reasonIds);
|
|
|
+ List<AssoReasonLiterature> assoReasonLiteratures = assoReasonLiteratureService.list(queryWrapper3);
|
|
|
+ //根据文献id查询文献列表
|
|
|
+ List<CompareLiteratureVO> compareLiteratureVOS = new ArrayList<>();
|
|
|
+ List<Integer> literatureIds = assoReasonLiteratures.stream().map(AssoReasonLiterature::getLiteratureId).collect(Collectors.toList());
|
|
|
+ if (literatureIds.size() > 0) {
|
|
|
+ compareLiteratureVOS = compareLiteratureService.getByIds(literatureIds);
|
|
|
}
|
|
|
+ //装载无效理由
|
|
|
+ for (EvidenceReason item : evidenceReasonList) {
|
|
|
+ AllCompareGroupVO.EvidenceReason evidenceReason = new AllCompareGroupVO.EvidenceReason();
|
|
|
+ evidenceReason.setEvidenceText(item.getEvidenceText());
|
|
|
+ evidenceReason.setCommon(item.getDescription());
|
|
|
+ evidenceReason.setEvidenceId(item.getId());
|
|
|
+ LambdaQueryWrapper<AssoGroupReason> queryWrapper4 =new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper4.eq(AssoGroupReason::getReasonId,item.getId())
|
|
|
+ .eq(AssoGroupReason::getFeatureId,feature.getId())
|
|
|
+ .isNull(AssoGroupReason::getGroupId);
|
|
|
+ AssoGroupReason assoGroupReason= assoGroupReasonService.getOne(queryWrapper4,false);
|
|
|
+ evidenceReason.setConclusion(assoGroupReason.getConclusion());
|
|
|
+
|
|
|
+ //根据无效理由id 查询无效理由和文献关联
|
|
|
+ AssoReasonLiterature assoReasonLiteratureTmp = assoReasonLiteratures.stream()
|
|
|
+ .filter(t -> t.getReasonId().equals(item.getId())).findFirst().orElse(null);
|
|
|
+ //装载划词信息
|
|
|
+ if (assoReasonLiteratureTmp != null) {
|
|
|
+ evidenceReason.setLiteratureId(assoReasonLiteratureTmp.getLiteratureId());
|
|
|
+ evidenceReason.setFieldName(assoReasonLiteratureTmp.getFieldName());
|
|
|
+ evidenceReason.setPosition(assoReasonLiteratureTmp.getPosition());
|
|
|
+ //装载文献信息
|
|
|
+ CompareLiteratureVO compareLiteratureVO = compareLiteratureVOS.stream()
|
|
|
+ .filter(t -> t.getId().equals(assoReasonLiteratureTmp.getLiteratureId()))
|
|
|
+ .findFirst().orElse(null);
|
|
|
+ if (compareLiteratureVO != null) {
|
|
|
+ evidenceReason.setLiteratureNo(compareLiteratureVO.getLiteratureNo());
|
|
|
+ evidenceReason.setLiteratureName(compareLiteratureVO.getName());
|
|
|
+ evidenceReason.setLiteratureSysOrder(compareLiteratureVO.getSysOrder());
|
|
|
+ evidenceReason.setLiteratureType(compareLiteratureVO.getType());
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- evidenceReasons.add(evidenceReason);
|
|
|
- });
|
|
|
+ evidenceReasons.add(evidenceReason);
|
|
|
+ }
|
|
|
+ //装载公识
|
|
|
+ if(reasonIds.contains(0)){
|
|
|
+ AllCompareGroupVO.EvidenceReason evidenceReason = new AllCompareGroupVO.EvidenceReason();
|
|
|
+ evidenceReason.setEvidenceId(0);
|
|
|
+ evidenceReasons.add(evidenceReason);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
featureMessage.setEvidenceReasons(evidenceReasons);
|
|
|
+
|
|
|
+ featureMessages.add(featureMessage);
|
|
|
allCompareGroupVO.setFeatureMessages(featureMessages);
|
|
|
}
|
|
|
allCompareGroupVOS.add(allCompareGroupVO);
|
|
@@ -451,7 +492,7 @@ public class CompareRecordService {
|
|
|
LambdaQueryWrapper<AssoGroupReason> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.in(AssoGroupReason::getFeatureId, ids);
|
|
|
List<AssoGroupReason> assoGroupReasons = assoGroupReasonService.list(queryWrapper);
|
|
|
- if (assoGroupReasons != null) {
|
|
|
+ if (assoGroupReasons != null && assoGroupReasons.size() != 0) {
|
|
|
List<Integer> reasonIds = assoGroupReasons.stream().map(AssoGroupReason::getReasonId).collect(Collectors.toList());
|
|
|
//根据reasonIds查询对比文献id
|
|
|
LambdaQueryWrapper<AssoReasonLiterature> queryWrapper1 = new LambdaQueryWrapper<>();
|