chendayu 2 gadi atpakaļ
vecāks
revīzija
9ded70bcf9
32 mainītis faili ar 342 papildinājumiem un 38 dzēšanām
  1. 0 1
      RMS/src/main/java/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.java
  2. 10 5
      RMS/src/main/java/cn/cslg/report/controller/AvoidDesignDirectionController.java
  3. 4 0
      RMS/src/main/java/cn/cslg/report/entity/AssoAvoidDesignWholeLittleDirection.java
  4. 4 0
      RMS/src/main/java/cn/cslg/report/entity/AvoidDesignLittleDirection.java
  5. 8 0
      RMS/src/main/java/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapper.java
  6. 17 0
      RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.java
  7. 7 6
      RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.java
  8. 17 0
      RMS/src/main/java/cn/cslg/report/service/IAvoidDesignDirectionService.java
  9. 53 17
      RMS/src/main/java/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.java
  10. 11 2
      RMS/src/main/resources/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml
  11. 60 2
      RMS/src/main/resources/mapper/AvoidDesignLittleDirectionMapper.xml
  12. 8 0
      RMS/src/main/resources/mapper/AvoidDesignWholeDirectionMapper.xml
  13. 7 0
      RMS/src/test/java/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapperTests.java
  14. 7 0
      RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.java
  15. 8 1
      RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.java
  16. 42 0
      RMS/src/test/java/cn/cslg/report/mapper/AvoidFeatureMapperTests.java
  17. BIN
      RMS/target/classes/cn/cslg/report/common/model/dto/AvoidDesignLittleDirectionDTO.class
  18. BIN
      RMS/target/classes/cn/cslg/report/controller/AvoidDesignDirectionController.class
  19. BIN
      RMS/target/classes/cn/cslg/report/entity/AssoAvoidDesignWholeLittleDirection.class
  20. BIN
      RMS/target/classes/cn/cslg/report/entity/AvoidDesignLittleDirection.class
  21. BIN
      RMS/target/classes/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapper.class
  22. BIN
      RMS/target/classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.class
  23. BIN
      RMS/target/classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.class
  24. BIN
      RMS/target/classes/cn/cslg/report/service/IAvoidDesignDirectionService.class
  25. BIN
      RMS/target/classes/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.class
  26. 11 2
      RMS/target/classes/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml
  27. 60 2
      RMS/target/classes/mapper/AvoidDesignLittleDirectionMapper.xml
  28. 8 0
      RMS/target/classes/mapper/AvoidDesignWholeDirectionMapper.xml
  29. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapperTests.class
  30. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapperTests.class
  31. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.class
  32. BIN
      RMS/target/test-classes/cn/cslg/report/mapper/AvoidFeatureMapperTests.class

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

@@ -1,6 +1,5 @@
 package cn.cslg.report.common.model.dto;
 
-import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.io.Serializable;

+ 10 - 5
RMS/src/main/java/cn/cslg/report/controller/AvoidDesignDirectionController.java

@@ -2,18 +2,15 @@ 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.utils.Response;
 import cn.cslg.report.exception.XiaoShiException;
 import cn.cslg.report.service.IAvoidDesignDirectionService;
-import cn.cslg.report.service.business.FeatureService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * 回避设计方案的Controller层
@@ -41,4 +38,12 @@ public class AvoidDesignDirectionController {
         return Response.success("新增回避设计方案完成");
     }
 
+    @Operation(summary = "查询回避设计方案")
+    @GetMapping("/getAvoidDesignDirection")
+    public String getAvoidDesignDirection(Integer reportId) {
+        log.info("开始处理【查询回避设计方案】的请求,参数为:{}", reportId);
+        AvoidDesignDirectionVO avoidDesignDirection = avoidDesignDirectionService.getAvoidDesignDirection(reportId);
+        return Response.success(avoidDesignDirection);
+    }
+
 }

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

@@ -19,6 +19,10 @@ public class AssoAvoidDesignWholeLittleDirection implements Serializable {
      */
     private Integer id;
     /**
+     * 报告id
+     */
+    private Integer reportId;
+    /**
      * 回避设计总体方向ID
      */
     private Integer avoidDesignWholeDirectionId;

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

@@ -19,6 +19,10 @@ public class AvoidDesignLittleDirection implements Serializable {
      */
     private Integer id;
     /**
+     * 报告ID
+     */
+    private Integer reportId;
+    /**
      * 特征ID
      */
     private Integer featureId;

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

@@ -21,4 +21,12 @@ public interface AssoAvoidDesignWholeLittleDirectionMapper {
      */
     int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);
 
+    /**
+     * 根据报告id删除回避设计总体方向和方向关联表数据
+     *
+     * @param reportId 报告id
+     * @return 返回受影响的行数
+     */
+    int deleteByReportId(Integer reportId);
+
 }

+ 17 - 0
RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignLittleDirectionMapper.java

@@ -1,5 +1,6 @@
 package cn.cslg.report.mapper;
 
+import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
 import cn.cslg.report.entity.AvoidDesignLittleDirection;
 import org.springframework.stereotype.Repository;
 
@@ -21,4 +22,20 @@ public interface AvoidDesignLittleDirectionMapper {
      */
     int insertBatch(List<AvoidDesignLittleDirection> avoidDesignLittleDirections);
 
+    /**
+     * 根据报告id删除回避设计方向表数据
+     *
+     * @param reportId 报告id
+     * @return 返回受影响的行数
+     */
+    int deleteByReportId(Integer reportId);
+
+    /**
+     * 根据报告id关联查询回避设计方案数据
+     *
+     * @param reportId 报告id
+     * @return 返回查询到的数据
+     */
+    AvoidDesignDirectionVO selectWholeByReportId(Integer reportId);
+
 }

+ 7 - 6
RMS/src/main/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapper.java

@@ -19,11 +19,12 @@ public interface AvoidDesignWholeDirectionMapper {
      */
     int insert(AvoidDesignWholeDirection avoidDesignWholeDirection);
 
-//    /**
-//     * 根据报告
-//     * @param reportId
-//     * @return
-//     */
-//    int deleteByReportId(Integer reportId);
+    /**
+     * 根据报告id删除回避设计总体方向表数据
+     *
+     * @param reportId 报告id
+     * @return 返回受影响的行数
+     */
+    int deleteByReportId(Integer reportId);
 
 }

+ 17 - 0
RMS/src/main/java/cn/cslg/report/service/IAvoidDesignDirectionService.java

@@ -1,6 +1,7 @@
 package cn.cslg.report.service;
 
 import cn.cslg.report.common.model.dto.AvoidDesignDirectionDTO;
+import cn.cslg.report.common.model.vo.AvoidDesignDirectionVO;
 import org.springframework.transaction.annotation.Transactional;
 
 /**
@@ -18,4 +19,20 @@ public interface IAvoidDesignDirectionService {
     @Transactional
     void addAvoidDesignDirection(AvoidDesignDirectionDTO avoidDesignDirectionDTO);
 
+    /**
+     * 查询回避设计方案
+     *
+     * @param reportId 报告id
+     * @return 返回查询到的数据
+     */
+    AvoidDesignDirectionVO getAvoidDesignDirection(Integer reportId);
+
+    /**
+     * 删除回避设计方案
+     *
+     * @param reportId 报告id
+     */
+    void deleteAvoidDesignDirection(Integer reportId);
+
+
 }

+ 53 - 17
RMS/src/main/java/cn/cslg/report/service/impl/AvoidDesignDirectionServiceImpl.java

@@ -3,22 +3,18 @@ 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.common.model.vo.AvoidDesignDirectionVO;
 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;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -38,6 +34,8 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
     private final AvoidDesignLittleDirectionMapper avoidDesignLittleDirectionMapper;  //回避设计方向表的Mapper层接口装配
     private final AssoAvoidDesignWholeLittleDirectionMapper assoAvoidDesignWholeLittleDirectionMapper;  //回避设计总体方向和方向关联表的Mapper层接口装配
     private final AvoidFeatureMapper avoidFeatureMapper;  //特征标的Mapper层接口装配
+    //private final CacheUtils cacheUtils;
+    //private final LoginUtils loginUtils;
 
     /**
      * 新增回避设计方案
@@ -55,7 +53,11 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
         AvoidDesignWholeDirection avoidDesignWholeDirection = new AvoidDesignWholeDirection()
                 .setReportId(reportId)
                 .setWholeDirection(wholeDirection);
-        log.info("将数据插入回避设计总体方向表,数据为:{}", avoidDesignWholeDirection);
+        //先根据报告id删除原有回避设计总体方向表数据
+        log.info("先根据报告id删除原有回避设计总体方向表数据");
+        avoidDesignWholeDirectionMapper.deleteByReportId(reportId);
+        //将数据插入回避设计总体方向表
+        log.info("将数据插入回避设计总体方向表");
         int rows = avoidDesignWholeDirectionMapper.insert(avoidDesignWholeDirection);
         if (rows != 1) {
             String message = "数据插入回避设计总体方向表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -63,36 +65,47 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
             throw new XiaoShiException(message);
         }
 
-        //2.从回避设计方案中取出权要特征解释和回避设计方向littleDirection等数据的对象的集合avoidDesignLittleDirectionDTOs,后把相应数据分别插入相应表中
+        //2.从回避设计方案中取出权要特征解释和回避设计方向littleDirection等数据的对象的集合avoidDesignLittleDirectionDTOs,处理后把数据分别插入各自表中
         List<AvoidDesignLittleDirectionDTO> avoidDesignLittleDirectionDTOs = avoidDesignDirectionDTO.getAvoidDesignLittleDirectionDTOs();
-
-        //先根据报告id把原来的权要特征通通删除
-        log.info("先根据报告id把原来的权要特征通通删除");
-        avoidFeatureMapper.deleteByReportId(reportId);
-
-        //遍历取出每个权要的特征数据插入特征表,插入后取出每个特征的特征featureId和回避设计方向littleDirection存入回避设计方向表
+        //遍历集合取出每个权要的特征数据插入特征表,插入后取出每个特征的特征featureId和回避设计方向littleDirection存入回避设计方向表
         List<AvoidDesignLittleDirection> avoidDesignLittleDirections = new ArrayList<>();
         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);
         }
-        //批量插入特征,插入表中后再遍历取出特征featureId和回避设计方向littleDirection,存入回避设计方向表实体类对象集合
+
+        //先根据报告id删除原有特征表数据
+        log.info("先根据报告id删除原有特征表数据");
+        avoidFeatureMapper.deleteByReportId(reportId);
+        //批量插入特征数据,插入特征表后再遍历取出特征featureId和回避设计方向littleDirection,存入回避设计方向表实体类对象集合
         log.info("将数据插入特征表,特征数据量:{}个", avoidFeatures.size());
-        avoidFeatureMapper.insertBatch(avoidFeatures);
+        rows = avoidFeatureMapper.insertBatch(avoidFeatures);
+        if (rows != avoidFeatures.size()) {
+            String message = "数据插入特征表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
+            log.info("{}", message);
+            throw new XiaoShiException(message);
+        }
         for (AvoidFeatures avoidFeature : avoidFeatures) {
             Integer featureId = avoidFeature.getId();
             String littleDirection = avoidFeature.getLittleDirection();
             AvoidDesignLittleDirection avoidDesignLittleDirection = new AvoidDesignLittleDirection()
+                    .setReportId(reportId)
                     .setFeatureId(featureId)
                     .setLittleDirection(littleDirection);
             avoidDesignLittleDirections.add(avoidDesignLittleDirection);
         }
+        //先根据报告id删除原有回避设计方向表数据
+        log.info("先根据报告id删除原有回避设计方向表数据");
+        avoidDesignLittleDirectionMapper.deleteByReportId(reportId);
         //将数据插入回避设计方向表
-        log.info("将数据插入回避设计方向表,数据为:{}", avoidDesignLittleDirections);
+        log.info("将数据插入回避设计方向表");
         rows = avoidDesignLittleDirectionMapper.insertBatch(avoidDesignLittleDirections);
         if (rows != avoidDesignLittleDirections.size()) {
             String message = "数据插入回避设计方向表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -111,11 +124,16 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
         ArrayList<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections = new ArrayList<>();
         for (Integer avoidDesignLittleDirectionId : avoidDesignLittleDirectionIds) {
             AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection = new AssoAvoidDesignWholeLittleDirection()
+                    .setReportId(reportId)
                     .setAvoidDesignWholeDirectionId(avoidDesignWholeDirectionId)
                     .setAvoidDesignLittleDirectionId(avoidDesignLittleDirectionId);
             assoAvoidDesignWholeLittleDirections.add(assoAvoidDesignWholeLittleDirection);
         }
-        log.info("将数据插入回避设计总体方向和回避设计方向关联表,数据为:{}", assoAvoidDesignWholeLittleDirections);
+        //先根据报告id删除原有回避设计总体方向和回避设计方向关联表数据
+        log.info("先根据报告id删除原有回避设计总体方向和回避设计方向关联表数据");
+        assoAvoidDesignWholeLittleDirectionMapper.deleteByReportId(reportId);
+        //将数据插入回避设计总体方向和回避设计方向关联表
+        log.info("将数据插入回避设计总体方向和回避设计方向关联表");
         rows = assoAvoidDesignWholeLittleDirectionMapper.insertBatch(assoAvoidDesignWholeLittleDirections);
         if (rows != assoAvoidDesignWholeLittleDirections.size()) {
             String message = "数据插入回避设计总体方向和回避设计方向关联表失败,新增回避设计方案失败(数据已回滚),服务器忙请稍后再次尝试";
@@ -127,4 +145,22 @@ public class AvoidDesignDirectionServiceImpl implements IAvoidDesignDirectionSer
 
     }
 
+    @Override
+    public AvoidDesignDirectionVO getAvoidDesignDirection(Integer reportId) {
+        log.info("开始处理【查询回避设计方案】的业务,参数为:{}", reportId);
+        AvoidDesignDirectionVO queryResult = avoidDesignLittleDirectionMapper.selectWholeByReportId(reportId);
+        return queryResult;
+    }
+
+    @Override
+    public void deleteAvoidDesignDirection(Integer reportId) {
+        log.info("开始处理【删除回避设计方案】的业务,参数为:{}", reportId);
+        avoidFeatureMapper.deleteByReportId(reportId);
+        avoidDesignWholeDirectionMapper.deleteByReportId(reportId);
+        avoidDesignLittleDirectionMapper.deleteByReportId(reportId);
+        assoAvoidDesignWholeLittleDirectionMapper.deleteByReportId(reportId);
+        log.info("删除回避设计方案完成");
+    }
+
+
 }

+ 11 - 2
RMS/src/main/resources/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml

@@ -6,11 +6,20 @@
     <!--批量插入回避设计总体方向和回避设计方向关联表数据-->
     <!--int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
-        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (AVOIDDESIGN_WHOLE_DIRECTION_ID, AVOIDDESIGN_LITTLE_DIRECTION_ID)
+        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (REPORT_ID, AVOIDDESIGN_WHOLE_DIRECTION_ID,
+        AVOIDDESIGN_LITTLE_DIRECTION_ID)
         VALUES
         <foreach collection="list" item="n" separator=",">
-            (#{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
+            (#{n.reportId}, #{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
         </foreach>
     </insert>
 
+    <!--根据报告id删除回避设计总体方向和方向关联表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

+ 60 - 2
RMS/src/main/resources/mapper/AvoidDesignLittleDirectionMapper.xml

@@ -6,11 +6,69 @@
     <!--批量插入回避设计方向表数据-->
     <!--int insertBatch(List<AvoidDesignLittleDirection> avoidDesignLittleDirections);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
-        insert into AVOIDDESIGN_LITTLE_DIRECTION (FEATURE_ID, LITTLE_DIRECTION)
+        insert into AVOIDDESIGN_LITTLE_DIRECTION (REPORT_ID, FEATURE_ID, LITTLE_DIRECTION)
         VALUES
         <foreach collection="list" item="n" separator=",">
-            (#{n.featureId}, #{n.littleDirection})
+            (#{n.reportId}, #{n.featureId}, #{n.littleDirection})
         </foreach>
     </insert>
 
+    <!--根据报告id删除回避设计方向表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from AVOIDDESIGN_LITTLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
+    <!--根据报告id关联查询回避设计方案数据-->
+    <!--AvoidDesignDirectionVO selectWholeByReportId(Integer reportId);-->
+    <select id="selectWholeByReportId" resultMap="AllResultMap">
+        select f.ID f_ID,
+               SIGN_PATENT_NO,
+               CONTENT_OUT,
+               RIGHT_ID,
+               PARTNER_ID,
+               IS_FINAL,
+               f.REPORT_ID f_REPORT_ID,
+               CONTENT,
+               EXPLAIN_TEXT,
+               SPLIT_BY,
+               RIGHT_NAME,
+               RIGHT_TYPE,
+               FEATURES_ORDER,
+               SPLIT_TYPE,
+               TASK_ID,
+               LITTLE_DIRECTION,
+               WHOLE_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}
+        order by f_ID
+    </select>
+
+    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidDesignDirectionVO">
+        <result column="WHOLE_DIRECTION" property="wholeDirection"/>
+        <collection property="features" ofType="cn.cslg.report.common.model.dto.AvoidFeatures">
+            <result column="f_ID" property="id"/>
+            <result column="SIGN_PATENT_NO" property="signPatentNo"/>
+            <result column="CONTENT_OUT" property="contentOut"/>
+            <result column="RIGHT_ID" property="rightId"/>
+            <result column="PARTNER_ID" property="partnerId"/>
+            <result column="IS_FINAL" property="isFinal"/>
+            <result column="f_REPORT_ID" property="reportId"/>
+            <result column="CONTENT" property="content"/>
+            <result column="EXPLAIN_TEXT" property="explainText"/>
+            <result column="SPLIT_BY" property="splitBy"/>
+            <result column="RIGHT_NAME" property="rightName"/>
+            <result column="RIGHT_TYPE" property="rightType"/>
+            <result column="FEATURES_ORDER" property="featuresOrder"/>
+            <result column="SPLIT_TYPE" property="splitType"/>
+            <result column="TASK_ID" property="taskId"/>
+            <result column="LITTLE_DIRECTION" property="littleDirection"/>
+        </collection>
+    </resultMap>
+
 </mapper>

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

@@ -10,4 +10,12 @@
         values (#{reportId}, #{wholeDirection});
     </insert>
 
+    <!--根据报告id删除回避设计总体方向表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from AVOIDDESIGN_WHOLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

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

@@ -27,6 +27,7 @@ public class AssoAvoidDesignWholeLittleDirectionMapperTests {
         log.info("批量插入前数据为:");
         for (int i = 0; i < 3; i++) {
             AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection = new AssoAvoidDesignWholeLittleDirection()
+                    .setReportId(330)
                     .setAvoidDesignWholeDirectionId(1)
                     .setAvoidDesignLittleDirectionId(i + 1);
             log.info("{}", assoAvoidDesignWholeLittleDirection);
@@ -38,7 +39,13 @@ public class AssoAvoidDesignWholeLittleDirectionMapperTests {
         for (AssoAvoidDesignWholeLittleDirection assoAvoidDesignWholeLittleDirection : assoAvoidDesignWholeLittleDirections) {
             log.info("{}", assoAvoidDesignWholeLittleDirection);
         }
+    }
 
+    @Test
+    void deleteByReportId() {
+        Integer reportId = 330;
+        int rows = assoAvoidDesignWholeLittleDirectionMapper.deleteByReportId(reportId);
+        log.info("根据报告id删除数据完成,受影响的行数为:{}", rows);
     }
 
 }

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

@@ -27,6 +27,7 @@ public class AvoidDesignLittleDirectionMapperTests {
         log.info("批量插入前数据为:");
         for (int i = 0; i < 5; i++) {
             AvoidDesignLittleDirection avoidDesignLittleDirection = new AvoidDesignLittleDirection()
+                    .setReportId(330)
                     .setFeatureId(i + 1)
                     .setLittleDirection("回避设计方向" + (i + 1));
             log.info("{}", avoidDesignLittleDirection);
@@ -38,7 +39,13 @@ public class AvoidDesignLittleDirectionMapperTests {
         for (AvoidDesignLittleDirection avoidDesignLittleDirection : avoidDesignLittleDirections) {
             log.info("{}", avoidDesignLittleDirection);
         }
+    }
 
+    @Test
+    void deleteByReportId() {
+        Integer reportId = 330;
+        int rows = avoidDesignLittleDirectionMapper.deleteByReportId(reportId);
+        log.info("根据报告id删除数据完成,受影响的行数为:{}", rows);
     }
 
 }

+ 8 - 1
RMS/src/test/java/cn/cslg/report/mapper/AvoidDesignWholeDirectionMapperTests.java

@@ -23,11 +23,18 @@ public class AvoidDesignWholeDirectionMapperTests {
     void insert() {
         AvoidDesignWholeDirection avoidDesignWholeDirection = new AvoidDesignWholeDirection()
                 .setReportId(410)
-                .setWholeDirection("回避设计总体方向内容");
+                .setWholeDirection("回避设计总体方向内容3");
         log.info("插入前数据为:{}", avoidDesignWholeDirection);
         int rows = avoidDesignWholeDirectionMapper.insert(avoidDesignWholeDirection);
         log.info("插入数据完成,受影响的行数为:{}", rows);
         log.info("插入后数据为:{}", avoidDesignWholeDirection);
     }
 
+    @Test
+    void deleteByReportId() {
+        Integer reportId = 410;
+        int rows = avoidDesignWholeDirectionMapper.deleteByReportId(reportId);
+        log.info("根据报告id删除数据完成,受影响的行数为:{}", rows);
+    }
+
 }

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

@@ -0,0 +1,42 @@
+package cn.cslg.report.mapper;
+
+import cn.cslg.report.common.model.dto.AvoidFeatures;
+import lombok.extern.slf4j.Slf4j;
+import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+
+import java.util.ArrayList;
+
+/**
+ * @Author chenyu
+ * @Data 2023/2/3
+ */
+@Slf4j
+@SpringBootTest
+public class AvoidFeatureMapperTests {
+
+    @Autowired
+    private AvoidFeatureMapper avoidFeatureMapper;
+
+    @Test
+    void insertBatch() {
+        AvoidFeatures avoidFeature = new AvoidFeatures()
+                .setId(255380)
+                .setLittleDirection("回避设计方向255380")
+                .setReportId(255380);
+        ArrayList<AvoidFeatures> avoidFeatures = new ArrayList<>();
+        avoidFeatures.add(avoidFeature);
+        log.info("批量插入前数据为:{}", avoidFeatures);
+        int rows = avoidFeatureMapper.insertBatch(avoidFeatures);
+        log.info("批量插入回避设计特征完成,受影响的行数为:{}", rows);
+        log.info("批量插入后数据为:{}", avoidFeatures);
+    }
+
+    @Test
+    void deleteByReportId() {
+        int rows = avoidFeatureMapper.deleteByReportId(517);
+        log.info("根据报告id删除特征完成,受影响的行数为:{}", rows);
+    }
+
+}

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


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


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


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


BIN
RMS/target/classes/cn/cslg/report/mapper/AssoAvoidDesignWholeLittleDirectionMapper.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/service/IAvoidDesignDirectionService.class


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


+ 11 - 2
RMS/target/classes/mapper/AssoAvoidDesignWholeLittleDirectionMapper.xml

@@ -6,11 +6,20 @@
     <!--批量插入回避设计总体方向和回避设计方向关联表数据-->
     <!--int insertBatch(List<AssoAvoidDesignWholeLittleDirection> assoAvoidDesignWholeLittleDirections);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
-        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (AVOIDDESIGN_WHOLE_DIRECTION_ID, AVOIDDESIGN_LITTLE_DIRECTION_ID)
+        insert into ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION (REPORT_ID, AVOIDDESIGN_WHOLE_DIRECTION_ID,
+        AVOIDDESIGN_LITTLE_DIRECTION_ID)
         VALUES
         <foreach collection="list" item="n" separator=",">
-            (#{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
+            (#{n.reportId}, #{n.avoidDesignWholeDirectionId}, #{n.avoidDesignLittleDirectionId})
         </foreach>
     </insert>
 
+    <!--根据报告id删除回避设计总体方向和方向关联表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from ASSO_AVOIDDESIGN_WHOLE_LITTLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

+ 60 - 2
RMS/target/classes/mapper/AvoidDesignLittleDirectionMapper.xml

@@ -6,11 +6,69 @@
     <!--批量插入回避设计方向表数据-->
     <!--int insertBatch(List<AvoidDesignLittleDirection> avoidDesignLittleDirections);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
-        insert into AVOIDDESIGN_LITTLE_DIRECTION (FEATURE_ID, LITTLE_DIRECTION)
+        insert into AVOIDDESIGN_LITTLE_DIRECTION (REPORT_ID, FEATURE_ID, LITTLE_DIRECTION)
         VALUES
         <foreach collection="list" item="n" separator=",">
-            (#{n.featureId}, #{n.littleDirection})
+            (#{n.reportId}, #{n.featureId}, #{n.littleDirection})
         </foreach>
     </insert>
 
+    <!--根据报告id删除回避设计方向表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from AVOIDDESIGN_LITTLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
+    <!--根据报告id关联查询回避设计方案数据-->
+    <!--AvoidDesignDirectionVO selectWholeByReportId(Integer reportId);-->
+    <select id="selectWholeByReportId" resultMap="AllResultMap">
+        select f.ID f_ID,
+               SIGN_PATENT_NO,
+               CONTENT_OUT,
+               RIGHT_ID,
+               PARTNER_ID,
+               IS_FINAL,
+               f.REPORT_ID f_REPORT_ID,
+               CONTENT,
+               EXPLAIN_TEXT,
+               SPLIT_BY,
+               RIGHT_NAME,
+               RIGHT_TYPE,
+               FEATURES_ORDER,
+               SPLIT_TYPE,
+               TASK_ID,
+               LITTLE_DIRECTION,
+               WHOLE_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}
+        order by f_ID
+    </select>
+
+    <resultMap id="AllResultMap" type="cn.cslg.report.common.model.vo.AvoidDesignDirectionVO">
+        <result column="WHOLE_DIRECTION" property="wholeDirection"/>
+        <collection property="features" ofType="cn.cslg.report.common.model.dto.AvoidFeatures">
+            <result column="f_ID" property="id"/>
+            <result column="SIGN_PATENT_NO" property="signPatentNo"/>
+            <result column="CONTENT_OUT" property="contentOut"/>
+            <result column="RIGHT_ID" property="rightId"/>
+            <result column="PARTNER_ID" property="partnerId"/>
+            <result column="IS_FINAL" property="isFinal"/>
+            <result column="f_REPORT_ID" property="reportId"/>
+            <result column="CONTENT" property="content"/>
+            <result column="EXPLAIN_TEXT" property="explainText"/>
+            <result column="SPLIT_BY" property="splitBy"/>
+            <result column="RIGHT_NAME" property="rightName"/>
+            <result column="RIGHT_TYPE" property="rightType"/>
+            <result column="FEATURES_ORDER" property="featuresOrder"/>
+            <result column="SPLIT_TYPE" property="splitType"/>
+            <result column="TASK_ID" property="taskId"/>
+            <result column="LITTLE_DIRECTION" property="littleDirection"/>
+        </collection>
+    </resultMap>
+
 </mapper>

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

@@ -10,4 +10,12 @@
         values (#{reportId}, #{wholeDirection});
     </insert>
 
+    <!--根据报告id删除回避设计总体方向表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from AVOIDDESIGN_WHOLE_DIRECTION
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

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


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