|
@@ -19,6 +19,7 @@ import cn.cslg.pas.common.dto.CompareLiteratureDTO;
|
|
|
import cn.cslg.pas.domain.business.ReportProject;
|
|
|
import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
|
|
|
import cn.cslg.pas.domain.es.Patent;
|
|
|
+import cn.cslg.pas.domain.report.AssoComLiteratureFile;
|
|
|
import cn.cslg.pas.exception.UnLoginException;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
|
import cn.cslg.pas.mapper.CompareLiteratureMapper;
|
|
@@ -29,6 +30,7 @@ import cn.cslg.pas.service.business.es.EsService;
|
|
|
import cn.cslg.pas.service.common.FileManagerService;
|
|
|
import cn.cslg.pas.service.common.MessageService;
|
|
|
import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
|
|
|
+import cn.cslg.pas.service.report.AssoComLiteratureFileService;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
@@ -85,6 +87,9 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
@Autowired
|
|
|
private NoveltyCompareLiteratureMapper noveltyCompareLiteratureMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AssoComLiteratureFileService assoComLiteratureFileService;
|
|
|
+
|
|
|
//添加专利对比文献
|
|
|
public Integer addPatentCompareLiterature(Patent patent, Integer projectId, String createId) {
|
|
|
synchronized ("导入任务是否完成") {
|
|
@@ -140,6 +145,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
//添加非对比文献
|
|
|
public Integer addNotPatent(CompareLiteratureDTO compareLiteratureDTO) {
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
+ List<String> fileGuids = compareLiteratureDTO.getFileGuids();
|
|
|
Integer projectId = compareLiteratureDTO.getProjectId();
|
|
|
try {
|
|
|
personnelVO = new PersonnelVO();
|
|
@@ -162,7 +168,6 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
//报告id
|
|
|
compareLiterature.setProjectId(compareLiteratureDTO.getProjectId());
|
|
|
//文档guid
|
|
|
- compareLiterature.setLiteratureNo(compareLiteratureDTO.getFileGuid());
|
|
|
//文档名称
|
|
|
compareLiterature.setName(compareLiteratureDTO.getName());
|
|
|
//描述
|
|
@@ -176,7 +181,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
//装载公开日
|
|
|
compareLiterature.setPublicDate(compareLiteratureDTO.getPublicDate());
|
|
|
compareLiterature.insert();
|
|
|
-
|
|
|
+ assoComLiteratureFileService.addAssoComLiteratureFile(compareLiterature.getId(), fileGuids);
|
|
|
return compareLiterature.getId();
|
|
|
}
|
|
|
|
|
@@ -222,6 +227,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
|
|
|
//专利文献列表
|
|
|
List<String> patentNos = compareLiteratures.stream().filter(item -> item.getType().equals(0)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
|
|
|
+ List<Integer> ids = compareLiteratures.stream().map(CompareLiterature::getId).collect(Collectors.toList());
|
|
|
List<Patent> patentList = new ArrayList<>();
|
|
|
|
|
|
if (reportProject.getSignPatentNo() != null) {
|
|
@@ -242,10 +248,11 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
|| signPatentNo.equals(item.getPublicNo()) ||
|
|
|
signPatentNo.equals(item.getGrantNo())).findFirst().orElse(null);
|
|
|
|
|
|
+ List<AssoComLiteratureFile> assoComLiteratureFiles = assoComLiteratureFileService.queryAssoComLiteratureFiles(ids);
|
|
|
//查询文件
|
|
|
List<SystemFile> systemFiles = new ArrayList<>();
|
|
|
//非专利文献列表
|
|
|
- List<String> guids = compareLiteratures.stream().filter(item -> item.getType().equals(1)).map(CompareLiterature::getLiteratureNo).collect(Collectors.toList());
|
|
|
+ List<String> guids = assoComLiteratureFiles.stream().map(AssoComLiteratureFile::getFileGuid).collect(Collectors.toList());
|
|
|
//查询文件
|
|
|
if (!CollectionUtils.isEmpty(guids)) {
|
|
|
try {
|
|
@@ -261,6 +268,7 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
for (CompareLiterature compareLiterature : compareLiteratures) {
|
|
|
String literatureNo = compareLiterature.getLiteratureNo();
|
|
|
Date publicDate = compareLiterature.getPublicDate();
|
|
|
+ Integer id = compareLiterature.getId();
|
|
|
CompareLiteratureVO compareLiteratureVO = new CompareLiteratureVO();
|
|
|
BeanUtils.copyProperties(compareLiterature, compareLiteratureVO);
|
|
|
//当为专利文献时
|
|
@@ -273,11 +281,10 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
literatureNo.equals(item.getGrantNo())).findFirst().orElse(null);
|
|
|
if (patent != null) {
|
|
|
String authorName = "";
|
|
|
- if(patent.getRightHolder()!=null&&patent.getRightHolder().size()>0){
|
|
|
- authorName=patent.getRightHolder().get(0).getName();
|
|
|
- }
|
|
|
- else if(patent.getApplicant()!=null&&patent.getApplicant().size()>0){
|
|
|
- authorName=patent.getApplicant().get(0).getName();
|
|
|
+ if (patent.getRightHolder() != null && patent.getRightHolder().size() > 0) {
|
|
|
+ authorName = patent.getRightHolder().get(0).getName();
|
|
|
+ } else if (patent.getApplicant() != null && patent.getApplicant().size() > 0) {
|
|
|
+ authorName = patent.getApplicant().get(0).getName();
|
|
|
}
|
|
|
compareLiteratureVO.setAuthorName(authorName);
|
|
|
compareLiteratureVO.setName(patent.getTitle().get(0).getTextContent());
|
|
@@ -339,6 +346,13 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ if (assoComLiteratureFiles.size() > 0) {
|
|
|
+ List<String> fileGuids = assoComLiteratureFiles.stream().filter(item -> item.getCompareLiteratureFileId().equals(id)).map(AssoComLiteratureFile::getFileGuid).collect(Collectors.toList());
|
|
|
+ if (fileGuids.size() > 0) {
|
|
|
+ List<SystemFile> temSystemFiles = systemFiles.stream().filter(item -> fileGuids.contains(item.getGuid())).collect(Collectors.toList());
|
|
|
+ compareLiteratureVO.setSystemFiles(temSystemFiles);
|
|
|
+ }
|
|
|
+ }
|
|
|
compareLiteratureVOS.add(compareLiteratureVO);
|
|
|
}
|
|
|
return compareLiteratureVOS;
|
|
@@ -362,8 +376,8 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
//批量添加对比文献
|
|
|
|
|
|
public void updateCompareLiteratureBatch(UpdateBatchLiteratureDTO updateBatchLiteratureDTO) {
|
|
|
- PersonnelVO personnelVO = new PersonnelVO();
|
|
|
- personnelVO.setId("1");
|
|
|
+ PersonnelVO personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+
|
|
|
if (updateBatchLiteratureDTO == null) {
|
|
|
return;
|
|
|
}
|
|
@@ -398,10 +412,16 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
public Integer saveOrUpdateNotPatent(UpdateBatchLiteraturesDTO updateBatchLiteratureDTO) {
|
|
|
PersonnelVO personnelVO = new PersonnelVO();
|
|
|
Integer projectId = updateBatchLiteratureDTO.getProjectId();
|
|
|
+ List<String> guids = new ArrayList<>();
|
|
|
+ List<SystemFile> systemFiles = updateBatchLiteratureDTO.getSystemFiles();
|
|
|
+ if (systemFiles != null && !systemFiles.isEmpty()) {
|
|
|
+ guids = systemFiles.stream().map(SystemFile::getGuid).collect(Collectors.toList());
|
|
|
+
|
|
|
+ }
|
|
|
try {
|
|
|
personnelVO = new PersonnelVO();
|
|
|
personnelVO.setId("1");
|
|
|
-// personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
} catch (Exception e) {
|
|
|
throw new UnLoginException("未登录");
|
|
|
}
|
|
@@ -430,9 +450,12 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
|
|
|
compareLiterature.setId(updateBatchLiteratureDTO.getId());
|
|
|
compareLiterature.updateById();
|
|
|
+ assoComLiteratureFileService.updateAssoComLiteratureFile(compareLiterature.getId(), guids);
|
|
|
+
|
|
|
|
|
|
} else {
|
|
|
compareLiterature.insert();
|
|
|
+ assoComLiteratureFileService.addAssoComLiteratureFile(compareLiterature.getId(), guids);
|
|
|
}
|
|
|
|
|
|
return compareLiterature.getId();
|
|
@@ -449,10 +472,14 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
Integer projectId = updateBatchLiteratureDTO.getProjectId();
|
|
|
String literatureNo = updateBatchLiteratureDTO.getLiteratureNo();
|
|
|
Integer id = updateBatchLiteratureDTO.getId();
|
|
|
+ List<String> fileGuids = new ArrayList<>();
|
|
|
+ List<SystemFile> systemFiles = updateBatchLiteratureDTO.getSystemFiles();
|
|
|
+ if (systemFiles != null && !systemFiles.isEmpty()) {
|
|
|
+ fileGuids = systemFiles.stream().map(SystemFile::getGuid).collect(Collectors.toList());
|
|
|
+
|
|
|
+ }
|
|
|
try {
|
|
|
- personnelVO = new PersonnelVO();
|
|
|
- personnelVO.setId("1");
|
|
|
-// personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
+ personnelVO = cacheUtils.getLoginUser(loginUtils.getId());
|
|
|
} catch (Exception e) {
|
|
|
throw new UnLoginException("未登录");
|
|
|
}
|
|
@@ -514,11 +541,20 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
|
|
|
//当传id则为更新
|
|
|
if (id != null) {
|
|
|
- compareLiterature.setId(updateBatchLiteratureDTO.getId());
|
|
|
+ compareLiterature.setId(id);
|
|
|
compareLiterature.updateById();
|
|
|
-
|
|
|
+ CompareLiterature lastCom = this.getById(id);
|
|
|
+ if (lastCom != null) {
|
|
|
+ String lastPatentNo = lastCom.getLiteratureNo();
|
|
|
+ if (!lastPatentNo.equals(compareLiterature.getLiteratureNo())) {
|
|
|
+ esPatentService.removeByNo(lastPatentNo);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ assoComLiteratureFileService.updateAssoComLiteratureFile(compareLiterature.getId(), fileGuids);
|
|
|
} else {
|
|
|
compareLiterature.insert();
|
|
|
+ assoComLiteratureFileService.addAssoComLiteratureFile(compareLiterature.getId(), fileGuids);
|
|
|
+
|
|
|
}
|
|
|
try {
|
|
|
importSinglePatentService.saveAssoPatentProjectToEs(projectId, patentWithIdVO.getId());
|
|
@@ -733,9 +769,9 @@ public class CompareLiteratureService extends ServiceImpl<CompareLiteratureMappe
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void addCompareLiteratureToProject(ImportTaskAMVO importTaskAMVO,Patent patent){
|
|
|
- if (importTaskAMVO.getProjectType() != null && (importTaskAMVO.getProjectType().equals(2)||importTaskAMVO.getProjectType().equals(4))) {
|
|
|
- if (importTaskAMVO.getReportType()==null||importTaskAMVO.getReportType().equals(7) || importTaskAMVO.getReportType().equals(1) || importTaskAMVO.getReportType().equals(2)||importTaskAMVO.getProjectType().equals(4)) {
|
|
|
+ public void addCompareLiteratureToProject(ImportTaskAMVO importTaskAMVO, Patent patent) {
|
|
|
+ if (importTaskAMVO.getProjectType() != null && (importTaskAMVO.getProjectType().equals(2) || importTaskAMVO.getProjectType().equals(4))) {
|
|
|
+ if (importTaskAMVO.getReportType() == null || importTaskAMVO.getReportType().equals(7) || importTaskAMVO.getReportType().equals(1) || importTaskAMVO.getReportType().equals(2) || importTaskAMVO.getProjectType().equals(4)) {
|
|
|
this.addPatentCompareLiterature(patent, importTaskAMVO.getProjectId(), importTaskAMVO.getCreateId());
|
|
|
}
|
|
|
}
|