|
@@ -2,14 +2,20 @@ package cn.cslg.report.service.impl;
|
|
|
|
|
|
import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
|
|
|
import cn.cslg.report.common.model.dto.AvoidDesignLittleDirectionDTO;
|
|
|
+import cn.cslg.report.common.model.dto.AvoidFeatures;
|
|
|
+import cn.cslg.report.common.model.vo.PatentRightVo;
|
|
|
import cn.cslg.report.entity.AssoAvoidDesignWholeLittleDirection;
|
|
|
import cn.cslg.report.entity.AvoidDesignLittleDirection;
|
|
|
import cn.cslg.report.entity.AvoidDesignWholeDirection;
|
|
|
+import cn.cslg.report.entity.Features;
|
|
|
import cn.cslg.report.exception.XiaoShiException;
|
|
|
import cn.cslg.report.mapper.AssoAvoidDesignWholeLittleDirectionMapper;
|
|
|
import cn.cslg.report.mapper.AvoidDesignLittleDirectionMapper;
|
|
|
import cn.cslg.report.mapper.AvoidDesignWholeDirectionMapper;
|
|
|
+import cn.cslg.report.mapper.AvoidFeatureMapper;
|
|
|
import cn.cslg.report.service.IAvoidDesignDirectionService;
|
|
|
+import cn.cslg.report.service.business.FeatureService;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -31,6 +37,7 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
|
|
|
private final AvoidDesignWholeDirectionMapper avoidDesignWholeDirectionMapper; //回避设计总体方向表的Mapper层接口装配
|
|
|
private final AvoidDesignLittleDirectionMapper avoidDesignLittleDirectionMapper; //回避设计方向表的Mapper层接口装配
|
|
|
private final AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper; //回避设计总体方向和方向关联表的Mapper层接口装配
|
|
|
+ private final AvoidFeatureMapper avoidFeatureMapper; //特征标的Mapper层接口装配
|
|
|
|
|
|
/**
|
|
|
* 新增回避设计方案
|
|
@@ -41,7 +48,7 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
|
|
|
public void addAvoidDesignDirection(AvoidDesignDirectionDTO avoidDesignDirectionDTO) {
|
|
|
log.info("开始处理【新增回避设计方案】的业务,参数为:{}", avoidDesignDirectionDTO);
|
|
|
|
|
|
- //1.从回避设计方案中获取报告reportId和回避设计总体方向wholeDirection,将它们插入回避设计总体方向表
|
|
|
+ //1.从回避设计方案中取出报告reportId和回避设计总体方向wholeDirection,将它们插入回避设计总体方向表
|
|
|
Integer reportId = avoidDesignDirectionDTO.getReportId();
|
|
|
String wholeDirection = avoidDesignDirectionDTO.getWholeDirection();
|
|
|
//将获取到的报告reportId与回避设计总体方向wholeDirection数据赋值给回避设计总体方向表实体类后插入
|
|
@@ -56,11 +63,35 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
|
|
|
throw new XiaoShiException(message);
|
|
|
}
|
|
|
|
|
|
- //2.从回避设计方案中获取存放特征featureId与回避设计方向littleDirection的DTO对象的集合,将它们插入回避设计方向表
|
|
|
+ //2.从回避设计方案中取出权要特征解释和回避设计方向littleDirection等数据的对象的集合avoidDesignLittleDirectionDTOs,后把相应数据分别插入相应表中
|
|
|
List<AvoidDesignLittleDirectionDTO> avoidDesignLittleDirectionDTOs = avoidDesignDirectionDTO.getAvoidDesignLittleDirectionDTOs();
|
|
|
- //将获取到的存放特征featureId与回避设计方向littleDirection的DTO对象的集合复制给新创建的回避设计方向表实体类集合后插入
|
|
|
- ArrayList<AvoidDesignLittleDirection> avoidDesignLittleDirections = new ArrayList<>();
|
|
|
- BeanUtils.copyProperties(avoidDesignLittleDirectionDTOs, avoidDesignLittleDirections);
|
|
|
+
|
|
|
+ //先根据报告id把原来的权要特征通通删除
|
|
|
+ log.info("先根据报告id把原来的权要特征通通删除");
|
|
|
+ avoidFeatureMapper.deleteByReportId(reportId);
|
|
|
+
|
|
|
+ //遍历取出每个权要的特征数据插入特征表,插入后取出每个特征的特征featureId和回避设计方向littleDirection存入回避设计方向表
|
|
|
+ List<AvoidDesignLittleDirection> avoidDesignLittleDirections = new ArrayList<>();
|
|
|
+ List<AvoidFeatures> avoidFeatures = new ArrayList<>();
|
|
|
+ for (AvoidDesignLittleDirectionDTO avoidDesignLittleDirectionDTO : avoidDesignLittleDirectionDTOs) {
|
|
|
+ avoidFeatures.addAll(avoidDesignLittleDirectionDTO.getFeatures());
|
|
|
+ }
|
|
|
+ //遍历清空特征集合中前端传来的初始特征id
|
|
|
+ for (AvoidFeatures avoidFeature : avoidFeatures) {
|
|
|
+ avoidFeature.setId(null);
|
|
|
+ }
|
|
|
+ //批量插入特征,插入表中后再遍历取出特征featureId和回避设计方向littleDirection,存入回避设计方向表实体类对象集合
|
|
|
+ log.info("将数据插入特征表,特征数据量:{}个", avoidFeatures.size());
|
|
|
+ avoidFeatureMapper.insertBatch(avoidFeatures);
|
|
|
+ for (AvoidFeatures avoidFeature : avoidFeatures) {
|
|
|
+ Integer featureId = avoidFeature.getId();
|
|
|
+ String littleDirection = avoidFeature.getLittleDirection();
|
|
|
+ AvoidDesignLittleDirection avoidDesignLittleDirection = new AvoidDesignLittleDirection()
|
|
|
+ .setFeatureId(featureId)
|
|
|
+ .setLittleDirection(littleDirection);
|
|
|
+ avoidDesignLittleDirections.add(avoidDesignLittleDirection);
|
|
|
+ }
|
|
|
+ //将数据插入回避设计方向表
|
|
|
log.info("将数据插入回避设计方向表,数据为:{}", avoidDesignLittleDirections);
|
|
|
rows = avoidDesignLittleDirectionMapper.insertBatch(avoidDesignLittleDirections);
|
|
|
if (rows != avoidDesignLittleDirections.size()) {
|