分页查询

This commit is contained in:
周俊杰
2023-06-29 18:54:51 +08:00
parent 2654b00d0b
commit 3ecb95291a

View File

@@ -60,6 +60,7 @@ import java.math.BigDecimal;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.stream.Collectors;
/**
* @author ldjun
@@ -147,43 +148,73 @@ public class TaskServiceImpl implements TaskService, ApplicationAutoInitial {
@Override
public Map<String, Object> queryAllByCache(Map whereJson, Pageable page) {
// this.reload();
this.reload();
String task_code = (String) whereJson.get("task_code");
String vehicle_code = (String) whereJson.get("vehicle_code");
String material_type = (String) whereJson.get("material_type");
String status = (String) whereJson.get("status");
String point_code = (String) whereJson.get("point_code");
String is_over = (String) whereJson.get("is_over");
String task_type = (String) whereJson.get("task_type");
List<TaskDto> taskList = new ArrayList();
for (int i = 0; i < tasks.size(); i++) {
TaskDto task = tasks.get(i);
if ("1".equals(is_over) && Integer.valueOf(task.getTask_status()) < 2) {
continue;
synchronized (TaskServiceImpl.class) {
Iterator<TaskDto> it = tasks.iterator();
while (it.hasNext()) {
TaskDto task = it.next();
if ("1".equals(is_over) && Integer.valueOf(task.getTask_status()) < 2) {
continue;
}
if (!"1".equals(is_over) && Integer.valueOf(task.getTask_status()) >= 2) {
continue;
}
if (!ObjectUtil.isEmpty(task_code) && !task.getTask_code().contains(task_code)) {
continue;
}
if (!ObjectUtil.isEmpty(status) && !task.getTask_status().equals(status)) {
continue;
}
if (!ObjectUtil.isEmpty(vehicle_code) && !task.getVehicle_code().contains(vehicle_code)) {
continue;
}
if (!ObjectUtil.isEmpty(material_type) && !task.getMaterial().equals(material_type)) {
continue;
}
if (!ObjectUtil.isEmpty(point_code)
&& !(task.getStart_point_code().contains(point_code)
|| task.getNext_point_code().contains(point_code))) {
continue;
}
if (!ObjectUtil.isEmpty(task_type) && !task.getTask_type().equals(task_type)) {
continue;
}
taskList.add(task);
}
if (!"1".equals(is_over) && Integer.valueOf(task.getTask_status()) >= 2) {
continue;
}
if (!ObjectUtil.isEmpty(task_code) && !task.getTask_code().equals(task_code)) {
continue;
}
if (!ObjectUtil.isEmpty(status) && !task.getTask_status().equals(status)) {
continue;
}
if (!ObjectUtil.isEmpty(vehicle_code) && !task.getVehicle_code().equals(vehicle_code)) {
continue;
}
if (!ObjectUtil.isEmpty(material_type) && !task.getMaterial().equals(material_type)) {
continue;
}
if (!ObjectUtil.isEmpty(point_code) && !(task.getStart_point_code().equals(point_code) || task.getNext_point_code().equals(point_code))) {
continue;
}
taskList.add(task);
// 按照创建时间排序
taskList =
taskList.stream()
.sorted(
(task1, task2) ->
DateUtil.compare(
DateUtil.parseDate(task1.getCreate_time()),
DateUtil.parse(task2.getCreate_time())))
.collect(Collectors.toList());
}
JSONObject jo = new JSONObject();
jo.put("content", taskList);
Integer currentPageNumber = page.getPageNumber() + 1;
Integer pageMaxSize = page.getPageSize();
List<TaskDto> taskDtoList =
taskList.stream()
.skip((currentPageNumber - 1) * pageMaxSize)
.limit(pageMaxSize)
.collect(Collectors.toList());
com.alibaba.fastjson.JSONObject jo = new com.alibaba.fastjson.JSONObject();
jo.put("content", taskDtoList);
jo.put("totalElements", taskList.size());
return jo;
}
@Override