Browse Source

2/8 陈宇

chendayu 2 years ago
parent
commit
9f1cffb37f
37 changed files with 340 additions and 83 deletions
  1. 5 1
      RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.java
  2. 85 0
      RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidFeaturesDTO.java
  3. 45 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignRightVO.java
  4. 27 0
      RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignWholeVO.java
  5. 2 2
      RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidFeatures.java
  6. 3 4
      RMS/src/main/java/cn/cslg/report/controller/AvoidDesignDirectionController.java
  7. 4 0
      RMS/src/main/java/cn/cslg/report/entity/AvoidDesignLittleDirection.java
  8. 5 8
      RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignDirectionVO.java
  9. 13 4
      RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.java
  10. 8 0
      RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.java
  11. 10 2
      RMS/src/main/java/cn/cslg/report/mapper/AvoidFeatureMapper.java
  12. 2 5
      RMS/src/main/java/cn/cslg/report/service/IAvoidDesignDirectionService.java
  13. 65 34
      RMS/src/main/java/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.java
  14. 15 9
      RMS/src/main/resources/mapper/AvoidDesignLittleDirectionMapper.xml
  15. 8 0
      RMS/src/main/resources/mapper/AvoidDesignWholeDirectionMapper.xml
  16. 11 3
      RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.java
  17. 7 0
      RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.java
  18. 2 2
      RMS/src/test/java/cn/cslg/report/mapper/AvoidFeatureMapperTests.java
  19. BIN
      RMS/target/classes/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.class
  20. BIN
      RMS/target/classes/cn/cslg/report/common/model/dto/AvoidFeaturesDTO.class
  21. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignDirectionVO.class
  22. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignRightVO.class
  23. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignWholeVO.class
  24. BIN
      RMS/target/classes/cn/cslg/report/common/model/dto/AvoidFeatures.class
  25. BIN
      RMS/target/classes/cn/cslg/report/controller/AvoidDesignDirectionController.class
  26. BIN
      RMS/target/classes/cn/cslg/report/entity/AvoidDesignLittleDirection.class
  27. BIN
      RMS/target/classes/cn/cslg/report/entity/AvoidFeatures.class
  28. BIN
      RMS/target/classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.class
  29. BIN
      RMS/target/classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.class
  30. BIN
      RMS/target/classes/cn/cslg/report/mapper/AvoidFeatureMapper.class
  31. BIN
      RMS/target/classes/cn/cslg/report/service/IAvoidDesignDirectionService.class
  32. BIN
      RMS/target/classes/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.class
  33. 15 9
      RMS/target/classes/mapper/AvoidDesignLittleDirectionMapper.xml
  34. 8 0
      RMS/target/classes/mapper/AvoidDesignWholeDirectionMapper.xml
  35. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.class
  36. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.class
  37. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidFeatureMapperTests.class

+ 5 - 1
RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.java

@@ -14,6 +14,10 @@ import java.util.List;
 @Data
 public class AvoidDesignLittleDirectionDTO implements Serializable {
     /**
+     * 权要ID
+     */
+    private Integer rightId;
+    /**
      * 权要名
      */
     private String RightName;
@@ -28,7 +32,7 @@ public class AvoidDesignLittleDirectionDTO implements Serializable {
     /**
      * 权要拆分特征
      */
-    List<AvoidFeatures> features;
+    List<AvoidFeaturesDTO> features;
     /**
      * 报告id
      */

+ 85 - 0
RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidFeaturesDTO.java

@@ -0,0 +1,85 @@
+package cn.cslg.report.common.model.dto;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+/**
+ * 拆分保存特征的前端传输DTO类
+ */
+@Data
+@Accessors(chain = true)
+public class AvoidFeaturesDTO {
+    /**
+     * 专利号
+     */
+    private String signPatentNo;
+    /**
+     * 特征翻译
+     */
+    private String contentOut;
+    /**
+     * 特征
+     */
+    private String content;
+    /**
+     * 权要ID
+     */
+    private Integer rightId;
+
+    /**
+     * 特征拆分人ID
+     */
+    private Integer partnerId;
+    /**
+     * 是否最终
+     */
+    private Integer isFinal;
+    /**
+     * 所属报告
+     */
+    private Integer reportId;
+    /**
+     * 解释
+     */
+    private String explainText;
+    /**
+     * 拆分类型
+     */
+    private Integer splitBy;
+
+    /**
+     * 拆分方式
+     */
+    private Integer splitType;
+    /**
+     * 权要名
+     */
+    private String rightName;
+    /**
+     * 权要类型 1主权要 0附属权要
+     */
+    private Integer rightType;
+    /**
+     * 特征排序
+     */
+    private Integer featuresOrder;
+    /**
+     * 任务id
+     */
+    private Integer taskId;
+    /**
+     * 特征拆分人IDs
+     */
+    private List<Integer> partnerIds;
+    /**
+     * 回避设计方向
+     */
+    private String littleDirection;
+    /**
+     * 回避设计总体方向
+     */
+    private String wholeDirection;
+
+}

+ 45 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignRightVO.java

@@ -0,0 +1,45 @@
+package cn.cslg.report.common.model.vo;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 回避设计方案当前权要的所有的特征和特征对应的回避设计方向
+ *
+ * @Author chenyu
+ * @Data 2023/2/7
+ */
+@Accessors(chain = true)
+@Data
+public class AvoidDesignRightVO implements Serializable {
+    /**
+     * 专利ID
+     */
+    private Integer patentId;
+    /**
+     * 内容
+     */
+    private String contentOut;
+
+    /**
+     * 内容
+     */
+    private String content;
+
+    /**
+     * 类型
+     */
+    private Integer type;
+
+    private Integer sort;
+
+    private String rightName;
+    /**
+     * 回避设计方案当前权要的所有的特征和特征对应的回避设计方向
+     */
+    private List<AvoidFeaturesVO> features;
+
+}

+ 27 - 0
RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignWholeVO.java

@@ -0,0 +1,27 @@
+package cn.cslg.report.common.model.vo;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * 回避设计方案查询VO类
+ *
+ * @Author chenyu
+ * @Data 2023/2/7
+ */
+@Accessors(chain = true)
+@Data
+public class AvoidDesignWholeVO implements Serializable {
+    /**
+     * 回避设计总体方向
+     */
+    private String wholeDirection;
+    /**
+     * 回避设计所有权要
+     */
+    private List<AvoidDesignRightVO> rights;
+
+}

+ 2 - 2
RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidFeatures.java

@@ -1,4 +1,4 @@
-package cn.cslg.report.common.model.dto;
+package cn.cslg.report.common.model.vo;
 
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -10,7 +10,7 @@ import java.util.List;
  */
 @Data
 @Accessors(chain = true)
-public class AvoidFeatures {
+public class AvoidFeaturesVO {
     /**
      * 特征id
      */

+ 3 - 4
RMS/src/main/java/cn/cslg/report/controller/AvoidDesignDirectionController.java

@@ -2,7 +2,7 @@ package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
 import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
-import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
+import cn.cslg.report.common.model.vo.AvoidDesignWholeVO;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.service.IAvoidDesignDirectionService;
@@ -13,7 +13,6 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 
 import java.io.IOException;
-import java.util.List;
 
 /**
  * 回避设计方案的Controller层
@@ -45,8 +44,8 @@ public class AvoidDesignDirectionController {
     @GetMapping("/getAvoidDesignDirection")
     public String getAvoidDesignDirection(Integer reportId) throws IOException {
         log.info("开始处理【查询回避设计方案】的请求,参数为:{}", reportId);
-        List<AvoidDesignDirectionVO> queryResults = avoidDesignDirectionService.getAvoidDesignDirection(reportId);
-        return Response.success(queryResults);
+        AvoidDesignWholeVO queryResult = avoidDesignDirectionService.getAvoidDesignDirection(reportId);
+        return Response.success(queryResult);
     }
 
 }

+ 4 - 0
RMS/src/main/java/cn/cslg/report/entity/AvoidDesignLittleDirection.java

@@ -30,5 +30,9 @@ public class AvoidDesignLittleDirection implements Serializable {
      * 回避设计方向
      */
     private String littleDirection;
+    /**
+     * 权要ID
+     */
+    private Integer rightId;
 
 }

+ 5 - 8
RMS/src/main/java/cn/cslg/report/common/model/vo/AvoidDesignDirectionVO.java

@@ -1,19 +1,16 @@
-package cn.cslg.report.common.model.vo;
+package cn.cslg.report.entity;
 
-import cn.cslg.report.common.model.dto.AvoidFeatures;
 import lombok.Data;
+import lombok.experimental.Accessors;
 
-import java.io.Serializable;
 import java.util.List;
 
 /**
- * 回避设计方案的查询VO类
- *
- * @Author chenyu
- * @Data 2023/2/6
+ * 拆分保存特征的前端传输DTO类
  */
 @Data
-public class AvoidDesignDirectionVO implements Serializable {
+@Accessors(chain = true)
+public class AvoidFeatures {
     /**
      * 特征id
      */

+ 13 - 4
RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.java

@@ -1,6 +1,6 @@
 package cn.cslg.report.mapper;
 
-import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
+import cn.cslg.report.common.model.vo.AvoidFeaturesVO;
 import cn.cslg.report.entity.AvoidDesignLittleDirection;
 import org.springframework.stereotype.Repository;
 
@@ -31,11 +31,20 @@ public interface AvoidDesignLittleDirectionMapper {
     int deleteByReportId(Integer reportId);
 
     /**
-     * 根据报告id关联查询回避设计方案数据
+     * 根据报告id查询专利号(查报告表)
      *
      * @param reportId 报告id
-     * @return 返回查询到的数据
+     * @return 返回查询到的专利号集合
      */
-    List<AvoidDesignDirectionVO> selectWholeByReportId(Integer reportId);
+    String selectSignPatentNoByReportId(Integer reportId);
+
+    /**
+     * 根据权要id和报告id关联查询特征和回避设计方向数据
+     *
+     * @param rightId  权要id
+     * @param reportId 报告id
+     * @return 返回查询到的特征集合
+     */
+    List<AvoidFeaturesVO> selectWholeByRightIdAndReportId(Integer rightId, Integer reportId);
 
 }

+ 8 - 0
RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.java

@@ -27,4 +27,12 @@ public interface AvoidDesignWholeDirectionMapper {
      */
     int deleteByReportId(Integer reportId);
 
+    /**
+     * 根据报告id查询回避设计总体方向
+     *
+     * @param reportId 报告id
+     * @return 返回查询到的数据
+     */
+    String selectWholeDirectionByReportId(Integer reportId);
+
 }

+ 10 - 2
RMS/src/main/java/cn/cslg/report/mapper/AvoidFeatureMapper.java

@@ -1,7 +1,7 @@
 package cn.cslg.report.mapper;
 
-import cn.cslg.report.common.model.dto.AvoidFeatures;
-import cn.cslg.report.entity.Features;
+import cn.cslg.report.common.model.dto.AvoidFeaturesDTO;
+import cn.cslg.report.entity.AvoidFeatures;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -30,4 +30,12 @@ public interface AvoidFeatureMapper {
      */
     int deleteByReportId(Integer reportId);
 
+    /**
+     * 根据报告id查询专利号
+     *
+     * @param reportId 报告id
+     * @return 返回查询到的数据
+     */
+    String selectSignPatentNoByReportId(Integer reportId);
+
 }

+ 2 - 5
RMS/src/main/java/cn/cslg/report/service/IAvoidDesignDirectionService.java

@@ -1,12 +1,9 @@
 package cn.cslg.report.service;
 
 import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
-import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
+import cn.cslg.report.common.model.vo.AvoidDesignWholeVO;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.io.IOException;
-import java.util.List;
-
 /**
  * 回避设计方向的Service层接口
  *
@@ -28,7 +25,7 @@ public interface IAvoidDesignDirectionService {
      * @param reportId 报告id
      * @return 返回查询到的数据
      */
-    List<AvoidDesignDirectionVO> getAvoidDesignDirection(Integer reportId);
+    AvoidDesignWholeVO getAvoidDesignDirection(Integer reportId);
 
     /**
      * 删除回避设计方案

+ 65 - 34
RMS/src/main/java/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.java

@@ -2,14 +2,11 @@ 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.AvoidDesignDirectionVO;
-import cn.cslg.report.common.utils.CacheUtils;
-import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
-import cn.cslg.report.entity.AssoAvoidDesignWholeLittleDirection;
-import cn.cslg.report.entity.AvoidDesignLittleDirection;
-import cn.cslg.report.entity.AvoidDesignWholeDirection;
-import cn.cslg.report.entity.PatentRight;
+import cn.cslg.report.common.model.dto.AvoidFeaturesDTO;
+import cn.cslg.report.common.model.vo.AvoidDesignRightVO;
+import cn.cslg.report.common.model.vo.AvoidDesignWholeVO;
+import cn.cslg.report.common.model.vo.AvoidFeaturesVO;
+import cn.cslg.report.entity.*;
 import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.mapper.AssoAvoidDesignWholeLittleDirectionMapper;
 import cn.cslg.report.mapper.AvoidDesignLittleDirectionMapper;
@@ -17,10 +14,12 @@ import cn.cslg.report.mapper.AvoidDesignWholeDirectionMapper;
 import cn.cslg.report.mapper.AvoidFeatureMapper;
 import cn.cslg.report.service.IAvoidDesignDirectionService;
 import cn.cslg.report.service.OutInterfaceService;
+import cn.cslg.report.service.business.FeatureService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
 import java.io.IOException;
@@ -28,7 +27,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * 回避设计方的Service层接口实现类
+ * 回避设计方的Service层接口实现类
  *
  * @Author chenyu
  * @Data 2023/2/2
@@ -42,6 +41,7 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
     private final AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper;  //回避设计总体方向和方向关联表的Mapper层接口装配
     private final AvoidFeatureMapper avoidFeatureMapper;  //特征标的Mapper层接口装配
     private final OutInterfaceService outInterfaceService;
+    private final FeatureService featureService;
     //private final CacheUtils cacheUtils;
     //private final LoginUtils loginUtils;
 
@@ -62,10 +62,10 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
                 .setReportId(reportId)
                 .setWholeDirection(wholeDirection);
         //先根据报告id删除原有回避设计总体方向表数据
-        log.info("先根据报告id删除原有回避设计总体方向表数据");
+        log.info("删除原有回避设计总体方向表数据");
         avoidDesignWholeDirectionMapper.deleteByReportId(reportId);
         //将数据插入回避设计总体方向表
-        log.info("数据插入回避设计总体方向表");
+        log.info("新增数据插入回避设计总体方向表");
         int rows = avoidDesignWholeDirectionMapper.insert(avoidDesignWholeDirection);
         if (rows != 1) {
             String message = "数据插入回避设计总体方向表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -78,21 +78,24 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
         //遍历集合取出每个权要的特征数据插入特征表,插入后取出每个特征的特征featureId和回避设计方向littleDirection存入回避设计方向表
         List<AvoidFeatures> avoidFeatures = new ArrayList<>();
         for (AvoidDesignLittleDirectionDTO avoidDesignLittleDirectionDTO : avoidDesignLittleDirectionDTOs) {
-            avoidFeatures.addAll(avoidDesignLittleDirectionDTO.getFeatures());
-        }
-        //获取特征拆分人ID(即获取当前登陆人的id)
-        //PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
-        //Integer partnerId = personnelVO.getId();
-        //遍历清空特征集合中前端传来的初始特征id
-        for (AvoidFeatures avoidFeature : avoidFeatures) {
-            avoidFeature.setId(null);
+            List<AvoidFeaturesDTO> featuresDTOS = avoidDesignLittleDirectionDTO.getFeatures();
+            //avoidFeatures.addAll(features);
+            for (AvoidFeaturesDTO featuresDTO : featuresDTOS) {
+                AvoidFeatures avoidFeature = new AvoidFeatures();
+                BeanUtils.copyProperties(featuresDTO, avoidFeature);
+                avoidFeatures.add(avoidFeature);
+            }
         }
 
         //先根据报告id删除原有特征表数据
-        log.info("先根据报告id删除原有特征表数据");
+        log.info("删除原有特征表数据");
         avoidFeatureMapper.deleteByReportId(reportId);
+        //遍历清空特征集合中前端传来的初始特征id
+        //for (AvoidFeatures avoidFeature : avoidFeatures) {
+        //    avoidFeature.setId(null);
+        //}
         //批量插入特征数据,插入特征表后再遍历取出特征featureId和回避设计方向littleDirection,存入回避设计方向表实体类对象集合
-        log.info("将数据插入特征表,特征数据量:{}个", avoidFeatures.size());
+        log.info("新增数据插入特征表");
         rows = avoidFeatureMapper.insertBatch(avoidFeatures);
         if (rows != avoidFeatures.size()) {
             String message = "数据插入特征表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -103,18 +106,20 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
         List<AvoidDesignLittleDirection> avoidDesignLittleDirections = new ArrayList<>();
         for (AvoidFeatures avoidFeature : avoidFeatures) {
             Integer featureId = avoidFeature.getId();
+            Integer rightId = avoidFeature.getRightId();
             String littleDirection = avoidFeature.getLittleDirection();
             AvoidDesignLittleDirection avoidDesignLittleDirection = new AvoidDesignLittleDirection()
                     .setReportId(reportId)
                     .setFeatureId(featureId)
+                    .setRightId(rightId)
                     .setLittleDirection(littleDirection);
             avoidDesignLittleDirections.add(avoidDesignLittleDirection);
         }
         //先根据报告id删除原有回避设计方向表数据
-        log.info("先根据报告id删除原有回避设计方向表数据");
+        log.info("删除原有回避设计方向表数据");
         avoidDesignLittleDirectionMapper.deleteByReportId(reportId);
         //将数据插入回避设计方向表
-        log.info("数据插入回避设计方向表");
+        log.info("新增数据插入回避设计方向表");
         rows = avoidDesignLittleDirectionMapper.insertBatch(avoidDesignLittleDirections);
         if (rows != avoidDesignLittleDirections.size()) {
             String message = "数据插入回避设计方向表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -139,10 +144,10 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
             assoAvoidDesignWholeLittleDirections.add(assoAvoidDesignWholeLittleDirection);
         }
         //先根据报告id删除原有回避设计总体方向和回避设计方向关联表数据
-        log.info("先根据报告id删除原有回避设计总体方向和回避设计方向关联表数据");
+        log.info("删除原有回避设计总体方向和回避设计方向关联表数据");
         assoAvoidDesignWholeLittleDirectionMapper.deleteByReportId(reportId);
         //将数据插入回避设计总体方向和回避设计方向关联表
-        log.info("数据插入回避设计总体方向和回避设计方向关联表");
+        log.info("新增数据插入回避设计总体方向和回避设计方向关联表");
         rows = assoAvoidDesignWholeLittleDirectionMapper.insertBatch(assoAvoidDesignWholeLittleDirections);
         if (rows != assoAvoidDesignWholeLittleDirections.size()) {
             String message = "数据插入回避设计总体方向和回避设计方向关联表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -155,16 +160,42 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
     }
 
     @Override
-    public List<AvoidDesignDirectionVO> getAvoidDesignDirection(Integer reportId) {
+    public AvoidDesignWholeVO getAvoidDesignDirection(Integer reportId) {
         log.info("开始处理【查询回避设计方案】的业务,参数为:{}", reportId);
-        List<AvoidDesignDirectionVO> queryResults = avoidDesignLittleDirectionMapper.selectWholeByReportId(reportId);
-//        从pas获得权要信息
-//        String resBody = null;
-//        resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
-//        JSONObject jsonObject = JSONObject.parseObject(resBody);
-//        解析jason获得标的专利的权要
-//        List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
-        return queryResults;
+        String signPatentNo = avoidDesignLittleDirectionMapper.selectSignPatentNoByReportId(reportId);
+        //从pas获得权要信息
+        String resBody = null;
+        try {
+            resBody = outInterfaceService.getPatentRightFromPAS(signPatentNo);
+        } catch (IOException e) {
+            //e.printStackTrace();
+            log.info("根据专利号查询权要列表时发生IO异常");
+        }
+        JSONObject jsonObject = JSONObject.parseObject(resBody);
+        //解析jason获得标的专利的权要
+        List<PatentRight> patentRightsOrgin = JSON.parseArray(jsonObject.getString("data"), PatentRight.class);
+        //给权要进行格式更改
+        List<PatentRight> patentRights = featureService.FormatPatentRights(patentRightsOrgin);
+
+        ArrayList<AvoidDesignRightVO> rights = new ArrayList<>();
+        for (PatentRight patentRight : patentRights) {
+            Integer rightId = patentRight.getSort();
+            //根据当前权要id和报告id关联查询当前权要的所有特征和特征对应的回避设计方向
+            List<AvoidFeaturesVO> features = avoidDesignLittleDirectionMapper.selectWholeByRightIdAndReportId(rightId, reportId);
+            AvoidDesignRightVO right = new AvoidDesignRightVO()
+                    .setFeatures(features)
+                    .setSort(rightId)
+                    .setRightName(patentRight.getRightName())
+                    .setContent(patentRight.getContent())
+                    .setContentOut(patentRight.getContentOut())
+                    .setPatentId(patentRight.getPatentId())
+                    .setType(patentRight.getType());
+            rights.add(right);
+        }
+        AvoidDesignWholeVO avoidDesignWholeVO = new AvoidDesignWholeVO().setRights(rights);
+        String wholeDirection = avoidDesignWholeDirectionMapper.selectWholeDirectionByReportId(reportId);
+        avoidDesignWholeVO.setWholeDirection(wholeDirection);
+        return avoidDesignWholeVO;
     }
 
     @Override

+ 15 - 9
RMS/src/main/resources/mapper/AvoidDesignLittleDirectionMapper.xml

@@ -21,9 +21,17 @@
         where REPORT_ID = #{reportId}
     </delete>
 
-    <!--根据报告id关联查询回避设计方案数据-->
-    <!--List<AvoidDesignDirectionVO> selectWholeByReportId(Integer reportId);-->
-    <select id="selectWholeByReportId" resultMap="AllResultMap">
+    <!--根据报告id查询专利号(查报告表)-->
+    <!--String selectSignPatentNoByReportId(Integer reportId);-->
+    <select id="selectSignPatentNoByReportId" resultType="String">
+        select SIGN_PATENT_NO
+        from REPORT
+        where ID = #{reportId}
+    </select>
+
+    <!--根据权要id和报告id关联查询特征和回避设计方向数据-->
+    <!--List<AvoidFeaturesVO> selectWholeByRightIdAndReportId(Integer rightId, Integer reportId);-->
+    <select id="selectWholeByRightIdAndReportId" resultMap="AllResultMap">
         select f.ID,
                SIGN_PATENT_NO,
                CONTENT_OUT,
@@ -39,17 +47,15 @@
                FEATURES_ORDER,
                SPLIT_TYPE,
                TASK_ID,
-               LITTLE_DIRECTION,
-               WHOLE_DIRECTION
+               LITTLE_DIRECTION
         from FEATURES f
                  left join AVOIDDESIGN_LITTLE_DIRECTION l on f.ID = l.FEATURE_ID
-                 left join ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION wl on l.ID = wl.AVOIDDESIGN_LITTLE_DIRECTION_ID
-                 left join AVOIDDESIGN_WHOLE_DIRECTION w on wl.AVOIDDESIGN_WHOLE_DIRECTION_ID = w.ID
-        where f.REPORT_ID = #{reportId}
+        where RIGHT_ID = #{rightId}
+          and f.REPORT_ID = #{reportId}
         order by f.ID
     </select>
 
-    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidDesignDirectionVO">
+    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidFeaturesVO">
         <id column="ID" property="id"/>
         <result column="SIGN_PATENT_NO" property="signPatentNo"/>
         <result column="CONTENT_OUT" property="contentOut"/>

+ 8 - 0
RMS/src/main/resources/mapper/AvoidDesignWholeDirectionMapper.xml

@@ -18,4 +18,12 @@
         where REPORT_ID = #{reportId}
     </delete>
 
+    <!--根据报告id查询回避设计总体方向-->
+    <!--String selectWholeDirectionByReportId(Integer reportId);-->
+    <select id="selectWholeDirectionByReportId" resultType="String">
+        select WHOLE_DIRECTION
+        from AVOIDDESIGN_WHOLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </select>
+
 </mapper>

+ 11 - 3
RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.java

@@ -1,6 +1,6 @@
 package cn.cslg.report.mapper;
 
-import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
+import cn.cslg.report.common.model.vo.AvoidFeaturesVO;
 import cn.cslg.report.entity.AvoidDesignLittleDirection;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
@@ -51,9 +51,17 @@ public class AvoidDesignLittleDirectionMapperTests {
     }
 
     @Test
-    void selectWholeByReportId() {
+    void selectSignPatentNoByReportId() {
+        Integer reportId = 572;
+        String signPatentNo = avoidDesignLittleDirectionMapper.selectSignPatentNoByReportId(reportId);
+        log.info("根据报告id查询专利号完成,查询到的数据为:{}", signPatentNo);
+    }
+
+    @Test
+    void selectWholeByRightId() {
+        Integer rightId = 1;
         Integer reportId = 543;
-        List<AvoidDesignDirectionVO> queryResults = avoidDesignLittleDirectionMapper.selectWholeByReportId(reportId);
+        List<AvoidFeaturesVO> queryResults = avoidDesignLittleDirectionMapper.selectWholeByRightIdAndReportId(rightId, reportId);
         log.info("查询数据完成,数据信息为:{}", queryResults);
     }
 

+ 7 - 0
RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.java

@@ -37,4 +37,11 @@ public class AvoidDesignWholeDirectionMapperTests {
         log.info("根据报告id删除数据完成,受影响的行数为:{}", rows);
     }
 
+    @Test
+    void selectWholeDirectionByReportId() {
+        Integer reportId = 569;
+        String wholeDirection = avoidDesignWholeDirectionMapper.selectWholeDirectionByReportId(reportId);
+        log.info("根据报告id查询回避设计总体方向数据完成,数据为:{}", wholeDirection);
+    }
+
 }

+ 2 - 2
RMS/src/test/java/cn/cslg/report/mapper/AvoidFeatureMapperTests.java

@@ -1,6 +1,7 @@
 package cn.cslg.report.mapper;
 
-import cn.cslg.report.common.model.dto.AvoidFeatures;
+import cn.cslg.report.common.model.dto.AvoidFeaturesDTO;
+import cn.cslg.report.entity.AvoidFeatures;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,7 +23,6 @@ public class AvoidFeatureMapperTests {
     @Test
     void insertBatch() {
         AvoidFeatures avoidFeature = new AvoidFeatures()
-                .setId(255380)
                 .setLittleDirection("回避设计方向255380")
                 .setReportId(255380);
         ArrayList<AvoidFeatures> avoidFeatures = new ArrayList<>();

BIN
RMS/target/classes/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/dto/AvoidFeaturesDTO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignDirectionVO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignRightVO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/vo/AvoidDesignWholeVO.class


BIN
RMS/target/classes/cn/cslg/report/common/model/dto/AvoidFeatures.class


BIN
RMS/target/classes/cn/cslg/report/controller/AvoidDesignDirectionController.class


BIN
RMS/target/classes/cn/cslg/report/entity/AvoidDesignLittleDirection.class


BIN
RMS/target/classes/cn/cslg/report/entity/AvoidFeatures.class


BIN
RMS/target/classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.class


BIN
RMS/target/classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.class


BIN
RMS/target/classes/cn/cslg/report/mapper/AvoidFeatureMapper.class


BIN
RMS/target/classes/cn/cslg/report/service/IAvoidDesignDirectionService.class


BIN
RMS/target/classes/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.class


+ 15 - 9
RMS/target/classes/mapper/AvoidDesignLittleDirectionMapper.xml

@@ -21,9 +21,17 @@
         where REPORT_ID = #{reportId}
     </delete>
 
-    <!--根据报告id关联查询回避设计方案数据-->
-    <!--List<AvoidDesignDirectionVO> selectWholeByReportId(Integer reportId);-->
-    <select id="selectWholeByReportId" resultMap="AllResultMap">
+    <!--根据报告id查询专利号(查报告表)-->
+    <!--String selectSignPatentNoByReportId(Integer reportId);-->
+    <select id="selectSignPatentNoByReportId" resultType="String">
+        select SIGN_PATENT_NO
+        from REPORT
+        where ID = #{reportId}
+    </select>
+
+    <!--根据权要id和报告id关联查询特征和回避设计方向数据-->
+    <!--List<AvoidFeaturesVO> selectWholeByRightIdAndReportId(Integer rightId, Integer reportId);-->
+    <select id="selectWholeByRightIdAndReportId" resultMap="AllResultMap">
         select f.ID,
                SIGN_PATENT_NO,
                CONTENT_OUT,
@@ -39,17 +47,15 @@
                FEATURES_ORDER,
                SPLIT_TYPE,
                TASK_ID,
-               LITTLE_DIRECTION,
-               WHOLE_DIRECTION
+               LITTLE_DIRECTION
         from FEATURES f
                  left join AVOIDDESIGN_LITTLE_DIRECTION l on f.ID = l.FEATURE_ID
-                 left join ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION wl on l.ID = wl.AVOIDDESIGN_LITTLE_DIRECTION_ID
-                 left join AVOIDDESIGN_WHOLE_DIRECTION w on wl.AVOIDDESIGN_WHOLE_DIRECTION_ID = w.ID
-        where f.REPORT_ID = #{reportId}
+        where RIGHT_ID = #{rightId}
+          and f.REPORT_ID = #{reportId}
         order by f.ID
     </select>
 
-    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidDesignDirectionVO">
+    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidFeaturesVO">
         <id column="ID" property="id"/>
         <result column="SIGN_PATENT_NO" property="signPatentNo"/>
         <result column="CONTENT_OUT" property="contentOut"/>

+ 8 - 0
RMS/target/classes/mapper/AvoidDesignWholeDirectionMapper.xml

@@ -18,4 +18,12 @@
         where REPORT_ID = #{reportId}
     </delete>
 
+    <!--根据报告id查询回避设计总体方向-->
+    <!--String selectWholeDirectionByReportId(Integer reportId);-->
+    <select id="selectWholeDirectionByReportId" resultType="String">
+        select WHOLE_DIRECTION
+        from AVOIDDESIGN_WHOLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </select>
+
 </mapper>

BIN
RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.class


BIN
RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.class


BIN
RMS/target/test-classes/cn/cslg/report/mapper/AvoidFeatureMapperTests.class