|
@@ -19,6 +19,7 @@ import cn.cslg.pas.exception.XiaoShiException;
|
|
import cn.cslg.pas.mapper.FTOCompareRecordMapper;
|
|
import cn.cslg.pas.mapper.FTOCompareRecordMapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
+import io.swagger.v3.oas.models.security.SecurityScheme;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -30,10 +31,11 @@ import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
+import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * FTO对比记录的Service层
|
|
|
|
|
|
+ * 侵权分析对比记录的Service层
|
|
* @Author xiexiang
|
|
* @Author xiexiang
|
|
* @Date 2023/12/8
|
|
* @Date 2023/12/8
|
|
*/
|
|
*/
|
|
@@ -56,6 +58,75 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
@Lazy
|
|
@Lazy
|
|
private ProjectTaskService projectTaskService;
|
|
private ProjectTaskService projectTaskService;
|
|
|
|
|
|
|
|
+// /**
|
|
|
|
+// * 新增侵权对比结果
|
|
|
|
+// *
|
|
|
|
+// * @param tortCompareRecordDTO
|
|
|
|
+// * @return
|
|
|
|
+// */
|
|
|
|
+// public List<Integer> addTortCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
|
|
+// //获取登录人信息
|
|
|
|
+// PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
+// try {
|
|
|
|
+// personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+// } catch (Exception e) {
|
|
|
|
+// throw new UnLoginException("未登录");
|
|
|
|
+// }
|
|
|
|
+// Integer projectId = tortCompareRecordDTO.getProjectId();
|
|
|
|
+// if (projectId == null) {
|
|
|
|
+// throw new XiaoShiException("projectId不能为空");
|
|
|
|
+// }
|
|
|
|
+// //根据projctId查询出专利号
|
|
|
|
+// String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
|
|
+// List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
|
|
+// //根据专利号和projectId,删除特征
|
|
|
|
+// LambdaQueryWrapper<Feature> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+// deleteWrapper.eq(Feature::getPatentNo, patentNo)
|
|
|
|
+// .eq(Feature::getProjectId, projectId);
|
|
|
|
+// featureService.remove(deleteWrapper);
|
|
|
|
+// //根据报告id删除侵权对比结果数据
|
|
|
|
+// LambdaQueryWrapper<FTOCompareRecord> deleteWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
+// deleteWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
|
+// this.remove(deleteWrapper2);
|
|
|
|
+// //新增侵权对比结果集合
|
|
|
|
+// List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
|
|
+// //遍历传入集合
|
|
|
|
+// if (!tortDTOS.isEmpty()) {
|
|
|
|
+// for (TortDTO tortDTO : tortDTOS) {
|
|
|
|
+// Feature feature = new Feature();
|
|
|
|
+// feature.setRightSort(tortDTO.getRightSort());
|
|
|
|
+// feature.setPatentNo(patentNo);
|
|
|
|
+// feature.setProjectId(projectId);
|
|
|
|
+// feature.setContent(tortDTO.getContent());
|
|
|
|
+// feature.setExplainText(tortDTO.getExplainText());
|
|
|
|
+// feature.setCreateId(personnelVO.getId());
|
|
|
|
+// feature.setRightType(tortDTO.getRightType());
|
|
|
|
+// feature.insert();
|
|
|
|
+// //获取特征id
|
|
|
|
+// Integer featureId = feature.getId();
|
|
|
|
+// if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
|
|
|
|
+// //插入侵权分析对比结果
|
|
|
|
+// FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
|
|
+// ftoCompareRecord.setProjectId(projectId);
|
|
|
|
+// ftoCompareRecord.setFeatureId(featureId);
|
|
|
|
+// ftoCompareRecord.setCompareResult(tortDTO.getCompareResult());
|
|
|
|
+// ftoCompareRecord.setCompareDescription(tortDTO.getCompareDescription());
|
|
|
|
+// ftoCompareRecord.setTargetDescription(tortDTO.getTargetDescription());
|
|
|
|
+// ftoCompareRecord.setCreateId(personnelVO.getId());
|
|
|
|
+// ftoCompareRecords.add(ftoCompareRecord);
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// List<Integer> ids = new ArrayList<>();
|
|
|
|
+// if (!ftoCompareRecords.isEmpty()) {
|
|
|
|
+// this.saveBatch(ftoCompareRecords);
|
|
|
|
+// ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
|
|
+// }
|
|
|
|
+// return ids;
|
|
|
|
+// } else {
|
|
|
|
+// throw new XiaoShiException("未传入特征集合");
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 新增侵权对比结果
|
|
* 新增侵权对比结果
|
|
*
|
|
*
|
|
@@ -63,74 +134,146 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public List<Integer> addTortCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
public List<Integer> addTortCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
- //获取登录人信息
|
|
|
|
- PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
- try {
|
|
|
|
- personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw new UnLoginException("未登录");
|
|
|
|
- }
|
|
|
|
Integer projectId = tortCompareRecordDTO.getProjectId();
|
|
Integer projectId = tortCompareRecordDTO.getProjectId();
|
|
if (projectId == null) {
|
|
if (projectId == null) {
|
|
throw new XiaoShiException("projectId不能为空");
|
|
throw new XiaoShiException("projectId不能为空");
|
|
}
|
|
}
|
|
- //根据projctId查询出专利号
|
|
|
|
- LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper.eq(ReportProject::getProjectId, projectId);
|
|
|
|
- List<ReportProject> reportProjects = reportProjectService.list(queryWrapper);
|
|
|
|
- String patentNo = "";
|
|
|
|
- if (!reportProjects.isEmpty()) {
|
|
|
|
- ReportProject reportProject = reportProjects.get(0);
|
|
|
|
- patentNo = reportProject.getSignPatentNo();
|
|
|
|
- } else {
|
|
|
|
- throw new XiaoShiException("未查询到报告专利号");
|
|
|
|
- }
|
|
|
|
List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
- //根据专利号和projectId,删除特征
|
|
|
|
- LambdaQueryWrapper<Feature> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- deleteWrapper.eq(Feature::getPatentNo, patentNo)
|
|
|
|
|
|
+ //不能将特征一次性全部删除,使用处理特征方法
|
|
|
|
+ if (!tortDTOS.isEmpty()) {
|
|
|
|
+ throw new XiaoShiException("传入特征集合不能为空");
|
|
|
|
+ }
|
|
|
|
+ //查询出原来的特征id集合
|
|
|
|
+ LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.select(Feature::getId)
|
|
.eq(Feature::getProjectId, projectId);
|
|
.eq(Feature::getProjectId, projectId);
|
|
- featureService.remove(deleteWrapper);
|
|
|
|
- //根据报告id删除侵权对比结果数据
|
|
|
|
|
|
+ Function<Object,Integer> f = (o -> Integer.parseInt(o.toString()));
|
|
|
|
+ List<Integer> featureIds = featureService.listObjs(queryWrapper,f);
|
|
|
|
+ // 删除特征
|
|
|
|
+ List<Integer> ids = new ArrayList<>();
|
|
|
|
+ if (!featureIds.isEmpty()) {
|
|
|
|
+ ids = this.deleteFeatures(projectId, tortDTOS, featureIds);
|
|
|
|
+ }
|
|
|
|
+ return ids;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 删除特征
|
|
|
|
+ * @param projectId
|
|
|
|
+ * @param tortDTOS
|
|
|
|
+ * @param featureIds
|
|
|
|
+ */
|
|
|
|
+ public List<Integer> deleteFeatures(Integer projectId, List<TortDTO> tortDTOS, List<Integer> featureIds){
|
|
|
|
+ //新的特征和对比结果集合过滤出新的特征id
|
|
|
|
+ List<Integer> currentIds = tortDTOS.stream().map(TortDTO::getFeatureId).collect(Collectors.toList());
|
|
|
|
+ // 比对并删除featureIds中多余的数据(featureIds比currentIds多的)
|
|
|
|
+ List<Integer> idsToDelete = featureIds.stream()
|
|
|
|
+ .filter(id -> !currentIds.contains(id))
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ // 如果有需要删除的ids
|
|
|
|
+ if (!idsToDelete.isEmpty()) {
|
|
|
|
+ // 删除特征
|
|
|
|
+ LambdaQueryWrapper<Feature> deleteWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ deleteWrapper.in(Feature::getId, idsToDelete);
|
|
|
|
+ featureService.remove(deleteWrapper);
|
|
|
|
+ }
|
|
|
|
+ // 删除对比记录
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper2 = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper2 = new LambdaQueryWrapper<>();
|
|
- deleteWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
|
|
|
+ deleteWrapper2.eq(FTOCompareRecord::getProjectId, projectId)
|
|
|
|
+ .eq(FTOCompareRecord::getIfFinal, true);
|
|
this.remove(deleteWrapper2);
|
|
this.remove(deleteWrapper2);
|
|
- //新增侵权对比结果集合
|
|
|
|
- List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
|
|
- //遍历传入集合
|
|
|
|
- if (!tortDTOS.isEmpty()) {
|
|
|
|
- for (TortDTO tortDTO : tortDTOS) {
|
|
|
|
|
|
+ // 更新剩余特征和对比结果
|
|
|
|
+ List<Integer> ids = this.updateFeatures(projectId, featureIds, tortDTOS);
|
|
|
|
+ return ids;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 更新剩余特征和对比结果
|
|
|
|
+ * @param projectId
|
|
|
|
+ * @param featureIds
|
|
|
|
+ * @param tortDTOS
|
|
|
|
+ */
|
|
|
|
+ public List<Integer> updateFeatures(Integer projectId, List<Integer> featureIds, List<TortDTO> tortDTOS){
|
|
|
|
+ // 处理剩余特征和对比结果
|
|
|
|
+ // 根据projctId查询出专利号
|
|
|
|
+ String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
|
|
+ // 获取登录人信息
|
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
+ try {
|
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
|
+ }
|
|
|
|
+ // 重新排序
|
|
|
|
+ Integer order = 1;
|
|
|
|
+ List<Integer> ftoIds = new ArrayList<>();
|
|
|
|
+ for (TortDTO item : tortDTOS) {
|
|
|
|
+ Integer currentFeatureId = item.getFeatureId();
|
|
|
|
+ // 新的特征id不为空,并且数据库中是有这个特征的
|
|
|
|
+ if (item.getFeatureId() != null && featureIds.contains(currentFeatureId)) {
|
|
|
|
+ // 执行更新操作
|
|
|
|
+ Feature feature = featureService.getById(item.getFeatureId());
|
|
|
|
+ feature.setRightSort(item.getRightSort());
|
|
|
|
+ feature.setContent(item.getContent());
|
|
|
|
+ feature.setExplainText(item.getExplainText());
|
|
|
|
+ feature.setRightType(item.getRightType());
|
|
|
|
+ feature.setSysOrder(order);
|
|
|
|
+ feature.updateById();
|
|
|
|
+ // 新增对比结果
|
|
|
|
+ Integer id = this.addCompareRecords(projectId, item);
|
|
|
|
+ if (id != null) {
|
|
|
|
+ ftoIds.add(id);
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
Feature feature = new Feature();
|
|
Feature feature = new Feature();
|
|
- feature.setRightSort(tortDTO.getRightSort());
|
|
|
|
|
|
+ feature.setRightSort(item.getRightSort());
|
|
feature.setPatentNo(patentNo);
|
|
feature.setPatentNo(patentNo);
|
|
feature.setProjectId(projectId);
|
|
feature.setProjectId(projectId);
|
|
- feature.setContent(tortDTO.getContent());
|
|
|
|
- feature.setExplainText(tortDTO.getExplainText());
|
|
|
|
|
|
+ feature.setContent(item.getContent());
|
|
|
|
+ feature.setExplainText(item.getExplainText());
|
|
feature.setCreateId(personnelVO.getId());
|
|
feature.setCreateId(personnelVO.getId());
|
|
- feature.setRightType(tortDTO.getRightType());
|
|
|
|
|
|
+ feature.setRightType(item.getRightType());
|
|
|
|
+ feature.setSysOrder(order);
|
|
feature.insert();
|
|
feature.insert();
|
|
- //获取特征id
|
|
|
|
- Integer featureId = feature.getId();
|
|
|
|
- if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
|
|
|
|
- //插入侵权分析对比结果
|
|
|
|
- FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
|
|
- ftoCompareRecord.setProjectId(projectId);
|
|
|
|
- ftoCompareRecord.setFeatureId(featureId);
|
|
|
|
- ftoCompareRecord.setCompareResult(tortDTO.getCompareResult());
|
|
|
|
- ftoCompareRecord.setCompareDescription(tortDTO.getCompareDescription());
|
|
|
|
- ftoCompareRecord.setTargetDescription(tortDTO.getTargetDescription());
|
|
|
|
- ftoCompareRecord.setCreateId(personnelVO.getId());
|
|
|
|
- ftoCompareRecords.add(ftoCompareRecord);
|
|
|
|
|
|
+ item.setFeatureId(feature.getId());
|
|
|
|
+ // 新增对比结果
|
|
|
|
+ Integer id = this.addCompareRecords(projectId, item);
|
|
|
|
+ if (id != null) {
|
|
|
|
+ ftoIds.add(id);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- List<Integer> ids = new ArrayList<>();
|
|
|
|
- if (!ftoCompareRecords.isEmpty()) {
|
|
|
|
- this.saveBatch(ftoCompareRecords);
|
|
|
|
- ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
- return ids;
|
|
|
|
|
|
+ order++ ;
|
|
|
|
+ }
|
|
|
|
+ return ftoIds;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 对比结果入库
|
|
|
|
+ * @param projectId
|
|
|
|
+ * @param tortDTO
|
|
|
|
+ */
|
|
|
|
+ public Integer addCompareRecords(Integer projectId, TortDTO tortDTO){
|
|
|
|
+ Integer featureId = tortDTO.getFeatureId();
|
|
|
|
+ //获取登录人信息
|
|
|
|
+ PersonnelVO personnelVO = new PersonnelVO();
|
|
|
|
+ try {
|
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new UnLoginException("未登录");
|
|
|
|
+ }
|
|
|
|
+ if (tortDTO.getCompareResult() != null || StringUtils.isNotBlank(tortDTO.getCompareDescription()) || StringUtils.isNotBlank(tortDTO.getTargetDescription())) {
|
|
|
|
+ //插入对比结果
|
|
|
|
+ FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
|
|
+ ftoCompareRecord.setProjectId(projectId);
|
|
|
|
+ ftoCompareRecord.setFeatureId(featureId);
|
|
|
|
+ ftoCompareRecord.setCompareResult(tortDTO.getCompareResult());
|
|
|
|
+ ftoCompareRecord.setCompareDescription(tortDTO.getCompareDescription());
|
|
|
|
+ ftoCompareRecord.setTargetDescription(tortDTO.getTargetDescription());
|
|
|
|
+ ftoCompareRecord.setCreateId(personnelVO.getId());
|
|
|
|
+ ftoCompareRecord.insert();
|
|
|
|
+ return ftoCompareRecord.getId();
|
|
} else {
|
|
} else {
|
|
- throw new XiaoShiException("未传入特征集合");
|
|
|
|
|
|
+ return null;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -166,44 +309,21 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
//判断是否重拆
|
|
//判断是否重拆
|
|
if (getFeatureSplitDTO.getIfReSplit() == true) {//重拆
|
|
if (getFeatureSplitDTO.getIfReSplit() == true) {//重拆
|
|
- //重拆需要清空原有特征表、对比结果表
|
|
|
|
|
|
+ //重拆需要清空原有对比结果表
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
|
|
deleteWrapper.eq(FTOCompareRecord::getProjectId, projectId);
|
|
deleteWrapper.eq(FTOCompareRecord::getProjectId, projectId);
|
|
this.remove(deleteWrapper);
|
|
this.remove(deleteWrapper);
|
|
- //清空特征表
|
|
|
|
|
|
+ }
|
|
|
|
+ try {
|
|
//根据重拆条件拆分权要保存到特征表
|
|
//根据重拆条件拆分权要保存到特征表
|
|
- try {
|
|
|
|
- patentRightVos = featureService.splitPatentFeature(splitVO);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw new XiaoShiException("查询特征出错");
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- //不重拆
|
|
|
|
- try {
|
|
|
|
- patentRightVos = featureService.splitPatentFeature(splitVO);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- throw new XiaoShiException("查询特征出错");
|
|
|
|
- }
|
|
|
|
|
|
+ //如果重拆需要清空特征表
|
|
|
|
+ patentRightVos = featureService.splitPatentFeature(splitVO);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new XiaoShiException("查询特征出错");
|
|
}
|
|
}
|
|
|
|
+ //装载权要部分
|
|
if (!patentRightVos.isEmpty()) {
|
|
if (!patentRightVos.isEmpty()) {
|
|
- //根据projectId查询
|
|
|
|
- //新建权要层信息
|
|
|
|
- List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
|
|
- //遍历装载权要层信息
|
|
|
|
- patentRightVos.forEach(item -> {
|
|
|
|
- TortRightVO tortRightVO = new TortRightVO();
|
|
|
|
- BeanUtils.copyProperties(item, tortRightVO);
|
|
|
|
- //新建特征与侵权分析对比结果VOS
|
|
|
|
- List<TortVO> tortVOS = new ArrayList<>();
|
|
|
|
- //特征信息
|
|
|
|
- List<Feature> features = item.getFeatures();
|
|
|
|
- LambdaQueryWrapper<FTOCompareRecord> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
|
- List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper2);
|
|
|
|
- tortVOS = this.loadTortVO2(null, features, ftoCompareRecords);
|
|
|
|
- tortRightVO.setTortVOS(tortVOS);
|
|
|
|
- tortRightVOS.add(tortRightVO);
|
|
|
|
- });
|
|
|
|
|
|
+ List<TortRightVO> tortRightVOS = this.loadTortRightVO(projectId, patentRightVos);
|
|
tortCompareRecordVO.setTortRightVOS(tortRightVOS);
|
|
tortCompareRecordVO.setTortRightVOS(tortRightVOS);
|
|
} else {
|
|
} else {
|
|
throw new XiaoShiException("特征查询错误");
|
|
throw new XiaoShiException("特征查询错误");
|
|
@@ -212,6 +332,32 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
|
|
+ * 装载权要层
|
|
|
|
+ * @param patentRightVos
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ public List<TortRightVO> loadTortRightVO(Integer projectId, List<PatentRightVo> patentRightVos){
|
|
|
|
+ //根据projectId查询
|
|
|
|
+ //新建权要层信息
|
|
|
|
+ List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
|
|
+ //遍历装载权要层信息
|
|
|
|
+ patentRightVos.forEach(item -> {
|
|
|
|
+ TortRightVO tortRightVO = new TortRightVO();
|
|
|
|
+ BeanUtils.copyProperties(item, tortRightVO);
|
|
|
|
+ //根据projectId获取对比记录
|
|
|
|
+ List<Feature> features = item.getFeatures();
|
|
|
|
+ LambdaQueryWrapper<FTOCompareRecord> queryWrapper2 = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper2.eq(FTOCompareRecord::getProjectId, projectId);
|
|
|
|
+ List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper2);
|
|
|
|
+ //装载特征与对比记录
|
|
|
|
+ List<TortVO> tortVOS = this.loadTortVO2(null, features, ftoCompareRecords);
|
|
|
|
+ tortRightVO.setTortVOS(tortVOS);
|
|
|
|
+ tortRightVOS.add(tortRightVO);
|
|
|
|
+ });
|
|
|
|
+ return tortRightVOS;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
* 从侵权分析中获得对比结果,并复制保存
|
|
* 从侵权分析中获得对比结果,并复制保存
|
|
* @param projectId
|
|
* @param projectId
|
|
* @param taskId
|
|
* @param taskId
|
|
@@ -254,6 +400,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
}
|
|
}
|
|
Integer projectId = null;
|
|
Integer projectId = null;
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
|
+ //根据taskId查询报告id
|
|
if (taskId != null) {
|
|
if (taskId != null) {
|
|
projectId = this.getProjectIdByTaskId(taskId);
|
|
projectId = this.getProjectIdByTaskId(taskId);
|
|
} else {
|
|
} else {
|
|
@@ -268,10 +415,14 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
}
|
|
}
|
|
List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
List<Integer> ids = new ArrayList<>();
|
|
List<Integer> ids = new ArrayList<>();
|
|
|
|
+ //传入对比结果不为空
|
|
if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
|
|
+ //遍历传入对比结果
|
|
for (TortDTO item : tortDTOS) {
|
|
for (TortDTO item : tortDTOS) {
|
|
|
|
+ //由于传入的集合中有部分特征是没有对比结果的,所以选择有的部分添加到表中
|
|
if (item.getCompareResult() != null || StringUtils.isNotBlank(item.getCompareDescription()) || StringUtils.isNotBlank(item.getTargetDescription())) {
|
|
if (item.getCompareResult() != null || StringUtils.isNotBlank(item.getCompareDescription()) || StringUtils.isNotBlank(item.getTargetDescription())) {
|
|
|
|
+ //装载处理人处理过的对比记录
|
|
FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
FTOCompareRecord ftoCompareRecord = new FTOCompareRecord();
|
|
ftoCompareRecord.setCompareResult(item.getCompareResult());
|
|
ftoCompareRecord.setCompareResult(item.getCompareResult());
|
|
ftoCompareRecord.setCompareDescription(item.getCompareDescription());
|
|
ftoCompareRecord.setCompareDescription(item.getCompareDescription());
|
|
@@ -286,13 +437,13 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
- //先删除表中原来的
|
|
|
|
|
|
+ //先删除表中原有的协同后的对比记录
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<FTOCompareRecord> deleteWrapper = new LambdaQueryWrapper<>();
|
|
deleteWrapper.eq(FTOCompareRecord::getIfOriginal, false)
|
|
deleteWrapper.eq(FTOCompareRecord::getIfOriginal, false)
|
|
.eq(FTOCompareRecord::getCreateId, personnelVO.getId())
|
|
.eq(FTOCompareRecord::getCreateId, personnelVO.getId())
|
|
.eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
.eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
this.remove(deleteWrapper);
|
|
this.remove(deleteWrapper);
|
|
- //再更新
|
|
|
|
|
|
+ //更新
|
|
this.saveBatch(ftoCompareRecords);
|
|
this.saveBatch(ftoCompareRecords);
|
|
ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
}
|
|
}
|
|
@@ -302,30 +453,33 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询侵权分析协同前后对比结果
|
|
* 查询侵权分析协同前后对比结果
|
|
|
|
+ * 三份结果:原始、协同处理、最终
|
|
* @param taskId
|
|
* @param taskId
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
public TortCompareRecordVO getAllTortTaskResult(Integer projectId, Integer taskId, Integer type) {
|
|
public TortCompareRecordVO getAllTortTaskResult(Integer projectId, Integer taskId, Integer type) {
|
|
- //新建返回VO
|
|
|
|
TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
|
|
TortCompareRecordVO tortCompareRecordVO = new TortCompareRecordVO();
|
|
- //根据任务id查询报告id
|
|
|
|
|
|
+ // 发起人从任务进入,没有报告id,有taskId
|
|
|
|
+ // 根据taskId查询报告id
|
|
if (projectId == null && taskId != null) {
|
|
if (projectId == null && taskId != null) {
|
|
projectId = this.getProjectIdByTaskId(taskId);
|
|
projectId = this.getProjectIdByTaskId(taskId);
|
|
}
|
|
}
|
|
tortCompareRecordVO.setProjectId(projectId);
|
|
tortCompareRecordVO.setProjectId(projectId);
|
|
|
|
+ //根据报告id查询专利号
|
|
String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
String patentNo = projectTaskService.getPatentNoByProjectId(projectId);
|
|
- //根据专利号查询权要
|
|
|
|
try {
|
|
try {
|
|
List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
List<PatentRightVo> patentRightVos = new ArrayList<>();
|
|
|
|
+ //根据专利号和报告id查询权要
|
|
List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
|
|
List<RePatentClaim> patentRights = featureService.getRightListByNo(patentNo);
|
|
LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
|
|
LambdaQueryWrapper<Feature> wrapper = new LambdaQueryWrapper<>();
|
|
wrapper.eq(Feature::getProjectId, projectId)
|
|
wrapper.eq(Feature::getProjectId, projectId)
|
|
.eq(Feature::getPatentNo, patentNo);
|
|
.eq(Feature::getPatentNo, patentNo);
|
|
List<Feature> allFeatures = featureService.list(wrapper);
|
|
List<Feature> allFeatures = featureService.list(wrapper);
|
|
patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
|
|
patentRightVos = featureService.loadPatentRightVO(patentRights, allFeatures, projectId, patentNo);
|
|
|
|
+ //装载权要层下的特征与对比结果
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
- if (type == 1) {//查询侵权分析协同前后对比结果
|
|
|
|
- tortRightVOS = this.loadTortRightVOS(taskId, projectId, patentRightVos);
|
|
|
|
|
|
+ if (type == 1) {//查询协同前后对比结果
|
|
|
|
+ tortRightVOS = this.loadBeforeAndAfter(taskId, projectId, patentRightVos);
|
|
} else if (type == 2) {//发起人的查询
|
|
} else if (type == 2) {//发起人的查询
|
|
tortRightVOS = this.loadTortRightVOS2(taskId, projectId, patentRightVos);
|
|
tortRightVOS = this.loadTortRightVOS2(taskId, projectId, patentRightVos);
|
|
}
|
|
}
|
|
@@ -343,7 +497,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
* @param patentRightVos
|
|
* @param patentRightVos
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public List<TortRightVO> loadTortRightVOS(Integer taskId, Integer projectId, List<PatentRightVo> patentRightVos){
|
|
|
|
|
|
+ public List<TortRightVO> loadBeforeAndAfter(Integer taskId, Integer projectId, List<PatentRightVo> patentRightVos){
|
|
if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
if (patentRightVos != null && !patentRightVos.isEmpty()) {
|
|
//新建权要层信息
|
|
//新建权要层信息
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
List<TortRightVO> tortRightVOS = new ArrayList<>();
|
|
@@ -357,7 +511,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
queryWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
queryWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
.eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
.eq(FTOCompareRecord::getProjectTaskId, taskId);
|
|
List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper);
|
|
List<FTOCompareRecord> ftoCompareRecords = this.list(queryWrapper);
|
|
- List<TortVO> tortVOS = this.loadTortVO(features, ftoCompareRecords);
|
|
|
|
|
|
+ List<TortVO> tortVOS = this.loadBeforeAndAfterTortVO(features, ftoCompareRecords);
|
|
tortRightVO.setTortVOS(tortVOS);
|
|
tortRightVO.setTortVOS(tortVOS);
|
|
tortRightVOS.add(tortRightVO);
|
|
tortRightVOS.add(tortRightVO);
|
|
});
|
|
});
|
|
@@ -404,7 +558,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
* @param ftoCompareRecords
|
|
* @param ftoCompareRecords
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
- public List<TortVO> loadTortVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
|
|
|
|
+ public List<TortVO> loadBeforeAndAfterTortVO(List<Feature> features, List<FTOCompareRecord> ftoCompareRecords){
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
List<TortVO> tortVOS = new ArrayList<>();
|
|
for (Feature feature : features) {
|
|
for (Feature feature : features) {
|
|
//新建特征与侵权分析对比结果VO
|
|
//新建特征与侵权分析对比结果VO
|
|
@@ -422,10 +576,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
.orElse(null);
|
|
.orElse(null);
|
|
if (originalRecord != null) {
|
|
if (originalRecord != null) {
|
|
//装载
|
|
//装载
|
|
- originalRecordVO.setId(originalRecord.getId());
|
|
|
|
- originalRecordVO.setCompareResult(originalRecord.getCompareResult());
|
|
|
|
- originalRecordVO.setCompareDescription(originalRecord.getCompareDescription());
|
|
|
|
- originalRecordVO.setTargetDescription(originalRecord.getTargetDescription());
|
|
|
|
|
|
+ originalRecordVO = this.loadVO(originalRecord);
|
|
}
|
|
}
|
|
//协同后
|
|
//协同后
|
|
FTOCompareRecord currentRecord = ftoCompareRecords
|
|
FTOCompareRecord currentRecord = ftoCompareRecords
|
|
@@ -435,10 +586,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
.orElse(null);
|
|
.orElse(null);
|
|
if (currentRecord != null) {
|
|
if (currentRecord != null) {
|
|
//装载
|
|
//装载
|
|
- currentRecordVO.setId(currentRecord.getId());
|
|
|
|
- currentRecordVO.setCompareResult(currentRecord.getCompareResult());
|
|
|
|
- currentRecordVO.setCompareDescription(currentRecord.getCompareDescription());
|
|
|
|
- currentRecordVO.setTargetDescription(currentRecord.getTargetDescription());
|
|
|
|
|
|
+ currentRecordVO = this.loadVO(currentRecord);
|
|
} else {
|
|
} else {
|
|
currentRecordVO = originalRecordVO;
|
|
currentRecordVO = originalRecordVO;
|
|
}
|
|
}
|
|
@@ -469,19 +617,24 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
FTOCompareRecordVO currentRecordVO = new FTOCompareRecordVO();
|
|
FTOCompareRecordVO currentRecordVO = new FTOCompareRecordVO();
|
|
FTOCompareRecordVO finalRecordVO = new FTOCompareRecordVO();
|
|
FTOCompareRecordVO finalRecordVO = new FTOCompareRecordVO();
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
if (!ftoCompareRecords.isEmpty()) {
|
|
- //原始数据or最终数据
|
|
|
|
|
|
+ // 原始数据的装载
|
|
|
|
+ // 原始数据应该是ifOriginal为true的数据
|
|
FTOCompareRecord originalRecord = ftoCompareRecords
|
|
FTOCompareRecord originalRecord = ftoCompareRecords
|
|
.stream()
|
|
.stream()
|
|
- .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
|
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getProjectTaskId() != null && item.getFeatureId().equals(feature.getId()) && item.getProjectTaskId().equals(taskId) && item.getIfOriginal().equals(true))
|
|
.findFirst()
|
|
.findFirst()
|
|
.orElse(null);
|
|
.orElse(null);
|
|
-
|
|
|
|
if (originalRecord != null) {
|
|
if (originalRecord != null) {
|
|
- //装载
|
|
|
|
- originalRecordVO.setId(originalRecord.getId());
|
|
|
|
- originalRecordVO.setCompareResult(originalRecord.getCompareResult());
|
|
|
|
- originalRecordVO.setCompareDescription(originalRecord.getCompareDescription());
|
|
|
|
- originalRecordVO.setTargetDescription(originalRecord.getTargetDescription());
|
|
|
|
|
|
+ originalRecordVO = this.loadVO(originalRecord);
|
|
|
|
+ } else {
|
|
|
|
+ FTOCompareRecord record = ftoCompareRecords
|
|
|
|
+ .stream()
|
|
|
|
+ .filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
|
|
+ .findFirst()
|
|
|
|
+ .orElse(null);
|
|
|
|
+ if (record != null) {
|
|
|
|
+ originalRecordVO = this.loadVO(record);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
//协同人处理的数据
|
|
//协同人处理的数据
|
|
FTOCompareRecord currentRecord = ftoCompareRecords
|
|
FTOCompareRecord currentRecord = ftoCompareRecords
|
|
@@ -490,24 +643,16 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
.findFirst()
|
|
.findFirst()
|
|
.orElse(null);
|
|
.orElse(null);
|
|
if (currentRecord != null) {
|
|
if (currentRecord != null) {
|
|
- //装载
|
|
|
|
- currentRecordVO.setId(currentRecord.getId());
|
|
|
|
- currentRecordVO.setCompareResult(currentRecord.getCompareResult());
|
|
|
|
- currentRecordVO.setCompareDescription(currentRecord.getCompareDescription());
|
|
|
|
- currentRecordVO.setTargetDescription(currentRecord.getTargetDescription());
|
|
|
|
|
|
+ currentRecordVO = this.loadVO(currentRecord);
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ //最终数据
|
|
FTOCompareRecord finalRecord = ftoCompareRecords
|
|
FTOCompareRecord finalRecord = ftoCompareRecords
|
|
.stream()
|
|
.stream()
|
|
.filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
.filter(item -> item.getFeatureId() != null && item.getFeatureId().equals(feature.getId()) && item.getIfFinal().equals(true))
|
|
.findFirst()
|
|
.findFirst()
|
|
.orElse(null);
|
|
.orElse(null);
|
|
if (finalRecord != null) {
|
|
if (finalRecord != null) {
|
|
- //装载
|
|
|
|
- finalRecordVO.setId(finalRecord.getId());
|
|
|
|
- finalRecordVO.setCompareResult(finalRecord.getCompareResult());
|
|
|
|
- finalRecordVO.setCompareDescription(finalRecord.getCompareDescription());
|
|
|
|
- finalRecordVO.setTargetDescription(finalRecord.getTargetDescription());
|
|
|
|
|
|
+ finalRecordVO = this.loadVO(finalRecord);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
tortVO.setOriginalRecordVO(originalRecordVO);
|
|
tortVO.setOriginalRecordVO(originalRecordVO);
|
|
@@ -525,18 +670,14 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
*/
|
|
*/
|
|
public List<Integer> addFinalTortResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
public List<Integer> addFinalTortResult(TortCompareRecordDTO tortCompareRecordDTO){
|
|
List<Integer> ids = new ArrayList<>();
|
|
List<Integer> ids = new ArrayList<>();
|
|
- //判空
|
|
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
|
+ if (taskId == null) {
|
|
|
|
+ throw new XiaoShiException("taskId不能为空");
|
|
|
|
+ }
|
|
Integer projectId = this.getProjectIdByTaskId(taskId);
|
|
Integer projectId = this.getProjectIdByTaskId(taskId);
|
|
- //首先是根据projectId,以及任务id为空,以及ifOriginal为false,ifFinal为true这几个条件删除表中的数据
|
|
|
|
- LambdaQueryWrapper<FTOCompareRecord> removeWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- removeWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
|
|
- .eq(FTOCompareRecord::getIfOriginal, false)
|
|
|
|
- .eq(FTOCompareRecord::getIfFinal, true);
|
|
|
|
- this.remove(removeWrapper);
|
|
|
|
- //其次是添加一批新的数据
|
|
|
|
- List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
|
|
- List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
|
|
|
|
+ if (projectId == null) {
|
|
|
|
+ throw new XiaoShiException("查询报告错误");
|
|
|
|
+ }
|
|
//获取登录人信息
|
|
//获取登录人信息
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
try {
|
|
try {
|
|
@@ -544,25 +685,38 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
throw new UnLoginException("未登录");
|
|
throw new UnLoginException("未登录");
|
|
}
|
|
}
|
|
- if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
|
|
- for (TortDTO item : tortDTOS) {
|
|
|
|
- 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);
|
|
|
|
|
|
+ try {
|
|
|
|
+ //首先是根据projectId,以及ifOriginal为false、ifFinal为true这几个条件删除表中的最终数据(最开始的数据)
|
|
|
|
+ LambdaQueryWrapper<FTOCompareRecord> removeWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ removeWrapper.eq(FTOCompareRecord::getProjectId, projectId)
|
|
|
|
+ .eq(FTOCompareRecord::getIfOriginal, false)
|
|
|
|
+ .eq(FTOCompareRecord::getIfFinal, true);
|
|
|
|
+ this.remove(removeWrapper);
|
|
|
|
+ //其次是添加一批新的数据
|
|
|
|
+ List<FTOCompareRecord> ftoCompareRecords = new ArrayList<>();
|
|
|
|
+ List<TortDTO> tortDTOS = tortCompareRecordDTO.getTortDTOS();
|
|
|
|
+ if (tortDTOS != null && !tortDTOS.isEmpty()) {
|
|
|
|
+ for (TortDTO item : tortDTOS) {
|
|
|
|
+ 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()) {
|
|
|
|
+ this.saveBatch(ftoCompareRecords);
|
|
|
|
+ ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
|
|
+ }
|
|
|
|
+ return ids;
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw new XiaoShiException("添加错误");
|
|
}
|
|
}
|
|
- if (!ftoCompareRecords.isEmpty()) {
|
|
|
|
- this.saveBatch(ftoCompareRecords);
|
|
|
|
- ids = ftoCompareRecords.stream().map(FTOCompareRecord::getId).collect(Collectors.toList());
|
|
|
|
- }
|
|
|
|
- return ids;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -585,7 +739,7 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
- * 装载权要
|
|
|
|
|
|
+ * 装载特征
|
|
* @param feature
|
|
* @param feature
|
|
* @return
|
|
* @return
|
|
*/
|
|
*/
|
|
@@ -601,4 +755,14 @@ public class TortCompareRecordService extends ServiceImpl<FTOCompareRecordMapper
|
|
tortVO.setSysOrder(feature.getSysOrder());
|
|
tortVO.setSysOrder(feature.getSysOrder());
|
|
return tortVO;
|
|
return tortVO;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public FTOCompareRecordVO loadVO(FTOCompareRecord ftoCompareRecord){
|
|
|
|
+ FTOCompareRecordVO ftoCompareRecordVO = new FTOCompareRecordVO();
|
|
|
|
+ ftoCompareRecordVO.setId(ftoCompareRecord.getId());
|
|
|
|
+ ftoCompareRecordVO.setCompareResult(ftoCompareRecord.getCompareResult());
|
|
|
|
+ ftoCompareRecordVO.setCompareDescription(ftoCompareRecord.getCompareDescription());
|
|
|
|
+ ftoCompareRecordVO.setTargetDescription(ftoCompareRecord.getTargetDescription());
|
|
|
|
+ return ftoCompareRecordVO;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|