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());
|
|
|
|
|
dto.setTaskCategory(apiDTO.getTaskCategory());
|
|
|
|
|
dto.setTaskType(apiDTO.getTaskType());
|
|
|
|
|
dto.setStatus(apiDTO.getStatus());
|
|
|
|
|
dto.setRouteId(apiDTO.getRouteId());
|
|
|
|
|
dto.setUavId(apiDTO.getUavId());
|
|
|
|
|
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;
|
|
|
|
|
}
|
|
|
|
|
}
|