|
@@ -1,28 +1,31 @@
|
|
|
package cn.cslg.pas.service.novelty;
|
|
|
|
|
|
import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyCompareRecordDTO;
|
|
|
+import cn.cslg.pas.common.dto.NoveltyProjectDTO.QueryNoveltyCompareRecordDTO;
|
|
|
+import cn.cslg.pas.common.dto.QueryCompareFileDTO;
|
|
|
import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
|
-import cn.cslg.pas.common.model.request.StringRequest;
|
|
|
+import cn.cslg.pas.common.model.cronModel.SystemFile;
|
|
|
import cn.cslg.pas.common.utils.CacheUtils;
|
|
|
import cn.cslg.pas.common.utils.LoginUtils;
|
|
|
+import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordQueryVO;
|
|
|
import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareRecordVO;
|
|
|
import cn.cslg.pas.common.vo.PatentWithIdVO;
|
|
|
+import cn.cslg.pas.common.vo.QueryCompareFileVO;
|
|
|
import cn.cslg.pas.domain.es.Marking;
|
|
|
-import cn.cslg.pas.domain.es.Patent;
|
|
|
-import cn.cslg.pas.domain.es.PatentJoin;
|
|
|
-import cn.cslg.pas.exception.ExceptionEnum;
|
|
|
import cn.cslg.pas.exception.XiaoShiException;
|
|
|
import cn.cslg.pas.service.business.CompareLiteratureService;
|
|
|
-import cn.cslg.pas.service.business.es.EsMergePersonService;
|
|
|
import cn.cslg.pas.service.business.es.EsScratchWordsService;
|
|
|
-import cn.cslg.pas.service.business.es.EsService;
|
|
|
+import cn.cslg.pas.service.common.FileManagerService;
|
|
|
import cn.cslg.pas.service.importPatent.ImportSinglePatentService;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
|
@RequiredArgsConstructor
|
|
@@ -32,6 +35,8 @@ public class NoveltyCompareRecordService {
|
|
|
private final CacheUtils cacheUtils;
|
|
|
private final LoginUtils loginUtils;
|
|
|
private final EsScratchWordsService esScratchWordsService;
|
|
|
+ private final NoveltyCompareLiteratureService noveltyCompareLiteratureService;
|
|
|
+ private final FileManagerService fileManagerService;
|
|
|
|
|
|
public String addCompareRecord(NoveltyCompareRecordDTO noveltyCompareRecordDTO) {
|
|
|
String patentNo = noveltyCompareRecordDTO.getPatentNo();
|
|
@@ -85,13 +90,56 @@ public class NoveltyCompareRecordService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public void queryCompareRecord() throws Exception{
|
|
|
- Integer projectId = null;
|
|
|
+ public List<NoveltyCompareRecordQueryVO> queryCompareRecord(QueryNoveltyCompareRecordDTO queryCompareRecordDTO) throws Exception {
|
|
|
+ Integer projectId = queryCompareRecordDTO.getProjectId();
|
|
|
+ String patentNo = queryCompareRecordDTO.getPatentNo();
|
|
|
+ List<NoveltyCompareRecordQueryVO> queryVOS = new ArrayList<>();
|
|
|
//根据projectId 查询所有的对比记录
|
|
|
+ List<NoveltyCompareRecordVO> vos = esScratchWordsService.queryNoveltyRecord(projectId, 2);
|
|
|
|
|
|
- List<NoveltyCompareRecordVO> vos= esScratchWordsService.queryNoveltyRecord(projectId,null);
|
|
|
+ if (vos.size() == 0) {
|
|
|
+ return queryVOS;
|
|
|
+ }
|
|
|
+ QueryCompareFileDTO queryCompareFileDTO = new QueryCompareFileDTO();
|
|
|
+ queryCompareFileDTO.setProjectId(projectId);
|
|
|
+ queryCompareFileDTO.setPatentNo(patentNo);
|
|
|
+ List<QueryCompareFileVO> queryCompareFileVOS = noveltyCompareLiteratureService.queryCompareFile(queryCompareFileDTO);
|
|
|
+
|
|
|
+ List<String> guids = new ArrayList<>();
|
|
|
+ vos.forEach(item -> {
|
|
|
+ if (item.getPictureUrl() != null && item.getPictureUrl().size() > 0) {
|
|
|
+ guids.addAll(item.getPictureUrl());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ List<SystemFile> systemFiles = new ArrayList<>();
|
|
|
+ if (guids.size() != 0) {
|
|
|
+ String res = fileManagerService.getSystemFileFromFMS(guids);
|
|
|
+
|
|
|
+ systemFiles = JSONObject.parseArray(res, SystemFile.class);
|
|
|
+ if (systemFiles == null) {
|
|
|
+ systemFiles = new ArrayList<>();
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ for (QueryCompareFileVO queryCompareFileVO : queryCompareFileVOS) {
|
|
|
+ List<NoveltyCompareRecordVO> temVos = vos.stream().filter(item -> item.getPatentNo().equals(queryCompareFileVO.getLiteratureNo())).collect(Collectors.toList());
|
|
|
+ if (temVos.size() != 0) {
|
|
|
+ for (NoveltyCompareRecordVO item : temVos) {
|
|
|
+ NoveltyCompareRecordQueryVO queryVO = new NoveltyCompareRecordQueryVO();
|
|
|
+ BeanUtils.copyProperties(item, queryVO);
|
|
|
+ queryVO.setGeneralRemark(queryCompareFileVO.getGeneralRemark());
|
|
|
+ queryVO.setTechnicalPoints(queryCompareFileVO.getTechnicalPoints());
|
|
|
+ queryVO.setBeneficialEffect(queryCompareFileVO.getBeneficialEffect());
|
|
|
+ queryVO.setExcuteCase(queryCompareFileVO.getExcuteCase());
|
|
|
+ if (systemFiles.size() > 0 && item.getPictureUrl() != null && item.getPictureUrl().size() > 0) {
|
|
|
+
|
|
|
+ }
|
|
|
+ queryVOS.add(queryVO);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+ }
|
|
|
+ return queryVOS;
|
|
|
}
|
|
|
|
|
|
|
|
@@ -104,4 +152,6 @@ public class NoveltyCompareRecordService {
|
|
|
}
|
|
|
return ids;
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
}
|