Browse Source

20240929 添加查新对比记录

lwhhszx 1 year ago
parent
commit
b97800e5fe

+ 0 - 1
src/main/java/cn/cslg/pas/common/dto/NoveltyProjectDTO/NoveltyCompareRecordDTO.java

@@ -37,7 +37,6 @@ public class NoveltyCompareRecordDTO {
     /**
     /**
      * 标注类型 1查新报告对比记录
      * 标注类型 1查新报告对比记录
      */
      */
-    @JsonProperty("mark_type")
     private  Integer markType;
     private  Integer markType;
 
 
     /**
     /**

+ 0 - 3
src/main/java/cn/cslg/pas/common/vo/NoveltyProjectVO/NoveltyCompareRecordVO.java

@@ -33,7 +33,6 @@ public class NoveltyCompareRecordVO {
     /**
     /**
      * 标注类型 1查新报告对比记录
      * 标注类型 1查新报告对比记录
      */
      */
-    @JsonProperty("mark_type")
     private  Integer markType;
     private  Integer markType;
 
 
     /**
     /**
@@ -71,11 +70,9 @@ public class NoveltyCompareRecordVO {
     /**
     /**
      * 标注人
      * 标注人
      */
      */
-    @JsonProperty("mark_user_id")
     private String markUserId;
     private String markUserId;
     /**
     /**
      * 标注租户id
      * 标注租户id
      */
      */
-    @JsonProperty("public_tenant_id")
     private Integer publicTenantId;
     private Integer publicTenantId;
 }
 }

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

@@ -1,30 +1,47 @@
 package cn.cslg.pas.controller.novelty;
 package cn.cslg.pas.controller.novelty;
 
 
 import cn.cslg.pas.common.core.base.Constants;
 import cn.cslg.pas.common.core.base.Constants;
-import cn.cslg.pas.service.business.AsInvalidReasonHistoryService;
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.List;
+
 /**
 /**
  * 作为无效证据使用历史
  * 作为无效证据使用历史
+ *
  * @Author xiexiang
  * @Author xiexiang
  * @Date 2024/1/19
  * @Date 2024/1/19
  */
  */
 @Slf4j
 @Slf4j
-@RequestMapping(Constants.API_XiaoSHI + "/noveltyMark")
+@RequestMapping(Constants.API_XiaoSHI + "/noveltyCompareRecord")
 @RestController
 @RestController
 public class NoveltyCompareRecordController {
 public class NoveltyCompareRecordController {
     @Autowired
     @Autowired
-    private AsInvalidReasonHistoryService asInvalidReasonHistoryService;
-    @Operation(summary = "查询作为无效证据使用历史")
+    private NoveltyCompareRecordService noveltyCompareRecordService;
+
+    @Operation(summary = "添加或编辑对比记录")
     @PostMapping("/edit")
     @PostMapping("/edit")
-   private void  edit(){
+    private Response edit(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
+        noveltyCompareRecordDTO.setMarkType(2);
+        String id = noveltyCompareRecordService.addOrUpdateCompareRecord(noveltyCompareRecordDTO);
+        return Response.success(id);
+    }
 
 
+    @Operation(summary = "删除对比记录")
+    @PostMapping("/remove")
+    private Response remove(@RequestBody List<String> ids) {
+      noveltyCompareRecordService.removeCompareRecord(ids);
+      return Response.success(ids);
+    }
 
 
 
 
-   }
 }
 }

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

@@ -29,7 +29,7 @@ public class NoveltyMarkController {
     private AsInvalidReasonHistoryService asInvalidReasonHistoryService;
     private AsInvalidReasonHistoryService asInvalidReasonHistoryService;
     @Operation(summary = "查询作为无效证据使用历史")
     @Operation(summary = "查询作为无效证据使用历史")
     @PostMapping("/edit")
     @PostMapping("/edit")
-   private void   addNoveltyMark(){
+   private void   edit(){
 
 
 
 
 
 

+ 22 - 15
src/main/java/cn/cslg/pas/service/business/es/EsScratchWordsService.java

@@ -242,6 +242,7 @@ public class EsScratchWordsService {
     }
     }
 
 
 
 
+
     //保存
     //保存
     public String saveToEs(Marking marking) throws Exception {
     public String saveToEs(Marking marking) throws Exception {
         IndexResponse indexResponse = client.index(i -> i
         IndexResponse indexResponse = client.index(i -> i
@@ -402,21 +403,27 @@ public class EsScratchWordsService {
 
 
 
 
 
 
-    public Records queryNoveltyRecord(StringRequest stringRequest)  throws Exception{
-        Long current = stringRequest.getCurrent();
-        Long size = stringRequest.getSize();
-        String condition =stringRequest.getSearchQuery();
-        Records records = new Records();
+
+    public  List<NoveltyCompareRecordVO> queryNoveltyRecord(Integer projectId,Integer markType)  throws Exception{
+
         List<NoveltyCompareRecordVO> vos = new ArrayList<>();
         List<NoveltyCompareRecordVO> vos = new ArrayList<>();
-        Query searchQuerys = this.getSearchQQuery(condition);
         SearchRequest.Builder builder = new SearchRequest.Builder();
         SearchRequest.Builder builder = new SearchRequest.Builder();
         builder.index("patent_marking");
         builder.index("patent_marking");
-        if (current == null || size == null || current < 0 || size < 0) {
-            current = Long.parseLong(1 + "");
-            size = Long.parseLong(1000 + "");
-        }
-        builder.from((current.intValue() - 1) * size.intValue()).size(size.intValue());
-        builder.query(searchQuerys);
+        Query q1 = QueryBuilders.term(t -> t.field("public_project_id").value(projectId));
+        //不公开
+        List<FieldValue> fieldValues = new ArrayList<>();
+    if(markType==null){
+        fieldValues.add(FieldValue.of(1));
+        fieldValues.add(FieldValue.of(2));
+    }
+    else {
+        fieldValues.add(FieldValue.of(markType));
+    }
+
+        Query q2 = QueryBuilders.terms(t -> t.field("mark_type").terms(new TermsQueryField.Builder().value(fieldValues).build()));
+
+        Query q3 =QueryBuilders.bool(i->i.should(q1,q2));
+        builder.query(q3);
 
 
         long total = 0;
         long total = 0;
         try {
         try {
@@ -433,8 +440,8 @@ public class EsScratchWordsService {
         } catch (Exception e) {
         } catch (Exception e) {
 
 
         }
         }
-        records.setTotal(total);
-        records.setData(vos);
-        return records;
+
+        return vos;
     }
     }
+
 }
 }

+ 37 - 7
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareRecordService.java

@@ -2,8 +2,10 @@ package cn.cslg.pas.service.novelty;
 
 
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
 import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.PersonnelVO;
+import cn.cslg.pas.common.model.request.StringRequest;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.CacheUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.common.vo.PatentWithIdVO;
 import cn.cslg.pas.common.vo.PatentWithIdVO;
 import cn.cslg.pas.domain.es.Marking;
 import cn.cslg.pas.domain.es.Marking;
 import cn.cslg.pas.domain.es.Patent;
 import cn.cslg.pas.domain.es.Patent;
@@ -20,6 +22,7 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
 import java.util.Date;
 import java.util.Date;
+import java.util.List;
 
 
 @Service
 @Service
 @RequiredArgsConstructor
 @RequiredArgsConstructor
@@ -30,14 +33,17 @@ public class NoveltyCompareRecordService {
     private final LoginUtils loginUtils;
     private final LoginUtils loginUtils;
     private final EsScratchWordsService esScratchWordsService;
     private final EsScratchWordsService esScratchWordsService;
 
 
-    public void addCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
+    public String addCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
         String patentNo = noveltyCompareRecordDTO.getPatentNo();
         String patentNo = noveltyCompareRecordDTO.getPatentNo();
         Integer projectId = noveltyCompareRecordDTO.getProjectId();
         Integer projectId = noveltyCompareRecordDTO.getProjectId();
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
         //获取专利
         //获取专利
         PatentWithIdVO patentWithIdVO = importSinglePatentService.addPatentToProject(patentNo, projectId);
         PatentWithIdVO patentWithIdVO = importSinglePatentService.addPatentToProject(patentNo, projectId);
         //添加对比文件
         //添加对比文件
-        compareLiteratureService.addPatentCompareLiterature(patentWithIdVO.getPatent(), projectId,personnelVO.getId());
+        compareLiteratureService.addPatentCompareLiterature(patentWithIdVO.getPatent(), projectId, personnelVO.getId());
+
+        //TODO 添加查新对比文件
+
         //添加记录
         //添加记录
 
 
         if (personnelVO != null) {
         if (personnelVO != null) {
@@ -54,24 +60,48 @@ public class NoveltyCompareRecordService {
         String id = null;
         String id = null;
         try {
         try {
             id = esScratchWordsService.saveToEs(marking);
             id = esScratchWordsService.saveToEs(marking);
+            return id;
         } catch (Exception e) {
         } catch (Exception e) {
             throw new XiaoShiException("保存失败");
             throw new XiaoShiException("保存失败");
         }
         }
+
     }
     }
 
 
-    public void updateCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
+    public String updateCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
         String id = noveltyCompareRecordDTO.getId();
         String id = noveltyCompareRecordDTO.getId();
         Marking marking = new Marking();
         Marking marking = new Marking();
         BeanUtils.copyProperties(noveltyCompareRecordDTO, marking);
         BeanUtils.copyProperties(noveltyCompareRecordDTO, marking);
-        esScratchWordsService.updateScratchWords(id, marking);
+        return esScratchWordsService.updateScratchWords(id, marking);
     }
     }
 
 
 
 
+    public String addOrUpdateCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
+        String id = noveltyCompareRecordDTO.getId();
+        if (id == null) {
+            return this.addCompareRecord(noveltyCompareRecordDTO);
+        } else {
+            return this.updateCompareRecord(noveltyCompareRecordDTO);
+        }
+    }
+
+
+    public void queryCompareRecord()  throws Exception{
+        Integer projectId = null;
+        //根据projectId 查询所有的对比记录
+
+        List<NoveltyCompareRecordVO> vos=  esScratchWordsService.queryNoveltyRecord(projectId,null);
 
 
-    public void queryCompareRecord(){
-     Integer projectId =null;
-     //根据projectId 查询所有的对比记录
 
 
     }
     }
 
 
+
+    public List<String> removeCompareRecord(List<String> ids) {
+        try {
+            for (String id : ids) {
+                esScratchWordsService.removeById(id);
+            }
+        } catch (Exception e) {
+        }
+        return ids;
+    }
 }
 }