Prechádzať zdrojové kódy

3/26 权利要求编辑保存

lwhhszx 1 rok pred
rodič
commit
63e2211aee

+ 29 - 0
src/main/java/cn/cslg/pas/common/dto/ClaimCompareDescriptionDTO.java

@@ -0,0 +1,29 @@
+package cn.cslg.pas.common.dto;
+
+
+
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+
+/**
+ * <p>
+ * 委托方表
+ * </p>
+ *
+ * @author 王岩
+ * @since 2022-02-17
+ */
+@Data
+public class ClaimCompareDescriptionDTO {
+    /**
+     * 对应特征
+     */
+    private Integer id;
+    private Integer rightSort;
+
+    private String compareDescription;
+
+    private Boolean ifChange;
+
+}

+ 6 - 0
src/main/java/cn/cslg/pas/common/dto/business/TortCompareRecordDTO.java

@@ -1,11 +1,13 @@
 package cn.cslg.pas.common.dto.business;
 
+import cn.cslg.pas.common.dto.ClaimCompareDescriptionDTO;
 import lombok.Data;
 
 import java.util.List;
 
 /**
  * 侵权分析对比结果保存DTO
+ *
  * @Author xiexiang
  * @Date 2023/12/8
  */
@@ -26,8 +28,12 @@ public class TortCompareRecordDTO {
      */
     private String patentNo;
 
+    private Integer literatureId;
     /**
      * 特征与侵权分析对比结果DTO
      */
     private List<TortDTO> tortDTOS;
+    private List<ClaimCompareDescriptionDTO> claimCompareDescriptionDTOS;
+    private String literatureCompareDescription;
+
 }

+ 4 - 3
src/main/java/cn/cslg/pas/domain/business/AssoClaimCompareDescription.java

@@ -1,12 +1,13 @@
 package cn.cslg.pas.domain.business;
 
+import cn.cslg.pas.domain.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 
 @Data
 @TableName("asso_claim_compare_description")
-public class AssoClaimCompareDescription {
+public class AssoClaimCompareDescription extends BaseEntity<AssoClaimCompareDescription> {
     @TableField(value = "project_id")
     private Integer projectId;
 
@@ -19,10 +20,10 @@ public class AssoClaimCompareDescription {
     @TableField(value = "literature_id")
     private Integer literatureId;
     @TableField(value = "literature_no")
-    private Integer literatureNo;
+    private String literatureNo;
     /**
      * 0专题库/1报告类型
      */
     @TableField(value = "compare_description")
-    private Integer compareDescription;
+    private String compareDescription;
 }

+ 5 - 4
src/main/java/cn/cslg/pas/domain/business/AssoLiteratureCompareDescription.java

@@ -28,9 +28,10 @@ public class AssoLiteratureCompareDescription extends BaseEntity<AssoLiteratureC
     @TableField(value = "literature_id")
     private Integer literatureId;
 
-    /**
-     * 0专题库/1报告类型
-     */
+
     @TableField(value = "compare_description")
-    private Integer compareDescription;
+    private String compareDescription;
+    @TableField(value = "literature_no")
+    private String literatureNo;
+
 }

+ 14 - 0
src/main/java/cn/cslg/pas/mapper/ftoReport/AssoClaimCompareDescriptionMapper.java

@@ -0,0 +1,14 @@
+package cn.cslg.pas.mapper.ftoReport;
+
+import cn.cslg.pas.domain.business.AdminProceed;
+import cn.cslg.pas.domain.business.AssoClaimCompareDescription;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.springframework.stereotype.Repository;
+
+/**
+ * @Author lrj
+ * @Date 2024/03/26
+ */
+@Repository
+public interface AssoClaimCompareDescriptionMapper extends BaseMapper<AssoClaimCompareDescription> {
+}

+ 21 - 9
src/main/java/cn/cslg/pas/service/business/FTOCompareRecordService.java

@@ -1,5 +1,6 @@
 package cn.cslg.pas.service.business;
 
+import cn.cslg.pas.common.dto.ClaimCompareDescriptionDTO;
 import cn.cslg.pas.common.dto.ComparedPatentDTO;
 import cn.cslg.pas.common.dto.ComparedPatentVO;
 import cn.cslg.pas.common.dto.business.GetFeatureSplitDTO;
@@ -21,6 +22,8 @@ import cn.cslg.pas.mapper.FTOCompareRecordMapper;
 import cn.cslg.pas.service.business.es.EsFamilyService;
 import cn.cslg.pas.service.business.es.EsPatentService;
 import cn.cslg.pas.service.business.es.EsService;
+import cn.cslg.pas.service.business.ftoReport.AssoClaimCompareDescriptionService;
+import cn.cslg.pas.service.business.ftoReport.AssoLiteratureCompareDescriptionService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
@@ -76,6 +79,11 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
     @Autowired
     private PatentSplitMessageService patentSplitMessageService;
 
+    @Autowired
+    private AssoLiteratureCompareDescriptionService assoLiteratureCompareDescriptionService;
+    @Autowired
+    private AssoClaimCompareDescriptionService assoClaimCompareDescriptionService;
+
     /**
      * 查询FTO对比结果VO
      *
@@ -244,6 +252,9 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
     @Transactional(rollbackFor = Exception.class)
     public List<Integer> addFTOCompareRecord(TortCompareRecordDTO tortCompareRecordDTO) {
         Integer taskId = tortCompareRecordDTO.getTaskId();
+        Integer projectId = tortCompareRecordDTO.getProjectId();
+        Integer literatureId = tortCompareRecordDTO.getLiteratureId();
+        List<ClaimCompareDescriptionDTO> claimCompareDescriptionDTOS = tortCompareRecordDTO.getClaimCompareDescriptionDTOS();
         if (taskId == null) {
             throw new XiaoShiException("taskId不能为空");
         }
@@ -276,6 +287,8 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
             // 更新剩余特征和对比结果
             ids = this.updateFeatures(patentNo, taskId, featureIds, tortDTOS);
         }
+        assoClaimCompareDescriptionService.addOrUpdate(claimCompareDescriptionDTOS, taskId, projectId, literatureId, patentNo);
+        assoLiteratureCompareDescriptionService.addOrUpdate(tortCompareRecordDTO);
         return ids;
     }
 
@@ -877,18 +890,17 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
         Long current = comparedPatentDTO.getCurrent();
         Long size = comparedPatentDTO.getSize();
         //根据projectId 查询出对比过的专利号
-        List<String> patentNos =new ArrayList<>();
+        List<String> patentNos = new ArrayList<>();
         //根据projectId 查询报告
-        LambdaQueryWrapper<ReportProject> queryWrapper =new LambdaQueryWrapper<>();
-        queryWrapper.eq(ReportProject::getProjectId,projectId);
-        ReportProject reportProject =reportProjectService.getOne(queryWrapper,false);
-        if(reportProject==null){
+        LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ReportProject::getProjectId, projectId);
+        ReportProject reportProject = reportProjectService.getOne(queryWrapper, false);
+        if (reportProject == null) {
             throw new XiaoShiException("报告不存在");
         }
-        if(reportProject.getReportType().equals(4)){
+        if (reportProject.getReportType().equals(4)) {
             patentNos.add(reportProject.getSignPatentNo());
-        }
-        else {
+        } else {
             patentNos = this.getBaseMapper().getComparedPatents(projectId, compareResult);
         }
         List<ComparedPatentVO> comparedPatentVOS = new ArrayList<>();
@@ -903,7 +915,7 @@ public class FTOCompareRecordService extends ServiceImpl<FTOCompareRecordMapper,
                 patents.forEach(item -> {
                     ComparedPatentVO comparedPatentVO = new ComparedPatentVO();
                     BeanUtils.copyProperties(item, comparedPatentVO);
-                    if(comparedPatentVO.getGrantNo()==null){
+                    if (comparedPatentVO.getGrantNo() == null) {
                         comparedPatentVO.setGrantNo(item.getPublicNo());
                         comparedPatentVO.setGrantDate(item.getPublicDate());
                     }

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

@@ -72,7 +72,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
         assoProjectPersonList.forEach(item->{
             Integer projectId =item.getProjectId();
             List<String> roles =map.get(projectId);
-            roles.add("2");
+            if(!roles.contains(item.getRole()+"")) {
+                roles.add(item.getRole()+"");
+            }
         });
 
 return map;

+ 40 - 0
src/main/java/cn/cslg/pas/service/business/ftoReport/AssoClaimCompareDescriptionService.java

@@ -0,0 +1,40 @@
+package cn.cslg.pas.service.business.ftoReport;
+
+import cn.cslg.pas.common.dto.ClaimCompareDescriptionDTO;
+import cn.cslg.pas.common.utils.CacheUtils;
+import cn.cslg.pas.common.utils.LoginUtils;
+import cn.cslg.pas.domain.business.AssoClaimCompareDescription;
+import cn.cslg.pas.mapper.ftoReport.AssoClaimCompareDescriptionMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Service
+public class AssoClaimCompareDescriptionService extends ServiceImpl<AssoClaimCompareDescriptionMapper, AssoClaimCompareDescription> {
+    @Autowired
+    private CacheUtils cacheUtils;
+    @Autowired
+    private LoginUtils loginUtils;
+
+    public void addOrUpdate(List<ClaimCompareDescriptionDTO> claimCompareDescriptionDTOS, Integer taskId, Integer projectId, Integer literatureId, String literatureNo) {
+
+        List<AssoClaimCompareDescription> assoClaimCompareDescriptions = new ArrayList<>();
+        for (ClaimCompareDescriptionDTO claimCompareDescriptionDTO : claimCompareDescriptionDTOS) {
+            if (claimCompareDescriptionDTO.getIfChange() != null && claimCompareDescriptionDTO.getIfChange()) {
+                AssoClaimCompareDescription assoClaimCompareDescription = new AssoClaimCompareDescription();
+                assoClaimCompareDescription.setCompareDescription(claimCompareDescriptionDTO.getCompareDescription());
+                assoClaimCompareDescription.setId(claimCompareDescriptionDTO.getId());
+                assoClaimCompareDescription.setLiteratureId(literatureId);
+                assoClaimCompareDescription.setLiteratureNo(literatureNo);
+                assoClaimCompareDescription.setTaskId(taskId);
+                assoClaimCompareDescriptions.add(assoClaimCompareDescription);
+            }
+        }
+        if (assoClaimCompareDescriptions.size() > 0) {
+            this.saveOrUpdateBatch(assoClaimCompareDescriptions);
+        }
+    }
+}

+ 60 - 0
src/main/java/cn/cslg/pas/service/business/ftoReport/AssoLiteratureCompareDescriptionService.java

@@ -0,0 +1,60 @@
+package cn.cslg.pas.service.business.ftoReport;
+
+import cn.cslg.pas.common.dto.business.TortCompareRecordDTO;
+import cn.cslg.pas.domain.business.AssoLiteratureCompareDescription;
+import cn.cslg.pas.mapper.AssoLiteratureCompareDescriptionMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+@Service
+public class AssoLiteratureCompareDescriptionService extends ServiceImpl<AssoLiteratureCompareDescriptionMapper, AssoLiteratureCompareDescription> {
+
+    public Integer addOrUpdate(TortCompareRecordDTO tortCompareRecordDTO) {
+        Integer projectId = tortCompareRecordDTO.getProjectId();
+        Integer taskId = tortCompareRecordDTO.getTaskId();
+        String patentNo = tortCompareRecordDTO.getPatentNo();
+        Integer literatureId = tortCompareRecordDTO.getLiteratureId();
+        String literatureCompareDescription = tortCompareRecordDTO.getLiteratureCompareDescription();
+        AssoLiteratureCompareDescription assoLiteratureCompareDescription = this.getAssoLiteratureCompareDescription(projectId, taskId, patentNo, literatureId);
+
+        if (assoLiteratureCompareDescription == null) {
+            assoLiteratureCompareDescription = new AssoLiteratureCompareDescription();
+            assoLiteratureCompareDescription.setProjectId(projectId);
+            assoLiteratureCompareDescription.setTaskId(taskId);
+            assoLiteratureCompareDescription.setLiteratureId(literatureId);
+            assoLiteratureCompareDescription.setLiteratureNo(patentNo);
+            assoLiteratureCompareDescription.setCompareDescription(literatureCompareDescription);
+            assoLiteratureCompareDescription.insert();
+        }
+
+        else {
+            assoLiteratureCompareDescription.setCompareDescription(literatureCompareDescription);
+            assoLiteratureCompareDescription.updateById();
+        }
+
+        return assoLiteratureCompareDescription.getLiteratureId();
+    }
+
+    private AssoLiteratureCompareDescription getAssoLiteratureCompareDescription(Integer projectId, Integer taskId, String patentNo, Integer literatureId) {
+        AssoLiteratureCompareDescription assoLiteratureCompareDescription = null;
+        if ((projectId == null && taskId == null) || (patentNo == null && literatureId == null)) {
+            return assoLiteratureCompareDescription;
+        }
+        LambdaQueryWrapper<AssoLiteratureCompareDescription> queryWrapper = new LambdaQueryWrapper<>();
+        if (projectId != null) {
+            queryWrapper.eq(AssoLiteratureCompareDescription::getProjectId, projectId);
+        }
+        if (taskId != null) {
+            queryWrapper.eq(AssoLiteratureCompareDescription::getTaskId, taskId);
+        }
+        if (patentNo != null) {
+            queryWrapper.eq(AssoLiteratureCompareDescription::getLiteratureNo, patentNo);
+        }
+        if (literatureId != null) {
+            queryWrapper.eq(AssoLiteratureCompareDescription::getLiteratureId, literatureId);
+        }
+        assoLiteratureCompareDescription = this.getOne(queryWrapper, false);
+        return assoLiteratureCompareDescription;
+    }
+}

+ 6 - 7
src/main/java/cn/cslg/pas/service/importPatent/GetPatentPictureFromWebThread.java

@@ -45,7 +45,6 @@ public class GetPatentPictureFromWebThread extends Thread {
 
     @Override
     public void run() {
-
         while ((!ifProductAll || uploadPatentWebDTOs.size() > 0) && importTaskAMVO.getState().equals(1)) {
 
             try {
@@ -53,9 +52,9 @@ public class GetPatentPictureFromWebThread extends Thread {
                     taskLock.lock();
                     taskCondition.await();
                 }
-            }catch (Exception e){
+            } catch (Exception e) {
             }
-            UploadPatentWebDTO  uploadPatentWebDTO = uploadPatentWebDTOs.remove(0);
+            UploadPatentWebDTO uploadPatentWebDTO = uploadPatentWebDTOs.remove(0);
             try {
 
                 PatentStarApiService patentStarApiService = applicationContext.getBean(PatentStarApiService.class);
@@ -67,9 +66,9 @@ public class GetPatentPictureFromWebThread extends Thread {
                     String guid = FormatUtil.getPictureFormat(uploadPatentWebDTO.getStarPatentVO().getApplicationNo());
                     fileManagerService.uploadFileWithGuid(file, guid);
                 }
-                taskThread.updateProcess(false,2,"");
+                taskThread.updateProcess(false, 2, "");
             } catch (Exception e) {
-                taskThread.updateProcess(true,2,"");
+                taskThread.updateProcess(true, 2, "");
                 e.printStackTrace();
             }
 
@@ -86,8 +85,8 @@ public class GetPatentPictureFromWebThread extends Thread {
     }
 
     public void awakeTask(UploadPatentWebDTO uploadPatentWebDTO) {
-        UploadPatentWebDTO uploadPatentWebDTO1=new UploadPatentWebDTO();
-        BeanUtils.copyProperties(uploadPatentWebDTO,uploadPatentWebDTO1);
+        UploadPatentWebDTO uploadPatentWebDTO1 = new UploadPatentWebDTO();
+        BeanUtils.copyProperties(uploadPatentWebDTO, uploadPatentWebDTO1);
         uploadPatentWebDTOs.add(uploadPatentWebDTO1);
         if (taskLock.tryLock()) {
             taskCondition.signalAll();

+ 2 - 2
src/main/resources/application.yml

@@ -20,7 +20,7 @@ spring:
       max-file-size: 1000MB
       max-request-size: 1000MB
   profiles:
-    active: dev
+    active: prodNetOut
   jackson:
     default-property-inclusion: non_null
     serialization:
@@ -28,7 +28,7 @@ spring:
     date-format: yyyy-MM-dd HH:mm:ss
     time-zone: Asia/Shanghai
 logging:
-  config: classpath:config/logback-spring.xml
+  config: classpath:config/
   level:
     cn.cslg.pas.mapper: debug
 #mybatis