فهرست منبع

Merge remote-tracking branch 'origin/master_novelty' into master_novelty

xiexiang 1 سال پیش
والد
کامیت
9df1a8da2b

+ 1 - 1
src/main/java/cn/cslg/pas/common/dto/AddCompareFileDTO.java

@@ -7,7 +7,7 @@ public class  AddCompareFileDTO {
 
     private Integer compareFileId;
 
-    private Integer compareLitertureId;
+    private Integer id;
 
     private Integer retrieveRecordId;
 

+ 27 - 0
src/main/java/cn/cslg/pas/common/dto/EditCompareFileDTO.java

@@ -0,0 +1,27 @@
+package cn.cslg.pas.common.dto;
+
+import lombok.Data;
+
+@Data
+public class EditCompareFileDTO {
+
+    private Integer projectId;
+
+    private String patentNo;
+
+    private Integer retrieveRecordId;
+
+    private String relevance;
+
+    private Boolean ifEffectinv;
+
+    private String remark;
+
+    private String generalRemark;
+
+    private String technicalPoints;
+
+    private String excuteCase;
+
+    private String beneficialEffect;
+}

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

@@ -118,17 +118,6 @@ public class NoveltyProjectController {
         return Response.success(caseVO);
     }
 
-    @Operation(summary = "删除技术方案信息")
-    @PostMapping("/deleteTechnicalCase")
-    public Response deleteTechnicalCase(@RequestBody TechnicalCaseIdDTO vo) throws Exception {
-        try {
-            technicalCaseService.deleteTechnicalCase(vo);
-        } catch (Exception e) {
-            return Response.error(e.getMessage());
-        }
-        return Response.success("删除成功");
-    }
-
     @Operation(summary = "查询技术方案相似发明点")
     @PostMapping("/querySimilarInventionPoint")
     public Response querySimilarInventionPoint(@RequestBody String content) throws Exception {
@@ -147,8 +136,7 @@ public class NoveltyProjectController {
         Integer compareFileId = null;
         try {
             compareFileId = noveltyCompareLiteratureService.addCompareFile(fileDTO);
-
-        } catch (Exception e) {
+        }  catch (Exception e) {
             return Response.error(e.getMessage());
         }
         return Response.success(compareFileId);
@@ -166,6 +154,18 @@ public class NoveltyProjectController {
         return Response.success(compareFileId);
     }
 
+    @Operation(summary = "根据专利号和projectId更新查新对比文件")
+    @PostMapping("/editCompareFileByProjectId")
+    public Response editCompareFileByProjectId(@RequestBody EditCompareFileDTO fileDTO) throws Exception {
+        Integer compareFileId = null;
+        try {
+            compareFileId = noveltyCompareLiteratureService.editCompareFileByProjectId(fileDTO);
+        } catch (Exception e) {
+            return Response.error(e.getMessage());
+        }
+        return Response.success(compareFileId);
+    }
+
     @Operation(summary = "查询查新报告对比专利详情")
     @PostMapping("/queryCompareFile")
     public Response queryCompareFile(@RequestBody QueryCompareFileDTO fileDTO) throws Exception {

+ 48 - 22
src/main/java/cn/cslg/pas/service/business/CompareLiteratureService.java

@@ -208,7 +208,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
 
         compareLiteratureVOS = this.loadCompareLiterature(compareLiteratures, reportProject);
         //装载查新对比文件和标注
-        this.loadCompareLiteratureVOS(compareLiteratureVOS,projectId);
+        this.loadCompareLiteratureVOS(compareLiteratureVOS, projectId);
 
         records.setData(compareLiteratureVOS);
 
@@ -538,8 +538,8 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
         } catch (Exception e) {
 
         }
-        if(patentWithIdVO==null){
-            return  null;
+        if (patentWithIdVO == null) {
+            return null;
         }
         literatureNo = patent.getPatentNo();
         //判断该专利是否已经作为文献
@@ -740,35 +740,61 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
     }
 
 
-
-    public  void addAssoToEs(){
-        List<String> patentNos =new ArrayList<>();
-        LambdaQueryWrapper<CompareLiterature> compareLiteratureLambdaQueryWrapper =new LambdaQueryWrapper<>();
-       compareLiteratureLambdaQueryWrapper.eq(CompareLiterature::getType,0);
-        List<CompareLiterature> compareLiteratures =this.list(compareLiteratureLambdaQueryWrapper);
-        int i=0;
-        for (CompareLiterature item: compareLiteratures){
-           i++;
+    public void addAssoToEs() {
+        List<String> patentNos = new ArrayList<>();
+        LambdaQueryWrapper<CompareLiterature> compareLiteratureLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        compareLiteratureLambdaQueryWrapper.eq(CompareLiterature::getType, 0);
+        List<CompareLiterature> compareLiteratures = this.list(compareLiteratureLambdaQueryWrapper);
+        int i = 0;
+        for (CompareLiterature item : compareLiteratures) {
+            i++;
             System.out.println(i);
-            String patentNo =item.getLiteratureNo().trim();
-            Integer projectId =item.getProjectId();
+            String patentNo = item.getLiteratureNo().trim();
+            Integer projectId = item.getProjectId();
             try {
-                PatentWithIdVO  patentWithIdVO = esService.getIdByPatentNo(patentNo);
-                if(patentWithIdVO==null){
-                        // 不存在该专利则从数据库获取著录信息并保存
-                        patentWithIdVO = importSinglePatentService.addSinglePatent(patentNo);
+                PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(patentNo);
+                if (patentWithIdVO == null) {
+                    // 不存在该专利则从数据库获取著录信息并保存
+                    patentWithIdVO = importSinglePatentService.addSinglePatent(patentNo);
 
                 }
                 importSinglePatentService.saveAssoPatentProjectToEs(projectId, patentWithIdVO.getId());
-            }
-catch (Exception e){
+            } catch (Exception e) {
                 e.printStackTrace();
-    patentNos.add(patentNo);
+                patentNos.add(patentNo);
             }
 
         }
-System.out.println(patentNos);
+        System.out.println(patentNos);
     }
 
+    public CompareLiterature updateByPatentNo(Integer projectId, String patentNo) {
+        Integer id = this.getHaveAddIdByNos(projectId, patentNo);
+        CompareLiterature compareLiterature = this.getById(id);
+        PatentWithIdVO patentWithIdVO = new PatentWithIdVO();
+        Patent patent = new Patent();
+        try {
+            patentWithIdVO = esService.getIdByPatentNo(patentNo);
+            if (patentWithIdVO == null) {
+                // 不存在该专利则从数据库获取著录信息并保存
+                patentWithIdVO = importSinglePatentService.addSinglePatent(patentNo);
+                patent = patentWithIdVO.getPatent();
+            } else {
+                patent = patentWithIdVO.getPatent();
+            }
+        } catch (Exception e) {
 
+        }
+        String name = "";
+        if (patent != null) {
+            if (patent.getTitle() != null && patent.getTitle().size() != 0) {
+                name = patent.getTitle().get(0).getTextContent();
+            }
+            compareLiterature.setAppDate(patent.getAppDate());
+            compareLiterature.setPublicDate(patent.getPublicDate());
+        }
+        compareLiterature.setName(name);
+        compareLiterature.updateById();
+        return compareLiterature;
+    }
 }

+ 0 - 14
src/main/java/cn/cslg/pas/service/business/TechnicalCaseService.java

@@ -173,20 +173,6 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
         return technicalCaseVO;
     }
 
-    public void deleteTechnicalCase(TechnicalCaseIdDTO vo) throws Exception {
-        LambdaQueryWrapper<AssoTechnicalCaseFile> deleteFileWrapper = new LambdaQueryWrapper<>();
-        deleteFileWrapper.eq(AssoTechnicalCaseFile::getTechnicalCaseId, vo.getTechnicalCaseId());
-        assoTechnicalCaseFileService.remove(deleteFileWrapper);
-
-        TechnicalCase technicalCase = technicalCaseMapper.selectById(vo.getTechnicalCaseId());
-        EditInventionPointVO pointVO = this.selectTechnicalCasePatent(technicalCase.getProjectId());
-        List<String> list = new ArrayList<>();
-        list.add(pointVO.getPatentId());
-        this.delete(list);
-
-        this.removeById(vo.getTechnicalCaseId());
-    }
-
     public List<QueryInventionPointVO> querySimilarInventionPoint(String content) throws IOException {
         SearchRequest.Builder builder = new SearchRequest.Builder();
         //设置查询索引

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

@@ -27,6 +27,7 @@ import cn.cslg.pas.service.permissions.PermissionService;
 import cn.cslg.pas.service.query.FormatQueryService;
 import co.elastic.clients.elasticsearch.ElasticsearchClient;
 import co.elastic.clients.elasticsearch._types.FieldValue;
+import co.elastic.clients.elasticsearch._types.Refresh;
 import co.elastic.clients.elasticsearch._types.Time;
 import co.elastic.clients.elasticsearch._types.aggregations.*;
 import co.elastic.clients.elasticsearch._types.query_dsl.Query;
@@ -247,7 +248,7 @@ public class EsScratchWordsService {
     public String saveToEs(Marking marking) throws Exception {
         IndexResponse indexResponse = client.index(i -> i
                 .index("patent_marking")
-                .document(marking)
+                .document(marking).refresh(Refresh.True)
         );
         return indexResponse.id();
 
@@ -258,7 +259,7 @@ public class EsScratchWordsService {
         UpdateRequest<Marking, Marking> req;
         req = UpdateRequest.of(
                 b -> b.index("patent_marking").id(id)
-                        .doc(marking)
+                        .doc(marking).refresh(Refresh.True)
         );
         try {
             client.update(req, Marking.class);

+ 18 - 13
src/main/java/cn/cslg/pas/service/novelty/ImportPatentQueenService.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.service.novelty;
 import cn.cslg.pas.common.dto.es.RefreshPatentDTO;
 import cn.cslg.pas.domain.business.novelty.ImportPatentQueen;
 import cn.cslg.pas.mapper.novelty.ImportPatentQueenMapper;
+import cn.cslg.pas.service.business.CompareLiteratureService;
 import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
 @RequiredArgsConstructor
 public class ImportPatentQueenService extends ServiceImpl<ImportPatentQueenMapper, ImportPatentQueen> {
     private final ImportSinglePatentService importSinglePatentService;
+    private final CompareLiteratureService compareLiteratureService;
     private Integer total = 0;
 
     public void add(String patentNo, Integer projectId) {
@@ -38,9 +40,11 @@ public class ImportPatentQueenService extends ServiceImpl<ImportPatentQueenMappe
     public void importPatent(ImportPatentQueen importPatentQueen) {
         RefreshPatentDTO refreshPatentDTO = new RefreshPatentDTO();
         refreshPatentDTO.setPatentNo(importPatentQueen.getPatentNo());
-
+        Integer projectId = importPatentQueen.getProjectId();
+        String patentNo = importPatentQueen.getPatentNo();
         try {
             importSinglePatentService.refreshPatent(refreshPatentDTO);
+            compareLiteratureService.updateByPatentNo(projectId, patentNo);
         } catch (Exception e) {
         }
         total = total - 1;
@@ -49,18 +53,19 @@ public class ImportPatentQueenService extends ServiceImpl<ImportPatentQueenMappe
 
 
     }
-     public  void  startImport(){
-         total += 1;
-         if (total > 5) {
-             return;
-         }
-         LambdaQueryWrapper<ImportPatentQueen> queryWrapper = new LambdaQueryWrapper<>();
-         queryWrapper.eq(ImportPatentQueen::getState, 0);
-         ImportPatentQueen importPatentQueen = this.getOne(queryWrapper, false);
-         if(importPatentQueen!=null) {
-             this.importPatent(importPatentQueen);
-         }
-     }
+
+    public void startImport() {
+        total += 1;
+        if (total > 5) {
+            return;
+        }
+        LambdaQueryWrapper<ImportPatentQueen> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ImportPatentQueen::getState, 0);
+        ImportPatentQueen importPatentQueen = this.getOne(queryWrapper, false);
+        if (importPatentQueen != null) {
+            this.importPatent(importPatentQueen);
+        }
+    }
 }
 
 

+ 39 - 1
src/main/java/cn/cslg/pas/service/novelty/NoveltyCompareLiteratureService.java

@@ -2,6 +2,7 @@ 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.EditCompareFileDTO;
 import cn.cslg.pas.common.dto.QueryCompareFileDTO;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.common.vo.QueryCompareFileVO;
@@ -19,6 +20,7 @@ import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
@@ -56,7 +58,7 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
     }
 
     public Integer addCompareFile(AddCompareFileDTO vo) {
-        Integer compareLitertureId = vo.getCompareLitertureId();
+        Integer compareLitertureId = vo.getId();
         NoveltyCompareLiterature literature = noveltyCompareLiteratureMapper.selectOne(new LambdaQueryWrapper<NoveltyCompareLiterature>()
                 .eq(NoveltyCompareLiterature::getCompareLitertureId, compareLitertureId));
         if (ObjectUtils.isEmpty(literature)) {
@@ -70,6 +72,42 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
     public Integer editCompareFile(AddCompareFileDTO vo) {
         NoveltyCompareLiterature literature = noveltyCompareLiteratureMapper.selectById(vo.getCompareFileId());
         BeanUtils.copyProperties(vo, literature);
+        literature.setCompareLitertureId(vo.getId());
+        literature.updateById();
+        return literature.getId();
+    }
+
+    public Integer editCompareFileByProjectId(EditCompareFileDTO vo) {
+        CompareLiterature compareLiterature = compareLiteratureMapper.selectOne(new LambdaQueryWrapper<CompareLiterature>()
+                .eq(CompareLiterature::getLiteratureNo, vo.getPatentNo())
+                .eq(CompareLiterature::getProjectId, vo.getProjectId()));
+        NoveltyCompareLiterature literature = noveltyCompareLiteratureMapper.selectOne(new LambdaQueryWrapper<NoveltyCompareLiterature>()
+                .eq(NoveltyCompareLiterature::getCompareLitertureId, compareLiterature.getId()));
+        literature.setId(literature.getId());
+        if (vo.getIfEffectinv() != null) {
+            literature.setIfEffectinv(vo.getIfEffectinv());
+        }
+        if (vo.getRetrieveRecordId() != null) {
+            literature.setRetrieveRecordId(vo.getRetrieveRecordId());
+        }
+        if (StringUtils.isNotEmpty(vo.getRelevance())) {
+            literature.setRelevance(vo.getRelevance());
+        }
+        if (StringUtils.isNotEmpty(vo.getRemark())) {
+            literature.setRemark(vo.getRemark());
+        }
+        if (StringUtils.isNotEmpty(vo.getGeneralRemark())) {
+            literature.setGeneralRemark(vo.getGeneralRemark());
+        }
+        if (StringUtils.isNotEmpty(vo.getTechnicalPoints())) {
+            literature.setTechnicalPoints(vo.getTechnicalPoints());
+        }
+        if (StringUtils.isNotEmpty(vo.getExcuteCase())) {
+            literature.setExcuteCase(vo.getExcuteCase());
+        }
+        if (StringUtils.isNotEmpty(vo.getBeneficialEffect())) {
+            literature.setBeneficialEffect(vo.getBeneficialEffect());
+        }
         literature.updateById();
         return literature.getId();
     }

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

@@ -61,7 +61,7 @@ public class NoveltyCompareRecordService {
 
         //添加查新对比文件
         AddCompareFileDTO addCompareFileDTO =new AddCompareFileDTO();
-        addCompareFileDTO.setCompareLitertureId(compareLiteratureId);
+        addCompareFileDTO.setId(compareLiteratureId);
         addCompareFileDTO.setRetrieveRecordId(retrieveRecordId);
         noveltyCompareLiteratureService.addCompareFile(addCompareFileDTO);
         //添加记录

+ 29 - 1
src/test/java/cn/cslg/pas/novelty/GetReportInfoFromWDTest.java

@@ -1,5 +1,6 @@
 package cn.cslg.pas.novelty;
 
+import org.junit.jupiter.api.Test;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.WebElement;
@@ -7,6 +8,7 @@ import org.openqa.selenium.chrome.ChromeDriver;
 import org.openqa.selenium.chrome.ChromeOptions;
 import org.openqa.selenium.support.ui.ExpectedCondition;
 import org.openqa.selenium.support.ui.WebDriverWait;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
 
 import java.io.FileInputStream;
@@ -20,8 +22,34 @@ import java.util.concurrent.TimeUnit;
 
 @SpringBootTest
 public class GetReportInfoFromWDTest {
+//    IPEasySetting:
+//    DownloadFileSavePath: F:\file
+//    isHeadless: true
+//    Account: zhuliu
+//    Password: cCv51b
+//    ChromeDriverPath: C:\Program Files\Google\Chrome\Application\chrome.exe
+//    IPEasyWeb: http://47.106.94.35/index.aspx
+//
+//    @Value("${IPEasySetting.DownloadFileSavePath}")
+//    private String strFileSavePath;
+//    @Value("${IPEasySetting.isHeadless}")
+//    private boolean isHeadless;
+//    @Value("${IPEasySetting.Account}")
+//    private String account;
+//    @Value("${IPEasySetting.Password}")
+//    private String password;
+//    @Value("${IPEasySetting.ChromeDriverPath}")
+//    private String chromeDriverPath;
+//    @Value("${IPEasySetting.IPEasyWeb}")
+//    private String iPEasyWeb;
+
+    @Test
+    public void test() {
+        Map<String, String> map = dynamicCaseInfo("1524");
+        System.out.println(map);
+    }
 
-    public static Map<String, String> dynamicCaseInfo(String caseNo) {
+    public Map<String, String> dynamicCaseInfo(String caseNo) {
         Properties properties = new Properties();
         try {
             properties.load(new FileInputStream("path/to/your/config.properties"));

+ 14 - 8
src/test/java/cn/cslg/pas/service/NoveltyProjectTest.java

@@ -135,12 +135,6 @@ public class NoveltyProjectTest {
         System.out.println(technicalCaseVO);
     }
 
-    @Test
-    public void deleteTechnicalCase() throws Exception {
-        TechnicalCaseIdDTO vo = new TechnicalCaseIdDTO();
-        vo.setTechnicalCaseId(2);
-        technicalCaseService.deleteTechnicalCase(vo);
-    }
 
     @Test
     public void querySimilarInventionPoint() throws IOException {
@@ -151,7 +145,7 @@ public class NoveltyProjectTest {
     @Test
     public void addCompareFile() {
         AddCompareFileDTO vo = new AddCompareFileDTO();
-        vo.setCompareLitertureId(234);
+        vo.setId(234);
         vo.setRemark("huhuhuhuhuh");
         vo.setGeneralRemark("yhyhyhyjyjy");
         vo.setIfEffectinv(true);
@@ -164,7 +158,7 @@ public class NoveltyProjectTest {
     public void editCompareFile() {
         AddCompareFileDTO vo = new AddCompareFileDTO();
         vo.setCompareFileId(6);
-        vo.setCompareLitertureId(0);
+        vo.setId(0);
         vo.setRemark("tgtgtgtgtt");
         vo.setGeneralRemark("gtgtgdgsdfsdfsd");
         vo.setIfEffectinv(true);
@@ -199,4 +193,16 @@ public class NoveltyProjectTest {
         String s = records.getData().toString();
         System.out.println(s);
     }
+
+    @Test
+    public void editCompareFileByProjectId() {
+        EditCompareFileDTO vo = new EditCompareFileDTO();
+        vo.setProjectId(1);
+        vo.setPatentNo("CN202420249312.5");
+        vo.setRetrieveRecordId(2);
+        vo.setBeneficialEffect("1010");
+        vo.setRelevance("相关度111");
+        final Integer id = noveltyCompareLiteratureService.editCompareFileByProjectId(vo);
+        System.out.println(id);
+    }
 }