|
@@ -260,8 +260,7 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
|
|
|
for (PatentClaimDTO patentClaimDTO : patentClaims) {
|
|
|
if (patentClaimDTO.getIfUpdate() != null && patentClaimDTO.getIfUpdate().equals(0)) {
|
|
|
continue;
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
PatentClaim patentClaim = this.dtoToDomain(patentClaimDTO);
|
|
|
patentClaim.setCreateId(personnelVO.getId());
|
|
|
patentClaim.setClaimMessageId(claimMessageId);
|
|
@@ -285,10 +284,67 @@ public class PatentClaimService extends ServiceImpl<PatentClaimMapper, PatentCla
|
|
|
return patentClaim;
|
|
|
}
|
|
|
|
|
|
- private List<PatentClaimVO> getVersionPatentClaim(QueryClaimDTO queryClaimDTO){
|
|
|
- Integer projectId =queryClaimDTO.getProjectId();
|
|
|
- Integer editVersion=queryClaimDTO.getEditVersion();
|
|
|
+ public List<PatentClaimVO> getVersionPatentClaim(QueryClaimDTO queryClaimDTO) {
|
|
|
+ List<PatentClaimVO> patentClaimVOS = new ArrayList<>();
|
|
|
+ Integer projectId = queryClaimDTO.getProjectId();
|
|
|
+ Integer editVersion = queryClaimDTO.getEditVersion();
|
|
|
+ if (editVersion == null || editVersion != 2) {
|
|
|
+ editVersion = 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据projectId查询出所有权利要求
|
|
|
+ LambdaQueryWrapper<PatentClaim> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(PatentClaim::getProjectId, projectId).orderByAsc(PatentClaim::getSysOrder);
|
|
|
+ List<PatentClaim> patentClaims = this.list(queryWrapper);
|
|
|
+ if (patentClaims == null || patentClaims.size() == 0) {
|
|
|
+ return patentClaimVOS;
|
|
|
+ }
|
|
|
+ List<Integer> claimIds = patentClaims.stream().map(PatentClaim::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 查询无效历史
|
|
|
+ LambdaQueryWrapper<PatentClaimHistory> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper1.ne(PatentClaimHistory::getOperateType, 2).
|
|
|
+ in(PatentClaimHistory::getClaimId, claimIds);
|
|
|
+ //如果只查询版本1
|
|
|
+ if (editVersion == 1) {
|
|
|
+ queryWrapper1.eq(PatentClaimHistory::getIfFirst, true);
|
|
|
+ }
|
|
|
+ List<PatentClaimHistory> patentClaimHistoryList = patentClaimHistoryService.list(queryWrapper1);
|
|
|
|
|
|
- return null;
|
|
|
+ Integer index = 0;
|
|
|
+ //遍历权利要求
|
|
|
+ for (PatentClaim patentClaim : patentClaims) {
|
|
|
+ PatentClaimVO patentClaimVO = new PatentClaimVO();
|
|
|
+ patentClaimVO.setContent(patentClaim.getContent());
|
|
|
+ patentClaimVO.setClaimType(patentClaim.getClaimType());
|
|
|
+ patentClaimVO.setSysOrder(index);
|
|
|
+ patentClaimVO.setId(patentClaim.getId());
|
|
|
+ List<PatentClaimHistory> calimHistories = patentClaimHistoryList.stream().filter(item -> item.getClaimId().equals(patentClaim.getId())).collect(Collectors.toList());
|
|
|
+
|
|
|
+ PatentClaimHistory deleteClaimHistory = calimHistories.stream().filter(item -> item.getOperateType().equals(1)).findFirst().orElse(null);
|
|
|
+ //查看是否有删除的历史记录,如果有则直接跳过
|
|
|
+ if (deleteClaimHistory != null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ List<PatentClaimHistory> editClaimHistories = calimHistories.stream().filter(item -> item.getOperateType().equals(0)).collect(Collectors.toList());
|
|
|
+ if (editVersion == 1) {
|
|
|
+ if (editClaimHistories != null && editClaimHistories.size() > 0) {
|
|
|
+ patentClaimVO.setContent(editClaimHistories.get(0).getContent());
|
|
|
+ }
|
|
|
+ } else if (editVersion == 2) {
|
|
|
+ PatentClaimHistory editClaimHistory = editClaimHistories.stream().filter(item -> item.getIfFirst().equals(false)).findFirst().orElse(null);
|
|
|
+ if (editClaimHistory == null) {
|
|
|
+ editClaimHistory = editClaimHistories.stream().filter(item -> item.getIfFirst().equals(true)).findFirst().orElse(null);
|
|
|
+ }
|
|
|
+ if (editClaimHistory != null) {
|
|
|
+ patentClaimVO.setContent(editClaimHistory.getContent());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ patentClaimVOS.add(patentClaimVO);
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+
|
|
|
+ return patentClaimVOS;
|
|
|
}
|
|
|
}
|