|
@@ -1,6 +1,7 @@
|
|
|
package cn.cslg.pas.service.business;
|
|
|
|
|
|
import cn.cslg.pas.common.TreeBuild;
|
|
|
+import cn.cslg.pas.common.dto.PatentColumnDTO;
|
|
|
import cn.cslg.pas.common.dto.QueryPatentClaimDTO;
|
|
|
import cn.cslg.pas.common.dto.QuerySplitDTO;
|
|
|
import cn.cslg.pas.common.dto.business.SelectClaimDTO;
|
|
@@ -16,6 +17,7 @@ import cn.cslg.pas.common.vo.business.SplitVO;
|
|
|
import cn.cslg.pas.common.vo.invalidVO.QueryClaimSplitHistoryVO;
|
|
|
import cn.cslg.pas.domain.business.*;
|
|
|
import cn.cslg.pas.domain.es.PatentTranslate;
|
|
|
+import cn.cslg.pas.domain.es.Text;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
|
import cn.cslg.pas.mapper.FeatureMapper;
|
|
|
import cn.cslg.pas.service.ClaimMessageService;
|
|
@@ -30,6 +32,7 @@ import co.elastic.clients.elasticsearch.core.SearchRequest;
|
|
|
import co.elastic.clients.elasticsearch.core.SearchResponse;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -285,22 +288,39 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
public List<PatentRightTree> getPatentRightTree(String patentNo, String appNo) {
|
|
|
try {
|
|
|
List<RePatentClaim> patentRights = this.getRightListByNo(patentNo, appNo);
|
|
|
+ Long total = translateService.getTranslateByPatentNo(patentNo);
|
|
|
+ if (total < 1) {
|
|
|
+ PatentColumnDTO columnDTO = translateService.getPatentByPatentNo(patentNo);
|
|
|
+ List<Text> claim = columnDTO.getClaim();
|
|
|
+ if (!CollectionUtils.isEmpty(claim)) {
|
|
|
+ Text text = claim.get(0);
|
|
|
+ for (RePatentClaim rePatentClaim : patentRights) {
|
|
|
+ if (rePatentClaim.getContent().contains(" ")) {
|
|
|
+ String replace = rePatentClaim.getContent().replace(" ", " ");
|
|
|
+ rePatentClaim.setContent(replace);
|
|
|
+ }
|
|
|
+ //原文
|
|
|
+ translateService.loadingTranslate(patentNo, "3", text.getLanguage(), true,
|
|
|
+ rePatentClaim.getSort(), rePatentClaim.getParentSort(), rePatentClaim.getContent());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
List<PatentRightTree> treeNodeList = new ArrayList<>();
|
|
|
//装载权要原文
|
|
|
- PatentRightParams params = new PatentRightParams();
|
|
|
- params.setPatentNo(patentNo);
|
|
|
- params.setContent("");
|
|
|
+// PatentRightParams params = new PatentRightParams();
|
|
|
+// params.setPatentNo(patentNo);
|
|
|
+// params.setContent("");
|
|
|
|
|
|
|
|
|
//判断若处理后的权要集合只有1个元素并且类型type=-1、排序号sort=-1,则表示本次拆分失败,则直接返回整个权要
|
|
|
- if (patentRights.size() == 1 && patentRights.get(0).getType() == -1 && patentRights.get(0).getSort() == -1) {
|
|
|
+ if (patentRights.size() == 1 && (patentRights.get(0).getType() == null || patentRights.get(0).getType() == -1) && patentRights.get(0).getSort() == -1) {
|
|
|
List<String> list = translateService.getTranslateOrder(patentNo, patentRights.get(0).getSort());
|
|
|
String translateContent = "";
|
|
|
if (!CollectionUtils.isEmpty(list)) {
|
|
|
translateContent = list.get(0);
|
|
|
}
|
|
|
- treeNodeList.add(new PatentRightTree(patentRights.get(0).getSort(), null, patentRights.get(0).getContent(),translateContent));
|
|
|
+ treeNodeList.add(new PatentRightTree(patentRights.get(0).getSort(), null, patentRights.get(0).getContent(), translateContent));
|
|
|
return treeNodeList;
|
|
|
}
|
|
|
List<PatentRightContent> patentRightContents = this.loadPatentRightContent(patentRights);
|
|
@@ -323,7 +343,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
return treeNodeList;
|
|
|
|
|
|
} catch (Exception e) {
|
|
|
- throw new XiaoShiException("系统错误");
|
|
|
+ throw new XiaoShiException(e.getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -566,7 +586,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
if (patentSplitMessage == null) {
|
|
|
throw new XiaoShiException("未进行拆分过");
|
|
|
}
|
|
|
- List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId,signPatentNo);
|
|
|
+ List<Integer> ids = this.saveFeatures(features, patentSplitMessage.getId(), projectId, signPatentNo);
|
|
|
return ids;
|
|
|
}
|
|
|
|
|
@@ -579,7 +599,7 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
* @param projectId
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId,String patentNo) {
|
|
|
+ public List<Integer> saveFeatures(List<UpdateFeatureDTO.ChangedFeatures> features, Integer splitMessageId, Integer projectId, String patentNo) {
|
|
|
List<Integer> addIds = new ArrayList<>();
|
|
|
LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.select(Feature::getId);
|
|
@@ -592,32 +612,32 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
personnelVO.setTenantId(1);
|
|
|
|
|
|
List<Feature> addFeatures = new ArrayList<>();
|
|
|
- Integer order=1;
|
|
|
- for(UpdateFeatureDTO.ChangedFeatures item:features) {
|
|
|
- Integer id = item.getId();
|
|
|
- if (id == null || !ids.contains(id)) {
|
|
|
- Feature feature = new Feature();
|
|
|
- feature.setCreateId(personnelVO.getId());
|
|
|
- feature.setSplitMessageId(splitMessageId);
|
|
|
- feature.setContent(item.getContent());
|
|
|
- feature.setExplainText(item.getExplainText());
|
|
|
- feature.setRightSort(item.getRightSort());
|
|
|
- feature.setProjectId(projectId);
|
|
|
- feature.setSysOrder(order);
|
|
|
- feature.setPatentNo(patentNo);
|
|
|
- feature.setRightType(item.getRightType());
|
|
|
- feature.setTenantId(personnelVO.getTenantId());
|
|
|
- feature.insert();
|
|
|
- } else {
|
|
|
- ids.remove(id);
|
|
|
- Feature feature = this.getById(id);
|
|
|
- feature.setSysOrder(order);
|
|
|
- feature.setContent(item.getContent());
|
|
|
- feature.setExplainText(item.getExplainText());
|
|
|
- feature.updateById();
|
|
|
+ Integer order = 1;
|
|
|
+ for (UpdateFeatureDTO.ChangedFeatures item : features) {
|
|
|
+ Integer id = item.getId();
|
|
|
+ if (id == null || !ids.contains(id)) {
|
|
|
+ Feature feature = new Feature();
|
|
|
+ feature.setCreateId(personnelVO.getId());
|
|
|
+ feature.setSplitMessageId(splitMessageId);
|
|
|
+ feature.setContent(item.getContent());
|
|
|
+ feature.setExplainText(item.getExplainText());
|
|
|
+ feature.setRightSort(item.getRightSort());
|
|
|
+ feature.setProjectId(projectId);
|
|
|
+ feature.setSysOrder(order);
|
|
|
+ feature.setPatentNo(patentNo);
|
|
|
+ feature.setRightType(item.getRightType());
|
|
|
+ feature.setTenantId(personnelVO.getTenantId());
|
|
|
+ feature.insert();
|
|
|
+ } else {
|
|
|
+ ids.remove(id);
|
|
|
+ Feature feature = this.getById(id);
|
|
|
+ feature.setSysOrder(order);
|
|
|
+ feature.setContent(item.getContent());
|
|
|
+ feature.setExplainText(item.getExplainText());
|
|
|
+ feature.updateById();
|
|
|
|
|
|
- }
|
|
|
- order++;
|
|
|
+ }
|
|
|
+ order++;
|
|
|
}
|
|
|
|
|
|
//添加特征
|
|
@@ -645,9 +665,9 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
Integer claimMessageId = claimMessage.getId();
|
|
|
LambdaQueryWrapper<PatentClaim> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(PatentClaim::getClaimMessageId, claimMessageId);
|
|
|
- List<PatentClaim> patentClaimList =patentClaimService.list(queryWrapper);
|
|
|
- for (PatentClaim item: patentClaimList){
|
|
|
- RePatentClaim rePatentClaim =this.domainToRe(item);
|
|
|
+ List<PatentClaim> patentClaimList = patentClaimService.list(queryWrapper);
|
|
|
+ for (PatentClaim item : patentClaimList) {
|
|
|
+ RePatentClaim rePatentClaim = this.domainToRe(item);
|
|
|
patentRights.add(rePatentClaim);
|
|
|
}
|
|
|
}
|
|
@@ -657,13 +677,13 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Feature> {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private RePatentClaim domainToRe(PatentClaim patentClaim){
|
|
|
- RePatentClaim rePatentClaim =new RePatentClaim();
|
|
|
- rePatentClaim.setContent(patentClaim.getContent());
|
|
|
- rePatentClaim.setId(patentClaim.getId());
|
|
|
- rePatentClaim.setSort(patentClaim.getSysOrder());
|
|
|
- rePatentClaim.setParentSort(patentClaim.getParentOrder());
|
|
|
- rePatentClaim.setType(patentClaim.getClaimType());
|
|
|
- return rePatentClaim;
|
|
|
- }
|
|
|
+ private RePatentClaim domainToRe(PatentClaim patentClaim) {
|
|
|
+ RePatentClaim rePatentClaim = new RePatentClaim();
|
|
|
+ rePatentClaim.setContent(patentClaim.getContent());
|
|
|
+ rePatentClaim.setId(patentClaim.getId());
|
|
|
+ rePatentClaim.setSort(patentClaim.getSysOrder());
|
|
|
+ rePatentClaim.setParentSort(patentClaim.getParentOrder());
|
|
|
+ rePatentClaim.setType(patentClaim.getClaimType());
|
|
|
+ return rePatentClaim;
|
|
|
+ }
|
|
|
}
|