|
@@ -3,9 +3,11 @@ package cn.cslg.pas.service.upLoadPatent;
|
|
import cn.cslg.pas.common.model.vo.ProjectImportPatentVO;
|
|
import cn.cslg.pas.common.model.vo.ProjectImportPatentVO;
|
|
import cn.cslg.pas.common.model.vo.UploadParamsVO;
|
|
import cn.cslg.pas.common.model.vo.UploadParamsVO;
|
|
import cn.cslg.pas.common.utils.DateUtils;
|
|
import cn.cslg.pas.common.utils.DateUtils;
|
|
|
|
+import cn.cslg.pas.common.utils.JsonUtils;
|
|
import cn.cslg.pas.domain.PQueueData;
|
|
import cn.cslg.pas.domain.PQueueData;
|
|
import cn.cslg.pas.domain.QueueData;
|
|
import cn.cslg.pas.domain.QueueData;
|
|
import cn.cslg.pas.domain.Task;
|
|
import cn.cslg.pas.domain.Task;
|
|
|
|
+import cn.cslg.pas.service.OutInterfaceService;
|
|
import cn.cslg.pas.service.PatentInstructionService;
|
|
import cn.cslg.pas.service.PatentInstructionService;
|
|
import cn.cslg.pas.service.TaskService;
|
|
import cn.cslg.pas.service.TaskService;
|
|
import cn.cslg.pas.service.UploadPatentBatchService;
|
|
import cn.cslg.pas.service.UploadPatentBatchService;
|
|
@@ -37,6 +39,7 @@ public class PantentQueueService {
|
|
private final ExcutePatentDataEpo excutePatentDataEpo;
|
|
private final ExcutePatentDataEpo excutePatentDataEpo;
|
|
private final ExcutePatentDataStar excutePatentDataStar;
|
|
private final ExcutePatentDataStar excutePatentDataStar;
|
|
private final PatentInstructionService patentInstructionService;
|
|
private final PatentInstructionService patentInstructionService;
|
|
|
|
+ private final OutInterfaceService outInterfaceService;
|
|
private final List<Integer> taskQueueList = new ArrayList<>();
|
|
private final List<Integer> taskQueueList = new ArrayList<>();
|
|
private final List<PQueueData> setPatentImageQueueList = new ArrayList<>();
|
|
private final List<PQueueData> setPatentImageQueueList = new ArrayList<>();
|
|
private final List<PQueueData> setPatentZhuluQueueList = new ArrayList<>();
|
|
private final List<PQueueData> setPatentZhuluQueueList = new ArrayList<>();
|
|
@@ -131,8 +134,7 @@ public class PantentQueueService {
|
|
projectImportPatentVO.setProjectId(task.getProjectId());
|
|
projectImportPatentVO.setProjectId(task.getProjectId());
|
|
QueueData queueData = new QueueData()
|
|
QueueData queueData = new QueueData()
|
|
.setTask(task)
|
|
.setTask(task)
|
|
- .setUploadParamsVO(pQueueData.getUploadParamsVO())
|
|
|
|
- .setProjectImportPatentVO(projectImportPatentVO);
|
|
|
|
|
|
+ .setUploadParamsVO(pQueueData.getUploadParamsVO());
|
|
//装载完成,将其丢入著录消费者队列,并唤醒著录消费者线程
|
|
//装载完成,将其丢入著录消费者队列,并唤醒著录消费者线程
|
|
patentZhuluQueueList.add(queueData);
|
|
patentZhuluQueueList.add(queueData);
|
|
patentZhuluLock.lock();
|
|
patentZhuluLock.lock();
|
|
@@ -341,12 +343,20 @@ public class PantentQueueService {
|
|
queueData = patentZhuluQueueList.remove(0);
|
|
queueData = patentZhuluQueueList.remove(0);
|
|
//著录项目入库
|
|
//著录项目入库
|
|
uploadPatentToDBService.uploadPatentZhulu(queueData.getUploadParamsVO());
|
|
uploadPatentToDBService.uploadPatentZhulu(queueData.getUploadParamsVO());
|
|
- //专题库与专利关联入库
|
|
|
|
- uploadPatentToDBService.uploadAssoThemaPat(queueData.getUploadParamsVO(), queueData.getProjectImportPatentVO());
|
|
|
|
|
|
+ //判断是与专题库关联还是与报告关联
|
|
|
|
+ if (queueData.getTask().getProjectId() != null && !queueData.getTask().getProjectId().equals(0)) {
|
|
|
|
+ //与专题库关联入库
|
|
|
|
+ uploadPatentToDBService.uploadAssoThemaPat(queueData.getUploadParamsVO(), queueData.getTask().getProjectId());
|
|
|
|
+ } else if (queueData.getTask().getReportId() != null && !queueData.getTask().getReportId().equals(0)) {
|
|
|
|
+ //与报告关联入库(调用报告系统接口)
|
|
|
|
+ outInterfaceService.importAssoReportPatentNo(queueData.getTask().getReportId(), queueData.getUploadParamsVO().getPatent().getPatentNo());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ProjectImportPatentVO projectImportPatentVO = JsonUtils.jsonToPojo(queueData.getTask().getPramJson(), ProjectImportPatentVO.class);
|
|
//自定义字段标引与专利关联入库
|
|
//自定义字段标引与专利关联入库
|
|
- uploadPatentToDBService.uploadAssoFieldPat(queueData.getUploadParamsVO(), queueData.getProjectImportPatentVO());
|
|
|
|
|
|
+ uploadPatentToDBService.uploadAssoFieldPat(queueData.getUploadParamsVO(), projectImportPatentVO);
|
|
//文件夹与专利关联入库
|
|
//文件夹与专利关联入库
|
|
- uploadPatentToDBService.uploadAssoPorPat(queueData.getUploadParamsVO(), queueData.getProjectImportPatentVO());
|
|
|
|
|
|
+ uploadPatentToDBService.uploadAssoPorPat(queueData.getUploadParamsVO(), projectImportPatentVO);
|
|
//Websocket发送message:通过WebSocket 在每一次循环结束后 向前端发送完成进度
|
|
//Websocket发送message:通过WebSocket 在每一次循环结束后 向前端发送完成进度
|
|
sendMessage(queueData);
|
|
sendMessage(queueData);
|
|
} else {
|
|
} else {
|
|
@@ -564,19 +574,17 @@ public class PantentQueueService {
|
|
/**
|
|
/**
|
|
* 专利丢入5个消费者队列,并唤醒5个消费者线程
|
|
* 专利丢入5个消费者队列,并唤醒5个消费者线程
|
|
*
|
|
*
|
|
- * @param task 任务对象
|
|
|
|
- * @param uploadParamsVO 专利实体类对象
|
|
|
|
- * @param projectImportPatentVO 专利与专题库关联数据对象
|
|
|
|
|
|
+ * @param task 任务对象
|
|
|
|
+ * @param uploadParamsVO 专利实体类对象
|
|
*/
|
|
*/
|
|
- public void patentToQueue(Task task, UploadParamsVO uploadParamsVO, ProjectImportPatentVO projectImportPatentVO) {
|
|
|
|
|
|
+ public void patentToQueue(Task task, UploadParamsVO uploadParamsVO) {
|
|
//保存专利基础数据(专利表"os_patent")
|
|
//保存专利基础数据(专利表"os_patent")
|
|
uploadPatentBatchService.getOneOrInsertOne(uploadParamsVO);
|
|
uploadPatentBatchService.getOneOrInsertOne(uploadParamsVO);
|
|
|
|
|
|
|
|
|
|
QueueData queueData = new QueueData()
|
|
QueueData queueData = new QueueData()
|
|
.setTask(task)
|
|
.setTask(task)
|
|
- .setUploadParamsVO(uploadParamsVO)
|
|
|
|
- .setProjectImportPatentVO(projectImportPatentVO);
|
|
|
|
|
|
+ .setUploadParamsVO(uploadParamsVO);
|
|
|
|
|
|
//专利分别加入5个消费者队列
|
|
//专利分别加入5个消费者队列
|
|
patentImageQueueList.add(queueData);
|
|
patentImageQueueList.add(queueData);
|