Ver Fonte

专利号导入完成导入中国和外国专利号,完成超过一千个专利号的导入,完成暂停继续功能

chendayu há 2 anos atrás
pai
commit
586f1b7fa7

+ 9 - 15
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/UploadTaskService.java

@@ -211,7 +211,7 @@ public class UploadTaskService {
     public void addPatentNoTask(TaskAddNewDTO taskAddNewDTO) throws IOException {
         log.info("开始处理【专利号导入专利】的业务,业务参数为:{}", taskAddNewDTO);
 
-        //检查合法性
+        //检查任务合法性1(用户是否只是输入了空格)
         if (taskAddNewDTO == null || taskAddNewDTO.getConditions() == null || taskAddNewDTO.getConditions().trim().equals("")) {
             ThrowException.throwXiaoShiException("请输入专利号");
             return;
@@ -221,13 +221,13 @@ public class UploadTaskService {
         patentNoStr = patentNoStr.replaceAll(" +", "");  //去掉所有空格
         List<String> patentNos = Arrays.asList(patentNoStr.split("[,|,]"));  //生成专利号集合
 
-        //检查合法性,若用户输入的多个专利号总长度超过24,但拆分后专利号集合只有一个元素(即只有一个专利号),则表示用户输入的格式不正确
+        //检查任务合法性2(用户输入的多个专利号是否符合要求)
         if (patentNoStr.length() > 24 && patentNos.size() == 1) {
             ThrowException.throwXiaoShiException("请按照格式要求正确输入专利号");
         }
 
         taskAddNewDTO
-                .setConditions(patentNoStr.replaceAll("[,|,]", "|"))
+                .setConditions(patentNoStr)
                 .setEndNumber(0)
                 .setIsAddPatentNos(patentNos)
                 .setDBType("CN/WD")
@@ -239,13 +239,7 @@ public class UploadTaskService {
                 .setTaskType(0)
                 .setTaskType2(5);
 
-        //检查任务合法性1(检查是否有选择下载字段)
-        List<String> cells = taskAddNewDTO.getConfigCells();
-        if (cells == null || cells.size() == 0) {
-            ThrowException.throwXiaoShiException("请选择至少一个需要下载的字段");
-        }
-
-        //检查任务合法性2(检查专题库是否存在)
+        //检查任务合法性3(专题库是否存在)
         if (taskAddNewDTO.getProjectId() != null) {
             Project project = projectService.getById(taskAddNewDTO.getProjectId());
             if (project == null) {
@@ -253,7 +247,7 @@ public class UploadTaskService {
             }
         }
 
-        //检查任务合法性3(检查产品是否存在)
+        //检查任务合法性4(产品是否存在)
         if (taskAddNewDTO.getProductId() != null) {
             Product product = productService.getById(taskAddNewDTO.getProductId());
             if (product == null) {
@@ -261,9 +255,9 @@ public class UploadTaskService {
             }
         }
 
-        //TODO 检查任务合法性4(检查报告是否存在)
+        //TODO 检查任务合法性5(报告是否存在)
 
-        //检查任务合法性5(尝试检索式能否检索出专利)
+        //检查任务合法性6(检索式是否可以检索出专利)
         Map<String, Object> resultMap = null;
         PatentStarListDto patentStarListDto = new PatentStarListDto()
                 .setOrderBy(taskAddNewDTO.getOrderBy())
@@ -272,6 +266,7 @@ public class UploadTaskService {
                 .setRowCount(10);
         //中国专利检索中国库
         List<String> cNPatentNos = taskAddNewDTO.getIsAddPatentNos().stream().filter(patentNo -> patentNo.contains("CN")).collect(Collectors.toList());
+        List<String> wDPatentNos = taskAddNewDTO.getIsAddPatentNos().stream().filter(patentNo -> !patentNo.contains("CN")).collect(Collectors.toList());
         if (cNPatentNos.size() > 0) {
             List<String> cNPatentNos0;
             try {
@@ -287,7 +282,6 @@ public class UploadTaskService {
             resultMap = patentStarApiService.patentStarSearchApi(patentStarListDto);
         }
         //外国专利检索外国库
-        List<String> wDPatentNos = taskAddNewDTO.getIsAddPatentNos().stream().filter(patentNo -> !patentNo.contains("CN")).collect(Collectors.toList());
         if (wDPatentNos.size() > 0 && (resultMap == null || (Integer) resultMap.get("total") == 0)) {
             List<String> wDPatentNos0;
             try {
@@ -365,7 +359,7 @@ public class UploadTaskService {
                 .setStartNumber(taskAddNewDTO.getStartNumber())
                 .setEndNumber(taskAddNewDTO.getEndNumber())
                 .setIsAddType(taskAddNewDTO.getIsAddType())
-                .setConfigCells(String.join(",", cells));
+                .setConfigCells(StringUtils.join(taskAddNewDTO.getConfigCells(), ","));
         taskCondition.setIsAddPatentNos(StringUtils.join(taskAddNewDTO.getIsAddPatentNos(), ","));
 
         log.info("任务条件表新增数据");