zero 1 year ago
parent
commit
23165c4114

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

@@ -13,7 +13,7 @@ public class  AddCompareFileDTO {
 
     private String relevance;
 
-    private Integer ifEffectinv;
+    private Boolean ifEffectinv;
 
     private String remark;
 

+ 4 - 2
src/main/java/cn/cslg/pas/common/vo/CompareLiteratureVO.java

@@ -3,6 +3,7 @@ package cn.cslg.pas.common.vo;
 import cn.cslg.pas.common.model.cronModel.SystemFile;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
 import cn.cslg.pas.domain.BaseEntity;
+import cn.cslg.pas.domain.es.PatentPerson;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.fasterxml.jackson.annotation.JsonFormat;
@@ -12,6 +13,7 @@ import org.joda.time.DateTime;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -78,7 +80,7 @@ public class CompareLiteratureVO  {
     private Date createTime;
     private SystemFile systemFile;
     private String authorName;
-
+    private List<PatentPerson> applicant;
     //查新报告信息
     private Integer compareFileId;
     /**
@@ -93,7 +95,7 @@ public class CompareLiteratureVO  {
     /**
      * 影响新创新
      */
-    private Integer ifEffectinv;
+    private Boolean ifEffectinv;
 
     /**
      *  备注

+ 1 - 1
src/main/java/cn/cslg/pas/common/vo/QueryCompareFileVO.java

@@ -53,7 +53,7 @@ public class QueryCompareFileVO {
     /**
      * 影响新创新
      */
-    private Integer ifEffectinv;
+    private Boolean ifEffectinv;
 
     /**
      *  备注

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

@@ -8,11 +8,7 @@ import cn.cslg.pas.common.utils.Response;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.QueryTemplateVO;
 import cn.cslg.pas.common.vo.QueryCompareFileVO;
 import cn.cslg.pas.common.vo.QueryInventionPointVO;
-import cn.cslg.pas.common.vo.QueryNoveltyProjectVO;
 import cn.cslg.pas.common.vo.TechnicalCaseVO;
-import cn.cslg.pas.domain.business.CompareLiterature;
-import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
-import cn.cslg.pas.factorys.businessFactory.Business;
 import cn.cslg.pas.service.business.NoveltyProjectService;
 import cn.cslg.pas.service.business.TechnicalCaseService;
 import cn.cslg.pas.service.novelty.NoveltyCompareLiteratureService;

+ 1 - 1
src/main/java/cn/cslg/pas/domain/business/novelty/NoveltyCompareLiterature.java

@@ -39,7 +39,7 @@ public class NoveltyCompareLiterature extends BaseEntity<ImportPatentQueen> {
      * 影响新创新
      */
     @TableField(value = "if_effectInv")
-    private Integer ifEffectinv;
+    private Boolean ifEffectinv;
 
     /**
      *  备注

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

@@ -308,7 +308,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
                         }
                         compareLiteratureVO.setGrantDate(patent.getGrantDate());
                         compareLiteratureVO.setGrantNo(patent.getGrantNo());
-
+                        compareLiteratureVO.setApplicant(patent.getApplicant());
                         //比较标的专利的申请日和对比专利的公开或者公告日
                         if (signPatent.getAppDate() != null) {
                             //当专利的申请日存在时

+ 11 - 8
src/main/java/cn/cslg/pas/service/business/NoveltyProjectService.java

@@ -24,6 +24,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 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;
@@ -311,15 +312,17 @@ public class NoveltyProjectService extends ServiceImpl<NoveltyProjectMapper, Nov
         //查询技术方案
         TechnicalCase technicalCase = technicalCaseMapper.selectOne(new LambdaQueryWrapper<TechnicalCase>()
                 .eq(TechnicalCase::getProjectId, vo.getProjectId()));
-        //删除关联的技术方案图片
-        List<AssoTechnicalCaseFile> technicalCaseFiles = assoTechnicalCaseFileMapper.selectList(new LambdaQueryWrapper<AssoTechnicalCaseFile>()
-                .eq(AssoTechnicalCaseFile::getTechnicalCaseId, technicalCase.getId()));
-        if (!CollectionUtils.isEmpty(technicalCaseFiles)) {
-            List<Integer> collect = technicalCaseFiles.stream().map(BaseEntity::getId).collect(Collectors.toList());
-            assoTechnicalCaseFileMapper.deleteBatchIds(collect);
+        if (ObjectUtils.isNotEmpty(technicalCase)) {
+            //删除关联的技术方案图片
+            List<AssoTechnicalCaseFile> technicalCaseFiles = assoTechnicalCaseFileMapper.selectList(new LambdaQueryWrapper<AssoTechnicalCaseFile>()
+                    .eq(AssoTechnicalCaseFile::getTechnicalCaseId, technicalCase.getId()));
+            if (!CollectionUtils.isEmpty(technicalCaseFiles)) {
+                List<Integer> collect = technicalCaseFiles.stream().map(BaseEntity::getId).collect(Collectors.toList());
+                assoTechnicalCaseFileMapper.deleteBatchIds(collect);
+            }
+            //删除关联的技术方案
+            technicalCaseMapper.deleteById(technicalCase.getId());
         }
-        //删除关联的技术方案
-        technicalCaseMapper.deleteById(technicalCase.getId());
         //删除本身报告
         projectMapper.deleteById(vo.getProjectId());
     }

+ 28 - 18
src/main/java/cn/cslg/pas/service/business/TechnicalCaseService.java

@@ -1,6 +1,5 @@
 package cn.cslg.pas.service.business;
 
-import cn.cslg.pas.common.dto.AddNoveltyProjectDTO;
 import cn.cslg.pas.common.dto.AddTechnicalCaseDTO;
 import cn.cslg.pas.common.dto.TechnicalCaseIdDTO;
 import cn.cslg.pas.common.model.cronModel.Personnel;
@@ -22,16 +21,10 @@ import cn.cslg.pas.mapper.TechnicalCaseMapper;
 import cn.cslg.pas.service.common.FileManagerService;
 import cn.cslg.pas.service.permissions.PermissionService;
 import co.elastic.clients.elasticsearch.ElasticsearchClient;
-import co.elastic.clients.elasticsearch._types.SortOptions;
-import co.elastic.clients.elasticsearch._types.SortOrder;
-import co.elastic.clients.elasticsearch._types.query_dsl.IdsQuery;
 import co.elastic.clients.elasticsearch._types.query_dsl.Like;
 import co.elastic.clients.elasticsearch._types.query_dsl.Query;
 import co.elastic.clients.elasticsearch._types.query_dsl.QueryBuilders;
-import co.elastic.clients.elasticsearch.core.IndexResponse;
-import co.elastic.clients.elasticsearch.core.SearchRequest;
-import co.elastic.clients.elasticsearch.core.SearchResponse;
-import co.elastic.clients.elasticsearch.core.UpdateRequest;
+import co.elastic.clients.elasticsearch.core.*;
 import co.elastic.clients.elasticsearch.core.search.Hit;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson2.JSON;
@@ -51,7 +44,6 @@ import org.springframework.util.CollectionUtils;
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -125,7 +117,7 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
 //            casePatent.setProjectId(vo.getProjectId());
                 casePatent.setInventionPoint(vo.getInventionPoint());
                 Integer count = this.updateTechnicalCasePatent(casePatent, pointVO.getPatentId());
-                if (count > 0) {
+                if (count < 1) {
                     throw new XiaoShiException("发明点更新Es失败");
                 }
             }
@@ -179,25 +171,31 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
         return technicalCaseVO;
     }
 
-    public void deleteTechnicalCase(TechnicalCaseIdDTO vo) {
+    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();
         //设置查询索引
-        builder.index("technical_case_patent");
+        builder.index("technicalPatent");
         Like likeContent = Like.of(i -> i.text(content));
         Query query = QueryBuilders.moreLikeThis(i -> i.fields("invention_point").like(likeContent)
-                .minTermFreq(1).maxQueryTerms(12));
+                .minTermFreq(1).maxQueryTerms(12).minDocFreq(1));
         builder.query(query);
-        builder.from(0).size(5);
+        builder.size(5);
         //解除最大条数限制
-        builder.trackTotalHits(i -> i.enabled(true));
+//        builder.trackTotalHits(i -> i.enabled(true));
         SearchResponse<TechnicalCasePatent> response = client.search(builder.build(), TechnicalCasePatent.class);
         List<Hit<TechnicalCasePatent>> hits = response.hits().hits();
         List<QueryInventionPointVO> inventionPointVOS = new ArrayList<>();
@@ -240,7 +238,7 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
         EditInventionPointVO pointVO = new EditInventionPointVO();
         SearchRequest.Builder builder = new SearchRequest.Builder();
         //设置查询索引
-        builder.index("technical_case_patent");
+        builder.index("technicalPatent");
         Query query = QueryBuilders.term(i -> i.field("project_id").value(projectId));
         builder.query(query);
         SearchResponse<TechnicalCasePatent> response = client.search(builder.build(), TechnicalCasePatent.class);
@@ -258,7 +256,7 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
     //添加TechnicalCasePatent
     public String addTechnicalCasePatent(TechnicalCasePatent casePatent) throws Exception {
         IndexResponse indexResponse = client.index(i -> i
-                .index("technical_case_patent")
+                .index("technicalPatent")
                 //传入user对象
                 .document(casePatent)
         );
@@ -269,7 +267,7 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
     public Integer updateTechnicalCasePatent(TechnicalCasePatent patent, String id) {
         UpdateRequest<TechnicalCasePatent, TechnicalCasePatent> req;
         req = UpdateRequest.of(
-                b -> b.index("technical_case_patent").id(id)
+                b -> b.index("technicalPatent").id(id)
                         .doc(patent));
         try {
             client.update(req, TechnicalCasePatent.class);
@@ -278,4 +276,16 @@ public class TechnicalCaseService extends ServiceImpl<TechnicalCaseMapper, Techn
             return -1;
         }
     }
+
+    //删除TechnicalCasePatent
+    public Integer delete(List<String> ids) {
+        Query query = QueryBuilders.ids(n -> n.values(ids));
+        DeleteByQueryRequest request = DeleteByQueryRequest.of(i -> i.index("technicalPatent").refresh(true).query(query));
+        try {
+            client.deleteByQuery(request);
+            return 1;
+        } catch (IOException e) {
+            throw new XiaoShiException("删除失败");
+        }
+    }
 }

+ 1 - 1
src/main/resources/mapper/NoveltyProjectMapper.xml

@@ -44,7 +44,7 @@
         </where>
         <if test="vo.current != null and vo.size != null">
             limit
-            #{(vo.current -1) * vo.size},#{vo.size}
+            ${(vo.current -1) * vo.size},${vo.size}
         </if>
     </select>
 

+ 137 - 0
src/test/java/cn/cslg/pas/service/NoveltyProjectTest.java

@@ -0,0 +1,137 @@
+package cn.cslg.pas.service;
+
+import cn.cslg.pas.common.dto.*;
+import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.vo.QueryInventionPointVO;
+import cn.cslg.pas.common.vo.TechnicalCaseVO;
+import cn.cslg.pas.service.business.NoveltyProjectService;
+import cn.cslg.pas.service.business.TechnicalCaseService;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.junit4.SpringRunner;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+@SpringBootTest
+@RunWith(SpringRunner.class)
+public class NoveltyProjectTest {
+
+    @Autowired
+    private NoveltyProjectService noveltyProjectService;
+
+    @Autowired
+    private TechnicalCaseService technicalCaseService;
+
+    @Test
+    public void addNoveltyProject() {
+        AddNoveltyProjectDTO projectDTO = new AddNoveltyProjectDTO();
+        projectDTO.setHeadId("0");
+        projectDTO.setDepartmentId("0");
+        projectDTO.setCustomCaseNumber("7777");
+        projectDTO.setInnerCaseNumber("8888");
+        projectDTO.setApplicants("单元测试单位");
+        projectDTO.setInventor("00");
+        projectDTO.setIpr("ipr");
+        projectDTO.setTechnicalContact("zero");
+        Integer projectId = noveltyProjectService.addNoveltyProject(projectDTO);
+        System.out.println(projectId);
+    }
+
+    @Test
+    public void updateNoveltyProject() {
+        AddNoveltyProjectDTO projectDTO = new AddNoveltyProjectDTO();
+        projectDTO.setProjectId(484);
+        projectDTO.setHeadId("000");
+        projectDTO.setDepartmentId("0000");
+        projectDTO.setCustomCaseNumber("7777lllll");
+        projectDTO.setInnerCaseNumber("8888llllll");
+        projectDTO.setApplicants("单元测试单位lllllll");
+        projectDTO.setInventor("00llll");
+        projectDTO.setIpr("iprlllll");
+        projectDTO.setTechnicalContact("zero");
+        Integer projectId = noveltyProjectService.updateNoveltyProject(projectDTO);
+        System.out.println(projectId);
+    }
+
+    @Test
+    public void deleteNoveltyProject() {
+        NoveltyProjectIdDTO vo = new NoveltyProjectIdDTO();
+        vo.setProjectId(484);
+        noveltyProjectService.deleteNoveltyProject(vo);
+    }
+
+    @Test
+    public void queryNoveltyProject() throws Exception {
+        QueryNoveltyProjectDTO vo = new QueryNoveltyProjectDTO();
+        vo.setProjectId(485);
+        vo.setCurrent(1L);
+        vo.setSize(10L);
+        final Records records = noveltyProjectService.queryNoveltyProject(vo);
+        System.out.println(records);
+    }
+
+    @Test
+    public void addTechnicalCase1() throws Exception {
+        AddTechnicalCaseDTO vo = new AddTechnicalCaseDTO();
+        vo.setIpc("GHIRj");
+        vo.setInventionPoint("测试点");
+        vo.setRemark("0929测试");
+        vo.setTechnicalField("qazxswa");
+        vo.setSolvedProblem("yyyyyyuuuuuu");
+        final TechnicalCaseIdDTO caseIdDTO = technicalCaseService.addOrUpdateTechnicalCase(vo);
+        System.out.println(caseIdDTO);
+    }
+
+    @Test
+    public void addTechnicalCase2() throws Exception {
+        AddTechnicalCaseDTO vo = new AddTechnicalCaseDTO();
+        vo.setProjectId(485);
+        vo.setIpc("WWWWWWj");
+        vo.setInventionPoint("测试点11111");
+        vo.setRemark("0929测试22222");
+        vo.setTechnicalField("rtrtrtrtrt");
+        vo.setSolvedProblem("uiopuiuop");
+        final TechnicalCaseIdDTO caseIdDTO = technicalCaseService.addOrUpdateTechnicalCase(vo);
+        System.out.println(caseIdDTO);
+    }
+
+    @Test
+    public void updateTechnicalCase1() throws Exception {
+        AddTechnicalCaseDTO vo = new AddTechnicalCaseDTO();
+        vo.setTechnicalCaseId(3);
+        vo.setProjectId(485);
+        vo.setIpc("GHIRj");
+        vo.setInventionPoint("测试用例");
+        vo.setRemark("0929测试");
+        vo.setTechnicalField("qazxswa");
+        vo.setSolvedProblem("yyyyyyuuuuuu");
+        vo.setFileGuids(Arrays.asList("jsdhkghusdgkjdngjksdnugdu"));
+        final TechnicalCaseIdDTO caseIdDTO = technicalCaseService.addOrUpdateTechnicalCase(vo);
+        System.out.println(caseIdDTO);
+    }
+
+    @Test
+    public void queryTechnicalCase() {
+        TechnicalCaseIdDTO vo = new TechnicalCaseIdDTO();
+        vo.setProjectId(485);
+        final TechnicalCaseVO technicalCaseVO = technicalCaseService.queryTechnicalCase(vo);
+        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 {
+        final List<QueryInventionPointVO> inventionPointVOS = technicalCaseService.querySimilarInventionPoint("测试");
+        System.out.println(inventionPointVOS);
+    }
+}