Просмотр исходного кода

20240929 添加查新对比记录

lwhhszx 1 год назад
Родитель
Сommit
3482e4bebc

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

@@ -0,0 +1,14 @@
+package cn.cslg.pas.common.dto.NoveltyProjectDTO;
+
+import lombok.Data;
+
+/**
+ * 查询查新检索报告模板DTO
+ * @Author xiexiang
+ * @Date 2024/9/26
+ */
+@Data
+public class QueryNoveltyCompareRecordDTO {
+    private Integer projectId;
+    private String patentNo;
+}

+ 99 - 0
src/main/java/cn/cslg/pas/common/vo/NoveltyProjectVO/NoveltyCompareRecordQueryVO.java

@@ -0,0 +1,99 @@
+package cn.cslg.pas.common.vo.NoveltyProjectVO;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 标注
+ * @Author xiexiang
+ * @Date 2024/1/10
+ */
+@Data
+/*数据库中的表对应的类
+ */
+public class NoveltyCompareRecordQueryVO {
+    private String id;
+    private String patentNo;
+
+    /**
+     * 标注颜色
+     */
+    private  String markColor;
+
+    /**
+     * 标注备注
+     */
+    private String markNoteText;
+
+    /**
+     * 标注类型 1查新报告对比记录
+     */
+    private  Integer markType;
+
+    /**
+     * 标注栏位
+     */
+    private String markSelectField;
+
+    /**
+     * 标注选择文本
+     */
+    private String markSelectText;
+
+    private Integer markSite;
+
+    /**
+     * 标注时间
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    private Date markTime;
+
+
+
+    /**
+     * 标注专利数据库id/报告id
+     */
+    private Integer projectId;
+
+
+    private String technicalFeature;
+
+    private List<String> pictureUrl;
+
+    private Integer targetType;
+    /**
+     * 标注人
+     */
+    private String markUserId;
+    /**
+     * 标注租户id
+     */
+    private Integer publicTenantId;
+
+    /**
+     * 总说明
+     */
+    private String generalRemark;
+
+    /**
+     * 现有技术要点
+     */
+    private String technicalPoints;
+
+    /**
+     * 实施方案
+     */
+    private String excuteCase;
+
+    /**
+     * 有益效果
+     */
+    private String beneficialEffect;
+    private List<String> SystemFiles;
+
+}

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

@@ -75,4 +75,6 @@ public class NoveltyCompareRecordVO {
      * 标注租户id
      */
     private Integer publicTenantId;
+
+
 }

+ 0 - 83
src/main/java/cn/cslg/pas/controller/NoveltyCompareRecordController.java

@@ -1,83 +0,0 @@
-package cn.cslg.pas.controller;
-
-import cn.cslg.pas.common.core.base.Constants;
-import cn.cslg.pas.common.dto.business.CustomOptionDTO;
-import cn.cslg.pas.common.dto.business.CustomOptionDeleteDTO;
-import cn.cslg.pas.common.dto.business.GetCustomOptionDTO;
-import cn.cslg.pas.common.dto.business.UpdateCustomOptionDTO;
-import cn.cslg.pas.common.model.cronModel.Records;
-import cn.cslg.pas.common.utils.Response;
-import cn.cslg.pas.exception.ConditionException;
-import cn.cslg.pas.exception.UnLoginException;
-import cn.cslg.pas.exception.XiaoShiException;
-import cn.cslg.pas.service.business.CustomOptionService;
-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.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-
-/**
- * 自定义选项Controller层
- * @Author xiexiang
- * @Date 2023/11/13
- */
-@Slf4j
-@RequestMapping(Constants.API_XiaoSHI + "/noveltyCompareRecord")
-@RestController
-public class NoveltyCompareRecordController {
-    @Autowired
-    private CustomOptionService customOptionService;
-
-    @Operation(summary = "添加对比记录")
-    @PostMapping("/add")
-    public Response queryCustomOption(@RequestBody GetCustomOptionDTO getCustomOptionDTO) throws Exception {
-        Records records = customOptionService.getCustomOption(getCustomOptionDTO);
-        return Response.success(records);
-    }
-
-    @Operation(summary = "新增自定义选项")
-    @PostMapping("/addCustomOption")
-    public Response addCustomOption(@RequestBody CustomOptionDTO customOptionDTO) throws Exception {
-        if(customOptionDTO != null){
-            Integer id = null;
-            try {
-                id = customOptionService.addCustomOption(customOptionDTO);
-            } catch (Exception e){
-                if(e instanceof XiaoShiException) {
-                    return Response.error(e.getMessage());
-                } else if (e instanceof UnLoginException) {
-                    return Response.unLogin(e.getMessage());
-                } else if (e instanceof ConditionException) {
-                    return Response.conditionError(e.getMessage());
-                }
-            }
-            return Response.success(id);
-        } else {
-            return Response.error("网络异常");
-        }
-    }
-
-    @Operation(summary = "更新自定义选项")
-    @PostMapping("/updateCustomOption")
-    public Response updateCustomOption(@RequestBody UpdateCustomOptionDTO updateCustomOptionDTO) throws Exception {
-        if (updateCustomOptionDTO != null) {
-            Integer id = customOptionService.updateCustomOption(updateCustomOptionDTO);
-            return Response.success(id);
-        } else {
-            return Response.error("网络异常");
-        }
-    }
-
-    @Operation(summary = "删除自定义选项")
-    @PostMapping("/deleteCustomOption")
-    public Response deleteCustomOption(@RequestBody List<CustomOptionDeleteDTO> customOptionDeleteDTOS) throws Exception {
-        customOptionService.deleteCustomOption(customOptionDeleteDTOS);
-        return Response.success("删除成功");
-    }
-
-}

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

@@ -2,8 +2,11 @@ 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.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.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
@@ -43,5 +46,10 @@ public class NoveltyCompareRecordController {
       return Response.success(ids);
     }
 
-
+    @Operation(summary = "查询对比记录")
+    @PostMapping("/queryCompareRecord")
+    private Response queryCompareRecord(@RequestBody QueryNoveltyCompareRecordDTO queryNoveltyCompareRecordDTO) throws Exception {
+       List<NoveltyCompareRecordQueryVO> noveltyCompareRecordVOS= noveltyCompareRecordService.queryCompareRecord(queryNoveltyCompareRecordDTO);
+        return Response.success(noveltyCompareRecordVOS);
+    }
 }

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

@@ -1,13 +1,18 @@
 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.NoveltyMarkDTO;
 import cn.cslg.pas.common.dto.business.AsInvalidReasonHistoryDTO;
 import cn.cslg.pas.common.dto.business.OtherPatentInfoDTO;
 import cn.cslg.pas.common.model.cronModel.Records;
 import cn.cslg.pas.common.utils.Response;
+import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
 import cn.cslg.pas.service.business.AsInvalidReasonHistoryService;
+import cn.cslg.pas.service.novelty.NoveltyCompareRecordService;
 import io.swagger.v3.oas.annotations.Operation;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -18,6 +23,7 @@ import java.util.List;
 
 /**
  * 作为无效证据使用历史
+ *
  * @Author xiexiang
  * @Date 2024/1/19
  */
@@ -26,12 +32,15 @@ import java.util.List;
 @RestController
 public class NoveltyMarkController {
     @Autowired
-    private AsInvalidReasonHistoryService asInvalidReasonHistoryService;
-    @Operation(summary = "查询作为无效证据使用历史")
-    @PostMapping("/edit")
-   private void   edit(){
-
+    private NoveltyCompareRecordService noveltyCompareRecordService;
 
-
-   }
+    @Operation(summary = "添加或编辑标注")
+    @PostMapping("/edit")
+    private Response edit(@RequestBody NoveltyMarkDTO noveltyMarkDTO) {
+        NoveltyCompareRecordDTO noveltyCompareRecordDTO = new NoveltyCompareRecordDTO();
+        BeanUtils.copyProperties(noveltyMarkDTO, noveltyCompareRecordDTO);
+        noveltyCompareRecordDTO.setMarkType(1);
+        String id = noveltyCompareRecordService.addOrUpdateCompareRecord(noveltyCompareRecordDTO);
+        return Response.success(id);
+    }
 }

+ 59 - 9
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareRecordService.java

@@ -1,28 +1,31 @@
 package cn.cslg.pas.service.novelty;
 
 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.request.StringRequest;
+import cn.cslg.pas.common.model.cronModel.SystemFile;
 import cn.cslg.pas.common.utils.CacheUtils;
 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.PatentWithIdVO;
+import cn.cslg.pas.common.vo.QueryCompareFileVO;
 import cn.cslg.pas.domain.es.Marking;
-import cn.cslg.pas.domain.es.Patent;
-import cn.cslg.pas.domain.es.PatentJoin;
-import cn.cslg.pas.exception.ExceptionEnum;
 import cn.cslg.pas.exception.XiaoShiException;
 import cn.cslg.pas.service.business.CompareLiteratureService;
-import cn.cslg.pas.service.business.es.EsMergePersonService;
 import cn.cslg.pas.service.business.es.EsScratchWordsService;
-import cn.cslg.pas.service.business.es.EsService;
+import cn.cslg.pas.service.common.FileManagerService;
 import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
+import com.alibaba.fastjson.JSONObject;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @Service
 @RequiredArgsConstructor
@@ -32,6 +35,8 @@ public class NoveltyCompareRecordService {
     private final CacheUtils cacheUtils;
     private final LoginUtils loginUtils;
     private final EsScratchWordsService esScratchWordsService;
+    private final NoveltyCompareLiteratureService noveltyCompareLiteratureService;
+    private final FileManagerService fileManagerService;
 
     public String addCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
         String patentNo = noveltyCompareRecordDTO.getPatentNo();
@@ -85,13 +90,56 @@ public class NoveltyCompareRecordService {
     }
 
 
-    public void queryCompareRecord()  throws Exception{
-        Integer projectId = null;
+    public List<NoveltyCompareRecordQueryVO> queryCompareRecord(QueryNoveltyCompareRecordDTO queryCompareRecordDTO) throws Exception {
+        Integer projectId = queryCompareRecordDTO.getProjectId();
+        String patentNo = queryCompareRecordDTO.getPatentNo();
+        List<NoveltyCompareRecordQueryVO> queryVOS = new ArrayList<>();
         //根据projectId 查询所有的对比记录
+        List<NoveltyCompareRecordVO> vos = esScratchWordsService.queryNoveltyRecord(projectId, 2);
 
-        List<NoveltyCompareRecordVO> vos=  esScratchWordsService.queryNoveltyRecord(projectId,null);
+        if (vos.size() == 0) {
+            return queryVOS;
+        }
+        QueryCompareFileDTO queryCompareFileDTO = new QueryCompareFileDTO();
+        queryCompareFileDTO.setProjectId(projectId);
+        queryCompareFileDTO.setPatentNo(patentNo);
+        List<QueryCompareFileVO> queryCompareFileVOS = noveltyCompareLiteratureService.queryCompareFile(queryCompareFileDTO);
+
+        List<String> guids = new ArrayList<>();
+        vos.forEach(item -> {
+            if (item.getPictureUrl() != null && item.getPictureUrl().size() > 0) {
+                guids.addAll(item.getPictureUrl());
+            }
+        });
+        List<SystemFile> systemFiles = new ArrayList<>();
+        if (guids.size() != 0) {
+            String res = fileManagerService.getSystemFileFromFMS(guids);
+
+            systemFiles = JSONObject.parseArray(res, SystemFile.class);
+            if (systemFiles == null) {
+                systemFiles = new ArrayList<>();
+            }
+        }
 
+        for (QueryCompareFileVO queryCompareFileVO : queryCompareFileVOS) {
+            List<NoveltyCompareRecordVO> temVos = vos.stream().filter(item -> item.getPatentNo().equals(queryCompareFileVO.getLiteratureNo())).collect(Collectors.toList());
+            if (temVos.size() != 0) {
+                for (NoveltyCompareRecordVO item : temVos) {
+                    NoveltyCompareRecordQueryVO queryVO = new NoveltyCompareRecordQueryVO();
+                    BeanUtils.copyProperties(item, queryVO);
+                    queryVO.setGeneralRemark(queryCompareFileVO.getGeneralRemark());
+                    queryVO.setTechnicalPoints(queryCompareFileVO.getTechnicalPoints());
+                    queryVO.setBeneficialEffect(queryCompareFileVO.getBeneficialEffect());
+                    queryVO.setExcuteCase(queryCompareFileVO.getExcuteCase());
+                    if (systemFiles.size() > 0 && item.getPictureUrl() != null && item.getPictureUrl().size() > 0) {
+
+                    }
+                    queryVOS.add(queryVO);
+                }
+            }
 
+        }
+        return queryVOS;
     }
 
 
@@ -104,4 +152,6 @@ public class NoveltyCompareRecordService {
         }
         return ids;
     }
+
+
 }