|
@@ -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);
|
|
|
}
|