|
@@ -6,6 +6,7 @@ import cn.cslg.pas.common.dto.NoveltyProjectDTO.NoveltyRetrieveRecordDTO;
|
|
import cn.cslg.pas.common.model.cronModel.Personnel;
|
|
import cn.cslg.pas.common.model.cronModel.Personnel;
|
|
import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
import cn.cslg.pas.common.model.cronModel.PersonnelVO;
|
|
import cn.cslg.pas.common.model.cronModel.Records;
|
|
import cn.cslg.pas.common.model.cronModel.Records;
|
|
|
|
+import cn.cslg.pas.common.model.request.OrderDTO;
|
|
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.NoveltyProjectVO.NoveltyCompareLiteratureVO;
|
|
import cn.cslg.pas.common.vo.NoveltyProjectVO.NoveltyCompareLiteratureVO;
|
|
@@ -13,12 +14,14 @@ import cn.cslg.pas.common.vo.NoveltyProjectVO.QueryTemplateVO;
|
|
import cn.cslg.pas.common.vo.NoveltyProjectVO.RetrieveRecordVO;
|
|
import cn.cslg.pas.common.vo.NoveltyProjectVO.RetrieveRecordVO;
|
|
import cn.cslg.pas.domain.business.RetrieveRecord;
|
|
import cn.cslg.pas.domain.business.RetrieveRecord;
|
|
import cn.cslg.pas.domain.business.novelty.AssoRetrieveRecordProject;
|
|
import cn.cslg.pas.domain.business.novelty.AssoRetrieveRecordProject;
|
|
|
|
+import cn.cslg.pas.domain.business.novelty.NoveltyCompareLiterature;
|
|
import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
|
|
import cn.cslg.pas.domain.business.novelty.NoveltyReportTemplate;
|
|
import cn.cslg.pas.mapper.RetrieveRecordMapper;
|
|
import cn.cslg.pas.mapper.RetrieveRecordMapper;
|
|
import cn.cslg.pas.service.permissions.PermissionService;
|
|
import cn.cslg.pas.service.permissions.PermissionService;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
@@ -65,6 +68,7 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
|
|
Records records = new Records();
|
|
Records records = new Records();
|
|
Long size = querySearchRecordDTO.getSize();
|
|
Long size = querySearchRecordDTO.getSize();
|
|
Long current = querySearchRecordDTO.getCurrent();
|
|
Long current = querySearchRecordDTO.getCurrent();
|
|
|
|
+ OrderDTO orderDTO = querySearchRecordDTO.getOrderDTO();
|
|
Integer projectId = querySearchRecordDTO.getProjectId();
|
|
Integer projectId = querySearchRecordDTO.getProjectId();
|
|
List<RetrieveRecord> retrieveRecordList = new ArrayList<>();
|
|
List<RetrieveRecord> retrieveRecordList = new ArrayList<>();
|
|
List<RetrieveRecordVO> retrieveRecordVOS = new ArrayList<>();
|
|
List<RetrieveRecordVO> retrieveRecordVOS = new ArrayList<>();
|
|
@@ -82,10 +86,18 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
|
|
//根据检索记录ids查询专利信息集合
|
|
//根据检索记录ids查询专利信息集合
|
|
Map<Integer, List<NoveltyCompareLiteratureVO>> noveltyMap = noveltyCompareLiteratureService.getPatentNoByRetrieveIds(retrieveIds);
|
|
Map<Integer, List<NoveltyCompareLiteratureVO>> noveltyMap = noveltyCompareLiteratureService.getPatentNoByRetrieveIds(retrieveIds);
|
|
|
|
|
|
- LambdaQueryWrapper<RetrieveRecord> queryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
- queryWrapper.in(RetrieveRecord::getId, retrieveIds)
|
|
|
|
- .orderByDesc(RetrieveRecord::getRetrieveTime)
|
|
|
|
- .orderByDesc(RetrieveRecord::getCreateTime);
|
|
|
|
|
|
+ QueryWrapper<RetrieveRecord> queryWrapper = new QueryWrapper<>();
|
|
|
|
+ queryWrapper.lambda().in(RetrieveRecord::getId, retrieveIds);
|
|
|
|
+
|
|
|
|
+ if (orderDTO != null && orderDTO.getOrderBy() != null && !orderDTO.getOrderBy().isEmpty()) {
|
|
|
|
+ String orderByField = orderDTO.getOrderBy();
|
|
|
|
+ boolean isTrue = orderDTO.getOrderType() == 0;
|
|
|
|
+ String column = this.getColumns(orderByField);
|
|
|
|
+ queryWrapper.orderBy(orderByField != null && !orderByField.isEmpty(), isTrue, column);
|
|
|
|
+ } else {
|
|
|
|
+ queryWrapper.orderBy(true, false, "create_time");
|
|
|
|
+ }
|
|
|
|
+
|
|
if (current != null && size != null) {
|
|
if (current != null && size != null) {
|
|
IPage<RetrieveRecord> retrieveRecords = this.page(new Page<>(current, size), queryWrapper);
|
|
IPage<RetrieveRecord> retrieveRecords = this.page(new Page<>(current, size), queryWrapper);
|
|
retrieveRecordList = retrieveRecords.getRecords();
|
|
retrieveRecordList = retrieveRecords.getRecords();
|
|
@@ -257,4 +269,21 @@ public class NoveltySearchRecordService extends ServiceImpl<RetrieveRecordMapper
|
|
return ids;
|
|
return ids;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+ public String getColumns(String column){
|
|
|
|
+ Map<String, String> map = new HashMap<>();
|
|
|
|
+ map.put("conditions","conditions");
|
|
|
|
+ map.put("dbType","db_type");
|
|
|
|
+ map.put("searchType","search_type");
|
|
|
|
+ map.put("totalNum","total_num");
|
|
|
|
+ map.put("retrieveTime","retrieve_time");
|
|
|
|
+ map.put("createName","create_id");
|
|
|
|
+ map.put("createTime","create_time");
|
|
|
|
+ map.put("updateTime","update_time");
|
|
|
|
+ map.put("ifBySystem","if_by_system");
|
|
|
|
+ map.put("searchSetting","search_setting");
|
|
|
|
+ String reStr = map.get(column);
|
|
|
|
+ return reStr;
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|