lwhhszx 2 tahun lalu
induk
melakukan
b48f787d0e

+ 1 - 1
RMS/src/main/java/cn/cslg/report/entity/ReportReferences.java

@@ -42,7 +42,7 @@ public class ReportReferences extends BaseEntity<ReportReferences> {
 
     @Schema(description = "参考资料名称")
     @TableField(value = "REFERENCES_NAME")
-    private String referName;
+    private String name;
 
     @Schema(description = "文件名称")
     @TableField(value = "FILE_NAME")

+ 17 - 6
RMS/src/main/java/cn/cslg/report/service/BaseService.java

@@ -12,12 +12,14 @@ import cn.cslg.report.common.utils.SecurityUtils.LoginUtils;
 import cn.cslg.report.entity.CompareFiles;
 import cn.cslg.report.entity.ImportTask;
 import cn.cslg.report.entity.Task;
+import cn.cslg.report.service.business.CompareFilesService;
 import cn.cslg.report.service.business.ImportTaskService;
 import cn.hutool.core.collection.IterUtil;
 import cn.hutool.poi.excel.ExcelUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import io.swagger.v3.oas.models.security.SecurityScheme;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -37,6 +39,7 @@ import java.io.IOException;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.function.Function;
 
 @Slf4j
 @Service
@@ -47,6 +50,7 @@ public class BaseService {
     private final LoginUtils loginUtils;
     private final CacheUtils cacheUtils;
     private final ImportTaskService importTaskService;
+    private final CompareFilesService compareFilesService;
 
     /**
      * @return 1.生成验证码的base64转码 2.生成的UUID 与Redis里面的验证码KEY值一致
@@ -295,6 +299,12 @@ public class BaseService {
 
     @Async()
     public void uploadToPCS(ImportTask importTask, Boolean asCompare) {
+        //根据报告id获得所有对比文件
+        QueryWrapper<CompareFiles> comWrapper = new QueryWrapper<>();
+        comWrapper.select("DISTINCT PATENT_NO").lambda()
+                .eq(CompareFiles::getReportId, importTask.getReportId());
+        Function<Object, String> f = (o -> o.toString());
+        List<String> comPatentNos = compareFilesService.listObjs(comWrapper, f);
         Integer total = importTask.getImportCount();
         List<List<Object>> fileHead = new ArrayList<>();
         //解析excel文件并保存进map里
@@ -327,11 +337,12 @@ public class BaseService {
                             //判断是否直接作为对比文件
                             if (asCompare != null && asCompare) {
                                 if (jsonObject.get("code").toString().equals("200")) {
-                                    CompareFiles compareFiles = new CompareFiles();
-                                    compareFiles.setReportId(importTask.getReportId());
-                                    compareFiles.setPatentNo(jsonObject.get("data").toString());
-                                    compareFiles.insert();
-
+                                    if (!comPatentNos.contains(jsonObject.get("data").toString())) {
+                                        CompareFiles compareFiles = new CompareFiles();
+                                        compareFiles.setReportId(importTask.getReportId());
+                                        compareFiles.setPatentNo(jsonObject.get("data").toString());
+                                        compareFiles.insert();
+                                    }
                                 }
                             }
                             if ((int) rowIndex == taskParams.getTotal()) {
@@ -353,7 +364,7 @@ public class BaseService {
                                     .setFileName("")
                                     .setOldName(taskParams.getOldName())
                                     .setUrl("")
-                                    .setTotal(total), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS),null);
+                                    .setTotal(total), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), null);
                         } catch (IOException | ParseException e) {
                             importTask.setState(3);
                             importTask.updateById();

+ 0 - 1
RMS/src/main/java/cn/cslg/report/service/OutInterfaceService.java

@@ -273,7 +273,6 @@ public class OutInterfaceService {
      * @description 接口来源:PCS
      */
     public String getPatentFromPAS(String patentNo) throws IOException {
-
         OkHttpClient okHttpClient = new OkHttpClient();
         Request request = new Request.Builder()
                 .url(PASUrl + "/api/v2/patent/patentNo?patentNo=" + patentNo)

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/ReportFieldService.java

@@ -331,7 +331,7 @@ public class ReportFieldService extends ServiceImpl<ReportFieldMapper, ReportFie
             LambdaQueryWrapper<CompareFiles> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(CompareFiles::getReportId, reportField.getReportId());
             List<CompareFiles> compareFiles = compareFilesService.list(queryWrapper);
-            allNos = compareFiles.stream().map(CompareFiles::getPatentNo).collect(Collectors.toList());
+            allNos = compareFiles.stream().map(CompareFiles::getPatentNo).distinct().collect(Collectors.toList());
 
         }
 

+ 1 - 1
RMS/src/main/java/cn/cslg/report/service/business/ReportReferencesService.java

@@ -54,7 +54,7 @@ public class ReportReferencesService extends ServiceImpl<ReportReferencesMapper,
         i.setRemark(reportReferences.getRemark());
         i.setCreationManId(loginUtils.getId());
         i.setType(reportReferences.getType());
-        i.setReferName(reportReferences.getReferName());
+        i.setName(reportReferences.getName());
         i.insert();
         if (files != null && files.size() != 0) {
             //将文档上传并返回文件入库的Id

+ 3 - 2
RMS/src/main/java/cn/cslg/report/service/business/TaskService.java

@@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -936,8 +937,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> {
         //任务类型标识
         List<Integer> typeFlag = new ArrayList<>();
         //根据报告id获得所有对比文件
-        LambdaQueryWrapper<CompareFiles> comWrapper = new LambdaQueryWrapper<>();
-        comWrapper.select(CompareFiles::getPatentNo)
+        QueryWrapper<CompareFiles> comWrapper = new QueryWrapper<>();
+        comWrapper.select("DISTINCT PATENT_NO").lambda()
                 .eq(CompareFiles::getReportId, reportId);
         Function<Object, String> f = (o -> o.toString());
         List<String> comPatentNos = compareFilesService.listObjs(comWrapper, f);