|
@@ -11,10 +11,7 @@ import cn.cslg.pas.common.utils.StringUtils;
|
|
|
import cn.cslg.pas.common.vo.PatentRightVo;
|
|
|
import cn.cslg.pas.common.vo.RePatentClaim;
|
|
|
import cn.cslg.pas.common.vo.business.*;
|
|
|
-import cn.cslg.pas.domain.business.CompareLiterature;
|
|
|
-import cn.cslg.pas.domain.business.FTOCompareRecord;
|
|
|
-import cn.cslg.pas.domain.business.Feature;
|
|
|
-import cn.cslg.pas.domain.business.ProjectTask;
|
|
|
+import cn.cslg.pas.domain.business.*;
|
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
|
import cn.cslg.pas.exception.UnLoginException;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
@@ -33,6 +30,7 @@ import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
import java.util.function.Function;
|
|
@@ -40,6 +38,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* FTO
|
|
|
+ *
|
|
|
* @Author xiexiang
|
|
|
* @Date 2023/12/13
|
|
|
*/
|
|
@@ -72,12 +71,16 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
private EsPatentService esPatentService;
|
|
|
@Autowired
|
|
|
private EsFamilyService esFamilyService;
|
|
|
+ @Autowired
|
|
|
+ private SystemDictService systemDictService;
|
|
|
+
|
|
|
/**
|
|
|
* 查询FTO对比结果VO
|
|
|
+ *
|
|
|
* @param getFeatureSplitDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- public TortCompareRecordVO getTortCompareRecord(GetFeatureSplitDTO getFeatureSplitDTO){
|
|
|
+ public TortCompareRecordVO getTortCompareRecord(GetFeatureSplitDTO getFeatureSplitDTO) {
|
|
|
// 判断参数不能为空
|
|
|
// 分配任务id
|
|
|
Integer taskId = getFeatureSplitDTO.getTaskId();
|
|
@@ -136,10 +139,11 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 装载权要层
|
|
|
+ *
|
|
|
* @param patentRightVos
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortRightVO> loadTortRightVO(String patentNo, Integer taskId, List<PatentRightVo> patentRightVos){
|
|
|
+ public List<TortRightVO> loadTortRightVO(String patentNo, Integer taskId, List<PatentRightVo> patentRightVos) {
|
|
|
//新建权要层信息
|
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
|
//遍历装载权要层信息
|
|
@@ -163,12 +167,13 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
/**
|
|
|
* 发起人查询
|
|
|
* 装载特征与对比结果
|
|
|
+ *
|
|
|
* @param taskId
|
|
|
* @param features
|
|
|
* @param ftoCompareRecords
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortVO> loadAllTortVO(Integer taskId, List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
+ public List<TortVO> loadAllTortVO(Integer taskId, List<Feature> features, List<FTOCompareRecord> ftoCompareRecords) {
|
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
|
for (Feature feature : features) {
|
|
|
//新建特征与侵权分析对比结果VO
|
|
@@ -249,8 +254,8 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.select(Feature::getId)
|
|
|
.eq(Feature::getProjectTaskId, taskId);
|
|
|
- Function<Object,Integer> f = (o -> Integer.parseInt(o.toString()));
|
|
|
- List<Integer> featureIds = featureService.listObjs(queryWrapper,f);
|
|
|
+ Function<Object, Integer> f = (o -> Integer.parseInt(o.toString()));
|
|
|
+ List<Integer> featureIds = featureService.listObjs(queryWrapper, f);
|
|
|
// 删除特征
|
|
|
List<Integer> ids = new ArrayList<>();
|
|
|
if (!featureIds.isEmpty()) {
|
|
@@ -269,12 +274,13 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 更新剩余特征和对比结果
|
|
|
+ *
|
|
|
* @param patentNo
|
|
|
* @param taskId
|
|
|
* @param featureIds
|
|
|
* @param tortDTOS
|
|
|
*/
|
|
|
- public List<Integer> updateFeatures(String patentNo, Integer taskId, List<Integer> featureIds, List<TortDTO> tortDTOS){
|
|
|
+ public List<Integer> updateFeatures(String patentNo, Integer taskId, List<Integer> featureIds, List<TortDTO> tortDTOS) {
|
|
|
// 获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
try {
|
|
@@ -323,19 +329,20 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
ftoIds.add(id);
|
|
|
}
|
|
|
}
|
|
|
- order++ ;
|
|
|
+ order++;
|
|
|
}
|
|
|
return ftoIds;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 对比结果入库
|
|
|
+ *
|
|
|
* @param patentNo
|
|
|
* @param projectId
|
|
|
* @param taskId
|
|
|
* @param tortDTO
|
|
|
*/
|
|
|
- public Integer addCompareRecords(String patentNo, Integer projectId, Integer taskId, TortDTO tortDTO){
|
|
|
+ public Integer addCompareRecords(String patentNo, Integer projectId, Integer taskId, TortDTO tortDTO) {
|
|
|
Integer featureId = tortDTO.getFeatureId();
|
|
|
//获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
@@ -364,9 +371,10 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 保存协同任务对比结果
|
|
|
+ *
|
|
|
* @param tortCompareRecordDTO
|
|
|
*/
|
|
|
- public List<Integer> addFTOAssitTaskResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
|
+ public List<Integer> addFTOAssitTaskResult(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
|
if (tortCompareRecordDTO == null) {
|
|
|
throw new XiaoShiException("入参不能为空");
|
|
|
}
|
|
@@ -432,6 +440,7 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
/**
|
|
|
* 查询侵权分析协同前后对比结果
|
|
|
* 三份结果:原始、协同处理、最终
|
|
|
+ *
|
|
|
* @param taskId
|
|
|
* @return
|
|
|
*/
|
|
@@ -466,12 +475,13 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 协同前后对比结果
|
|
|
+ *
|
|
|
* @param patentNo
|
|
|
* @param taskId
|
|
|
* @param patentRightVos
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortRightVO> loadBeforeAndAfter(Integer taskId, String patentNo, List<PatentRightVo> patentRightVos){
|
|
|
+ public List<TortRightVO> loadBeforeAndAfter(Integer taskId, String patentNo, List<PatentRightVo> patentRightVos) {
|
|
|
if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
|
//新建权要层信息
|
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
@@ -498,11 +508,12 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
/**
|
|
|
* 协同前后对比结果
|
|
|
* 装载特征与对比结果
|
|
|
+ *
|
|
|
* @param features
|
|
|
* @param ftoCompareRecords
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortVO> loadBeforeAndAfterTortVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
+ public List<TortVO> loadBeforeAndAfterTortVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords) {
|
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
|
for (Feature feature : features) {
|
|
|
//新建特征与侵权分析对比结果VO
|
|
@@ -542,11 +553,12 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 根据projectId和权要集合装载返回侵权分析对比结果页面VO
|
|
|
+ *
|
|
|
* @param taskId
|
|
|
* @param patentRightVos
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortRightVO> loadTortRightVOS2(Integer taskId, List<PatentRightVo> patentRightVos){
|
|
|
+ public List<TortRightVO> loadTortRightVOS2(Integer taskId, List<PatentRightVo> patentRightVos) {
|
|
|
if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
|
//新建权要层信息
|
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
@@ -572,11 +584,12 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
/**
|
|
|
* 发起人查询
|
|
|
* 装载特征与对比结果
|
|
|
+ *
|
|
|
* @param features
|
|
|
* @param ftoCompareRecords
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortVO> loadTortVO2(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
+ public List<TortVO> loadTortVO2(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords) {
|
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
|
for (Feature feature : features) {
|
|
|
//新建特征与侵权分析对比结果VO
|
|
@@ -635,10 +648,11 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 保存最终对比结果接口
|
|
|
+ *
|
|
|
* @param tortCompareRecordDTO
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<Integer> addFinalAssitResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
|
+ public List<Integer> addFinalAssitResult(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
|
List<Integer> ids = new ArrayList<>();
|
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
if (taskId == null) {
|
|
@@ -698,12 +712,13 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 从侵权分析中获得对比结果,并复制保存
|
|
|
+ *
|
|
|
* @param projectId
|
|
|
* @param taskId
|
|
|
* @param createId
|
|
|
* @param patentNo
|
|
|
*/
|
|
|
- public void copyTortCompareRecords(Integer projectId, Integer taskId, String createId, String patentNo){
|
|
|
+ public void copyTortCompareRecords(Integer projectId, Integer taskId, String createId, String patentNo) {
|
|
|
if (projectId != null && taskId != null) {
|
|
|
LambdaQueryWrapper<FTOCompareRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(FTOCompareRecord::getProjectTaskId, taskId)
|
|
@@ -734,11 +749,12 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 根据报告id和专利号查询最新的对比结果
|
|
|
+ *
|
|
|
* @param projectId
|
|
|
* @param patentNo
|
|
|
* @return
|
|
|
*/
|
|
|
- public TortCompareRecordVO getLastRecord(Integer projectId, String patentNo){
|
|
|
+ public TortCompareRecordVO getLastRecord(Integer projectId, String patentNo) {
|
|
|
TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
|
|
|
tortCompareRecordVO.setProjectId(projectId);
|
|
|
//根据报告id,专利号,ifFinal为true,createTime为最新的查询一条最新的结果
|
|
@@ -781,11 +797,12 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
/**
|
|
|
* 查询最新的对比结果
|
|
|
+ *
|
|
|
* @param lastFTORecords
|
|
|
* @param patentRightVos
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TortRightVO> loadLastRecord(List<FTOCompareRecord> lastFTORecords, List<PatentRightVo> patentRightVos){
|
|
|
+ public List<TortRightVO> loadLastRecord(List<FTOCompareRecord> lastFTORecords, List<PatentRightVo> patentRightVos) {
|
|
|
if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
|
//新建权要层信息
|
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
@@ -805,7 +822,7 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public List<TortVO> loadLastVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
+ public List<TortVO> loadLastVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords) {
|
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
|
for (Feature feature : features) {
|
|
|
//新建特征与侵权分析对比结果VO
|
|
@@ -833,20 +850,28 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
|
|
|
public List<ComparedPatentVO> getComparedPatent(Integer projectId, Integer compareResult) {
|
|
|
//根据projectId 查询出对比过的专利号
|
|
|
- List<String> patentNos = this.getBaseMapper().getComparedPatents(projectId,compareResult);
|
|
|
+ List<String> patentNos = this.getBaseMapper().getComparedPatents(projectId, compareResult);
|
|
|
List<ComparedPatentVO> comparedPatentVOS = new ArrayList<>();
|
|
|
//根据专利号查询专利信息
|
|
|
List<Patent> patents = new ArrayList<>();
|
|
|
try {
|
|
|
if (patentNos != null && patentNos.size() != 0) {
|
|
|
+ //查询专利状态字典
|
|
|
+ List<SystemDict> systemDicts = systemDictService.getSystemDictListByType(Arrays.asList("PATENT_SIMPLE_STATUS"));
|
|
|
patents = esPatentService.getPatentsByNo(patentNos, true);
|
|
|
List<Map<String, Object>> maps = esFamilyService.getPatentFamilyByNos(patentNos, "inpadoc");
|
|
|
patents.forEach(item -> {
|
|
|
ComparedPatentVO comparedPatentVO = new ComparedPatentVO();
|
|
|
BeanUtils.copyProperties(item, comparedPatentVO);
|
|
|
Map<String, Object> map = maps.stream().filter(i -> i.get("id").toString().equals(item.getInpadocFamilyId())).findFirst().orElse(null);
|
|
|
- if(map!=null){
|
|
|
- comparedPatentVO.setInpadocFamilyNos((List<String>)map.get("nos"));
|
|
|
+ if (map != null) {
|
|
|
+ comparedPatentVO.setInpadocFamilyNos((List<String>) map.get("nos"));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ SystemDict systemDict = systemDicts.stream().filter(i -> i.getValue().equals(item.getSimpleStatus())).findFirst().orElse(null);
|
|
|
+ if(systemDict!=null){
|
|
|
+ comparedPatentVO.setSimpleStatusStr(systemDict.getLabel());
|
|
|
}
|
|
|
comparedPatentVOS.add(comparedPatentVO);
|
|
|
});
|