a-tuoheng-task/src/main/java/com/ruoyi/task/controller/convert/TaskStatControllerConvert.java

87 lines
3.2 KiB
Java
Raw Normal View History

2026-03-09 16:36:47 +08:00
package com.ruoyi.task.controller.convert;
import com.ruoyi.task.api.domain.TaskStatQueryVO;
2026-03-09 17:20:57 +08:00
import com.ruoyi.task.api.domain.TaskStatItemDTO;
import com.ruoyi.task.service.dto.TaskStatItemServiceDTO;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
2026-03-09 16:36:47 +08:00
/**
* 任务统计Controller转换器
*
* @author ruoyi
* @date 2026-03-09
*/
public class TaskStatControllerConvert {
/**
* API 查询DTO 服务查询DTO
*/
public static com.ruoyi.task.service.dto.TaskStatQueryServiceDTO toQuery(TaskStatQueryVO apiDTO) {
if (apiDTO == null) return null;
com.ruoyi.task.service.dto.TaskStatQueryServiceDTO dto = new com.ruoyi.task.service.dto.TaskStatQueryServiceDTO();
dto.setYear(apiDTO.getYear());
dto.setMonth(apiDTO.getMonth());
2026-03-13 11:44:39 +08:00
dto.setStartDate(apiDTO.getStartDate());
dto.setEndDate(apiDTO.getEndDate());
2026-03-09 16:36:47 +08:00
dto.setTaskCategory(apiDTO.getTaskCategory());
dto.setTaskType(apiDTO.getTaskType());
2026-03-13 09:16:36 +08:00
dto.setStatusList(apiDTO.getStatusList());
2026-03-13 10:28:13 +08:00
dto.setRouteIdList(apiDTO.getRouteIdList());
2026-03-13 10:52:55 +08:00
dto.setUavIdList(apiDTO.getUavIdList());
2026-03-09 16:36:47 +08:00
return dto;
}
/**
* 服务按年统计DTO API 按年统计DTO
*/
public static com.ruoyi.task.api.domain.TaskStatByYearDTO fromYear(com.ruoyi.task.service.dto.TaskStatByYearServiceDTO dto) {
if (dto == null) return null;
com.ruoyi.task.api.domain.TaskStatByYearDTO apiDTO = new com.ruoyi.task.api.domain.TaskStatByYearDTO();
apiDTO.setTotal(dto.getTotal());
apiDTO.setMonths(dto.getMonths());
return apiDTO;
}
/**
* 服务按月统计DTO API 按月统计DTO
*/
public static com.ruoyi.task.api.domain.TaskStatByMonthDTO fromMonth(com.ruoyi.task.service.dto.TaskStatByMonthServiceDTO dto) {
if (dto == null) return null;
com.ruoyi.task.api.domain.TaskStatByMonthDTO apiDTO = new com.ruoyi.task.api.domain.TaskStatByMonthDTO();
apiDTO.setTotal(dto.getTotal());
2026-03-09 17:20:57 +08:00
if (dto.getDays() != null) {
Map<Integer, List<TaskStatItemDTO>> apiDays = new HashMap<>();
for (Map.Entry<Integer, List<TaskStatItemServiceDTO>> entry : dto.getDays().entrySet()) {
List<TaskStatItemDTO> apiItems = new ArrayList<>();
for (TaskStatItemServiceDTO item : entry.getValue()) {
apiItems.add(fromItem(item));
}
apiDays.put(entry.getKey(), apiItems);
}
apiDTO.setDays(apiDays);
}
return apiDTO;
}
private static TaskStatItemDTO fromItem(TaskStatItemServiceDTO dto) {
if (dto == null) return null;
TaskStatItemDTO apiDTO = new TaskStatItemDTO();
apiDTO.setTaskId(dto.getTaskId());
apiDTO.setPlanId(dto.getPlanId());
apiDTO.setTaskName(dto.getTaskName());
apiDTO.setPlanName(dto.getPlanName());
apiDTO.setStartTime(dto.getStartTime());
apiDTO.setEndTime(dto.getEndTime());
apiDTO.setActualStartTime(dto.getActualStartTime());
apiDTO.setActualEndTime(dto.getActualEndTime());
apiDTO.setStatus(dto.getStatus());
2026-03-09 16:36:47 +08:00
return apiDTO;
}
}