|
@@ -6,9 +6,11 @@ import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
import cn.cslg.pas.common.model.request.StringRequest;
|
|
import cn.cslg.pas.common.model.request.StringRequest;
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
|
|
+import cn.cslg.pas.common.vo.ImportTaskAMVO;
|
|
import cn.cslg.pas.common.vo.PatentWithIdVO;
|
|
import cn.cslg.pas.common.vo.PatentWithIdVO;
|
|
import cn.cslg.pas.domain.business.AssoProjectPerson;
|
|
import cn.cslg.pas.domain.business.AssoProjectPerson;
|
|
import cn.cslg.pas.domain.business.Project;
|
|
import cn.cslg.pas.domain.business.Project;
|
|
|
|
+import cn.cslg.pas.domain.business.ReportProject;
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
import cn.cslg.pas.domain.es.PatentJoin;
|
|
import cn.cslg.pas.domain.es.PatentJoin;
|
|
import cn.cslg.pas.mapper.ProjectMapper;
|
|
import cn.cslg.pas.mapper.ProjectMapper;
|
|
@@ -43,7 +45,11 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
@Autowired
|
|
@Autowired
|
|
private EsPatentService esPatentService;
|
|
private EsPatentService esPatentService;
|
|
@Autowired
|
|
@Autowired
|
|
- private EsService esService;
|
|
|
|
|
|
+ @Lazy
|
|
|
|
+ private CompareLiteratureService compareLiteratureService;
|
|
|
|
+ @Autowired
|
|
|
|
+ @Lazy
|
|
|
|
+ private ReportProjectService reportProjectService;
|
|
|
|
|
|
public Optional<Project> getByIdOpt(Integer id) {
|
|
public Optional<Project> getByIdOpt(Integer id) {
|
|
Project project = projectMapper.selectById(id);
|
|
Project project = projectMapper.selectById(id);
|
|
@@ -96,36 +102,71 @@ public class ProjectService extends ServiceImpl<ProjectMapper, Project> {
|
|
|
|
|
|
/**
|
|
/**
|
|
* 复制专利到另一个报告或专题库
|
|
* 复制专利到另一个报告或专题库
|
|
|
|
+ *
|
|
* @param addProjectPatentToReportDTO
|
|
* @param addProjectPatentToReportDTO
|
|
*/
|
|
*/
|
|
public void addProjectPatentToReport(AddProjectPatentToReportDTO addProjectPatentToReportDTO) {
|
|
public void addProjectPatentToReport(AddProjectPatentToReportDTO addProjectPatentToReportDTO) {
|
|
-
|
|
|
|
//查询专利号
|
|
//查询专利号
|
|
StringRequest stringRequest = addProjectPatentToReportDTO.getStringRequest();
|
|
StringRequest stringRequest = addProjectPatentToReportDTO.getStringRequest();
|
|
Integer toProjectId = addProjectPatentToReportDTO.getToProjectId();
|
|
Integer toProjectId = addProjectPatentToReportDTO.getToProjectId();
|
|
List<String> notInNos = addProjectPatentToReportDTO.getIsDelete();
|
|
List<String> notInNos = addProjectPatentToReportDTO.getIsDelete();
|
|
- Long startNum =addProjectPatentToReportDTO.getStartNumber();
|
|
|
|
- Long endNum =addProjectPatentToReportDTO.getEndNumber();
|
|
|
|
|
|
+ Long startNum = addProjectPatentToReportDTO.getStartNumber();
|
|
|
|
+ Long endNum = addProjectPatentToReportDTO.getEndNumber();
|
|
List<PatentNoWithIdVO> patentWithIdVOS = new ArrayList<>();
|
|
List<PatentNoWithIdVO> patentWithIdVOS = new ArrayList<>();
|
|
List<String> InPatentNos = addProjectPatentToReportDTO.getIsAdd();
|
|
List<String> InPatentNos = addProjectPatentToReportDTO.getIsAdd();
|
|
|
|
+
|
|
|
|
+ Project project = this.getById(toProjectId);
|
|
|
|
+ Integer projectType = project.getType();
|
|
|
|
+ Integer reportType = null;
|
|
|
|
+ if (projectType.equals(2)) {
|
|
|
|
+ LambdaQueryWrapper<ReportProject> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
+ queryWrapper.eq(ReportProject::getProjectId, project);
|
|
|
|
+ ReportProject reportProject = reportProjectService.getOne(queryWrapper);
|
|
|
|
+ reportType = reportProject.getReportType();
|
|
|
|
+ }
|
|
try {
|
|
try {
|
|
- patentWithIdVOS = esPatentService.getPatentIdsWithNotNo(stringRequest, notInNos,startNum,endNum);
|
|
|
|
|
|
+ patentWithIdVOS = esPatentService.getPatentIdsWithNotNo(stringRequest, notInNos, startNum, endNum);
|
|
|
|
+
|
|
if (patentWithIdVOS != null && patentWithIdVOS.size() > 0) {
|
|
if (patentWithIdVOS != null && patentWithIdVOS.size() > 0) {
|
|
- this.addAssoToEs(patentWithIdVOS, toProjectId);
|
|
|
|
|
|
+
|
|
|
|
+ if (reportType != null || (projectType.equals(4))) {
|
|
|
|
+ ImportTaskAMVO importTaskAMVO =new ImportTaskAMVO();
|
|
|
|
+ PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ importTaskAMVO.setCreateId(personnelVO.getId());
|
|
|
|
+ importTaskAMVO.setReportType(reportType);
|
|
|
|
+ importTaskAMVO.setProjectType(projectType);
|
|
|
|
+ importTaskAMVO.setProjectId(toProjectId);
|
|
|
|
+ this.addAssoToCompareFile(patentWithIdVOS,importTaskAMVO);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.addAssoToEs(patentWithIdVOS, toProjectId);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- if(InPatentNos!=null&&InPatentNos.size()>0){
|
|
|
|
- List<PatentNoWithIdVO> patentNoWithIdVOS =new ArrayList<>();
|
|
|
|
- InPatentNos.forEach(item->{
|
|
|
|
- PatentNoWithIdVO patentNoWithIdVO =new PatentNoWithIdVO();
|
|
|
|
|
|
+ if (InPatentNos != null && InPatentNos.size() > 0) {
|
|
|
|
+ List<PatentNoWithIdVO> patentNoWithIdVOS = new ArrayList<>();
|
|
|
|
+ InPatentNos.forEach(item -> {
|
|
|
|
+ PatentNoWithIdVO patentNoWithIdVO = new PatentNoWithIdVO();
|
|
patentNoWithIdVO.setPatentNo(item);
|
|
patentNoWithIdVO.setPatentNo(item);
|
|
patentNoWithIdVOS.add(patentNoWithIdVO);
|
|
patentNoWithIdVOS.add(patentNoWithIdVO);
|
|
});
|
|
});
|
|
- this.addAssoToEs(patentNoWithIdVOS,toProjectId);
|
|
|
|
|
|
+ if (reportType != null || (projectType.equals(4))) {
|
|
|
|
+ ImportTaskAMVO importTaskAMVO =new ImportTaskAMVO();
|
|
|
|
+ PersonnelVO personnelVO =cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
|
+ importTaskAMVO.setCreateId(personnelVO.getId());
|
|
|
|
+ importTaskAMVO.setReportType(reportType);
|
|
|
|
+ importTaskAMVO.setProjectType(projectType);
|
|
|
|
+ importTaskAMVO.setProjectId(toProjectId);
|
|
|
|
+ this.addAssoToCompareFile(patentWithIdVOS,importTaskAMVO);
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ this.addAssoToEs(patentNoWithIdVOS, toProjectId);
|
|
|
|
+
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
-e.printStackTrace();
|
|
|
|
|
|
+ e.printStackTrace();
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -133,6 +174,7 @@ e.printStackTrace();
|
|
|
|
|
|
/**
|
|
/**
|
|
* 添加报告或专题库与专利关联
|
|
* 添加报告或专题库与专利关联
|
|
|
|
+ *
|
|
* @param patentWithIdVOS
|
|
* @param patentWithIdVOS
|
|
* @param projectId
|
|
* @param projectId
|
|
* @throws Exception
|
|
* @throws Exception
|
|
@@ -144,22 +186,30 @@ e.printStackTrace();
|
|
patentWithIdVOS.forEach(item -> {
|
|
patentWithIdVOS.forEach(item -> {
|
|
if (item != null) {
|
|
if (item != null) {
|
|
try {
|
|
try {
|
|
- String id = item.getId();
|
|
|
|
- if(id==null){
|
|
|
|
- PatentWithIdVO patentWithIdVO = esService.getIdByPatentNo(item.getPatentNo());
|
|
|
|
- id =patentWithIdVO.getId();
|
|
|
|
- }
|
|
|
|
- Boolean ifInproject = esService.searchPatent(id, projectId);
|
|
|
|
- if (!ifInproject && id != null && !id.trim().equals("")) {
|
|
|
|
- Patent patent = new Patent();
|
|
|
|
- PatentJoin patentJoin = new PatentJoin();
|
|
|
|
- patentJoin.setParent(id);
|
|
|
|
- patentJoin.setName("project");
|
|
|
|
- patent.setPatentJoin(patentJoin);
|
|
|
|
- patent.setProjectId(projectId);
|
|
|
|
- esService.addChildPatent(patent, id);
|
|
|
|
|
|
+ PatentNoWithIdVO patentNoWithIdVO = esPatentService.addPatentToProject(item, projectId);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+
|
|
|
|
+ private void addAssoToCompareFile(List<PatentNoWithIdVO> patentWithIdVOS, ImportTaskAMVO importTaskAMVO) throws Exception {
|
|
|
|
+ if (patentWithIdVOS == null || patentWithIdVOS.size() == 0) {
|
|
|
|
+ return;
|
|
|
|
+ } else {
|
|
|
|
+ patentWithIdVOS.forEach(item -> {
|
|
|
|
+ if (item != null) {
|
|
|
|
+ try {
|
|
|
|
+ PatentNoWithIdVO patentNoWithIdVO = esPatentService.addPatentToProject(item, importTaskAMVO.getProjectId());
|
|
|
|
+ List<Patent> patentList = esPatentService.getPatentsByNo(Arrays.asList(patentNoWithIdVO.getPatentNo()), false, null, null);
|
|
|
|
+ if (patentList != null && patentList.size() > 0) {
|
|
|
|
+ Patent patent = patentList.get(0);
|
|
|
|
+ compareLiteratureService.addCompareLiteratureToProject(importTaskAMVO,patent);
|
|
}
|
|
}
|
|
|
|
+
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
@@ -167,7 +217,6 @@ e.printStackTrace();
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|