|
@@ -29,6 +29,7 @@ import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.function.Function;
|
|
@@ -237,6 +238,7 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
* @param tortCompareRecordDTO
|
|
|
* @return
|
|
|
*/
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
public List<Integer> addFTOCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
|
|
|
Integer taskId = tortCompareRecordDTO.getTaskId();
|
|
|
if (taskId == null) {
|
|
@@ -254,7 +256,8 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
//查询出原来的特征id集合
|
|
|
LambdaQueryWrapper<Feature> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
queryWrapper.select(Feature::getId)
|
|
|
- .eq(Feature::getProjectTaskId, taskId);
|
|
|
+ .eq(Feature::getProjectTaskId, taskId)
|
|
|
+ .eq(Feature::getPatentNo, patentNo);
|
|
|
Function<Object, Integer> f = (o -> Integer.parseInt(o.toString()));
|
|
|
List<Integer> featureIds = featureService.listObjs(queryWrapper, f);
|
|
|
// 删除特征
|
|
@@ -282,6 +285,14 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
* @param tortDTOS
|
|
|
*/
|
|
|
public List<Integer> updateFeatures(String patentNo, Integer taskId, List<Integer> featureIds, List<TortDTO> tortDTOS) {
|
|
|
+ //根据专利号和任务id获得拆分信息
|
|
|
+ LambdaQueryWrapper<PatentSplitMessage> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ queryWrapper.eq(PatentSplitMessage::getTaskId, taskId)
|
|
|
+ .eq(PatentSplitMessage::getPatentNo, patentNo);
|
|
|
+ PatentSplitMessage patentSplitMessage = patentSplitMessageService.getOne(queryWrapper);
|
|
|
+ if (patentSplitMessage == null) {
|
|
|
+ throw new XiaoShiException("未获取到拆分信息");
|
|
|
+ }
|
|
|
// 获取登录人信息
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
try {
|
|
@@ -322,6 +333,7 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
feature.setCreateId(personnelVO.getId());
|
|
|
feature.setRightType(item.getRightType());
|
|
|
feature.setSysOrder(order);
|
|
|
+ feature.setSplitMessageId(patentSplitMessage.getId());
|
|
|
feature.insert();
|
|
|
item.setFeatureId(feature.getId());
|
|
|
// 新增对比结果
|
|
@@ -907,39 +919,38 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
|
|
|
List<TortVO> compareMessageVOS = new ArrayList<>();
|
|
|
if (tortCompareRecordVO != null) {
|
|
|
List<TortRightVO> tortRightVOS = tortCompareRecordVO.getTortRightVOS();
|
|
|
- if(tortRightVOS!=null) {
|
|
|
- for (TortRightVO item : tortRightVOS) {
|
|
|
- if(item.getTortVOS() != null && item.getTortVOS().size() > 0) {
|
|
|
- compareMessageVOS.addAll((item.getTortVOS()));
|
|
|
- }
|
|
|
- if (item.getType().equals(0)) {
|
|
|
- mainRightNum++;
|
|
|
- }
|
|
|
- rightNum++;
|
|
|
- }
|
|
|
- }
|
|
|
+ if (tortRightVOS != null) {
|
|
|
+ for (TortRightVO item : tortRightVOS) {
|
|
|
+ if (item.getTortVOS() != null && item.getTortVOS().size() > 0) {
|
|
|
+ compareMessageVOS.addAll((item.getTortVOS()));
|
|
|
+ }
|
|
|
+ if (item.getType().equals(0)) {
|
|
|
+ mainRightNum++;
|
|
|
+ }
|
|
|
+ rightNum++;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- compareMessageVOS.forEach(item->{
|
|
|
- if(item.getOriginalRecordVO()!=null){
|
|
|
- item.setTargetDescription(item.getOriginalRecordVO().getTargetDescription());
|
|
|
- if(item.getOriginalRecordVO().getCompareResult()!=null){
|
|
|
- switch (item.getOriginalRecordVO().getCompareResult())
|
|
|
- {
|
|
|
- case 0:
|
|
|
- item.setResultStr("字面相同");
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- item.setResultStr("等同");
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- item.setResultStr("不等同");
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- item.setResultStr("待确定");
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ compareMessageVOS.forEach(item -> {
|
|
|
+ if (item.getOriginalRecordVO() != null) {
|
|
|
+ item.setTargetDescription(item.getOriginalRecordVO().getTargetDescription());
|
|
|
+ if (item.getOriginalRecordVO().getCompareResult() != null) {
|
|
|
+ switch (item.getOriginalRecordVO().getCompareResult()) {
|
|
|
+ case 0:
|
|
|
+ item.setResultStr("字面相同");
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ item.setResultStr("等同");
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ item.setResultStr("不等同");
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ item.setResultStr("待确定");
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|
|
|
map.put("compareMessageVOs", compareMessageVOS);
|
|
|
map.put("rightNum", rightNum);
|