|
@@ -3,7 +3,6 @@ package cn.cslg.pas.service.business;
|
|
|
import cn.cslg.pas.common.dto.business.GetFeatureSplitDTO;
|
|
|
import cn.cslg.pas.common.dto.business.TortCompareRecordDTO;
|
|
|
import cn.cslg.pas.common.dto.business.TortDTO;
|
|
|
-import cn.cslg.pas.common.dto.business.TortTaskResultDTO;
|
|
|
import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
@@ -112,7 +111,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
feature.insert();
|
|
|
//获取特征id
|
|
|
Integer featureId = feature.getId();
|
|
|
- if (tortDTO.getCompareResult() != null || tortDTO.getCompareDescription() != null || tortDTO.getTargetDescription() != null) {
|
|
|
+ if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
|
|
|
//插入侵权分析对比结果
|
|
|
FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
|
ftoCompareRecord.setProjectId(projectId);
|
|
@@ -159,10 +158,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
|
|
|
tortCompareRecordVO.setProjectId(projectId);
|
|
|
//根据projectId查询专利号
|
|
|
- LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ReportProject::getProjectId, projectId);
|
|
|
- ReportProject reportProject = reportProjectService.getOne(queryWrapper, false);
|
|
|
- String patentNo = reportProject.getSignPatentNo();
|
|
|
+ String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
|
//新建查询拆分特征DTO
|
|
|
SplitVO splitVO = new SplitVO();
|
|
|
BeanUtils.copyProperties(getFeatureSplitDTO, splitVO);
|
|
@@ -204,7 +200,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
LambdaQueryWrapper<FTOCompareRecord> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
queryWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper2);
|
|
|
- tortVOS = this.loadTortVO(features, ftoCompareRecords);
|
|
|
+ tortVOS = this.loadTortVO2(null, features, ftoCompareRecords);
|
|
|
tortRightVO.setTortVOS(tortVOS);
|
|
|
tortRightVOS.add(tortRightVO);
|
|
|
});
|
|
@@ -249,19 +245,17 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 保存侵权分析协同任务结果
|
|
|
- * @param tortTaskResultDTO
|
|
|
+ * 保存协同任务结果
|
|
|
+ * @param tortCompareRecordDTO
|
|
|
*/
|
|
|
- public List<Integer> addTortTaskResult(TortTaskResultDTO tortTaskResultDTO){
|
|
|
- if (tortTaskResultDTO == null) {
|
|
|
+ public List<Integer> addTortTaskResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
|
+ if (tortCompareRecordDTO == null) {
|
|
|
throw new XiaoShiException("入参不能为空");
|
|
|
}
|
|
|
Integer projectId = null;
|
|
|
- if (tortTaskResultDTO.getTaskId() != null) {
|
|
|
- LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ProjectTask::getId, tortTaskResultDTO.getTaskId());
|
|
|
- ProjectTask projectTask = projectTaskService.getOne(queryWrapper, false);
|
|
|
- projectId = projectTask.getProjectId();
|
|
|
+ Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
+ if (taskId != null) {
|
|
|
+ projectId = this.getProjectIdByTaskId(taskId);
|
|
|
} else {
|
|
|
throw new XiaoShiException("任务id不能为空");
|
|
|
}
|
|
@@ -272,7 +266,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
} catch (Exception e) {
|
|
|
throw new UnLoginException("未登录");
|
|
|
}
|
|
|
- List<TortDTO> tortDTOS = tortTaskResultDTO.getTortDTOS();
|
|
|
+ List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
|
List<Integer> ids = new ArrayList<>();
|
|
|
if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
|
List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
@@ -284,7 +278,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
ftoCompareRecord.setTargetDescription(item.getTargetDescription());
|
|
|
ftoCompareRecord.setFeatureId(item.getFeatureId());
|
|
|
ftoCompareRecord.setProjectId(projectId);
|
|
|
- ftoCompareRecord.setProjectTaskId(tortTaskResultDTO.getTaskId());
|
|
|
+ ftoCompareRecord.setProjectTaskId(taskId);
|
|
|
ftoCompareRecord.setCreateId(personnelVO.getId());
|
|
|
ftoCompareRecord.setIfOriginal(false);
|
|
|
ftoCompareRecord.setIfFinal(false);
|
|
@@ -296,7 +290,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
deleteWrapper.eq(FTOCompareRecord::getIfOriginal, false)
|
|
|
.eq(FTOCompareRecord::getCreateId, personnelVO.getId())
|
|
|
- .eq(FTOCompareRecord::getProjectTaskId, tortTaskResultDTO.getTaskId());
|
|
|
+ .eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
|
this.remove(deleteWrapper);
|
|
|
//再更新
|
|
|
this.saveBatch(ftoCompareRecords);
|
|
@@ -311,47 +305,39 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
* @param taskId
|
|
|
* @return
|
|
|
*/
|
|
|
- public TortCompareRecordVO getAllTortTaskResult(Integer taskId) {
|
|
|
+ public TortCompareRecordVO getAllTortTaskResult(Integer projectId, Integer taskId, Integer type) {
|
|
|
//新建返回VO
|
|
|
TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
|
|
|
//根据任务id查询报告id
|
|
|
- LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper.eq(ProjectTask::getId, taskId);
|
|
|
- ProjectTask projectTask = projectTaskService.getOne(queryWrapper, false);
|
|
|
- if (projectTask != null) {
|
|
|
- Integer projectId = projectTask.getProjectId();
|
|
|
- tortCompareRecordVO.setProjectId(projectId);
|
|
|
- //根据报告id查询专利号
|
|
|
- LambdaQueryWrapper<ReportProject> queryWrapper1 = new LambdaQueryWrapper<>();
|
|
|
- queryWrapper1.eq(ReportProject::getProjectId, projectId);
|
|
|
- ReportProject reportProject = reportProjectService.getOne(queryWrapper1, false);
|
|
|
- if (reportProject != null) {
|
|
|
- String patentNo = reportProject.getSignPatentNo();
|
|
|
- //根据专利号查询权要
|
|
|
- try {
|
|
|
- List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
|
- List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
|
|
|
- LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
|
|
|
- wrapper.eq(Feature::getProjectId, projectId)
|
|
|
- .eq(Feature::getPatentNo, patentNo);
|
|
|
- List<Feature> allFeatures = featureService.list(wrapper);
|
|
|
- patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
|
|
|
- List<TortRightVO> tortRightVOS = this.loadTortRightVOS(taskId, projectId, patentRightVos);
|
|
|
- tortCompareRecordVO.setTortRightVOS(tortRightVOS);
|
|
|
- } catch (Exception e) {
|
|
|
- throw new XiaoShiException("未查询到拆分下的权要");
|
|
|
- }
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未查询到报告");
|
|
|
+ if (projectId == null && taskId != null) {
|
|
|
+ projectId = this.getProjectIdByTaskId(taskId);
|
|
|
+ }
|
|
|
+ tortCompareRecordVO.setProjectId(projectId);
|
|
|
+ String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
|
+ //根据专利号查询权要
|
|
|
+ try {
|
|
|
+ List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
|
+ List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
|
|
|
+ LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
|
|
|
+ wrapper.eq(Feature::getProjectId, projectId)
|
|
|
+ .eq(Feature::getPatentNo, patentNo);
|
|
|
+ List<Feature> allFeatures = featureService.list(wrapper);
|
|
|
+ patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
|
|
|
+ List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
|
+ if (type == 1) {//查询侵权分析协同前后对比结果
|
|
|
+ tortRightVOS = this.loadTortRightVOS(taskId, projectId, patentRightVos);
|
|
|
+ } else if (type == 2) {//发起人的查询
|
|
|
+ tortRightVOS = this.loadTortRightVOS2(taskId, projectId, patentRightVos);
|
|
|
}
|
|
|
- } else {
|
|
|
- throw new XiaoShiException("未查询到协同任务");
|
|
|
+ tortCompareRecordVO.setTortRightVOS(tortRightVOS);
|
|
|
+ } catch (Exception e) {
|
|
|
+ throw new XiaoShiException("未查询到拆分下的权要");
|
|
|
}
|
|
|
return tortCompareRecordVO;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 根据projectId和权要集合装载返回侵权分析对比结果页面VO
|
|
|
+ * 协同前后对比结果
|
|
|
* @param projectId
|
|
|
* @param taskId
|
|
|
* @param patentRightVos
|
|
@@ -369,8 +355,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
List<Feature> features = item.getFeatures();
|
|
|
LambdaQueryWrapper<FTOCompareRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
|
- .eq(FTOCompareRecord::getProjectTaskId, taskId)
|
|
|
- .eq(FTOCompareRecord::getIfFinal, false);
|
|
|
+ .eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
|
List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper);
|
|
|
List<TortVO> tortVOS = this.loadTortVO(features, ftoCompareRecords);
|
|
|
tortRightVO.setTortVOS(tortVOS);
|
|
@@ -383,6 +368,37 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 根据projectId和权要集合装载返回侵权分析对比结果页面VO
|
|
|
+ * @param taskId
|
|
|
+ * @param projectId
|
|
|
+ * @param patentRightVos
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<TortRightVO> loadTortRightVOS2(Integer taskId, Integer projectId, List<PatentRightVo> patentRightVos){
|
|
|
+ if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
|
+ //新建权要层信息
|
|
|
+ List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
|
+ //遍历装载权要层信息
|
|
|
+ patentRightVos.forEach(item -> {
|
|
|
+ TortRightVO tortRightVO = new TortRightVO();
|
|
|
+ BeanUtils.copyProperties(item, tortRightVO);
|
|
|
+ //新建特征与侵权分析对比结果VOS
|
|
|
+ List<Feature> features = item.getFeatures();
|
|
|
+ LambdaQueryWrapper<FTOCompareRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
+ List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper);
|
|
|
+ List<TortVO> tortVOS = this.loadTortVO2(taskId, features, ftoCompareRecords);
|
|
|
+ tortRightVO.setTortVOS(tortVOS);
|
|
|
+ tortRightVOS.add(tortRightVO);
|
|
|
+ });
|
|
|
+ return tortRightVOS;
|
|
|
+ } else {
|
|
|
+ throw new XiaoShiException("传入权要为空");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 协同前后对比结果
|
|
|
* 装载特征与对比结果
|
|
|
* @param features
|
|
|
* @param ftoCompareRecords
|
|
@@ -392,51 +408,111 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
|
for (Feature feature : features) {
|
|
|
//新建特征与侵权分析对比结果VO
|
|
|
- TortVO tortVO = new TortVO();
|
|
|
//装载特征部分的信息
|
|
|
- tortVO.setFeatureId(feature.getId());
|
|
|
- tortVO.setContent(feature.getContent());
|
|
|
- tortVO.setPatentNo(feature.getPatentNo());
|
|
|
- tortVO.setRightSort(feature.getRightSort());
|
|
|
- tortVO.setRightType(feature.getRightType());
|
|
|
- tortVO.setExplainText(feature.getExplainText());
|
|
|
- tortVO.setFormId(feature.getFromId());
|
|
|
- tortVO.setSysOrder(feature.getSysOrder());
|
|
|
- //装载侵权分析对比结果的部分(可能为空)
|
|
|
+ TortVO tortVO = this.loadFeature(feature);
|
|
|
+ //装载侵权分析对比结果的部分
|
|
|
+ FTOCompareRecordVO originalRecordVO = new FTOCompareRecordVO();
|
|
|
+ FTOCompareRecordVO currentRecordVO = new FTOCompareRecordVO();
|
|
|
+ if (!ftoCompareRecords.isEmpty()) {
|
|
|
+ //协同前
|
|
|
+ FTOCompareRecord originalRecord = ftoCompareRecords
|
|
|
+ .stream()
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfOriginal().equals(true))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ if (originalRecord != null) {
|
|
|
+ //装载
|
|
|
+ originalRecordVO.setId(originalRecord.getId());
|
|
|
+ originalRecordVO.setCompareResult(originalRecord.getCompareResult());
|
|
|
+ originalRecordVO.setCompareDescription(originalRecord.getCompareDescription());
|
|
|
+ originalRecordVO.setTargetDescription(originalRecord.getTargetDescription());
|
|
|
+ }
|
|
|
+ //协同后
|
|
|
+ FTOCompareRecord currentRecord = ftoCompareRecords
|
|
|
+ .stream()
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfOriginal().equals(false) && item.getIfFinal().equals(false))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ if (currentRecord != null) {
|
|
|
+ //装载
|
|
|
+ currentRecordVO.setId(currentRecord.getId());
|
|
|
+ currentRecordVO.setCompareResult(currentRecord.getCompareResult());
|
|
|
+ currentRecordVO.setCompareDescription(currentRecord.getCompareDescription());
|
|
|
+ currentRecordVO.setTargetDescription(currentRecord.getTargetDescription());
|
|
|
+ } else {
|
|
|
+ currentRecordVO = originalRecordVO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ tortVO.setOriginalRecordVO(originalRecordVO);
|
|
|
+ tortVO.setCurrentRecordVO(currentRecordVO);
|
|
|
+ tortVOS.add(tortVO);
|
|
|
+ }
|
|
|
+ return tortVOS;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 发起人查询
|
|
|
+ * 装载特征与对比结果
|
|
|
+ * @param taskId
|
|
|
+ * @param features
|
|
|
+ * @param ftoCompareRecords
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<TortVO> loadTortVO2(Integer taskId, List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
+ List<TortVO> tortVOS = new ArrayList<>();
|
|
|
+ for (Feature feature : features) {
|
|
|
+ //新建特征与侵权分析对比结果VO
|
|
|
+ //装载特征部分的信息
|
|
|
+ TortVO tortVO = this.loadFeature(feature);
|
|
|
+ //装载侵权分析对比结果的部分
|
|
|
+ FTOCompareRecordVO originalRecordVO = new FTOCompareRecordVO();
|
|
|
+ FTOCompareRecordVO currentRecordVO = new FTOCompareRecordVO();
|
|
|
+ FTOCompareRecordVO finalRecordVO = new FTOCompareRecordVO();
|
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
|
- FTOCompareRecord originalRecord = ftoCompareRecords.stream().filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfOriginal() == true).findFirst().orElse(null);
|
|
|
+ //原始数据or最终数据
|
|
|
+ FTOCompareRecord originalRecord = ftoCompareRecords
|
|
|
+ .stream()
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+
|
|
|
if (originalRecord != null) {
|
|
|
- FTOCompareRecordVO originalRecordVO = new FTOCompareRecordVO();
|
|
|
+ //装载
|
|
|
originalRecordVO.setId(originalRecord.getId());
|
|
|
originalRecordVO.setCompareResult(originalRecord.getCompareResult());
|
|
|
originalRecordVO.setCompareDescription(originalRecord.getCompareDescription());
|
|
|
originalRecordVO.setTargetDescription(originalRecord.getTargetDescription());
|
|
|
- tortVO.setOriginalRecordVO(originalRecordVO);
|
|
|
- //过滤
|
|
|
- FTOCompareRecord currentRecord = ftoCompareRecords.stream().filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfOriginal() == false).findFirst().orElse(null);
|
|
|
- if (currentRecord != null) {
|
|
|
- FTOCompareRecordVO currentRecordVO = new FTOCompareRecordVO();
|
|
|
- currentRecordVO.setId(currentRecord.getId());
|
|
|
- currentRecordVO.setCompareResult(currentRecord.getCompareResult());
|
|
|
- currentRecordVO.setCompareDescription(currentRecord.getCompareDescription());
|
|
|
- currentRecordVO.setTargetDescription(currentRecord.getTargetDescription());
|
|
|
- tortVO.setCurrentRecordVO(currentRecordVO);
|
|
|
- } else {
|
|
|
- tortVO.setCurrentRecordVO(originalRecordVO);
|
|
|
- }
|
|
|
- } else {//没有查出来ifOriginal为true的就说明没有新建协同任务,则查询原来的数据
|
|
|
- FTOCompareRecord finalRecord = ftoCompareRecords.stream().filter(item -> item.getFeatureId().equals(feature.getId()) && item.getProjectTaskId() == null && item.getIfOriginal() == false && item.getIfFinal() == true).findFirst().orElse(null);
|
|
|
- if (finalRecord != null) {
|
|
|
- FTOCompareRecordVO originalRecordVO = new FTOCompareRecordVO();
|
|
|
- originalRecordVO.setId(finalRecord.getId());
|
|
|
- originalRecordVO.setCompareResult(finalRecord.getCompareResult());
|
|
|
- originalRecordVO.setCompareDescription(finalRecord.getCompareDescription());
|
|
|
- originalRecordVO.setTargetDescription(finalRecord.getTargetDescription());
|
|
|
- tortVO.setOriginalRecordVO(originalRecordVO);
|
|
|
- tortVO.setCurrentRecordVO(originalRecordVO);
|
|
|
- }
|
|
|
+ }
|
|
|
+ //协同人处理的数据
|
|
|
+ FTOCompareRecord currentRecord = ftoCompareRecords
|
|
|
+ .stream()
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getProjectTaskId() != null && item.getFeatureId().equals(feature.getId()) && item.getProjectTaskId().equals(taskId) && item.getIfOriginal().equals(false) && item.getIfFinal().equals(false))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ if (currentRecord != null) {
|
|
|
+ //装载
|
|
|
+ currentRecordVO.setId(currentRecord.getId());
|
|
|
+ currentRecordVO.setCompareResult(currentRecord.getCompareResult());
|
|
|
+ currentRecordVO.setCompareDescription(currentRecord.getCompareDescription());
|
|
|
+ currentRecordVO.setTargetDescription(currentRecord.getTargetDescription());
|
|
|
+ }
|
|
|
+
|
|
|
+ FTOCompareRecord finalRecord = ftoCompareRecords
|
|
|
+ .stream()
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
|
+ .findFirst()
|
|
|
+ .orElse(null);
|
|
|
+ if (finalRecord != null) {
|
|
|
+ //装载
|
|
|
+ finalRecordVO.setId(finalRecord.getId());
|
|
|
+ finalRecordVO.setCompareResult(finalRecord.getCompareResult());
|
|
|
+ finalRecordVO.setCompareDescription(finalRecord.getCompareDescription());
|
|
|
+ finalRecordVO.setTargetDescription(finalRecord.getTargetDescription());
|
|
|
}
|
|
|
}
|
|
|
+ tortVO.setOriginalRecordVO(originalRecordVO);
|
|
|
+ tortVO.setCurrentRecordVO(currentRecordVO);
|
|
|
+ tortVO.setFinalRecordVO(finalRecordVO);
|
|
|
tortVOS.add(tortVO);
|
|
|
}
|
|
|
return tortVOS;
|
|
@@ -450,14 +526,11 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
public List<Integer> addFinalTortResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
|
List<Integer> ids = new ArrayList<>();
|
|
|
//判空
|
|
|
- Integer projectId = tortCompareRecordDTO.getProjectId();
|
|
|
- if (projectId == null) {
|
|
|
- throw new XiaoShiException("projectId不能为空");
|
|
|
- }
|
|
|
+ Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
+ Integer projectId = this.getProjectIdByTaskId(taskId);
|
|
|
//首先是根据projectId,以及任务id为空,以及ifOriginal为false,ifFinal为true这几个条件删除表中的数据
|
|
|
LambdaQueryWrapper<FTOCompareRecord> removeWrapper = new LambdaQueryWrapper<>();
|
|
|
removeWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
|
- .eq(FTOCompareRecord::getProjectTaskId, null)
|
|
|
.eq(FTOCompareRecord::getIfOriginal, false)
|
|
|
.eq(FTOCompareRecord::getIfFinal, true);
|
|
|
this.remove(removeWrapper);
|
|
@@ -473,14 +546,16 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
}
|
|
|
if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
|
for (TortDTO item : tortDTOS) {
|
|
|
- FTOCompareRecord tortFinal = new FTOCompareRecord();
|
|
|
- tortFinal.setFeatureId(item.getFeatureId());
|
|
|
- tortFinal.setProjectId(projectId);
|
|
|
- tortFinal.setCompareResult(item.getCompareResult());
|
|
|
- tortFinal.setCompareDescription(item.getCompareDescription());
|
|
|
- tortFinal.setTargetDescription(item.getTargetDescription());
|
|
|
- tortFinal.setCreateId(personnelVO.getId());
|
|
|
- ftoCompareRecords.add(tortFinal);
|
|
|
+ if (item.getCompareResult() != null || StringUtils.isNotBlank(item.getCompareDescription()) || StringUtils.isNotBlank(item.getTargetDescription())) {
|
|
|
+ FTOCompareRecord tortFinal = new FTOCompareRecord();
|
|
|
+ tortFinal.setFeatureId(item.getFeatureId());
|
|
|
+ tortFinal.setProjectId(projectId);
|
|
|
+ tortFinal.setCompareResult(item.getCompareResult());
|
|
|
+ tortFinal.setCompareDescription(item.getCompareDescription());
|
|
|
+ tortFinal.setTargetDescription(item.getTargetDescription());
|
|
|
+ tortFinal.setCreateId(personnelVO.getId());
|
|
|
+ ftoCompareRecords.add(tortFinal);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
@@ -490,4 +565,40 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
return ids;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据taskId查询projectId
|
|
|
+ * @param taskId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Integer getProjectIdByTaskId(Integer taskId){
|
|
|
+ if (taskId == null) {
|
|
|
+ throw new XiaoShiException("taskId不能为空");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<ProjectTask> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(ProjectTask::getId, taskId);
|
|
|
+ ProjectTask projectTask = projectTaskService.getOne(queryWrapper, false);
|
|
|
+ Integer projectId = null;
|
|
|
+ if (projectTask != null) {
|
|
|
+ projectId = projectTask.getProjectId();
|
|
|
+ }
|
|
|
+ return projectId;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 装载权要
|
|
|
+ * @param feature
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public TortVO loadFeature(Feature feature){
|
|
|
+ TortVO tortVO = new TortVO();
|
|
|
+ tortVO.setFeatureId(feature.getId());
|
|
|
+ tortVO.setContent(feature.getContent());
|
|
|
+ tortVO.setPatentNo(feature.getPatentNo());
|
|
|
+ tortVO.setRightSort(feature.getRightSort());
|
|
|
+ tortVO.setRightType(feature.getRightType());
|
|
|
+ tortVO.setExplainText(feature.getExplainText());
|
|
|
+ tortVO.setFormId(feature.getFromId());
|
|
|
+ tortVO.setSysOrder(feature.getSysOrder());
|
|
|
+ return tortVO;
|
|
|
+ }
|
|
|
}
|