Browse Source

Merge remote-tracking branch 'origin/dev2' into dev2

lwhhszx 2 years ago
parent
commit
b7a801c69a

+ 1 - 1
PAS/src/main/java/cn/cslg/pas/common/model/dto/TaskAddNewDTO.java

@@ -62,7 +62,7 @@ public class TaskAddNewDTO {
      */
     private Integer reportId;
     /**
-     * 任务类型2(3.欧专局 4.专利之星)
+     * 任务类型2(3.欧专局导入 4.专利之星导入 5.专利号导入
      */
     private Integer taskType2;
     /**

+ 12 - 0
PAS/src/main/java/cn/cslg/pas/common/model/vo/QueryTaskVO.java

@@ -142,6 +142,18 @@ public class QueryTaskVO implements Serializable {
      * 创建人名称
      */
     private String createName;
+    /**
+     * isAddPatentNos中的多个专利或申请号的下载任务类型(1.检索页面手动勾选的专利下载任务 2.多个专利号导入的下载任务)
+     */
+    private Integer isAddType;
+    /**
+     * 专题库名称
+     */
+    private String projectName;
+    /**
+     * 报告名称
+     */
+    private String reportName;
 
     //以下属性是两张表都没有的(值为:任务表使用的oldName、任务条件表由手动装载生成)
     /**

+ 1 - 1
PAS/src/main/java/cn/cslg/pas/domain/Task.java

@@ -23,7 +23,7 @@ import java.util.List;
 public class Task extends BaseEntity<Task> {
 
     /**
-     * 任务类型 1.Excel导入 2.导出 3.EPO欧专局导入 4.专利之星导入
+     * 任务类型 1.Excel导入 2.导出 3.EPO欧专局导入 4.专利之星导入 5.专利号导入
      */
     @TableField("type")
     private Integer type;

+ 15 - 0
PAS/src/main/java/cn/cslg/pas/service/OutInterfaceService.java

@@ -212,4 +212,19 @@ public class OutInterfaceService {
         return Objects.requireNonNull(httpClient.newCall(request).execute().body()).string();
     }
 
+    public String getReportsFromRMS(List<Integer> reportIds) throws IOException {
+        String param = new Gson().toJson(reportIds);
+        RequestBody requestBody = RequestBody.create(MediaType.parse("application/json"), param);
+        OkHttpClient httpClient = new OkHttpClient.Builder()
+                .pingInterval(400, TimeUnit.SECONDS) // 设置 PING 帧发送间隔
+                .connectTimeout(300, TimeUnit.SECONDS)//设置连接超时时间
+                .readTimeout(300, TimeUnit.SECONDS)//设置读取超时时间
+                .build();
+        Request request = new Request.Builder()
+                .url(RMSUrl + "/api/report/api/report/getReportsByIds")
+                .post(requestBody)
+                .build();
+        return Objects.requireNonNull(httpClient.newCall(request).execute().body()).string();
+    }
+
 }

+ 52 - 6
PAS/src/main/java/cn/cslg/pas/service/TaskService.java

@@ -11,6 +11,8 @@ import cn.cslg.pas.common.utils.*;
 import cn.cslg.pas.common.utils.SecurityUtils.LoginUtils;
 
 import cn.cslg.pas.domain.Personnel;
+import cn.cslg.pas.domain.Project;
+import cn.cslg.pas.domain.Report;
 import cn.cslg.pas.domain.Task;
 import cn.cslg.pas.domain.asso.TaskCondition;
 import cn.cslg.pas.mapper.TaskMapper;
@@ -61,6 +63,8 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
     private final ExcutePatentDataEpo excutePatentDataEpo;
     private final ExcutePatentDataStar excutePatentDataStar;
     private final TaskConditionService taskConditionService;
+    private final ProjectService projectService;
+    private final ReportService reportService;
     private final JobService jobService;
     private final TaskMapper taskMapper;
 
@@ -187,7 +191,7 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
         }
         //专利总数量
         task.setTotal(total);
-        //任务类型 (1Excel导入 2导出 3欧专局导入 4专利之星导入)
+        //任务类型 (1Excel导入 2导出 3欧专局导入 4专利之星导入 5专利号导入
         task.setType(taskAddNewDTO.getTaskType2());
         //导入导出字段数量
         task.setFieldNum(0);
@@ -316,12 +320,54 @@ public class TaskService extends ServiceImpl<TaskMapper, Task> implements ITaskS
                     }
                 }
             }
-            //装载任务名称(检索式+创建时间+创建人名称)
+
+            //装载任务名称(专利号/检索式 导入到 某某 专题库/报告中)
+            if (queryTaskDTO.getProjectId() != null) {  //若当前查询是查询所有导入专题库的任务,则装载专题库名称
+                List<Integer> projectIds = tasks.stream().map(QueryTaskVO::getProjectId).collect(Collectors.toList());
+                List<Project> projects = projectService.list(new LambdaQueryWrapper<Project>().in(Project::getId, projectIds));
+                tasks.forEach(task -> {
+                    projects.forEach(project -> {
+                        if (task.getProjectId().equals(project.getId())) {
+                            task.setProjectName(project.getName());
+                        }
+                    });
+                });
+            } else if (queryTaskDTO.getReportId() != null) {  //若当前查询是查询所有导入报告的任务,则装载报告名称
+                List<Integer> reportIds = tasks.stream().map(QueryTaskVO::getReportId).collect(Collectors.toList());
+                String res2 = outInterfaceService.getReportsFromRMS(reportIds);
+                JSONObject jsonObject2 = JSONObject.parseObject(res2);
+                List<Report> reports = JSON.parseArray(jsonObject2.getString("data"), Report.class);
+                tasks.forEach(task -> {
+                    reports.forEach(report -> {
+                        if (task.getReportId().equals(report.getId())) {
+                            task.setReportName(report.getName());
+                        }
+                    });
+                });
+            }
+
             for (QueryTaskVO task : tasks) {
-                if (task.getType().equals(3) || task.getType().equals(4)) {
-                    String conditions = task.getConditions();
-                    String createTime = new SimpleDateFormat("yyyyMMdd").format(task.getCreateTime());
-                    String taskName = createTime + " - 检索式:" + conditions + " - " + task.getCreateName();
+                String taskName = "";
+                if (task.getType().equals(5)) {  //若是专利号导入任务
+                    if (task.getProjectName() != null) {
+                        taskName = "专利号导入到专题库【" + task.getProjectName() + "】中 - " + task.getCreateName();
+                    } else if (task.getReportName() != null) {
+                        taskName = "专利号导入到报告【" + task.getReportName() + "】中 - " + task.getCreateName();
+                    }
+                    task.setTaskName(taskName);
+                } else if (task.getType().equals(3) || task.getType().equals(4)) {  //若是检索式导入(欧专局或专利之星)
+                    if (task.getProjectName() != null) {
+                        taskName = "检索式导入到专题库【" + task.getProjectName() + "】中 - " + task.getCreateName();
+                    } else if (task.getReportName() != null) {
+                        taskName = "检索式导入到报告【" + task.getReportName() + "】中 - " + task.getCreateName();
+                    }
+                    task.setTaskName(taskName);
+                } else if (task.getType().equals(2)) {  //若是导出
+                    if (task.getProjectName() != null) {
+                        taskName = "从专题库【" + task.getProjectName() + "】导出 - " + task.getCreateName();
+                    } else if (task.getReportName() != null) {
+                        taskName = "从报告【" + task.getReportName() + "】导出 - " + task.getCreateName();
+                    }
                     task.setTaskName(taskName);
                 }
             }

+ 8 - 6
PAS/src/main/java/cn/cslg/pas/service/upLoadPatent/PantentQueueService.java

@@ -106,7 +106,7 @@ public class PantentQueueService {
                     }
 
                     //若是网站导入任务,则将网站导入相关信息存入task对象中(方便生产与消费时使用)
-                    if (task.getType().equals(3) || task.getType().equals(4)) {
+                    if (task.getType().equals(3) || task.getType().equals(4) || task.getType().equals(5)) {
                         TaskCondition taskCondition = taskConditionService.getById(task.getTaskConditionId());
                         List<String> configCells = Arrays.asList(taskCondition.getConfigCells().split(","));
                         task.setConfigCellsNum(configCells.size());
@@ -162,7 +162,7 @@ public class PantentQueueService {
                             .setUploadParamsVO(pQueueData.getUploadParamsVO());
 
                     //专利之星
-                    if (task.getType() == 4) {
+                    if (task.getType() == 4 || task.getType().equals(5)) {
                         excutePatentDataStar.setPatentZhuLu(pQueueData.getStarPatent(), pQueueData.getUploadParamsVO());
                     }
 
@@ -207,7 +207,7 @@ public class PantentQueueService {
 
                     //专利之星
                     Boolean canSendMessage = true;
-                    if (task.getType() == 4) {
+                    if (task.getType() == 4 || task.getType().equals(5)) {
                         canSendMessage = excutePatentDataStar.setPatentClaim(pQueueData.getStarPatent(), pQueueData.getUploadParamsVO(), pQueueData);
                     }
 
@@ -254,7 +254,7 @@ public class PantentQueueService {
                             .setUploadParamsVO(pQueueData.getUploadParamsVO());
 
                     //专利之星
-                    if (task.getType() == 4) {
+                    if (task.getType() == 4 || task.getType().equals(5)) {
                         excutePatentDataStar.setPatentInstructionText(pQueueData.getStarPatent(), pQueueData.getUploadParamsVO(), pQueueData);
                     }
 
@@ -299,7 +299,7 @@ public class PantentQueueService {
                             .setUploadParamsVO(pQueueData.getUploadParamsVO());
 
                     //专利之星
-                    if (task.getType() == 4) {
+                    if (task.getType() == 4 || task.getType().equals(5)) {
                         excutePatentDataStar.setPatentInstructionPDF(pQueueData.getStarPatent(), pQueueData.getUploadParamsVO(), task);
                     }
 
@@ -344,7 +344,7 @@ public class PantentQueueService {
                             .setUploadParamsVO(pQueueData.getUploadParamsVO());
 
                     //专利之星
-                    if (task.getType() == 4) {
+                    if (task.getType() == 4 || task.getType().equals(5)) {
                         excutePatentDataStar.setPatentPicture(pQueueData.getStarPatent(), pQueueData.getUploadParamsVO());
                     }
 
@@ -828,6 +828,8 @@ public class PantentQueueService {
                 return excutePatentDataEpo;
             case 4:  //专利之星网站导入
                 return excutePatentDataStar;
+            case 5:  //专利号导入(也是专利之星方式)
+                return excutePatentDataStar;
             default:
                 return null;
         }

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

@@ -144,7 +144,7 @@ public class UploadTaskService {
         //任务表新增任务
         Integer taskId = taskService.addTask3(taskAddNewDTO, total, taskCondition);
 
-        //任务与任务条件关联表(asso_osTask_qrtzTask)更新数据(普通任务)
+        //任务条件表(task_condition)更新数据(普通任务)
         if (taskAddNewDTO.getTaskType().equals(0)) {
             taskCondition.setTaskId(taskId);
             taskConditionService.updateById(taskCondition);
@@ -237,13 +237,13 @@ public class UploadTaskService {
                 .setConfigId(2)
                 .setTaskName("多个专利号导入方式任务")
                 .setTaskType(0)
-                .setTaskType2(4)
+                .setTaskType2(5)
                 .setIsAddType(2);
 
         //根据下载的网站类型新增任务
         if (taskAddNewDTO.getTaskType2().equals(3)) {
             this.addEpoTask(taskAddNewDTO);
-        } else if (taskAddNewDTO.getTaskType2().equals(4)) {
+        } else if (taskAddNewDTO.getTaskType2().equals(4) || taskAddNewDTO.getTaskType2().equals(5)) {
             this.addPatentStarTask(taskAddNewDTO);
         }
 

+ 2 - 1
PAS/src/main/resources/mapper/TaskMapper.xml

@@ -49,7 +49,7 @@
         con.id, con.task_id, con.task_type, con.task_type2, con.conditions,
         con.crons, con.config_cells, con.config_id, con.task_name, con.total,
         con.orderby, con.orderby_type, con.db_type, con.start_number, con.end_number,
-        con.isadd_patentnos, con.isdelete_patentnos
+        con.isadd_patentnos, con.isdelete_patentnos, con.isadd_type
         from os_task tas
         left join os_task tas2 on tas.task_condition_id = tas2.task_condition_id and tas.ctime &lt; tas2.ctime
         left join task_condition con on tas.task_condition_id = con.id
@@ -134,6 +134,7 @@
         <result column="end_number" property="endNumber"/>
         <result column="isadd_patentnos" property="isAddPatentNos"/>
         <result column="isdelete_patentnos" property="isDeletePatentNos"/>
+        <result column="isadd_type" property="isAddType"/>
     </resultMap>