ソースを参照

20240929 添加查新对比记录

lwhhszx 1 年間 前
コミット
51d2015e08

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

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

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

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

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

@@ -131,7 +131,9 @@ public class ReferencesService extends ServiceImpl<ReferencesMapper, References>
         //分页配置
         Page<References> page = new Page<>(pageNum, pageSize);
         QueryWrapper<References> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(References::getProjectId, projectId);
+        if(projectId!=null) {
+            queryWrapper.lambda().eq(References::getProjectId, projectId);
+        }
         if (fileName != null && !fileName.equals("")) {
             queryWrapper.lambda().like(References::getReferencesName, fileName);
         }

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

@@ -459,7 +459,9 @@ public class EsScratchWordsService {
 
     //保存
     public void saveListToEs(List<Marking> markings) throws Exception {
-
+          if(markings==null||markings.size()==0){
+              return;
+          }
 
         List<BulkOperation> bulkOperations = new ArrayList<>();
         markings.forEach(item->{

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

@@ -79,7 +79,7 @@ public class EsService {
         IndexResponse indexResponse = client.index(i -> i
                 .index("patent")
                 //传入user对象
-                .document(patent)
+                .document(patent).refresh(Refresh.True)
         );
         return indexResponse.id();
     }

+ 7 - 3
src/main/java/cn/cslg/pas/service/novelty/ImportPatentQueenService.java

@@ -11,6 +11,8 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 
+import java.util.Arrays;
+
 /**
  * @author admin
  * @description 针对表【import_patent_queen(导入专利队列)】的数据库操作Service实现
@@ -38,14 +40,16 @@ public class ImportPatentQueenService extends ServiceImpl<ImportPatentQueenMappe
      */
     @Async
     public void importPatent(ImportPatentQueen importPatentQueen) {
-        RefreshPatentDTO refreshPatentDTO = new RefreshPatentDTO();
-        refreshPatentDTO.setPatentNo(importPatentQueen.getPatentNo());
+//        RefreshPatentDTO refreshPatentDTO = new RefreshPatentDTO();
+//        refreshPatentDTO.setPatentNo(importPatentQueen.getPatentNo());
+//        refreshPatentDTO.setRefreshContent(Arrays.asList(2,3,4,5,6));
         Integer projectId = importPatentQueen.getProjectId();
         String patentNo = importPatentQueen.getPatentNo();
         try {
-            importSinglePatentService.refreshPatent(refreshPatentDTO);
+            importSinglePatentService.addSinglePatent(importPatentQueen.getPatentNo());
             compareLiteratureService.updateByPatentNo(projectId, patentNo);
         } catch (Exception e) {
+            e.printStackTrace();
         }
         total = total - 1;
         this.removeById(importPatentQueen);

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

@@ -159,6 +159,7 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
         if (ObjectUtils.isEmpty(literature)) {
             literature = new NoveltyCompareLiterature();
             BeanUtils.copyProperties(vo, literature);
+            literature.setId(null);
             literature.setCompareLitertureId(compareLitertureId);
             literature.insert();
         }
@@ -225,7 +226,7 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
         compareLiteratureMapper.deleteById(vo.getCompareLitertureId());
     }
 
-    public List<Integer> copyCompareFile(List<Integer> ids, Integer projectId, Integer fromProjectId) throws Exception {
+    public List<Integer> copyCompareFile(List<Integer> ids, Integer toProjectId, Integer fromProjectId) throws Exception {
 
         if (ids == null || ids.size() == 0) {
             return new ArrayList<>();
@@ -237,7 +238,7 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
 
         QueryCompareFileDTO queryCompareFileDTOTo = new QueryCompareFileDTO();
         queryCompareFileDTOTo.setPatentNos(patentNos);
-        queryCompareFileDTOTo.setProjectId(projectId);
+        queryCompareFileDTOTo.setProjectId(toProjectId);
         List<QueryCompareFileVO> queryCompareFileVOSTo = this.getBaseMapper().queryCompareFile(queryCompareFileDTOTo);
 
         for (QueryCompareFileVO queryCompareFileVO : queryCompareFileVOSFrom) {
@@ -245,19 +246,23 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
             if (queryCompareFileVOTo == null) {
                 CompareLiterature compareLiterature = new CompareLiterature();
                 BeanUtils.copyProperties(queryCompareFileVO, compareLiterature);
+                compareLiterature.setProjectId(toProjectId);
                 compareLiterature.setId(null);
                 compareLiterature.insert();
+                NoveltyCompareLiterature noveltyCompareLiterature = new NoveltyCompareLiterature();
+                BeanUtils.copyProperties(queryCompareFileVO, noveltyCompareLiterature);
+                noveltyCompareLiterature.setCompareLitertureId(queryCompareFileVOTo.getCompareLitertureId());
+                noveltyCompareLiterature.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.setCompareLitertureId(queryCompareFileVOTo.getCompareLitertureId());
                         noveltyCompareLiterature.insert();
                     } else {
                         NoveltyCompareLiterature noveltyCompareLiterature = new NoveltyCompareLiterature();
@@ -301,9 +306,10 @@ public class NoveltyCompareLiteratureService extends ServiceImpl<NoveltyCompareL
             noveltyCompareRecordVOS.forEach(item -> {
                 Marking marking = new Marking();
                 BeanUtils.copyProperties(item, marking);
-                marking.setProjectId(projectId);
+                marking.setProjectId(toProjectId);
                 markings.add(marking);
             });
+
             esScratchWordsService.saveListToEs(markings);
         }
         return ids;

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

@@ -52,13 +52,12 @@ public class NoveltyCompareRecordService {
         PersonnelVO personnelVO = new PersonnelVO();
         personnelVO.setId("1");
         personnelVO.setTenantId(1);
-        //获取专利
-   importPatentQueenService.add(patentNo, projectId);
         //添加对比文件
         Patent patent =new Patent();
         patent.setPatentNo(patentNo);
         Integer compareLiteratureId =compareLiteratureService.addPatentCompareLiterature(patent, projectId, personnelVO.getId());
-
+        //获取专利
+        importPatentQueenService.add(patentNo, projectId);
         //添加查新对比文件
         AddCompareFileDTO addCompareFileDTO =new AddCompareFileDTO();
         addCompareFileDTO.setId(compareLiteratureId);
@@ -179,8 +178,10 @@ public class NoveltyCompareRecordService {
         //根据id查询
       List<Marking> markings =esScratchWordsService.getByIds(ids);
 
-        markings.forEach(item->item.setProjectId(projectId));
-        esScratchWordsService.saveListToEs(markings);
+        if(markings!=null&&markings.size()>0) {
+            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)

+ 19 - 6
src/main/java/cn/cslg/pas/service/novelty/NoveltyReportReferencesService.java

@@ -3,7 +3,10 @@ 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.PersonnelVO;
 import cn.cslg.pas.common.model.cronModel.Records;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
 import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyReferencesVO;
 import cn.cslg.pas.common.vo.business.ReferencesVO;
 import cn.cslg.pas.domain.business.References;
@@ -17,6 +20,7 @@ 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.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
@@ -33,6 +37,11 @@ import java.util.stream.Collectors;
 public class NoveltyReportReferencesService extends ServiceImpl<NoveltyReportReferencesMapper, NoveltyReportReferences> {
     private final NoveltyReportTemplateService noveltyReportTemplateService;
     private final ReferencesService referencesService;
+    @Autowired
+    private CacheUtils cacheUtils;
+
+    @Autowired
+    private LoginUtils loginUtils;
 
     public Integer addOrUpdate(NoveltyReportReferenceDTO noveltyReportReferenceDTO) {
         Integer id = noveltyReportReferenceDTO.getId();
@@ -46,13 +55,16 @@ public class NoveltyReportReferencesService extends ServiceImpl<NoveltyReportRef
 
     private Integer addReference(NoveltyReportReferenceDTO noveltyReportReferenceDTO) {
         Integer templateId = noveltyReportReferenceDTO.getTemplateId();
-        Integer projectId =noveltyReportReferenceDTO.getProjectId();
+        Integer projectId = noveltyReportReferenceDTO.getProjectId();
         NoveltyReportTemplate noveltyReportTemplate = noveltyReportTemplateService.getById(templateId);
         String dataSource = noveltyReportReferenceDTO.getDataSource();
         //添加附件
         References references = new References();
-        references.setReferencesName("");
+        String name = noveltyReportTemplate.getTemplateName().replace("模板", "报告");
+        PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
+        references.setReferencesName(name);
         references.setProjectId(projectId);
+        references.setCreateId(personnelVO.getId());
         references.insert();
         //添加查新报告附件
         NoveltyReportReferences noveltyReportReferences = new NoveltyReportReferences();
@@ -80,6 +92,7 @@ public class NoveltyReportReferencesService extends ServiceImpl<NoveltyReportRef
     public Integer addFinalReference(Integer id, String fileGuid) {
         References references = referencesService.getById(id);
         references.setFileGuid(fileGuid);
+        references.updateById();
         LambdaQueryWrapper<NoveltyReportReferences> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(NoveltyReportReferences::getReportReferenceId, id);
         NoveltyReportReferences noveltyReportReferences = this.getOne(queryWrapper, false);
@@ -116,16 +129,16 @@ public class NoveltyReportReferencesService extends ServiceImpl<NoveltyReportRef
             noveltyReferencesVOS.add(noveltyReferencesVO);
 
         });
-        records.setData(referencesVOS);
+        records.setData(noveltyReferencesVOS);
         return records;
     }
 
-    public List<Integer> delete(List<Integer> ids){
+    public List<Integer> delete(List<Integer> ids) {
         //删除文件
         referencesService.removeBatchByIds(ids);
         //删除
-        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper =new LambdaQueryWrapper<>();
-        queryWrapper.in(NoveltyReportReferences::getReportReferenceId,ids);
+        LambdaQueryWrapper<NoveltyReportReferences> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.in(NoveltyReportReferences::getReportReferenceId, ids);
 
         this.remove(queryWrapper);
 

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

@@ -232,7 +232,7 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
             return new ArrayList<>();
         }
         LambdaQueryWrapper<RetrieveRecord> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.eq(RetrieveRecord::getId, retrieveIds);
+        queryWrapper.in(RetrieveRecord::getId, retrieveIds);
         List<RetrieveRecord> retrieveRecords = this.list(queryWrapper);
 
         for (RetrieveRecord retrieveRecord : retrieveRecords) {

+ 8 - 2
src/main/resources/mapper/NoveltyCompareLiteratureMapper.xml

@@ -37,10 +37,16 @@
                 and cl.literature_no = #{vo.patentNo}
             </if>
             <if test="vo.patentNos != null and vo.patentNos.size()>0">
-                and cl.literature_no in #{vo.patentNos}
+              and  cl.literature_no in
+                <foreach collection="vo.patentNos" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
             <if test="vo.ids != null and vo.ids.size()>0">
-                and cl.id in #{ids}
+                and cl.id in
+                <foreach collection="vo.ids" index="index" item="item" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
             </if>
             order by cl.sys_order
         </where>