소스 검색

12.20 陈宇

chendayu 2 년 전
부모
커밋
3503b8e7b1
54개의 변경된 파일222개의 추가작업 그리고 366개의 파일을 삭제
  1. 1 1
      RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java
  2. 0 22
      RMS/src/main/java/cn/cslg/report/common/model/vo/QueryCompareMessageVo.java
  3. 0 53
      RMS/src/main/java/cn/cslg/report/common/model/vo/synergyTaskVO.java
  4. 4 0
      RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java
  5. 2 10
      RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java
  6. 0 3
      RMS/src/main/java/cn/cslg/report/controller/ProductController.java
  7. 1 6
      RMS/src/main/java/cn/cslg/report/controller/TaskController.java
  8. 1 1
      RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java
  9. 14 3
      RMS/src/main/java/cn/cslg/report/mapper/AssoProductFileMapper.java
  10. 0 2
      RMS/src/main/java/cn/cslg/report/mapper/CompareMessageMapper.java
  11. 14 3
      RMS/src/main/java/cn/cslg/report/mapper/ProductMapper.java
  12. 13 3
      RMS/src/main/java/cn/cslg/report/service/IAssoProductFileService.java
  13. 18 5
      RMS/src/main/java/cn/cslg/report/service/IProductService.java
  14. 9 10
      RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java
  15. 10 51
      RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java
  16. 5 10
      RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java
  17. 30 44
      RMS/src/main/java/cn/cslg/report/service/business/ReportService.java
  18. 0 115
      RMS/src/main/java/cn/cslg/report/service/business/TaskService.java
  19. 13 3
      RMS/src/main/java/cn/cslg/report/service/impl/AssoProductFileServiceImpl.java
  20. 41 13
      RMS/src/main/java/cn/cslg/report/service/impl/ProductServiceImpl.java
  21. 10 2
      RMS/src/main/resources/mapper/AssoProductFileMapper.xml
  22. 0 4
      RMS/src/main/resources/mapper/CompareMessageMapper.xml
  23. 8 0
      RMS/src/main/resources/mapper/ProductMapper.xml
  24. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/CompareMessageVO.class
  25. BIN
      RMS/target/classes/cn/cslg/report/common/model/vo/SplitVO.class
  26. BIN
      RMS/target/classes/cn/cslg/report/controller/CompareMessageController.class
  27. BIN
      RMS/target/classes/cn/cslg/report/controller/ProductController.class
  28. BIN
      RMS/target/classes/cn/cslg/report/controller/TaskController.class
  29. BIN
      RMS/target/classes/cn/cslg/report/entity/CompareFiles.class
  30. BIN
      RMS/target/classes/cn/cslg/report/entity/asso/AssoTaskPatentSplit.class
  31. BIN
      RMS/target/classes/cn/cslg/report/mapper/AssoProductFileMapper.class
  32. BIN
      RMS/target/classes/cn/cslg/report/mapper/AssoTaskPatentSplitMapper.class
  33. BIN
      RMS/target/classes/cn/cslg/report/mapper/CompareMessageMapper.class
  34. BIN
      RMS/target/classes/cn/cslg/report/mapper/ProductMapper.class
  35. BIN
      RMS/target/classes/cn/cslg/report/service/IAssoProductFileService.class
  36. BIN
      RMS/target/classes/cn/cslg/report/service/IProductService.class
  37. BIN
      RMS/target/classes/cn/cslg/report/service/OutInterfaceService.class
  38. BIN
      RMS/target/classes/cn/cslg/report/service/business/AssoTaskPatentSplitService.class
  39. BIN
      RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class
  40. BIN
      RMS/target/classes/cn/cslg/report/service/business/FeatureService.class
  41. BIN
      RMS/target/classes/cn/cslg/report/service/business/ReportService.class
  42. BIN
      RMS/target/classes/cn/cslg/report/service/business/TaskService.class
  43. BIN
      RMS/target/classes/cn/cslg/report/service/impl/AssoProductFileServiceImpl.class
  44. BIN
      RMS/target/classes/cn/cslg/report/service/impl/ProductServiceImpl.class
  45. 10 2
      RMS/target/classes/mapper/AssoProductFileMapper.xml
  46. 10 0
      RMS/target/classes/mapper/CompareMessageMapper.xml
  47. 8 0
      RMS/target/classes/mapper/ProductMapper.xml
  48. BIN
      RMS/target/file/20221222/6e48dfabb2ee4110bd38bcbda12dea42.xlsx
  49. BIN
      RMS/target/file/20221222/8402506c2f4d4a1488cad669c217bc60.png
  50. BIN
      RMS/target/file/20221222/952ea6db7ddb4c68aad272f3a8296727.xlsx
  51. BIN
      RMS/target/file/20221222/b5616ad932fc4cc5b41ca9f1cdee2563.xlsx
  52. BIN
      RMS/target/file/20221222/ca2ec7de8ba349dfa769791652dd8300.png
  53. BIN
      RMS/target/file/20221222/ee57355370694545955dfbaa21d370b1.png
  54. BIN
      RMS/target/file/20221222/fcab8382c7734782bbaa56f733246760.png

+ 1 - 1
RMS/src/main/java/cn/cslg/report/common/model/vo/CompareMessageVO.java

@@ -18,7 +18,7 @@ import java.util.List;
 @Data
 @Accessors(chain = true)
 @Schema(description="分配任务VO",required = true)
-public class CompareMessageVO  {
+public class CompareMessageVO {
     private Integer id;
     @Schema(description = "标的说明")
     private String targetDescription;

+ 0 - 22
RMS/src/main/java/cn/cslg/report/common/model/vo/QueryCompareMessageVo.java

@@ -1,22 +0,0 @@
-package cn.cslg.report.common.model.vo;
-
-import cn.cslg.report.common.model.BaseVO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-/**
- * @author lrj
- * @date 2022-11-9
- * @description 任务VO类
- */
-@Data
-@Accessors(chain = true)
-@Schema(description="分配任务VO",required = true)
-public class QueryCompareMessageVo  extends BaseVO {
-    @Schema(description = "对比结果")
-    private Integer compareResult;
-    @Schema(description = "报告Id")
-    private Integer reportId;
-
-}

+ 0 - 53
RMS/src/main/java/cn/cslg/report/common/model/vo/synergyTaskVO.java

@@ -1,53 +0,0 @@
-package cn.cslg.report.common.model.vo;
-
-
-import cn.cslg.report.common.model.BaseVO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import lombok.experimental.Accessors;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- * @author lrj
- * @date 2022-11-9
- * @description 任务VO类
- */
-@Data
-@Accessors(chain = true)
-@Schema(description="协同任务VO",required = true)
-public class synergyTaskVO extends BaseVO {
-
-    @Schema(description = "任务名")
-    private String taskName;
-
-    @Schema(description = "任务类型")
-    private Integer taskType;
-
-    @Schema(description = "报告Id")
-    private Integer reportId;
-
-    @Schema(description = "人员专利号对象")
-    List<assignPatents> assigns ;
-
-    @Schema(description = "任务结束时间")
-    private Date endTime;
-
-    @Schema(description = "备注")
-    private String remark;
-    @Schema(description = "筛选条件")
-    private PatentVO patentVO;
-
-    @Data
-    public static class assignPatents{
-        @Schema(description = "人员Id")
-            private Integer personId;
-
-        @Schema(description = "专利号列表")
-        private List<String> patentNos;
-
-        @Schema(description = "分配数量")
-        private Integer assignCount;
-    }
-}

+ 4 - 0
RMS/src/main/java/cn/cslg/report/controller/CompareFilesController.java

@@ -47,4 +47,8 @@ public class CompareFilesController {
     }
 
 
+
+
+
+
 }

+ 2 - 10
RMS/src/main/java/cn/cslg/report/controller/CompareMessageController.java

@@ -1,9 +1,7 @@
 package cn.cslg.report.controller;
 
 import cn.cslg.report.common.core.base.Constants;
-import cn.cslg.report.common.model.BaseVO;
 import cn.cslg.report.common.model.vo.CompareMessageVO;
-import cn.cslg.report.common.model.vo.QueryCompareMessageVo;
 import cn.cslg.report.common.utils.DateUtils;
 import cn.cslg.report.common.utils.FileUtils;
 import cn.cslg.report.common.utils.Response;
@@ -63,13 +61,7 @@ public class CompareMessageController {
 
     @GetMapping("queryCompareMessage")
     @Operation(summary = "查找FTO对比记录")
-    public String queryCompareMessage(Integer taskId,Integer reportId,String patentNo) throws IOException {
-        return Response.success(compareMessageService.queryCompareMessage(taskId,reportId,patentNo));
-    }
-
-    @GetMapping("queryComparedMessage")
-    @Operation(summary = "获得已经对比过的报告专利")
-    public String queryComparedMessage(QueryCompareMessageVo queryVo) throws IOException {
-        return Response.success(compareMessageService.queryComparedMessage(queryVo));
+    public String queryCompareMessage(Integer taskId,String patentNo) throws IOException {
+        return Response.success(compareMessageService.queryCompareMessage(taskId,patentNo));
     }
 }

+ 0 - 3
RMS/src/main/java/cn/cslg/report/controller/ProductController.java

@@ -65,9 +65,6 @@ public class ProductController {
         log.info("开始处理【根据报告id查询产品数据信息】的请求,参数为:{}", reportId);
         if (reportId != null) {
             ProductStandardVO queryResult = productService.getProduct(reportId);
-            if (queryResult == null) {
-                return Response.error("产品不存在");
-            }
             return Response.success(queryResult);
         } else {
             return Response.error("报告id不能为空");

+ 1 - 6
RMS/src/main/java/cn/cslg/report/controller/TaskController.java

@@ -69,18 +69,13 @@ public class TaskController {
         return taskService.auditTask(auditTaskVO);
     }
 
+
     @RequestMapping(value = "/addAssTask", method = RequestMethod.POST)
     @Operation(summary = "添加分配任务")
     public String addAssTask(@RequestBody AssignTaskVO assignTaskVO) throws ParseException, IOException {
         return taskService.addAssTask(assignTaskVO);
     }
 
-    @RequestMapping(value = "/addSynergyTask", method = RequestMethod.POST)
-    @Operation(summary = "添加协同任务")
-    public String addSynergyTask(@RequestBody AssignTaskVO assignTaskVO) throws ParseException, IOException {
-        return taskService.addAssTask(assignTaskVO);
-    }
-
     @RequestMapping(value = "/reTaskPatents", method = RequestMethod.POST)
     @Operation(summary = "返回任务专利清单")
     public String reTaskPatents(@RequestBody PatentVO patentVO) throws ParseException, IOException {

+ 1 - 1
RMS/src/main/java/cn/cslg/report/entity/CompareFiles.java

@@ -36,7 +36,7 @@ public class CompareFiles extends BaseEntity<CompareFiles> {
      * 状态
      */
     @TableField(value = "STATE")
-    private Integer state;
+    private String state;
 
 
 }

+ 14 - 3
RMS/src/main/java/cn/cslg/report/mapper/AssoProductFileMapper.java

@@ -6,12 +6,15 @@ import org.springframework.stereotype.Repository;
 import java.util.List;
 
 /**
- * 产品文件关联的Mapper接口层
+ * 产品文件关联表的Mapper层接口
+ *
+ * @author chenyu
+ * @date 2022/12/20
  */
 @Repository
 public interface AssoProductFileMapper {
     /**
-     * 批量插入文件关联数据
+     * 批量插入产品文件关联数据
      *
      * @param assoProductFiles 产品文件关联数据对象集合
      * @return 返回受影响的行数
@@ -19,11 +22,19 @@ public interface AssoProductFileMapper {
     int insertBatch(List<AssoProductFile> assoProductFiles);
 
     /**
-     * 根据fileId(文件id)删除文件关联数据
+     * 根据fileId(文件id)删除产品文件关联数据
      *
      * @param fileIds 文件id集合
      * @return 返回受影响的行数
      */
     int deleteByFileId(List<Integer> fileIds);
 
+    /**
+     * 根据产品id删除产品文件关联表数据
+     *
+     * @param productId 产品id
+     * @return 返回受影响的行数
+     */
+    int deleteByProductId(Integer productId);
+
 }

+ 0 - 2
RMS/src/main/java/cn/cslg/report/mapper/CompareMessageMapper.java

@@ -4,7 +4,6 @@ import cn.cslg.report.common.model.vo.CompareMessageVO;
 import cn.cslg.report.entity.CompareMessage;
 import cn.cslg.report.entity.asso.AssoTaskPatentSplit;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import io.swagger.v3.oas.models.security.SecurityScheme;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -13,5 +12,4 @@ import java.util.List;
 @Mapper
 public interface CompareMessageMapper extends BaseMapper<CompareMessage> {
     List<CompareMessageVO> getCompareMessage(@Param("taskId") Integer taskId,@Param("patentNo") String patentNo);
-    List<String> getNoCompareNos(@Param("reportId") Integer reportId);
 }

+ 14 - 3
RMS/src/main/java/cn/cslg/report/mapper/ProductMapper.java

@@ -5,7 +5,10 @@ import cn.cslg.report.common.model.vo.ProductStandardVO;
 import org.springframework.stereotype.Repository;
 
 /**
- * 产品的Mapper接口层
+ * 产品的Mapper层接口
+ *
+ * @author chenyu
+ * @date 2022/12/20
  */
 @Repository
 public interface ProductMapper {
@@ -18,7 +21,7 @@ public interface ProductMapper {
     int insert(Product product);
 
     /**
-     * 修改产品数据
+     * 根据报告id修改产品数据
      *
      * @param product 产品数据对象
      * @return 返回受影响的行数
@@ -26,11 +29,19 @@ public interface ProductMapper {
     int update(Product product);
 
     /**
-     * 根据reportId关联查询产品数据
+     * 根据reportId关联查询产品数据(产品表和图片附件文件表数据)
      *
      * @param reportId 报告id
      * @return 返回查询到的产品数据对象
      */
     ProductStandardVO getStandardByReportId(Integer reportId);
 
+    /**
+     * 根据报告id删除产品表数据
+     *
+     * @param reportId 报告id
+     * @return 返回受影响的行数
+     */
+    int deleteByReportId(Integer reportId);
+
 }

+ 13 - 3
RMS/src/main/java/cn/cslg/report/service/IAssoProductFileService.java

@@ -3,7 +3,10 @@ package cn.cslg.report.service;
 import java.util.List;
 
 /**
- * 产品文件关联表逻辑层接口
+ * 产品文件关联表的业务层接口
+ *
+ * @author chenyu
+ * @date 2022/12/20
  */
 public interface IAssoProductFileService {
     /**
@@ -15,10 +18,17 @@ public interface IAssoProductFileService {
     void addAsso(Integer productId, List<Integer> fileIds);
 
     /**
-     * 根据文件id删除产品与文件关联数据
+     * 根据文件id删除产品与文件关联数据
      *
      * @param fileIds 文件id集合
      */
-    void deleteAsso(List<Integer> fileIds);
+    void deleteAssoByFileIds(List<Integer> fileIds);
+
+    /**
+     * 根据产品id删除产品与文件关联表数据
+     *
+     * @param productId
+     */
+    void deleteAssoByProductId(Integer productId);
 
 }

+ 18 - 5
RMS/src/main/java/cn/cslg/report/service/IProductService.java

@@ -8,30 +8,43 @@ import org.springframework.web.multipart.MultipartFile;
 import java.util.List;
 
 /**
- * 产品表逻辑层接口
+ * 产品表的业务层接口
+ *
+ * @author chenyu
+ * @date 2022/12/20
  */
 public interface IProductService {
     /**
      * 新增产品数据的业务层方法
+     *
      * @param productDTO 产品数据对象
-     * @param files 产品图片附件
+     * @param files      产品图片附件
      */
     @Transactional(rollbackFor = Exception.class)
     void addProduct(ProductDTO productDTO, List<MultipartFile> files);
 
     /**
-     * 根据id修改产品数据的业务层方法
+     * 根据报告id修改产品数据的业务层方法
+     *
      * @param productDTO 待修改的产品新数据
-     * @param files 待修改的产品图片附件
+     * @param files      待修改的产品图片附件
      */
     @Transactional(rollbackFor = Exception.class)
     void updateProduct(ProductDTO productDTO, List<MultipartFile> files);
 
     /**
-     * 根据报告id查询产品数据的业务层方法
+     * 根据reportId关联查询产品数据(产品表和图片附件文件表数据)
+     *
      * @param reportId 报告id
      * @return 返回查询到的产品数据对象
      */
     ProductStandardVO getProduct(Integer reportId);
 
+    /**
+     * 根据报告id删除产品表数据
+     *
+     * @param reportId 报告id
+     */
+    void deleteProduct(Integer reportId);
+
 }

+ 9 - 10
RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java

@@ -224,6 +224,7 @@ public class OutInterfaceService {
         OkHttpClient okHttpClient = new OkHttpClient();
         Request request = new Request.Builder()
                 .url(PCSUrl + "/permission/api/system/getPersonnelByIds")
+                .addHeader("Cookie", LoginUtils.getToken())
                 .post(requestBody)
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
@@ -280,32 +281,30 @@ public class OutInterfaceService {
         OkHttpClient okHttpClient = new OkHttpClient();
         Request request = new Request.Builder()
                 .url(PASUrl + "/api/v2/patent/right?patentNo=" + patentNo)
+//                .addHeader("Cookie", LoginUtils.getToken())
                 .get()
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
 
-    public String getDeparts(List<Integer> ids) throws IOException {
+    public String getClientNameFromPAS(Integer id) throws IOException {
         OkHttpClient okHttpClient = new OkHttpClient();
-        String param = new Gson().toJson(ids);
-        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
         Request request = new Request.Builder()
-                .url(PCSUrl + "/permission/api/system/getDeparts")
-                .post(requestBody)
+                .url(PASUrl + "/api/v2/client/getClientName?id=" + id)
+                .get()
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
 
-    public String getClientNameFromPAS(List<Integer> ids) throws IOException {
+    public String getPersonNameAndDepart(Integer personId, Integer departId) throws IOException {
         OkHttpClient okHttpClient = new OkHttpClient();
-        String param = new Gson().toJson(ids);
-        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
         Request request = new Request.Builder()
-                .url(PASUrl + "/api/v2/system/getClientsByIds")
-                .post(requestBody)
+                .url(PCSUrl + "/permission/api/system/getPersonNameAndDepart?personId=" + personId + "&departId=" + departId)
+                .get()
                 .build();
         return Objects.requireNonNull(okHttpClient.newCall(request).execute().body()).string();
     }
+
     public String getPatentNos(Integer projectId) throws IOException {
         OkHttpClient okHttpClient = new OkHttpClient();
         Request request = new Request.Builder()

+ 10 - 51
RMS/src/main/java/cn/cslg/report/service/business/CompareMessageService.java

@@ -1,6 +1,9 @@
 package cn.cslg.report.service.business;
 
-import cn.cslg.report.common.model.vo.*;
+import cn.cslg.report.common.model.vo.CompareMessageVO;
+import cn.cslg.report.common.model.vo.PatentRightVo;
+import cn.cslg.report.common.model.vo.PersonnelVO;
+import cn.cslg.report.common.model.vo.SplitVO;
 import cn.cslg.report.common.utils.CacheUtils;
 import cn.cslg.report.common.utils.Response;
 import cn.cslg.report.entity.*;
@@ -36,7 +39,6 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
     private final OutInterfaceService outInterfaceService;
     private final AssoTaskPatentSplitService assoTaskPatentSplitService;
     private final AssoTaskPersonelService assoTaskPersonelService;
-    private final CompareFilesService compareFilesService;
 
     @Transactional(rollbackFor = Exception.class)
     public Boolean addCompareMessage(List<CompareMessageVO> vos) {
@@ -47,42 +49,12 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         // 获取登录人信息
         PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
         List<CompareMessage> compareMessages = new ArrayList<>();
-        //根据任务Id,标的专利号查询特征
+        //根据登录人Id,报告Id,标的专利号查询特征
         LambdaQueryWrapper<Features> wrapper = new LambdaQueryWrapper<>();
         if (vos.get(0).getTaskId() != null && vos.get(0).getSignPatentNo() != null) {
             wrapper.eq(Features::getTaskId, vos.get(0).getTaskId())
                     .eq(Features::getSignPatentNo, vos.get(0).getSignPatentNo());
-            List<Features> features =featureService.list(wrapper);
-            Features feature = features.get(0);
-            //根据特征ID 删除原来的对比记录
-            List<Integer> fIds =features.stream().map(Features::getId).collect(Collectors.toList());
-            LambdaQueryWrapper<CompareMessage> queryWrapper2 =new LambdaQueryWrapper<>();
-            queryWrapper2.in(CompareMessage::getFeatureId,fIds);
-            this.remove(queryWrapper2);
-            //根据任务ID和专利号改变任务专利状态
-            LambdaQueryWrapper<AssoTaskPersonel> queryWrapper =new LambdaQueryWrapper<>();
-            queryWrapper.eq(AssoTaskPersonel::getTaskId,vos.get(0).getTaskId());
-            queryWrapper.eq(AssoTaskPersonel::getPatentNo,vos.get(0).getSignPatentNo());
-            List<AssoTaskPersonel> assoTaskPersonels =assoTaskPersonelService.list(queryWrapper);
-            if(assoTaskPersonels.size()!=0){
-                AssoTaskPersonel assoTaskPersonel =assoTaskPersonels.get(0);
-                assoTaskPersonel.setState(1);
-                assoTaskPersonel.updateById();
-            }
-            //获得任务的报告Id
-          Task task =  taskService.getById(vos.get(0).getTaskId());
-            Integer reportId =task.getReportId();
-            //根据报告Id和专利号改变报告专利状态
-            LambdaQueryWrapper<CompareFiles> queryWrapper1 =new LambdaQueryWrapper<>();
-            queryWrapper1.eq(CompareFiles::getReportId,reportId);
-            queryWrapper1.eq(CompareFiles::getPatentNo,vos.get(0).getSignPatentNo());
-
-            List<CompareFiles> compareFiles =compareFilesService.list(queryWrapper1);
-            if(compareFiles.size()!=0){
-                CompareFiles compareFile =compareFiles.get(0);
-                compareFile.setState(1);
-                compareFile.updateById();
-            }
+            Features feature = featureService.list(wrapper).get(0);
             //根据登录人Id,报告Id,标的专利号删除原有特征
             featureService.remove(wrapper);
             for (int i = 0; i < vos.size(); i++) {
@@ -122,7 +94,7 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         return this.removeByIds(ids);
     }
 
-    public Map<String, Object> queryCompareMessage(Integer taskId, Integer reportId,String patentNo) throws IOException {
+    public Map<String, Object> queryCompareMessage(Integer taskId, String patentNo) throws IOException {
         List<PatentRightVo> patentRightVos = new ArrayList<>();
         String resBody = outInterfaceService.getPatentRightFromPAS(patentNo);
         JSONObject jsonObject = JSONObject.parseObject(resBody);
@@ -133,12 +105,7 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
 
         //查询特征
         LambdaQueryWrapper<Features> queryWrapper = new LambdaQueryWrapper<>();
-        if(taskId!=null){
-            queryWrapper.eq(Features::getTaskId, taskId);
-        }
-        else if(reportId!=null) {
-            queryWrapper.eq(Features::getReportId,reportId);
-        }
+        queryWrapper.eq(Features::getTaskId, taskId);
         queryWrapper.eq(Features::getSignPatentNo, patentNo);
         List<Features> features = featureService.list(queryWrapper);
         List<Integer> featureIds = features.stream().map(Features::getId).collect(Collectors.toList());
@@ -148,13 +115,12 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         List<CompareMessageVO> compareMessageVOS =new ArrayList<>();
         features.forEach(item->{
             CompareMessageVO compareMessageVO =new CompareMessageVO();
-            BeanUtil.copyProperties(item,compareMessageVO);
+            BeanUtil.copyProperties(compareMessageVO,item);
             CompareMessage compareMessage =new CompareMessage();
             if( compareMessages.size()!=0){
           compareMessage = compareMessages.stream().filter(tem->tem.getFeatureId().equals(item.getId())).findFirst().get();
-                BeanUtil.copyProperties(compareMessage,compareMessageVO);
             }
-            compareMessageVOS.add(compareMessageVO);
+           BeanUtil.copyProperties(compareMessageVO,compareMessage);
         });
         //将拆解的权要和特征装载到对象PatentRightVo
         for (int i = 0; i < patentRights.size(); i++) {
@@ -186,11 +152,4 @@ public class CompareMessageService extends ServiceImpl<CompareMessageMapper, Com
         return map;
     }
 
-
-    public Map<String, Object> queryComparedMessage(QueryCompareMessageVo queryVo) throws IOException {
-
-        Map<String, Object> map = new HashMap<String, Object>();
-
-        return map;
-    }
 }

+ 5 - 10
RMS/src/main/java/cn/cslg/report/service/business/FeatureService.java

@@ -202,20 +202,15 @@ public class FeatureService extends ServiceImpl<FeatureMapper, Features> {
         List<Features> featureFromDb = this.queryFeatures(featureTO);
         //删除所有不符合登录人拆分条件的拆分特征
         LambdaQueryWrapper<Features> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Features::getReportId, reportId);
-        if(taskId!=null) {
-            wrapper.eq(Features::getTaskId, taskId);
-        }
-        wrapper.eq(Features::getSignPatentNo, patentNo);
+        wrapper.eq(Features::getReportId, reportId)
+                .eq(Features::getSignPatentNo, patentNo);
         wrapper.and(QueryWrapper -> QueryWrapper.ne(Features::getSplitBy, a).or().ne(Features::getSplitType, b));
         if(taskId!=null){
             List<Features> features =this.list(wrapper);
             List<Integer> Ids =features.stream().map(Features::getId).collect(Collectors.toList());
-            if(Ids!=null&&Ids.size()!=0) {
-                LambdaQueryWrapper<CompareMessage> queryWrapper = new LambdaQueryWrapper<>();
-                queryWrapper.in(CompareMessage::getFeatureId, Ids);
-                compareMessageService.remove(queryWrapper);
-            }
+            LambdaQueryWrapper<CompareMessage> queryWrapper =new LambdaQueryWrapper<>();
+            queryWrapper.in(CompareMessage::getFeatureId,Ids);
+            compareMessageService.remove(queryWrapper);
         }
         this.remove(wrapper);
         //将拆解的权要和特征装载到对象PatentRightVo

+ 30 - 44
RMS/src/main/java/cn/cslg/report/service/business/ReportService.java

@@ -6,14 +6,14 @@ import cn.cslg.report.common.model.vo.ReportVO;
 import cn.cslg.report.common.model.vo.SystemDictVO;
 import cn.cslg.report.common.utils.*;
 import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
-import cn.cslg.report.entity.Personnel;
 import cn.cslg.report.entity.Report;
 
 import cn.cslg.report.entity.ReportFiles;
 import cn.cslg.report.entity.asso.AssoReportFile;
 import cn.cslg.report.mapper.ReportMapper;
+import cn.cslg.report.service.IProductService;
 import cn.cslg.report.service.OutInterfaceService;
-import com.alibaba.fastjson.JSON;
+import cn.cslg.report.service.impl.ProductServiceImpl;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -53,6 +53,7 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
     private final TaskService taskService;
     private final FeatureService featureService;
     private final CompareScenariosService compareScenariosService;
+    private final IProductService productService;
 
     /**
      * @param report 报告类
@@ -63,14 +64,25 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         try {
             report.getScenarioList();
             report.setScenarioId(StringUtils.join(report.getScenarioList(), ","));
+            String res1 = outInterfaceService.getClientNameFromPAS(report.getClientId());
+            JSONObject jsonObject = JSONObject.parseObject(res1);
+            String clientName = jsonObject.getString("data");
+            String res2 = outInterfaceService.getPersonNameAndDepart(report.getPersonId(), report.getDepartmentId());
             if (report.getAssociateReportId() != null) {
                 LambdaQueryWrapper<Report> wrapper = new LambdaQueryWrapper<>();
                 wrapper.eq(Report::getId, report.getAssociateReportId());
                 Report assioReport = this.list(wrapper).get(0);
                 report.setAssociateReportName(assioReport.getName());
             }
+            JSONObject jsonObject2 = JSONObject.parseObject(res2);
+            Map<String, Object> map = (Map<String, Object>) jsonObject2.get("data");
+            report.setClientName(clientName);
+            report.setDepartmentName(map.get("departName").toString());
+            report.setPersonName(map.get("personName").toString());
+
             PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
             report.setCreatePersonId(personnelVO.getId());
+            report.setCreatePersonName(personnelVO.getName());
             boolean addFlag = this.save(report);
 
             if (files != null && files.size() != 0) {
@@ -112,7 +124,6 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         if (reportVO.getSignPatentNo() != null && reportVO.getSignPatentNo() != "") {
             queryWrapper.like(Report::getSignPatentNo, reportVO.getSignPatentNo());
         }
-        //控制只能查询自己负责或创建的报告
         queryWrapper.and(QueryWrapper -> {
             QueryWrapper.eq(Report::getCreatePersonId, loginUtils.getId())
                     .or().eq(Report::getPersonId, loginUtils.getId());
@@ -142,14 +153,16 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         //提出报告Id
         List<Integer> reportIds = reports.stream().map(Report::getId).collect(Collectors.toList());
         // 提出客户Id
-        List<Integer> clientIds = reports.stream().map(Report::getClientId).collect(Collectors.toList());
+        List<Integer> clientId = reports.stream().map(Report::getClientId).collect(Collectors.toList());
         //提出部门Id
-        List<Integer> departIds = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
+        List<Integer> departId = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
         //提出人员Id
-        List<Integer> personIds = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
+        List<Integer> personId = reports.stream().map(Report::getDepartmentId).collect(Collectors.toList());
         //提出创建人Id
-        List<Integer> createIds = reports.stream().map(Report::getCreatePersonId).collect(Collectors.toList());
-        personIds.addAll(createIds);
+        List<Integer> createId = reports.stream().map(Report::getCreatePersonId).collect(Collectors.toList());
+        //根据客户Id查出客户信息
+
+
         //根据报告ID查询报告文件关联信息
         List<AssoReportFile> assoReportFiles = assoReportFileService.queryFileByReportId(reportIds);
         List<ReportFiles> reportFilesList = new ArrayList<>();
@@ -157,46 +170,14 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
             List<Integer> fileIds = assoReportFiles.stream().map(AssoReportFile::getFileId).collect(Collectors.toList());
             reportFilesList = reportFileService.getFiles(fileIds);
         }
+
         String res = outInterfaceService.getDictsFromPAS();
         JSONObject jsonObject = JSONObject.parseObject(res);
         List<SystemDictVO> list = JSONArray.parseArray(jsonObject.getString("data"), SystemDictVO.class);
         List<ReportFiles> temList = reportFilesList;
-        //根据人员Id获得人员信息
-        String res1 = outInterfaceService.getPersonnelByIdsFromPCS(personIds);
-        JSONObject jsonObject1 = JSONObject.parseObject(res1);
-        //解析jason获得标的专利的权要
-        List<Personnel> personnels = JSON.parseArray(jsonObject1.getString("data"), Personnel.class);
-        //根据部门Id 获得部门信息
-        List<Map<String, Object>> mapDeparts =new ArrayList<>();
-        if(departIds.size()!=0) {
-            String res2 = outInterfaceService.getDeparts(departIds);
-            mapDeparts = JSONObject.parseArray(res2);
-        }
-        //根据客户Id 获得客户信息
-        List<Map<String, Object>> mapClients =new ArrayList<>();
-        if(clientIds.size()!=0) {
-            String res3 = outInterfaceService.getClientNameFromPAS(clientIds);
-            mapClients =JSONObject.parseArray(res3);
-        }
         //过滤报告
-        for(Report item :reports){
-                    //装载创建人名和负责人名
-                    List<Personnel> mapCre = personnels.stream().filter(tem -> tem.getId().equals(item.getPersonId())).collect(Collectors.toList());
-                    List<Personnel> mapDuty = personnels.stream().filter(tem -> tem.getId().equals(item.getCreatePersonId())).collect(Collectors.toList());
-                    if(mapDuty.size()!=0)
-                    item.setPersonName(mapDuty.get(0).getPersonnelName());
-                    if(mapCre.size()!=0)
-                    item.setCreatePersonName(mapCre.get(0).getPersonnelName());
-                    //装载部门名
-                    List<Map<String, Object>> mapDeaprt = mapDeparts.stream().filter(tem -> tem.get("departId").toString().equals(item.getPersonId().toString())).collect(Collectors.toList());
-                     if(mapDeaprt.size()!=0){
-                         item.setDepartmentName(mapDeaprt.get(0).get("departName").toString());
-                     }
-                     //装载客户
-                    List<Map<String, Object>> mapClient = mapClients.stream().filter(tem -> tem.get("clientId").toString().equals(item.getClientId().toString())).collect(Collectors.toList());
-                    if(mapClient.size()!=0){
-                        item.setClientName(mapClient.get(0).get("clientName").toString());
-                    }
+        reports.forEach(
+                item -> {
                     //装载报告应用场景
                     if (StringUtils.isNotEmpty(item.getScenarioId())) {
                         item.setScenarioList(StringUtils.changeStringToString(item.getScenarioId(), ","));
@@ -212,7 +193,8 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
                         List<ReportFiles> partFiles = temList.stream().filter(tem -> partFileIds.contains(tem.getId())).collect(Collectors.toList());
                         item.setReportFiles(partFiles);
                     }
-                }
+                });
+
         return reports;
     }
 
@@ -271,6 +253,10 @@ public class ReportService extends ServiceImpl<ReportMapper, Report> {
         //删除所有和报告有关的对比方案
         compareScenariosService.deleteByReportId(id);
         assoTaskPersonelService.deleAssoTaskPersonel(id);
+        //陈宇 ↓
+        //删除和报告有关的产品表数据、删除和产品有关的产品文件关联表数据、删除和产品有关的附件图片文件表数据
+        productService.deleteProduct(id);
+
         int dele = reportMapper.dele(id);
         if (dele > 0) {
             return Response.success();

+ 0 - 115
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -578,121 +578,6 @@ return dataPage;
         }
 
 
-    //添加协同任务
-    @Transactional(rollbackFor = Exception.class)
-    public String addSynergyTask(AssignTaskVO assignTaskVO) throws ParseException, IOException {
-        PatentVO patentVO = new PatentVO();
-        if (assignTaskVO.getPatentVO() != null) {
-            patentVO = assignTaskVO.getPatentVO();
-        }
-        LambdaQueryWrapper<Report> wrapper1 = new LambdaQueryWrapper<>();
-        wrapper1.eq(Report::getId, assignTaskVO.getReportId());
-        Report report = reportService.list(wrapper1).get(0);
-        //添加分配任务时将报告的状态置为创建中
-        if (report.getStatus() != 2) {
-            report.setStatus(2);
-            report.updateById();
-        }
-        String signPatentNO = report.getSignPatentNo();
-        //遍历assignTaskVO的分配人员信息assigns,在任务表里插入分配任务
-        List<String> selectedNos = new ArrayList<>();
-        //记录所有人的id
-        List<Integer> personIds = new ArrayList<>();
-        //记录总共专利号数量
-        int num = 0;
-        List<AssignTaskVO.assignPatents> personPatents = assignTaskVO.getAssigns();
-        for (int i = 0; i < personPatents.size(); i++) {
-            selectedNos.addAll(personPatents.get(i).getPatentNos());
-            num += personPatents.get(i).getAssignCount();
-            personIds.add(personPatents.get(i).getPersonId());
-        }
-        String resBody = outInterfaceService.getPersonnelByIdsFromPCS(personIds);
-        JSONObject jsonObject = JSONObject.parseObject(resBody);
-        //解析jason获得标的专利的权要
-        List<Personnel> personnels = JSON.parseArray(jsonObject.getString("data"), Personnel.class);
-        //获得登录人的信息
-        PersonnelVO personnelVO = cacheUtils.getLoginUser(StpUtil.getLoginIdAsInt());
-        num += selectedNos.size();
-        // 根据报告Id获得待分配的专利号
-        LambdaQueryWrapper<CompareFiles> wrapper = new LambdaQueryWrapper<>();
-        wrapper.select(CompareFiles::getPatentNo)
-                .eq(CompareFiles::getReportId, assignTaskVO.getReportId())
-                .eq(CompareFiles::getState, 0);
-        List<CompareFiles> compareFiles = compareFilesService.list(wrapper);
-        List<String> AllpatentNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
-        //无查询条件
-        if (patentVO == null || patentVO.getFiledOptions() == null || patentVO.getFiledOptions().size() == 0) {
-            patentVO.setPatentNos(AllpatentNos);
-        }
-        //有查询条件时,自定义字段的专利号和任务的专利号取交集
-        else {
-            List<String> temPatentNos = reportFieldService.getPatentNo1(patentVO.getFiledOptions(),patentVO.getReportId(),patentVO.getTaskId(),patentVO.getTaskStatus());
-            patentVO.setPatentNos(temPatentNos);
-        }
-        String res = outInterfaceService.getConPantentNos(patentVO, 1);
-        JSONObject jsonObject1 = JSONObject.parseObject(res);
-        List<String> patentNos = JSONArray.parseArray(jsonObject1.get("data").toString(), String.class);
-        if (patentNos.size() > num) {
-            return Response.error("分配数量超过未分配总数");
-        }
-        //待分配的专利号列表剔除分配信息中已经存在的专利号
-        patentNos.removeAll(selectedNos);
-        List<AssoTaskPersonel> assoTaskPersonels = new ArrayList<>();
-        //记录分配的位置
-        int flag = 0;
-        //遍历assignTaskVO的分配人员信息assigns,装配人员所被分配的专利信息
-        for (int i = 0; i < personPatents.size(); i++) {
-            Integer handlePersonId = personIds.get(i);
-            Personnel personnel = personnels.stream().filter(item -> item.getId().equals(handlePersonId)).findFirst().orElse(new Personnel());
-            Task task = new Task();
-            task.setTaskName(assignTaskVO.getTaskName());
-            task.setReportId(assignTaskVO.getReportId());
-            task.setType(assignTaskVO.getTaskType());
-            task.setTaskStatus(0);
-            task.setProgress(0.0);
-            task.setEndTime(assignTaskVO.getEndTime());
-            task.setRemark(assignTaskVO.getRemark());
-            task.setHandlePersonId(handlePersonId);
-            task.setHandlePersonName(personnel.getPersonnelName());
-            task.setCreateID(personnelVO.getId());
-            task.setCreateName(personnelVO.getName());
-            task.setSignPatentNo(signPatentNO);
-            //发送邮件
-            if(task.insert()) {
-                Map<String, Object> map = new HashMap<>();
-                map.put("title", "任务通知");
-                map.put("template", "mail/eTask.html");
-                map.put("value1", task.getHandlePersonName());
-                map.put("img", "\\src\\main\\resources\\mail\\logo.png");
-                map.put("email", task.getPersonEmail());
-                map.put("value2", task.getCreateName());
-                map.put("value3", "分配任务");
-                map.put("value4", task.getEndTime());
-                map.put("value5", "http://139.224.24.90:8086/");
-                mailUtils.sendEmailMessage(map);
-            }
-            //根据数量从分配的专利号列表中截取该数量的专利号,加上分配信息的专利号进行装配
-            List<String> partNos = new ArrayList<>();
-            if (personPatents.get(i).getPatentNos() == null || personPatents.get(i).getPatentNos().size() == 0) {
-                partNos = patentNos.subList(flag, flag + personPatents.get(i).getAssignCount());
-                flag += personPatents.get(i).getAssignCount();
-            }
-            partNos.addAll(personPatents.get(i).getPatentNos());
-            for (int t = 0; t < partNos.size(); t++) {
-                AssoTaskPersonel assoTaskPersonel = new AssoTaskPersonel();
-                assoTaskPersonel.setTaskId(task.getId());
-                assoTaskPersonel.setTaskType(2);
-                assoTaskPersonel.setPatentNo(partNos.get(t));
-                assoTaskPersonel.setPersonelId(personPatents.get(i).getPersonId());
-                assoTaskPersonel.setPersonelType(1);
-                assoTaskPersonel.setReportId(assignTaskVO.getReportId());
-                assoTaskPersonels.add(assoTaskPersonel);
-            }
-        }
-        // 分配信息入库
-        assoTaskPersonelService.saveBatch(assoTaskPersonels);
-        return Response.success();
-    }
 
 
 }

+ 13 - 3
RMS/src/main/java/cn/cslg/report/service/impl/AssoProductFileServiceImpl.java

@@ -11,7 +11,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * 产品文件关联表逻辑层实现类
+ * 产品文件关联表的业务层实现类
  *
  * @Author chenyu
  * @Data 2022/12/20 14:13
@@ -41,14 +41,24 @@ public class AssoProductFileServiceImpl implements IAssoProductFileService {
     }
 
     /**
-     * 根据文件id删除产品与文件关联数据
+     * 根据文件id删除产品与文件关联数据
      *
      * @param fileIds 文件id集合
      */
     @Override
-    public void deleteAsso(List<Integer> fileIds) {
+    public void deleteAssoByFileIds(List<Integer> fileIds) {
         assoProductFileMapper.deleteByFileId(fileIds);
     }
 
+    /**
+     * 根据产品id删除产品与文件关联表数据
+     *
+     * @param productId
+     */
+    @Override
+    public void deleteAssoByProductId(Integer productId) {
+        assoProductFileMapper.deleteByProductId(productId);
+    }
+
 
 }

+ 41 - 13
RMS/src/main/java/cn/cslg/report/service/impl/ProductServiceImpl.java

@@ -21,7 +21,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 /**
- * 产品逻辑层实现类
+ * 产品表的业务层实现类
  *
  * @Author chenyu
  * @Data 2022/12/20 11:28
@@ -30,14 +30,14 @@ import java.util.List;
 @Service
 @RequiredArgsConstructor
 public class ProductServiceImpl implements IProductService {
-    private final ProductMapper productMapper;
-    private final ReportFileService reportFileService;
-    private final AssoProductFileServiceImpl assoProductFileService;
+    private final ProductMapper productMapper;  //产品表Mapper接口
+    private final ReportFileService reportFileService;  //报告系统文件表业务层
+    private final AssoProductFileServiceImpl assoProductFileService;  //产品文件关联表业务层
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
 
     /**
-     * 新增产品数据的业务层方法
+     * 新增产品表数据和产品文件关联表数据和报告系统文件表中产品图片数据的业务层方法
      *
      * @param productDTO 产品数据对象
      * @param files      产品图片附件
@@ -66,7 +66,7 @@ public class ProductServiceImpl implements IProductService {
     }
 
     /**
-     * 根据id修改产品数据的业务层方法
+     * 根据id修改产品表数据和产品文件关联表数据和报告系统文件表中产品图片数据的业务层方法
      *
      * @param productDTO 待修改的产品新数据
      * @param files      待修改的产品图片附件
@@ -76,10 +76,10 @@ public class ProductServiceImpl implements IProductService {
         log.info("开始处理【修改产品】的业务,参数为:{}, {}", productDTO, files);
         Product product = new Product();
         BeanUtils.copyProperties(productDTO, product);
-        //1.修改产品表数据
+        //1.根据reportId(报告id)修改产品表数据
         productMapper.update(product);
 
-        //2.删除文件表中原来的图片文件,根据reportId(报告id)关联查询出产品表数据对象
+        //2.根据reportId(报告id)关联查询出产品表数据对象
         ProductStandardVO queryResult = productMapper.getStandardByReportId(product.getReportId());
 
         //3.取出对象中的附件集合属性,遍历取出原所有附件fileIds
@@ -96,13 +96,13 @@ public class ProductServiceImpl implements IProductService {
             Integer fileId = reportFile.getId();
             newFileIdList.add(fileId);
         }
-        //5.去重保留被删除的附件fileId
+        //5.fileId集合去重,去重后剩下的fileId即为被删除的附件fileId
         oldFileIdList.removeAll(newFileIdList);
 
-        //6.若去重后的原fileId集合仍有长度(即表示被删除了部分原附件),则删除文件表和产品文件关联表中被删除的附件的数据
+        //6.若去重后的原fileId集合仍有长度(即表示剩下了被删除部分的附件),则删除文件表和产品文件关联表中被删除的附件的数据
         if (oldFileIdList.size() != 0) {
             reportFileService.deleteFiles(oldFileIdList);  //删除文件表中被删除附件的数据
-            assoProductFileService.deleteAsso(oldFileIdList);  //删除产品文件关联表中被删除附件的数据
+            assoProductFileService.deleteAssoByFileIds(oldFileIdList);  //删除产品文件关联表中被删除附件的数据
         }
 
         //7.插入新的附件入文件表中,返回文件id
@@ -111,12 +111,12 @@ public class ProductServiceImpl implements IProductService {
         //8.插入新的文件id入产品文件关联表中
         assoProductFileService.addAsso(productId, fileIds);
 
-        log.info("产品修改完成!");
+        log.info("产品修改完成");
 
     }
 
     /**
-     * 根据报告id查询产品数据的业务层方法
+     * 根据报告id查询产品表数据和报告系统文件表中产品图片数据的业务层方法
      *
      * @param reportId 报告id
      * @return 返回查询到的产品数据对象
@@ -127,4 +127,32 @@ public class ProductServiceImpl implements IProductService {
         return productMapper.getStandardByReportId(reportId);
 
     }
+
+    /**
+     * 根据报告id删除产品表数据和产品文件关联表数据和报告系统文件表中产品图片数据的业务层方法
+     *
+     * @param reportId 报告id
+     */
+    @Override
+    public void deleteProduct(Integer reportId) {
+        log.info("开始处理【删除产品】的业务,参数为:{}", reportId);
+        //1.根据报告id删除产品表数据
+        productMapper.deleteByReportId(reportId);
+
+        //2.删除产品文件关联表数据:根据报告id关联查询产品数据,取出产品id,根据产品id删除产品与文件关联表数据
+        ProductStandardVO queryResult = this.getProduct(reportId);
+        Integer productId = queryResult.getId();
+        assoProductFileService.deleteAssoByProductId(productId);
+
+        //3.删除报告系统文件表中产品图片数据:根据报告id关联查询产品数据,取出产品附件,遍历取出fileId存入集合,调用报告业务层的通过fileId集合删除报告系统文件表数据方法
+        List<ReportFileStandardVO> reportFiles = queryResult.getReportFiles();
+        ArrayList<Integer> list = new ArrayList<>();
+        for (ReportFileStandardVO reportFile : reportFiles) {
+            Integer fileId = reportFile.getId();
+            list.add(fileId);
+        }
+        reportFileService.deleteFiles(list);
+        log.info("产品删除完成");
+
+    }
 }

+ 10 - 2
RMS/src/main/resources/mapper/AssoProductFileMapper.xml

@@ -4,7 +4,7 @@
 
 <mapper namespace="cn.cslg.report.mapper.AssoProductFileMapper">
 
-    <!--批量插入文件关联数据-->
+    <!--批量插入文件关联数据-->
     <!--int insertBatch(List<AssoProductFile> assoProductFiles);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
         insert into ASSO_PRODUCT_FILE (PRODUCT_ID, FILE_ID, FILE_USE_TYPE)
@@ -14,7 +14,7 @@
         </foreach>
     </insert>
 
-    <!--根据fileId(文件id)删除文件关联数据-->
+    <!--根据fileId(文件id)删除文件关联数据-->
     <!--int deleteByFileId(List<Integer> fileIds);-->
     <delete id="deleteByFileId">
         delete
@@ -26,4 +26,12 @@
         )
     </delete>
 
+    <!--根据产品id删除产品文件关联表数据-->
+    <!--int deleteByProductId(Integer productId);-->
+    <delete id="deleteByProductId">
+        delete
+        from ASSO_PRODUCT_FILE
+        where PRODUCT_ID = #{productId}
+    </delete>
+
 </mapper>

+ 0 - 4
RMS/src/main/resources/mapper/CompareMessageMapper.xml

@@ -6,9 +6,5 @@
         where a.SIGN_PATENT_NO=#{patentNo} and a.TASK_ID=#{taskId};
     </select>
 
-    <select id="getNoCompareNos" resultType="java.lang.String">
-        select  distinct a.SIGN_PATENT_NO from FEATURES a left join  COMPARE_MESSAGE b on a.ID=b.FEATURE_ID and  a.REPORT_ID=#{reportId} and b.COMPARE_RESULT is not null;
-    </select>
-
 
 </mapper>

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

@@ -118,4 +118,12 @@
         </collection>
     </resultMap>
 
+    <!--根据报告id删除产品表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from PRODUCT
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

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


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


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


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


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


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


BIN
RMS/target/classes/cn/cslg/report/entity/asso/AssoTaskPatentSplit.class


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


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


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


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


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


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


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


BIN
RMS/target/classes/cn/cslg/report/service/business/AssoTaskPatentSplitService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/CompareMessageService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/FeatureService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/ReportService.class


BIN
RMS/target/classes/cn/cslg/report/service/business/TaskService.class


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


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


+ 10 - 2
RMS/target/classes/mapper/AssoProductFileMapper.xml

@@ -4,7 +4,7 @@
 
 <mapper namespace="cn.cslg.report.mapper.AssoProductFileMapper">
 
-    <!--批量插入文件关联数据-->
+    <!--批量插入文件关联数据-->
     <!--int insertBatch(List<AssoProductFile> assoProductFiles);-->
     <insert id="insertBatch" useGeneratedKeys="true" keyProperty="id">
         insert into ASSO_PRODUCT_FILE (PRODUCT_ID, FILE_ID, FILE_USE_TYPE)
@@ -14,7 +14,7 @@
         </foreach>
     </insert>
 
-    <!--根据fileId(文件id)删除文件关联数据-->
+    <!--根据fileId(文件id)删除文件关联数据-->
     <!--int deleteByFileId(List<Integer> fileIds);-->
     <delete id="deleteByFileId">
         delete
@@ -26,4 +26,12 @@
         )
     </delete>
 
+    <!--根据产品id删除产品文件关联表数据-->
+    <!--int deleteByProductId(Integer productId);-->
+    <delete id="deleteByProductId">
+        delete
+        from ASSO_PRODUCT_FILE
+        where PRODUCT_ID = #{productId}
+    </delete>
+
 </mapper>

+ 10 - 0
RMS/target/classes/mapper/CompareMessageMapper.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="cn.cslg.report.mapper.CompareMessageMapper">
+    <select id="getCompareMessage" resultType="cn.cslg.report.common.model.vo.CompareMessageVO">
+        select a.* ,b.TARGET_DESCRIPTION,b.COMPARE_DESCRIPTION,b.COMPARE_RESULT from FEATURES a left join COMPARE_MESSAGE b on a.id =b.FEATURE_ID
+        where a.SIGN_PATENT_NO=#{patentNo} and a.TASK_ID=#{taskId};
+    </select>
+
+
+</mapper>

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

@@ -118,4 +118,12 @@
         </collection>
     </resultMap>
 
+    <!--根据报告id删除产品表数据-->
+    <!--int deleteByReportId(Integer reportId);-->
+    <delete id="deleteByReportId">
+        delete
+        from PRODUCT
+        where REPORT_ID = #{reportId}
+    </delete>
+
 </mapper>

BIN
RMS/target/file/20221222/6e48dfabb2ee4110bd38bcbda12dea42.xlsx


BIN
RMS/target/file/20221222/8402506c2f4d4a1488cad669c217bc60.png


BIN
RMS/target/file/20221222/952ea6db7ddb4c68aad272f3a8296727.xlsx


BIN
RMS/target/file/20221222/b5616ad932fc4cc5b41ca9f1cdee2563.xlsx


BIN
RMS/target/file/20221222/ca2ec7de8ba349dfa769791652dd8300.png


BIN
RMS/target/file/20221222/ee57355370694545955dfbaa21d370b1.png


BIN
RMS/target/file/20221222/fcab8382c7734782bbaa56f733246760.png