|
@@ -51,6 +51,7 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
private final PatentAffairService patentAffairService;
|
|
private final PatentAffairService patentAffairService;
|
|
private final ProjectPatentLinkService projectPatentLinkService;
|
|
private final ProjectPatentLinkService projectPatentLinkService;
|
|
private final PatentService patentService;
|
|
private final PatentService patentService;
|
|
|
|
+ private final PatentImageService patentImageService;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 解析获取专利数据
|
|
* 解析获取专利数据
|
|
@@ -60,13 +61,11 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
public void startExcute(Task task) throws IOException {
|
|
public void startExcute(Task task) throws IOException {
|
|
- Integer taskId = task.getId();
|
|
|
|
- List<AssoOsTaskQrtzTask> assoOsTaskQrtzTasks = assoOsTaskQrtzTaskService.list(new LambdaQueryWrapper<AssoOsTaskQrtzTask>().eq(AssoOsTaskQrtzTask::getTaskId, taskId));
|
|
|
|
|
|
+ //从任务关联网站导入任务表中取出当前任务
|
|
|
|
+ List<AssoOsTaskQrtzTask> assoOsTaskQrtzTasks = assoOsTaskQrtzTaskService.list(new LambdaQueryWrapper<AssoOsTaskQrtzTask>().eq(AssoOsTaskQrtzTask::getTaskId, task.getId()));
|
|
AssoOsTaskQrtzTask assoOsTaskQrtzTask = assoOsTaskQrtzTasks.get(0);
|
|
AssoOsTaskQrtzTask assoOsTaskQrtzTask = assoOsTaskQrtzTasks.get(0);
|
|
|
|
|
|
- Integer successNum = task.getSuccessNum();
|
|
|
|
-
|
|
|
|
- //从任务关联网站导入任务对象中取出下载字段、检索信息
|
|
|
|
|
|
+ //从任务数据中获取下载字段、检索式
|
|
String cellsStr = assoOsTaskQrtzTask.getConfigCells();
|
|
String cellsStr = assoOsTaskQrtzTask.getConfigCells();
|
|
List<String> cells = Arrays.asList(cellsStr.split(","));
|
|
List<String> cells = Arrays.asList(cellsStr.split(","));
|
|
String conditions = assoOsTaskQrtzTask.getConditions();
|
|
String conditions = assoOsTaskQrtzTask.getConditions();
|
|
@@ -77,40 +76,8 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
//获得专利总数量
|
|
//获得专利总数量
|
|
Integer count = task.getTotal();
|
|
Integer count = task.getTotal();
|
|
|
|
|
|
- //计算进度值
|
|
|
|
-// double percentage = count == 0 ? 0 : (count.equals(successNum) ? (successNum * 1D) : (successNum + 1D) / count * 100D);
|
|
|
|
-// percentage = MathUtils.saveTwoDecimal(percentage);
|
|
|
|
//1.根据专利总数量count遍历检索专利
|
|
//1.根据专利总数量count遍历检索专利
|
|
for (int i = 1; i <= count; i += size) {
|
|
for (int i = 1; i <= count; i += size) {
|
|
- //查看任务状态
|
|
|
|
-// QrtzTaskDetail qrtzTaskDetail1 = qrTaskDetailService.getById(webQueryDTO.getTaskId());
|
|
|
|
-// if (qrtzTaskDetail1.getTaskDetailState().equals(7)) {
|
|
|
|
-// qrtzTaskDetail1.setTaskDetailState(5);
|
|
|
|
-// qrtzTaskDetail1.setSuccessNum(successNum);
|
|
|
|
-// qrtzTaskDetail1.setTaskProcess(percentage);
|
|
|
|
-// qrtzTaskDetail1.updateById();
|
|
|
|
-// WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
|
|
|
|
-// .setId(webQueryDTO.getTaskId())
|
|
|
|
-// .setProjectId(task.getProjectId())
|
|
|
|
-// .setComplete(false)
|
|
|
|
-// .setIndex(successNum)
|
|
|
|
-// .setTaskDetailState(5)
|
|
|
|
-// .setTotal(count), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), "null");
|
|
|
|
-// return null;
|
|
|
|
-// } else if (qrtzTaskDetail1.getTaskDetailState().equals(8)) {
|
|
|
|
-// qrtzTaskDetail1.setTaskDetailState(6);
|
|
|
|
-// qrtzTaskDetail1.setSuccessNum(successNum);
|
|
|
|
-// qrtzTaskDetail1.setTaskProcess(percentage);
|
|
|
|
-// qrtzTaskDetail1.updateById();
|
|
|
|
-// WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
|
|
|
|
-// .setId(webQueryDTO.getTaskId())
|
|
|
|
-// .setProjectId(task.getProjectId())
|
|
|
|
-// .setComplete(false)
|
|
|
|
-// .setIndex(successNum)
|
|
|
|
-// .setTaskDetailState(6)
|
|
|
|
-// .setTotal(count), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), "null");
|
|
|
|
-// return null;
|
|
|
|
-// }
|
|
|
|
//根据检索式conditions、专利开始数i、专利最后数i + size - 1检索专利著录信息
|
|
//根据检索式conditions、专利开始数i、专利最后数i + size - 1检索专利著录信息
|
|
SerachBiblioData serachBiblioData = getSerachBiblioData(conditions, i, i + size - 1);
|
|
SerachBiblioData serachBiblioData = getSerachBiblioData(conditions, i, i + size - 1);
|
|
//获取检索结果中的所有专利著录信息
|
|
//获取检索结果中的所有专利著录信息
|
|
@@ -188,14 +155,8 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
setFuJian(drawingLink, drawingPage, drawingType, patentCell, ".tiff");
|
|
setFuJian(drawingLink, drawingPage, drawingType, patentCell, ".tiff");
|
|
}
|
|
}
|
|
|
|
|
|
- //将专利发送到分析系统(保存专利入库)
|
|
|
|
|
|
+ //先将部分入库,再将其余扔给消费者来入库(消费者方更改任务状态发送进度通知)
|
|
if (patentCell.getPatentNo() != null) {
|
|
if (patentCell.getPatentNo() != null) {
|
|
-// String res = outInterfaceService.importPatents(patentCell);
|
|
|
|
-// JSONObject jsonObject = JSONObject.parseObject(res);
|
|
|
|
-// if (jsonObject.get("code").toString().equals("500")) {
|
|
|
|
-// //舍弃这个专利,继续下一个专利
|
|
|
|
-// continue;
|
|
|
|
-// }
|
|
|
|
UploadParamsVO uploadParamsVO = new UploadParamsVO();
|
|
UploadParamsVO uploadParamsVO = new UploadParamsVO();
|
|
Patent patent2 = new Patent();
|
|
Patent patent2 = new Patent();
|
|
//设置专利号
|
|
//设置专利号
|
|
@@ -230,6 +191,16 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
uploadParamsVO.setSimpleStatus(patentCell.getStatue());
|
|
uploadParamsVO.setSimpleStatus(patentCell.getStatue());
|
|
uploadParamsVO.setPatent(patent2);
|
|
uploadParamsVO.setPatent(patent2);
|
|
getOneOrInsertOne(uploadParamsVO);
|
|
getOneOrInsertOne(uploadParamsVO);
|
|
|
|
+ //摘要附图上传专利附图表"os_patent_img"根据专利id删除该专利的摘要图片数据,以免上传重复
|
|
|
|
+ patentImageService.deleteByPatentIdAndStatus(uploadParamsVO.getPatent().getId(), 1);
|
|
|
|
+ PatentImage patentImage = new PatentImage();
|
|
|
|
+ patentImage.setStatus(1);
|
|
|
|
+ patentImage.setPatentId(uploadParamsVO.getPatent().getId());
|
|
|
|
+ patentImage.setUrl(patentCell.getPicUrl());
|
|
|
|
+ patentImage.setFileName(patentCell.getFileName());
|
|
|
|
+ //摘要附图数据入库
|
|
|
|
+ patentImage.insert();
|
|
|
|
+
|
|
if (patentCell.getAgency() != null && !patentCell.getAgency().equals("")) {
|
|
if (patentCell.getAgency() != null && !patentCell.getAgency().equals("")) {
|
|
uploadParamsVO.getPatent().setAgencyId(patentAgencyService.getAgencyStringIdByName(patentCell.getAgency()));
|
|
uploadParamsVO.getPatent().setAgencyId(patentAgencyService.getAgencyStringIdByName(patentCell.getAgency()));
|
|
}
|
|
}
|
|
@@ -276,73 +247,16 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
pantentQueueService.patentToQueue(task, uploadParamsVO, null);
|
|
pantentQueueService.patentToQueue(task, uploadParamsVO, null);
|
|
}
|
|
}
|
|
|
|
|
|
-// QrtzTaskDetail qrtzTaskDetail11 = qrTaskDetailService.getById(qrtzTaskDetail.getId());
|
|
|
|
-// percentage = count == 0 ? 0 : (count.equals(successNum) ? (successNum * 1D) : (successNum + 1D) / count * 100D);
|
|
|
|
-// percentage = MathUtils.saveTwoDecimal(percentage);
|
|
|
|
-// WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
|
|
|
|
-// .setId(webQueryDTO.getTaskId())
|
|
|
|
-// .setProjectId(task.getProjectId())
|
|
|
|
-// .setComplete(false)
|
|
|
|
-// .setIndex(successNum)
|
|
|
|
-// .setPercentage(percentage)
|
|
|
|
-// .setTaskDetailState(qrtzTaskDetail11.getTaskDetailState())
|
|
|
|
-// .setFileName("")
|
|
|
|
-// .setUrl("")
|
|
|
|
-// .setTotal(count), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), "null");
|
|
|
|
} catch (XiaoShiException e) {
|
|
} catch (XiaoShiException e) {
|
|
//虽然拿不到所有附图,但已经拿到了专利著录,能拿到啥是啥
|
|
//虽然拿不到所有附图,但已经拿到了专利著录,能拿到啥是啥
|
|
log.info(e.getMessage());
|
|
log.info(e.getMessage());
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
-// qrtzTaskDetail.setTaskDetailState(3);
|
|
|
|
-// qrtzTaskDetail.setSuccessNum(successNum);
|
|
|
|
-// qrtzTaskDetail.setDefaultNum(qrtzTaskDetail.getAllNum() - successNum);
|
|
|
|
-// qrtzTaskDetail.setFailure("拉取节点失败");
|
|
|
|
-// qrtzTaskDetail.setEndTime(new Date());
|
|
|
|
-// qrtzTaskDetail.updateById();
|
|
|
|
-// if (qrtzTask.getTaskType() == 1) {
|
|
|
|
-// qrtzTask.setTaskState(4);
|
|
|
|
-// } else {
|
|
|
|
-// qrtzTask.setTaskState(3);
|
|
|
|
-// }
|
|
|
|
-// qrtzTask.updateById();
|
|
|
|
-// WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
|
|
|
|
-// .setId(webQueryDTO.getTaskId())
|
|
|
|
-// .setProjectId(task.getProjectId())
|
|
|
|
-// .setComplete(true)
|
|
|
|
-// .setIndex(successNum)
|
|
|
|
-// .setPercentage(100D)
|
|
|
|
-// .setTaskDetailState(qrtzTaskDetail.getTaskDetailState())
|
|
|
|
-// .setFileName("")
|
|
|
|
-// .setUrl("")
|
|
|
|
-// .setTotal(successNum), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), "");
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-// WebSocketServer.sendInfo(Response.websocket(new TaskWebSocketDTO()
|
|
|
|
-// .setId(webQueryDTO.getTaskId())
|
|
|
|
-// .setProjectId(task.getProjectId())
|
|
|
|
-// .setComplete(true)
|
|
|
|
-// .setIndex(count)
|
|
|
|
-// .setPercentage(100D)
|
|
|
|
-// .setTaskDetailState(qrtzTaskDetail.getTaskDetailState())
|
|
|
|
-// .setFileName("")
|
|
|
|
-// .setUrl("")
|
|
|
|
-// .setTotal(count), ResponseEnum.PATENT_IMPORT_TASK_SUCCESS), "");
|
|
|
|
-// //任务执行情况状态设为成功,任务条件状态设为已完成(若是任务条件是定时任务则设为等待下一次执行)
|
|
|
|
-// qrtzTaskDetail.setTaskDetailState(2);
|
|
|
|
-// qrtzTaskDetail.setSuccessNum(successNum);
|
|
|
|
-// qrtzTaskDetail.setDefaultNum(qrtzTaskDetail.getAllNum() - successNum);
|
|
|
|
-// qrtzTaskDetail.setTaskProcess(100);
|
|
|
|
-// qrtzTaskDetail.setEndTime(new Date());
|
|
|
|
-// qrtzTaskDetail.updateById();
|
|
|
|
-// if (qrtzTask.getTaskType() == 1) {
|
|
|
|
-// qrtzTask.setTaskState(4);
|
|
|
|
-// } else {
|
|
|
|
-// qrtzTask.setTaskState(2);
|
|
|
|
-// }
|
|
|
|
-// qrtzTask.updateById();
|
|
|
|
-// return patentCells;
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
//调用外部接口获取一批专利著录信息
|
|
//调用外部接口获取一批专利著录信息
|
|
@@ -415,6 +329,7 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
applicationPersons.add(application.getOriginalName());
|
|
applicationPersons.add(application.getOriginalName());
|
|
}
|
|
}
|
|
patentCell.setApplicationPersons(applicationPersons);
|
|
patentCell.setApplicationPersons(applicationPersons);
|
|
|
|
+
|
|
//装载申请人地址(未找到)
|
|
//装载申请人地址(未找到)
|
|
//装载发明人
|
|
//装载发明人
|
|
ArrayList<String> inventors = new ArrayList<>();
|
|
ArrayList<String> inventors = new ArrayList<>();
|
|
@@ -592,6 +507,7 @@ public class ExcutePatentDataEpo implements IExcutePatentData {
|
|
//如果是摘要附图
|
|
//如果是摘要附图
|
|
if (FuJianSuffix.equals(".jpeg")) {
|
|
if (FuJianSuffix.equals(".jpeg")) {
|
|
patentCell.setPicUrl(fileDTO.getPath());
|
|
patentCell.setPicUrl(fileDTO.getPath());
|
|
|
|
+ patentCell.setFileName(fileDTO.getFileName());
|
|
}
|
|
}
|
|
//如果是其他附图
|
|
//如果是其他附图
|
|
if (FuJianSuffix.equals(".tiff")) {
|
|
if (FuJianSuffix.equals(".tiff")) {
|