Explorar el Código

20240929 添加查新对比记录

lwhhszx hace 1 año
padre
commit
2ead2f118d
Se han modificado 24 ficheros con 778 adiciones y 62 borrados
  1. 6 0
      src/main/java/cn/cslg/pas/common/core/base/PoiPolicy.java
  2. 3 2
      src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyCompareRecordDTO.java
  3. 15 0
      src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyProjectCopyDTO.java
  4. 14 0
      src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyReportReferenceDTO.java
  5. 17 0
      src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyReportReferenceQueryDTO.java
  6. 4 0
      src/main/java/cn/cslg/pas/common/dto/QueryCompareFileDTO.java
  7. 67 0
      src/main/java/cn/cslg/pas/common/vo/NoveltyProjectVO/NoveltyReferencesVO.java
  8. 8 0
      src/main/java/cn/cslg/pas/controller/NoveltyProjectController.java
  9. 1 1
      src/main/java/cn/cslg/pas/controller/novelty/NoveltyCompareRecordController.java
  10. 1 1
      src/main/java/cn/cslg/pas/controller/novelty/NoveltyMarkController.java
  11. 55 0
      src/main/java/cn/cslg/pas/controller/novelty/NoveltyReportReferenceController.java
  12. 30 0
      src/main/java/cn/cslg/pas/domain/business/novelty/NoveltyReportReferences.java
  13. 2 0
      src/main/java/cn/cslg/pas/domain/business/novelty/NoveltyReportTemplate.java
  14. 17 0
      src/main/java/cn/cslg/pas/mapper/novelty/NoveltyReportReferencesMapper.java
  15. 23 1
      src/main/java/cn/cslg/pas/service/business/NoveltyProjectService.java
  16. 72 2
      src/main/java/cn/cslg/pas/service/business/es/EsScratchWordsService.java
  17. 6 0
      src/main/java/cn/cslg/pas/service/novelty/AssoRetrieveRecordProjectService.java
  18. 98 5
      src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareLiteratureService.java
  19. 23 0
      src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareRecordService.java
  20. 113 0
      src/main/java/cn/cslg/pas/service/novelty/NoveltyExportReportService.java
  21. 131 0
      src/main/java/cn/cslg/pas/service/novelty/NoveltyReportReferencesService.java
  22. 27 0
      src/main/java/cn/cslg/pas/service/novelty/NoveltySearchRecordService.java
  23. 31 24
      src/main/resources/mapper/NoveltyCompareLiteratureMapper.xml
  24. 14 26
      src/test/java/cn/cslg/pas/novelty/NoveltyCompareRecordTests.java

+ 6 - 0
src/main/java/cn/cslg/pas/common/core/base/PoiPolicy.java

@@ -0,0 +1,6 @@
+package cn.cslg.pas.common.core.base;
+
+public class PoiPolicy {
+    public static final String TABLE = "table";
+    public static final String HTML = "html";
+}

+ 3 - 2
src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyCompareRecordDTO.java

@@ -36,11 +36,12 @@ public class NoveltyCompareRecordDTO {
      */
     private String markNoteText;
 
+
+    private  Integer markType;
     /**
      * 标注类型 1查新报告对比记录
      */
-    private  Integer markType;
-
+    private Integer useType;
     /**
      * 标注栏位
      */

+ 15 - 0
src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyProjectCopyDTO.java

@@ -0,0 +1,15 @@
+package cn.cslg.pas.common.dto.NoveltyProjectDTO;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class NoveltyProjectCopyDTO {
+    private Integer fromProjectId;
+    private Integer toProjectId;
+    private List<Integer> searchRecordIds;
+
+    private List<String> compareRecordIds;
+    private List<Integer> compareLiteratureIds;
+}

+ 14 - 0
src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyReportReferenceDTO.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.common.dto.NoveltyProjectDTO;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class NoveltyReportReferenceDTO {
+    private Integer id;
+    private String dataSource;
+    private Integer templateId;
+
+
+}

+ 17 - 0
src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyReportReferenceQueryDTO.java

@@ -0,0 +1,17 @@
+package cn.cslg.pas.common.dto.NoveltyProjectDTO;
+
+import cn.cslg.pas.common.model.request.OrderDTO;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class NoveltyReportReferenceQueryDTO {
+    private Integer projectId;
+    private String fileName;
+    private Integer current;
+    private Integer size;
+
+
+
+}

+ 4 - 0
src/main/java/cn/cslg/pas/common/dto/QueryCompareFileDTO.java

@@ -2,12 +2,16 @@ package cn.cslg.pas.common.dto;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class QueryCompareFileDTO {
 
     private Integer projectId;
 
     private String patentNo;
+    private List<String> patentNos;
+    private List<Integer> ids;
 
     private Long current;
 

+ 67 - 0
src/main/java/cn/cslg/pas/common/vo/NoveltyProjectVO/NoveltyReferencesVO.java

@@ -0,0 +1,67 @@
+package cn.cslg.pas.common.vo.NoveltyProjectVO;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 报告文档
+ * @Author xiexiang
+ * @Date 2023/12/19
+ */
+@Data
+public class NoveltyReferencesVO {
+    /**
+     * id
+     */
+    private Integer id;
+
+    /**
+     * 报告/专题库id
+     */
+    private Integer projectId;
+
+    private String projectName;
+
+    /**
+     * 路径
+     */
+    private String fileGuid;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    /**
+     * 参考资料名称
+     */
+    private String referencesName;
+
+    /**
+     * 创建人id
+     */
+    private String createId;
+
+    private String createName;
+
+    /**
+     * 创建时间
+     */
+    private Date createTime;
+
+    private String type;
+
+
+    /**
+     * 数据
+     */
+    private String dataSource;
+
+    /**
+     *
+     */
+    private Boolean ifHaveFinalFile;
+
+    private String configMessage;
+}

+ 8 - 0
src/main/java/cn/cslg/pas/controller/NoveltyProjectController.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.controller;
 
 import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.dto.*;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyProjectCopyDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyRetrieveRecordDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryTemplateDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
@@ -230,4 +231,11 @@ public class NoveltyProjectController {
         records.setData(ids);
         return Response.success(records);
     }
+    @Operation(summary = "复用报告")
+    @PostMapping("/copyMessage")
+    public Response copyMessage(@RequestBody NoveltyProjectCopyDTO noveltyProjectCopyDTO) throws Exception{
+         noveltyProjectService.copyNoveltyProject(noveltyProjectCopyDTO);
+        return Response.success(true);
+    }
+
 }

+ 1 - 1
src/main/java/cn/cslg/pas/controller/novelty/NoveltyCompareRecordController.java

@@ -34,7 +34,7 @@ public class NoveltyCompareRecordController {
     @Operation(summary = "添加或编辑对比记录")
     @PostMapping("/edit")
     public Response edit(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
-        noveltyCompareRecordDTO.setMarkType(2);
+        noveltyCompareRecordDTO.setUseType(2);
         String id = noveltyCompareRecordService.addOrUpdateCompareRecord(noveltyCompareRecordDTO);
         return Response.success(id);
     }

+ 1 - 1
src/main/java/cn/cslg/pas/controller/novelty/NoveltyMarkController.java

@@ -39,7 +39,7 @@ public class NoveltyMarkController {
     public Response edit(@RequestBody NoveltyMarkDTO noveltyMarkDTO) {
         NoveltyCompareRecordDTO noveltyCompareRecordDTO = new NoveltyCompareRecordDTO();
         BeanUtils.copyProperties(noveltyMarkDTO, noveltyCompareRecordDTO);
-        noveltyCompareRecordDTO.setMarkType(1);
+        noveltyCompareRecordDTO.setUseType(1);
         String id = noveltyCompareRecordService.addOrUpdateCompareRecord(noveltyCompareRecordDTO);
         return Response.success(id);
     }

+ 55 - 0
src/main/java/cn/cslg/pas/controller/novelty/NoveltyReportReferenceController.java

@@ -0,0 +1,55 @@
+package cn.cslg.pas.controller.novelty;
+
+import cn.cslg.pas.common.core.base.Constants;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyReportReferenceDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyReportReferenceQueryDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryNoveltyCompareRecordDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordQueryVO;
+import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
+import cn.cslg.pas.service.novelty.NoveltyExportReportService;
+import cn.cslg.pas.service.novelty.NoveltyReportReferencesService;
+import io.swagger.v3.oas.annotations.Operation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 查新报告附件
+ *
+ * @Author xiexiang
+ * @Date 2024/1/19
+ */
+@Slf4j
+@RequestMapping(Constants.API_XiaoSHI + "/noveltyReportReference")
+@RestController
+public class NoveltyReportReferenceController {
+    @Autowired
+    private NoveltyReportReferencesService noveltyReportReferencesService;
+    @Autowired
+    private NoveltyExportReportService noveltyExportReportService;
+    @Operation(summary = "添加或编辑查新报告文档")
+    @PostMapping("/edit")
+    public Response edit(@RequestBody NoveltyReportReferenceDTO noveltyCompareRecordDTO)throws Exception{
+      Integer id=  noveltyReportReferencesService.addOrUpdate(noveltyCompareRecordDTO);
+        return Response.success(id);
+    }
+
+    @Operation(summary = "查询查新报告文档")
+    @GetMapping("/export")
+    public Response remove(Integer id) throws Exception{
+    String guid =  noveltyExportReportService.exportReport(id);
+      return Response.success(guid);
+    }
+
+    @Operation(summary = "删除查新报告文档")
+    @PostMapping("/delete")
+    public Response delete(@RequestBody List<Integer> ids) throws Exception {
+       List<Integer> reIds= noveltyReportReferencesService.delete(ids);
+        return Response.success(reIds);
+    }
+}

+ 30 - 0
src/main/java/cn/cslg/pas/domain/business/novelty/NoveltyReportReferences.java

@@ -0,0 +1,30 @@
+package cn.cslg.pas.domain.business.novelty;
+
+import cn.cslg.pas.domain.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import lombok.Data;
+
+/**
+ * 查新报告文档
+ * @TableName novelty_report_references
+ */
+@TableName(value ="novelty_report_references")
+@Data
+public class NoveltyReportReferences extends BaseEntity<NoveltyReportReferences> {
+
+
+    /**
+     * 数据
+     */
+    private String dataSource;
+
+    /**
+     * 
+     */
+    private Boolean ifHaveFinalFile;
+    private Integer templateId;
+    private String configMessage;
+    private Integer reportReferenceId;
+}

+ 2 - 0
src/main/java/cn/cslg/pas/domain/business/novelty/NoveltyReportTemplate.java

@@ -38,4 +38,6 @@ public class NoveltyReportTemplate extends BaseEntity<NoveltyReportTemplate> {
      * 配置信息
      */
     private String configMessage;
+
+    private String templeMessage;
 }

+ 17 - 0
src/main/java/cn/cslg/pas/mapper/novelty/NoveltyReportReferencesMapper.java

@@ -0,0 +1,17 @@
+package cn.cslg.pas.mapper.novelty;
+
+import cn.cslg.pas.domain.business.novelty.NoveltyReportReferences;
+import org.apache.ibatis.annotations.Mapper;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author admin
+* @description 针对表【novelty_report_references(查新报告文档)】的数据库操作Mapper
+* @createDate 2024-09-30 15:33:57
+* @Entity cn.cslg.pas.domain.novelty.domain.NoveltyReportReferences
+*/
+
+public interface NoveltyReportReferencesMapper extends BaseMapper<NoveltyReportReferences> {
+
+
+}

+ 23 - 1
src/main/java/cn/cslg/pas/service/business/NoveltyProjectService.java

@@ -2,6 +2,7 @@ package cn.cslg.pas.service.business;
 
 import cn.cslg.pas.common.dto.AddNoveltyProjectDTO;
 import cn.cslg.pas.common.dto.ClientDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyProjectCopyDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectIdDTO;
 import cn.cslg.pas.common.dto.QueryNoveltyProjectDTO;
 import cn.cslg.pas.common.model.cronModel.*;
@@ -17,6 +18,10 @@ import cn.cslg.pas.mapper.NoveltyProjectMapper;
 import cn.cslg.pas.mapper.ProjectMapper;
 import cn.cslg.pas.mapper.TechnicalCaseMapper;
 import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.common.RetrieveRecordService;
+import cn.cslg.pas.service.novelty.NoveltyCompareLiteratureService;
+import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
+import cn.cslg.pas.service.novelty.NoveltySearchRecordService;
 import cn.cslg.pas.service.permissions.PermissionService;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -66,7 +71,12 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
     @Autowired
     private TechnicalCaseMapper technicalCaseMapper;
 
-
+@Autowired
+private NoveltySearchRecordService noveltySearchRecordService;
+@Autowired
+private NoveltyCompareRecordService noveltyCompareRecordService;
+@Autowired
+private NoveltyCompareLiteratureService noveltyCompareLiteratureService;
     public Records queryNoveltyProject(QueryNoveltyProjectDTO vo) throws IOException {
         //查询数据库
         List<QueryNoveltyProjectVO> noveltyProjectVOS = noveltyProjectMapper.queryNoveltyProject(vo);
@@ -326,4 +336,16 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
         //删除本身报告
         projectMapper.deleteById(vo.getProjectId());
     }
+    public void copyNoveltyProject(NoveltyProjectCopyDTO noveltyProjectCopyDTO) throws Exception{
+      Integer fromProjectId =noveltyProjectCopyDTO.getFromProjectId();
+      Integer toProjectId =noveltyProjectCopyDTO.getToProjectId();
+       List<String> compareRecordIds =      noveltyProjectCopyDTO.getCompareRecordIds();
+       List<Integer>  searchRecordIds =noveltyProjectCopyDTO.getSearchRecordIds();
+        List<Integer>   compareLiteratureIds =noveltyProjectCopyDTO.getCompareLiteratureIds();
+
+        noveltySearchRecordService.copySearchRecord(searchRecordIds,toProjectId);
+        noveltyCompareLiteratureService.copyCompareFile(compareLiteratureIds,toProjectId,fromProjectId);
+        noveltyCompareRecordService.copyCompareRecord(compareRecordIds,toProjectId,fromProjectId);
+
+    }
 }

+ 72 - 2
src/main/java/cn/cslg/pas/service/business/es/EsScratchWordsService.java

@@ -33,6 +33,7 @@ import co.elastic.clients.elasticsearch._types.query_dsl.Query;
 import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
 import co.elastic.clients.elasticsearch._types.query_dsl.TermsQueryField;
 import co.elastic.clients.elasticsearch.core.*;
+import co.elastic.clients.elasticsearch.core.bulk.BulkOperation;
 import co.elastic.clients.elasticsearch.core.search.Hit;
 import co.elastic.clients.elasticsearch.nodes.Stats;
 import co.elastic.clients.elasticsearch.sql.QueryResponse;
@@ -416,9 +417,9 @@ public class EsScratchWordsService {
             fieldValues.add(FieldValue.of(markType));
         }
 
-        Query q2 = QueryBuilders.terms(t -> t.field("mark_type").terms(new TermsQueryField.Builder().value(fieldValues).build()));
+        Query q2 = QueryBuilders.terms(t -> t.field("use_type").terms(new TermsQueryField.Builder().value(fieldValues).build()));
 
-        Query q3 = QueryBuilders.bool(i -> i.should(q1, q2));
+        Query q3 = QueryBuilders.bool(i -> i.must(q1, q2));
         builder.query(q3);
 
         long total = 0;
@@ -440,4 +441,73 @@ public class EsScratchWordsService {
         return vos;
     }
 
+    public List<Marking> getByIds(List<String> wordsIds) throws Exception {
+        List<Marking> markings =new ArrayList<>();
+
+        SearchRequest.Builder builder = new SearchRequest.Builder();
+        builder.index("patent_marking");
+        Query q = QueryBuilders.ids(i -> i.values(wordsIds));
+        builder.query(q);
+        SearchResponse<Marking> response = client.search(builder.build(), Marking.class);
+        long total = response.hits().total().value();
+        response.hits().hits().forEach(item->{markings.add(item.source());
+        });
+        return markings;
+    }
+
+    //保存
+    public void saveListToEs(List<Marking> markings) throws Exception {
+
+
+        List<BulkOperation> bulkOperations = new ArrayList<>();
+        markings.forEach(item->{
+
+            bulkOperations.add(new BulkOperation.Builder().create(d-> d.document(item).index("patent_marking")).build());
+
+        });
+
+        BulkResponse response = client.bulk(e->e.index("patent_marking").operations(bulkOperations));
+       response.items();
+    }
+
+
+    public List<NoveltyCompareRecordVO> queryMarkingByNo(Integer projectId, List<String> patentNos) throws Exception {
+
+        List<NoveltyCompareRecordVO> vos = new ArrayList<>();
+        SearchRequest.Builder builder = new SearchRequest.Builder();
+        builder.index("patent_marking");
+        Query q1 = QueryBuilders.term(t -> t.field("public_project_id").value(projectId));
+
+        //不公开
+
+        List<FieldValue> fieldValues = new ArrayList<>();
+        patentNos.forEach(item->{
+            fieldValues.add(FieldValue.of(item));
+        });
+
+
+        Query q2 = QueryBuilders.terms(t -> t.field("patent_no").terms(new TermsQueryField.Builder().value(fieldValues).build()));
+        Query q3 = QueryBuilders.term(t -> t.field("use_type").value(1));
+
+        Query q4 = QueryBuilders.bool(i -> i.must(q1, q2,q3));
+        builder.query(q4);
+
+        long total = 0;
+        try {
+            SearchResponse<Marking> response = client.search(builder.build(), Marking.class);
+            List<Hit<Marking>> hits = response.hits().hits();
+            total = response.hits().total().value();
+            for (Hit<Marking> hit : hits) {
+                Marking marking = hit.source();
+                NoveltyCompareRecordVO noveltyCompareRecordVO = new NoveltyCompareRecordVO();
+                BeanUtils.copyProperties(marking, noveltyCompareRecordVO);
+                noveltyCompareRecordVO.setId(hit.id());
+                vos.add(noveltyCompareRecordVO);
+            }
+        } catch (Exception e) {
+
+        }
+
+        return vos;
+    }
 }

+ 6 - 0
src/main/java/cn/cslg/pas/service/novelty/AssoRetrieveRecordProjectService.java

@@ -5,6 +5,8 @@ import cn.cslg.pas.domain.business.novelty.AssoRetrieveRecordProject;
 import cn.cslg.pas.mapper.novelty.AssoRetrieveRecordProjectMapper;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * @author admin
  * @description 针对表【asso_retrieve_record_project(检索记录和项目关联表)】的数据库操作Service实现
@@ -19,6 +21,10 @@ public class AssoRetrieveRecordProjectService extends ServiceImpl<AssoRetrieveRe
         assoRetrieveRecordProject.setProjectId(projectId);
         assoRetrieveRecordProject.insert();
     }
+
+
+
+
 }
 
 

+ 98 - 5
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareLiteratureService.java

@@ -3,10 +3,15 @@ package cn.cslg.pas.service.novelty;
 import cn.cslg.pas.common.dto.AddCompareFileDTO;
 import cn.cslg.pas.common.dto.CompareFileIdDTO;
 import cn.cslg.pas.common.dto.QueryCompareFileDTO;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.common.vo.QueryCompareFileVO;
+import cn.cslg.pas.domain.business.CompareLiterature;
+import cn.cslg.pas.domain.es.Marking;
 import cn.cslg.pas.mapper.CompareLiteratureMapper;
 import cn.cslg.pas.mapper.RetrieveRecordMapper;
 import cn.cslg.pas.mapper.novelty.NoveltyCompareLiteratureMapper;
+import cn.cslg.pas.service.business.CompareLiteratureService;
+import cn.cslg.pas.service.business.es.EsScratchWordsService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,18 +25,20 @@ import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.ArrayList;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
-* @author admin
-* @description 针对表【novelty_compare_literature(查新报告对比文件)】的数据库操作Service实现
-* @createDate 2024-09-29 09:10:32
-*/
+ * @author admin
+ * @description 针对表【novelty_compare_literature(查新报告对比文件)】的数据库操作Service实现
+ * @createDate 2024-09-29 09:10:32
+ */
 
 @Service
 @Slf4j
 @RequiredArgsConstructor(onConstructor_ = {@Lazy})
-public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareLiteratureMapper, NoveltyCompareLiterature>{
+public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareLiteratureMapper, NoveltyCompareLiterature> {
 
     @Autowired
     private NoveltyCompareLiteratureMapper noveltyCompareLiteratureMapper;
@@ -41,6 +48,8 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
 
     @Autowired
     private CompareLiteratureMapper compareLiteratureMapper;
+    @Autowired
+    private EsScratchWordsService esScratchWordsService;
 
     public List<QueryCompareFileVO> queryCompareFile(QueryCompareFileDTO vo) {
         return noveltyCompareLiteratureMapper.queryCompareFile(vo);
@@ -80,6 +89,90 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
 
         compareLiteratureMapper.deleteById(vo.getCompareLitertureId());
     }
+
+    public List<Integer> copyCompareFile(List<Integer> ids, Integer projectId, Integer fromProjectId) throws Exception {
+
+        if (ids == null || ids.size() == 0) {
+            return new ArrayList<>();
+        }
+        QueryCompareFileDTO queryCompareFileDTOFrom = new QueryCompareFileDTO();
+        queryCompareFileDTOFrom.setIds(ids);
+        List<QueryCompareFileVO> queryCompareFileVOSFrom = this.getBaseMapper().queryCompareFile(queryCompareFileDTOFrom);
+        List<String> patentNos = queryCompareFileVOSFrom.stream().map(QueryCompareFileVO::getLiteratureNo).collect(Collectors.toList());
+
+        QueryCompareFileDTO queryCompareFileDTOTo = new QueryCompareFileDTO();
+        queryCompareFileDTOTo.setPatentNos(patentNos);
+        queryCompareFileDTOTo.setProjectId(projectId);
+        List<QueryCompareFileVO> queryCompareFileVOSTo = this.getBaseMapper().queryCompareFile(queryCompareFileDTOTo);
+
+        for (QueryCompareFileVO queryCompareFileVO : queryCompareFileVOSFrom) {
+            QueryCompareFileVO queryCompareFileVOTo = queryCompareFileVOSTo.stream().filter(item -> item.getLiteratureNo().equals(queryCompareFileVO.getLiteratureNo())).findFirst().orElse(null);
+            if (queryCompareFileVOTo == null) {
+                CompareLiterature compareLiterature = new CompareLiterature();
+                BeanUtils.copyProperties(queryCompareFileVO, compareLiterature);
+                compareLiterature.setId(null);
+                compareLiterature.insert();
+            } else {
+                Integer fromId = queryCompareFileVO.getCompareFileId();
+                if (fromId == null) {
+                    //什么都不需要做
+
+                } else {
+                    Integer toId = queryCompareFileVOTo.getCompareFileId();
+                    if (toId == null) {
+                        NoveltyCompareLiterature noveltyCompareLiterature = new NoveltyCompareLiterature();
+                        BeanUtils.copyProperties(queryCompareFileVO, noveltyCompareLiterature);
+                        noveltyCompareLiterature.setRetrieveRecordId(queryCompareFileVOTo.getRetrieveRecordId());
+                        noveltyCompareLiterature.insert();
+                    } else {
+                        NoveltyCompareLiterature noveltyCompareLiterature = new NoveltyCompareLiterature();
+                        BeanUtils.copyProperties(queryCompareFileVOTo, noveltyCompareLiterature);
+                        if (queryCompareFileVO.getBeneficialEffect() != null) {
+                            noveltyCompareLiterature.setBeneficialEffect(noveltyCompareLiterature.getBeneficialEffect() + queryCompareFileVO.getBeneficialEffect());
+                        }
+                        if (queryCompareFileVO.getRelevance() != null) {
+                            noveltyCompareLiterature.setRelevance(noveltyCompareLiterature.getRelevance() + queryCompareFileVO.getRelevance());
+                        }
+                        if (queryCompareFileVO.getLiteratureRemark() != null) {
+                            noveltyCompareLiterature.setRemark(noveltyCompareLiterature.getRemark() + queryCompareFileVO.getLiteratureRemark());
+                        }
+                        if (queryCompareFileVO.getGeneralRemark() != null) {
+                            noveltyCompareLiterature.setGeneralRemark(noveltyCompareLiterature.getGeneralRemark() + queryCompareFileVO.getGeneralRemark());
+                        }
+                        if (queryCompareFileVO.getTechnicalPoints() != null) {
+                            noveltyCompareLiterature.setGeneralRemark(noveltyCompareLiterature.getTechnicalPoints() + queryCompareFileVO.getTechnicalPoints());
+                        }
+                        if (queryCompareFileVO.getExcuteCase() != null) {
+                            noveltyCompareLiterature.setExcuteCase(noveltyCompareLiterature.getExcuteCase() + queryCompareFileVO.getExcuteCase());
+
+                        }
+                        if (queryCompareFileVO.getBeneficialEffect() != null) {
+                            noveltyCompareLiterature.setBeneficialEffect(noveltyCompareLiterature.getBeneficialEffect() + queryCompareFileVO.getBeneficialEffect());
+                        }
+                    }
+
+                }
+
+            }
+
+        }
+
+
+        //添加标注
+        if (patentNos != null && patentNos.size() > 0) {
+            List<NoveltyCompareRecordVO> noveltyCompareRecordVOS = esScratchWordsService.queryMarkingByNo(fromProjectId, patentNos);
+            List<Marking> markings = new ArrayList<>();
+
+            noveltyCompareRecordVOS.forEach(item -> {
+                Marking marking = new Marking();
+                BeanUtils.copyProperties(item, marking);
+                marking.setProjectId(projectId);
+                markings.add(marking);
+            });
+            esScratchWordsService.saveListToEs(markings);
+        }
+        return ids;
+    }
 }
 
 

+ 23 - 0
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareRecordService.java

@@ -12,6 +12,7 @@ import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordQueryVO;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.common.vo.PatentWithIdVO;
 import cn.cslg.pas.common.vo.QueryCompareFileVO;
+import cn.cslg.pas.domain.business.CompareLiterature;
 import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
 import cn.cslg.pas.domain.es.Marking;
 import cn.cslg.pas.domain.es.Patent;
@@ -115,6 +116,7 @@ public class NoveltyCompareRecordService {
         if (vos.size() == 0) {
             return queryVOS;
         }
+
         QueryCompareFileDTO queryCompareFileDTO = new QueryCompareFileDTO();
         queryCompareFileDTO.setProjectId(projectId);
         queryCompareFileDTO.setPatentNo(patentNo);
@@ -170,4 +172,25 @@ public class NoveltyCompareRecordService {
     }
 
 
+    public List<String> copyCompareRecord(List<String> ids,Integer projectId,Integer fromProjectId) throws Exception{
+        if(ids==null||ids.size()==0){
+            return new ArrayList<>();
+        }
+        //根据id查询
+      List<Marking> markings =esScratchWordsService.getByIds(ids);
+
+        markings.forEach(item->item.setProjectId(projectId));
+        esScratchWordsService.saveListToEs(markings);
+      List<String> nos =markings.stream().map(Marking::getPatentNo).collect(Collectors.toList());
+      LambdaQueryWrapper<CompareLiterature> queryWrapper =new LambdaQueryWrapper<CompareLiterature>();
+       queryWrapper.eq(CompareLiterature::getProjectId,fromProjectId)
+               .in(CompareLiterature::getLiteratureNo,nos);
+
+        List<CompareLiterature> compareLiteratures =  compareLiteratureService.list(queryWrapper);
+        List<Integer> literatureIds =compareLiteratures.stream().map(CompareLiterature::getId).collect(Collectors.toList());
+        noveltyCompareLiteratureService.copyCompareFile(literatureIds,projectId,fromProjectId);
+        return new ArrayList<>();
+
+    }
+
 }

+ 113 - 0
src/main/java/cn/cslg/pas/service/novelty/NoveltyExportReportService.java

@@ -0,0 +1,113 @@
+package cn.cslg.pas.service.novelty;
+
+import cn.cslg.pas.common.core.base.PoiPolicy;
+import cn.cslg.pas.common.dto.AddCompareFileDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryNoveltyCompareRecordDTO;
+import cn.cslg.pas.common.dto.QueryCompareFileDTO;
+import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.model.cronModel.SystemFile;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.FileUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordQueryVO;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
+import cn.cslg.pas.common.vo.QueryCompareFileVO;
+import cn.cslg.pas.domain.business.ReportTemple;
+import cn.cslg.pas.domain.business.novelty.NoveltyReportReferences;
+import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
+import cn.cslg.pas.domain.es.Marking;
+import cn.cslg.pas.domain.es.Patent;
+import cn.cslg.pas.exception.XiaoShiException;
+import cn.cslg.pas.service.business.CompareLiteratureService;
+import cn.cslg.pas.service.business.es.EsScratchWordsService;
+import cn.cslg.pas.service.common.FileManagerService;
+import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
+import cn.hutool.core.util.IdUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.deepoove.poi.XWPFTemplate;
+import com.deepoove.poi.config.Configure;
+import com.deepoove.poi.config.ConfigureBuilder;
+import com.deepoove.poi.plugin.table.LoopRowTableRenderPolicy;
+import lombok.RequiredArgsConstructor;
+import org.ddr.poi.html.HtmlRenderPolicy;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.io.File;
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Service
+@RequiredArgsConstructor
+public class NoveltyExportReportService {
+    private final NoveltyReportTemplateService noveltyReportTemplateService;
+    private final NoveltyReportReferencesService noveltyReportReferencesService;
+    private final FileUtils fileUtils;
+
+    public String  exportReport(Integer id) throws  Exception{
+
+
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.eq(NoveltyReportReferences::getReportReferenceId,id);
+        NoveltyReportReferences noveltyReportReferences = noveltyReportReferencesService.getOne(queryWrapper);
+
+        // 根据模板id 获取模板
+        Integer tempalteId = noveltyReportReferences.getTemplateId();
+
+
+        //获取模板
+        NoveltyReportTemplate noveltyReportTemplate = noveltyReportTemplateService.getById(tempalteId);
+        String configureSource = noveltyReportTemplate.getTempleMessage();
+        Configure configure = this.loadConfigure(configureSource);
+
+String dataSource =noveltyReportReferences.getDataSource();
+
+        Map<String, Object> map = new HashMap<>();
+
+        JSONObject dataObject = JSONObject.parseObject(dataSource);
+        map.put("CM", dataObject);
+        // 获取模板路径
+        String templateUrl = noveltyReportTemplate.getTemplatePath();
+
+
+        //读取模板后保存生成word的地址
+        String fileName = IdUtil.simpleUUID() + ".docx";
+        String directoryName = fileUtils.createDirectory();
+
+        String outPath = fileUtils.getSavePath(directoryName) + fileName;
+
+        XWPFTemplate template = XWPFTemplate.compile(templateUrl, configure).render(map);
+
+        File file = new File(outPath);
+//      生成word保存在指定目录
+        template.writeToFile(outPath);
+        template.close();
+        return "guid";
+    }
+
+
+    public Configure loadConfigure(String dateSource) {
+        JSONObject configObject = JSONObject.parseObject(dateSource);
+        LoopRowTableRenderPolicy tableRenderPolicy = new LoopRowTableRenderPolicy();
+        HtmlRenderPolicy htmlRenderPolicy = new HtmlRenderPolicy();
+        ConfigureBuilder configureBuilder = Configure.builder();
+        for (Map.Entry<String, Object> entry : configObject.entrySet()) {
+            String key = entry.getKey();
+            JSONObject jsonObject = configObject.getJSONObject(key);
+            String type = jsonObject.getString("type");
+            switch (type) {
+                case PoiPolicy.TABLE:
+                    configureBuilder.bind(key, tableRenderPolicy);
+                    break;
+                case PoiPolicy.HTML:
+                    configureBuilder.bind(key, htmlRenderPolicy);
+                    break;
+            }
+
+        }
+        Configure configure = configureBuilder.build();
+        return configure;
+    }
+}

+ 131 - 0
src/main/java/cn/cslg/pas/service/novelty/NoveltyReportReferencesService.java

@@ -0,0 +1,131 @@
+package cn.cslg.pas.service.novelty;
+
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyReportReferenceDTO;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyReportReferenceQueryDTO;
+import cn.cslg.pas.common.dto.business.GetReferencesDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyReferencesVO;
+import cn.cslg.pas.common.vo.business.ReferencesVO;
+import cn.cslg.pas.domain.business.References;
+import cn.cslg.pas.domain.business.ReportTemple;
+import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
+import cn.cslg.pas.service.business.ReferencesService;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import cn.cslg.pas.domain.business.novelty.NoveltyReportReferences;
+import cn.cslg.pas.mapper.novelty.NoveltyReportReferencesMapper;
+import lombok.RequiredArgsConstructor;
+import org.apache.poi.hslf.record.Record;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @author admin
+ * @description 针对表【novelty_report_references(查新报告文档)】的数据库操作Service实现
+ * @createDate 2024-09-30 15:33:57
+ */
+@Service
+@RequiredArgsConstructor
+public class NoveltyReportReferencesService extends ServiceImpl<NoveltyReportReferencesMapper, NoveltyReportReferences> {
+    private final NoveltyReportTemplateService noveltyReportTemplateService;
+    private final ReferencesService referencesService;
+
+    public Integer addOrUpdate(NoveltyReportReferenceDTO noveltyReportReferenceDTO) {
+        Integer id = noveltyReportReferenceDTO.getId();
+        if (id != null) {
+            return this.updateReference(noveltyReportReferenceDTO);
+        } else {
+            return this.addReference(noveltyReportReferenceDTO);
+        }
+
+    }
+
+    private Integer addReference(NoveltyReportReferenceDTO noveltyReportReferenceDTO) {
+        Integer templateId = noveltyReportReferenceDTO.getTemplateId();
+        NoveltyReportTemplate noveltyReportTemplate = noveltyReportTemplateService.getById(templateId);
+        String dataSource = noveltyReportReferenceDTO.getDataSource();
+        //添加附件
+        References references = new References();
+        references.setReferencesName("");
+        references.insert();
+        //添加查新报告附件
+        NoveltyReportReferences noveltyReportReferences = new NoveltyReportReferences();
+        noveltyReportReferences.setReportReferenceId(references.getId());
+        noveltyReportReferences.setIfHaveFinalFile(false);
+        noveltyReportReferences.setTemplateId(templateId);
+        noveltyReportReferences.setConfigMessage(noveltyReportTemplate.getConfigMessage());
+        noveltyReportReferences.insert();
+        return references.getId();
+    }
+
+    private Integer updateReference(NoveltyReportReferenceDTO noveltyReportReferenceDTO) {
+        Integer templateId = noveltyReportReferenceDTO.getTemplateId();
+        String dataSource = noveltyReportReferenceDTO.getDataSource();
+        Integer id = noveltyReportReferenceDTO.getId();
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(NoveltyReportReferences::getReportReferenceId, id);
+        NoveltyReportReferences noveltyReportReferences = this.getOne(queryWrapper, false);
+        noveltyReportReferences.setDataSource(dataSource);
+        noveltyReportReferences.setDataSource(dataSource);
+        noveltyReportReferences.updateById();
+        return id;
+    }
+
+    public Integer addFinalReference(Integer id, String fileGuid) {
+        References references = referencesService.getById(id);
+        references.setFileGuid(fileGuid);
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(NoveltyReportReferences::getReportReferenceId, id);
+        NoveltyReportReferences noveltyReportReferences = this.getOne(queryWrapper, false);
+        noveltyReportReferences.setIfHaveFinalFile(true);
+        noveltyReportReferences.updateById();
+        return id;
+    }
+
+    public Records queryReference(NoveltyReportReferenceQueryDTO noveltyReportReferenceQueryDTO) {
+        List<NoveltyReferencesVO> noveltyReferencesVOS = new ArrayList<>();
+        GetReferencesDTO getReferencesDTO = new GetReferencesDTO();
+        BeanUtils.copyProperties(noveltyReportReferenceQueryDTO, getReferencesDTO);
+        Records records = referencesService.query(getReferencesDTO);
+        List<ReferencesVO> referencesVOS = (List<ReferencesVO>) records.getData();
+        List<Integer> ids = referencesVOS.stream().map(ReferencesVO::getId).collect(Collectors.toList());
+        if (ids == null || ids.size() == 0) {
+            records.setData(noveltyReferencesVOS);
+            return records;
+        }
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(NoveltyReportReferences::getReportReferenceId, ids);
+        List<NoveltyReportReferences> noveltyReportReferences = this.list(queryWrapper);
+
+        referencesVOS.forEach(item -> {
+            NoveltyReferencesVO noveltyReferencesVO = new NoveltyReferencesVO();
+            BeanUtils.copyProperties(item, noveltyReferencesVO);
+            NoveltyReportReferences noveltyReportReference = noveltyReportReferences.stream().filter(tem -> tem.getReportReferenceId().equals(item.getId())).findFirst().orElse(null);
+            if (noveltyReportReference != null) {
+                noveltyReferencesVO.setIfHaveFinalFile(noveltyReportReference.getIfHaveFinalFile());
+                noveltyReferencesVO.setDataSource(noveltyReportReference.getDataSource());
+                noveltyReferencesVO.setConfigMessage(noveltyReportReference.getConfigMessage());
+            }
+            noveltyReferencesVOS.add(noveltyReferencesVO);
+
+        });
+        records.setData(referencesVOS);
+        return records;
+    }
+
+    public List<Integer> delete(List<Integer> ids){
+        //删除文件
+        referencesService.removeBatchByIds(ids);
+        //删除
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper =new LambdaQueryWrapper<>();
+        queryWrapper.in(NoveltyReportReferences::getReportReferenceId,ids);
+
+        this.remove(queryWrapper);
+
+        return ids;
+    }
+}

+ 27 - 0
src/main/java/cn/cslg/pas/service/novelty/NoveltySearchRecordService.java

@@ -36,6 +36,7 @@ import java.util.stream.Collectors;
 
 /**
  * 检索记录
+ *
  * @Author xiexiang
  * @Date 2024/9/27
  */
@@ -91,6 +92,7 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
 
     /**
      * 装载检索记录返回VO
+     *
      * @param retrieveRecordList
      */
     private List<RetrieveRecordVO> loadRetrieveRecords(List<RetrieveRecord> retrieveRecordList) throws IOException {
@@ -179,4 +181,29 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
         return retrieveIds;
     }
 
+    public List<Integer> copySearchRecord(List<Integer> retrieveIds, Integer projectId) {
+        if (retrieveIds == null || retrieveIds.size() == 0) {
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<RetrieveRecord> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(RetrieveRecord::getId, retrieveIds);
+        List<RetrieveRecord> retrieveRecords = this.list(queryWrapper);
+
+        for (RetrieveRecord retrieveRecord : retrieveRecords) {
+            retrieveRecord.setId(null);
+        }
+        this.saveBatch(retrieveRecords);
+        List<AssoRetrieveRecordProject> assoRetrieveRecordProjects = new ArrayList<>();
+        retrieveRecords.forEach(item -> {
+            AssoRetrieveRecordProject assoRetrieveRecordProject = new AssoRetrieveRecordProject();
+            assoRetrieveRecordProject.setProjectId(projectId);
+            assoRetrieveRecordProject.setRetrieveRecordId(item.getId());
+            assoRetrieveRecordProjects.add(assoRetrieveRecordProject);
+        });
+        assoRetrieveRecordProjectService.saveBatch(assoRetrieveRecordProjects);
+        List<Integer> ids = retrieveRecords.stream().map(RetrieveRecord::getId).collect(Collectors.toList());
+
+        return ids;
+    }
+
 }

+ 31 - 24
src/main/resources/mapper/NoveltyCompareLiteratureMapper.xml

@@ -4,30 +4,30 @@
 
     <select id="queryCompareFile" resultType="cn.cslg.pas.common.vo.QueryCompareFileVO">
         select cl.id as compareLitertureId,
-               cl.project_id,
-               cl.literature_no,
-               cl.remark as literatureRemark,
-               cl.state,
-               cl.sys_order,
-               cl.type,
-               cl.name,
-               cl.description,
-               cl.create_id,
-               cl.create_time,
-               cl.if_approval,
-               cl.public_date,
-               cl.app_date,
-               cl.author_name,
-               ncl.id as compareFileId,
-               ncl.retrieve_record_id,
-               ncl.relevance,
-               ncl.if_effectInv,
-               ncl.remark as fileRemark,
-               ncl.general_remark,
-               ncl.technical_points,
-               ncl.excute_case,
-               ncl.beneficial_effect
-        from  compare_literature cl
+        cl.project_id,
+        cl.literature_no,
+        cl.remark as literatureRemark,
+        cl.state,
+        cl.sys_order,
+        cl.type,
+        cl.name,
+        cl.description,
+        cl.create_id,
+        cl.create_time,
+        cl.if_approval,
+        cl.public_date,
+        cl.app_date,
+        cl.author_name,
+        ncl.id as compareFileId,
+        ncl.retrieve_record_id,
+        ncl.relevance,
+        ncl.if_effectInv,
+        ncl.remark as fileRemark,
+        ncl.general_remark,
+        ncl.technical_points,
+        ncl.excute_case,
+        ncl.beneficial_effect
+        from compare_literature cl
         left join novelty_compare_literature ncl on ncl.compare_literture_id = cl.id
         <where>
             <if test="vo.projectId != null">
@@ -36,6 +36,13 @@
             <if test="vo.patentNo != null and vo.patentNo != ''">
                 and cl.literature_no = #{vo.patentNo}
             </if>
+            <if test="vo.patentNos != null and vo.patentNos.size()>0">
+                and cl.literature_no in #{vo.patentNos}
+            </if>
+            <if test="vo.ids != null and vo.ids.size()>0">
+                and cl.id in #{ids}
+            </if>
+            order by cl.sys_order
         </where>
     </select>
 </mapper>

+ 14 - 26
src/test/java/cn/cslg/pas/novelty/NoveltyCompareRecordTests.java

@@ -1,23 +1,17 @@
 package cn.cslg.pas.novelty;
 
-import cn.cslg.pas.common.dto.DomainFieldDTO;
+
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyMarkDTO;
-import cn.cslg.pas.common.utils.GenerateObjectUtil;
-import cn.cslg.pas.controller.AvoidDesignController;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryNoveltyCompareRecordDTO;
 import cn.cslg.pas.controller.novelty.NoveltyCompareRecordController;
 import cn.cslg.pas.controller.novelty.NoveltyMarkController;
-import cn.cslg.pas.domain.business.FollowUp;
-import cn.cslg.pas.service.business.AvoidDesignService;
 import cn.cslg.pas.common.utils.Response;
 import com.alibaba.fastjson2.JSONObject;
-import com.google.gson.JsonObject;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * @Author xiexiang
@@ -29,6 +23,7 @@ public class NoveltyCompareRecordTests {
     private NoveltyMarkController noveltyMarkController;
     @Autowired
     private NoveltyCompareRecordController noveltyCompareRecordController;
+
     @Test
     public void editMark() throws Exception {
         NoveltyMarkDTO noveltyMarkDTO = new NoveltyMarkDTO();
@@ -39,6 +34,7 @@ public class NoveltyCompareRecordTests {
         Response response = noveltyMarkController.edit(noveltyMarkDTO);
         System.out.println(response);
     }
+
     @Test
     public void editMark2() throws Exception {
         NoveltyMarkDTO noveltyMarkDTO = new NoveltyMarkDTO();
@@ -52,10 +48,9 @@ public class NoveltyCompareRecordTests {
     }
 
 
-
     @Test
     public void editCompareRecord() throws Exception {
-        String json ="{\n" +
+        String json = "{\n" +
                 "  \"Id\": \"7fc03caf-c5e7-4f35-b5fe-e40b6817b650\",\n" +
                 "  \"id\": null,\n" +
                 "  \"patentNo\": \"EP1642661A4\",\n" +
@@ -68,25 +63,23 @@ public class NoveltyCompareRecordTests {
                 "  \"markSite\": 55,\n" +
                 "  \"publicScope\": 1,\n" +
                 "  \"createFrom\": \"1\",\n" +
-                "  \"projectId\": \"5341\",\n" +
+                "  \"projectId\": \"1\",\n" +
                 "  \"patentTitle\": \"Process and system for producing granulation powder of rare earth alloy and process for producing sintered object of rare earth alloy\"\n" +
                 "}";
 
-
-        NoveltyCompareRecordDTO noveltyCompareRecordDTO =new NoveltyCompareRecordDTO();
-        JSONObject.parseObject(json,NoveltyCompareRecordDTO.class);
+        NoveltyCompareRecordDTO noveltyCompareRecordDTO = JSONObject.parseObject(json, NoveltyCompareRecordDTO.class);
         NoveltyMarkDTO noveltyMarkDTO = new NoveltyMarkDTO();
         noveltyMarkDTO.setMarkNoteText("测试标注");
         noveltyMarkDTO.setProjectId(1);
-
         noveltyMarkDTO.setRetrieveRecordId(1);
         Response response = noveltyCompareRecordController.edit(noveltyCompareRecordDTO);
         System.out.println(response);
     }
+
     @Test
     public void eidtCompareRecord2() throws Exception {
         NoveltyMarkDTO noveltyMarkDTO = new NoveltyMarkDTO();
-        noveltyMarkDTO.setId("ZIQHPZIBBmwxCVit3e0h");
+        noveltyMarkDTO.setId("a4b1PZIBBmwxCVitgRFc");
         noveltyMarkDTO.setMarkNoteText("测试标注1");
         noveltyMarkDTO.setProjectId(1);
         noveltyMarkDTO.setPatentNo("CN202420249312.5");
@@ -96,17 +89,12 @@ public class NoveltyCompareRecordTests {
     }
 
     @Test
-    public void testUpdate() {
-
-
+    public void testUpdate() throws  Exception{
+        QueryNoveltyCompareRecordDTO queryNoveltyCompareRecordDTO = new QueryNoveltyCompareRecordDTO();
+        queryNoveltyCompareRecordDTO.setProjectId(1);
+        Response response =   noveltyCompareRecordController.queryCompareRecord(queryNoveltyCompareRecordDTO);
+        System.out.println(response);
     }
 
-    @Test
-    public void testGet() throws Exception {
-        Integer gen = 2;
-        Integer size = 1;
-        Integer a = gen >= size ? size : gen;
-        System.out.println(a);
 
-    }
 }