Переглянути джерело

Merge remote-tracking branch 'origin/master_novelty' into master_novelty

zero 1 рік тому
батько
коміт
e35144045d

+ 4 - 0
src/main/java/cn/cslg/pas/common/vo/NoveltyProjectVO/RetrieveRecordVO.java

@@ -78,4 +78,8 @@ public class RetrieveRecordVO {
      */
     private String searchSetting;
 
+    /**
+     * 检索人
+     */
+    private String searchPersonName;
 }

+ 33 - 6
src/main/java/cn/cslg/pas/service/novelty/NoveltySearchRecordService.java

@@ -33,6 +33,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
@@ -59,35 +60,44 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
      * @return
      */
     public Records querySearchRecord(QuerySearchRecordDTO querySearchRecordDTO) throws IOException {
-        Records records = new Records();
         Long total = null;
+        Records records = new Records();
+        Long size = querySearchRecordDTO.getSize();
+        Long current = querySearchRecordDTO.getCurrent();
+        Integer projectId = querySearchRecordDTO.getProjectId();
         List<RetrieveRecord> retrieveRecordList = new ArrayList<>();
         List<RetrieveRecordVO> retrieveRecordVOS = new ArrayList<>();
+
         if (querySearchRecordDTO.getProjectId() != null) {
             LambdaQueryWrapper<AssoRetrieveRecordProject> assoQueryWrapper = new LambdaQueryWrapper<>();
-            assoQueryWrapper.eq(AssoRetrieveRecordProject::getProjectId, querySearchRecordDTO.getProjectId());
+            assoQueryWrapper.eq(AssoRetrieveRecordProject::getProjectId, projectId);
             List<AssoRetrieveRecordProject> assoRetrieveRecordProjects = assoRetrieveRecordProjectService.list();
 
             if (!assoRetrieveRecordProjects.isEmpty()) {
                 List<Integer> retrieveIds = assoRetrieveRecordProjects.stream()
                         .map(AssoRetrieveRecordProject::getRetrieveRecordId)
                         .collect(Collectors.toList());
+
                 LambdaQueryWrapper<RetrieveRecord> queryWrapper = new LambdaQueryWrapper<>();
                 queryWrapper.in(RetrieveRecord::getId, retrieveIds)
                         .orderByDesc(RetrieveRecord::getRetrieveTime)
                         .orderByDesc(RetrieveRecord::getCreateTime);
-                IPage<RetrieveRecord> retrieveRecords = this.page(new Page<>(querySearchRecordDTO.getCurrent(), querySearchRecordDTO.getSize()), queryWrapper);
+
+                IPage<RetrieveRecord> retrieveRecords = this.page(new Page<>(current, size), queryWrapper);
                 retrieveRecordList = retrieveRecords.getRecords();
+
                 if (!retrieveRecordList.isEmpty()) {
-                    retrieveRecordVOS = this.loadRetrieveRecords(retrieveRecordList);
+                    retrieveRecordVOS = this.loadRetrieveRecords(retrieveRecordList, assoRetrieveRecordProjects);
                 }
                 total = retrieveRecords.getTotal();
             }
         }
+
         records.setData(retrieveRecordVOS);
         records.setCurrent(querySearchRecordDTO.getCurrent());
         records.setSize(querySearchRecordDTO.getSize());
         records.setTotal(total);
+
         return records;
     }
 
@@ -96,8 +106,9 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
      *
      * @param retrieveRecordList
      */
-    private List<RetrieveRecordVO> loadRetrieveRecords(List<RetrieveRecord> retrieveRecordList) throws IOException {
+    private List<RetrieveRecordVO> loadRetrieveRecords(List<RetrieveRecord> retrieveRecordList, List<AssoRetrieveRecordProject> assoRetrieveRecordProjects) throws IOException {
         List<RetrieveRecordVO> retrieveRecordVOS = new ArrayList<>();
+
         if (!CollectionUtils.isEmpty(retrieveRecordList)) {
             List<String> createIds = new ArrayList<>();
             List<Personnel> personnels = new ArrayList<>();
@@ -118,10 +129,26 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
             for (RetrieveRecord retrieveRecord : retrieveRecordList) {
                 RetrieveRecordVO retrieveRecordVO = new RetrieveRecordVO();
                 BeanUtils.copyProperties(retrieveRecord, retrieveRecordVO);
+
                 //装载人员信息
-                Personnel personnel = personnels.stream().filter(item -> item.getId().equals(retrieveRecord.getCreateId())).findFirst().orElse(null);
+                Personnel personnel = personnels.stream()
+                        .filter(item -> item.getId().equals(retrieveRecord.getCreateId()))
+                        .findFirst().orElse(null);
+
                 if (personnel != null) {
                     retrieveRecordVO.setCreateName(personnel.getPersonnelName());
+                    retrieveRecordVO.setSearchPersonName(personnel.getPersonnelName());
+                }
+
+                if (retrieveRecord.getIfBySystem() != null && !retrieveRecord.getIfBySystem()) {
+                    AssoRetrieveRecordProject assoRecordProject = assoRetrieveRecordProjects.stream()
+                            .filter(asso -> asso.getRetrieveRecordId().equals(retrieveRecord.getId()))
+                            .findFirst()
+                            .orElse(null);
+
+                    if (assoRecordProject != null) {
+                        retrieveRecordVO.setSearchPersonName(assoRecordProject.getSearchPersonName());
+                    }
                 }
                 retrieveRecordVOS.add(retrieveRecordVO);
             }