diff --git a/pom.xml b/pom.xml index 18afed2..3a7c319 100644 --- a/pom.xml +++ b/pom.xml @@ -83,6 +83,18 @@ tuoheng-api-task + + + com.ruoyi + tuoheng-api-airline + + + + + com.ruoyi + tuoheng-api-device + + org.flywaydb diff --git a/src/main/java/com/ruoyi/task/service/dto/TaskStatItemServiceDTO.java b/src/main/java/com/ruoyi/task/service/dto/TaskStatItemServiceDTO.java index fc335fd..2df7e3e 100644 --- a/src/main/java/com/ruoyi/task/service/dto/TaskStatItemServiceDTO.java +++ b/src/main/java/com/ruoyi/task/service/dto/TaskStatItemServiceDTO.java @@ -1,5 +1,7 @@ package com.ruoyi.task.service.dto; +import com.ruoyi.task.api.enums.CycleTypeEnum; +import com.ruoyi.task.api.enums.PlanTypeEnum; import com.ruoyi.task.api.enums.StatusEnum; import java.util.Date; @@ -15,6 +17,22 @@ public class TaskStatItemServiceDTO { private Long planId; private String taskName; private String planName; + private PlanTypeEnum planType; + private CycleTypeEnum cycleType; + private Date planStartDate; + private Date planEndDate; + private String routeName; + private String airVendor; + private String airType; + + public String getAirType() { + return airType; + } + + public void setAirType(String airType) { + this.airType = airType; + } + private Date startTime; private Date endTime; private Date actualStartTime; @@ -53,6 +71,54 @@ public class TaskStatItemServiceDTO { this.planName = planName; } + public PlanTypeEnum getPlanType() { + return planType; + } + + public void setPlanType(PlanTypeEnum planType) { + this.planType = planType; + } + + public CycleTypeEnum getCycleType() { + return cycleType; + } + + public void setCycleType(CycleTypeEnum cycleType) { + this.cycleType = cycleType; + } + + public Date getPlanStartDate() { + return planStartDate; + } + + public void setPlanStartDate(Date planStartDate) { + this.planStartDate = planStartDate; + } + + public Date getPlanEndDate() { + return planEndDate; + } + + public void setPlanEndDate(Date planEndDate) { + this.planEndDate = planEndDate; + } + + public String getRouteName() { + return routeName; + } + + public void setRouteName(String routeName) { + this.routeName = routeName; + } + + public String getAirVendor() { + return airVendor; + } + + public void setAirVendor(String airVendor) { + this.airVendor = airVendor; + } + public Date getStartTime() { return startTime; } diff --git a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java index c56e71a..11f19dd 100644 --- a/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java +++ b/src/main/java/com/ruoyi/task/service/impl/TaskServiceImpl.java @@ -1,5 +1,10 @@ package com.ruoyi.task.service.impl; +import com.ruoyi.airline.api.RemoteAirlineService; +import com.ruoyi.airline.api.domain.AirlineFileVO; +import com.ruoyi.common.core.constant.SecurityConstants; +import com.ruoyi.common.core.domain.R; +import com.ruoyi.device.api.RemoteAircraftService; import com.ruoyi.task.api.enums.StatusEnum; import com.ruoyi.task.domain.api.ITaskDomain; import com.ruoyi.task.domain.api.ITaskPlanDomain; @@ -27,6 +32,12 @@ public class TaskServiceImpl implements ITaskService { @Autowired private ITaskPlanDomain taskPlanDomain; + @Autowired + private RemoteAirlineService remoteAirlineService; + + @Autowired + private RemoteAircraftService remoteAircraftService; + @Override public Long createTaskWithoutPlan(TaskDTO taskDTO) { Task task = TaskDTOConvert.toDomain(taskDTO); @@ -313,9 +324,40 @@ public class TaskServiceImpl implements ITaskService { TaskPlan plan = taskPlanDomain.getTaskPlanById(t.getPlanId()); if (plan != null) { item.setPlanName(plan.getPlanName()); + item.setPlanType(plan.getPlanType()); + item.setCycleType(plan.getCycleType()); + item.setPlanStartDate(plan.getStartDate()); + item.setPlanEndDate(plan.getEndDate()); } } + // 查询航线名称 + if (t.getRouteId() != null && t.getRouteId()>0L) { + try { + R airlineResult = remoteAirlineService.getFileById(t.getRouteId(), SecurityConstants.INNER); + if (airlineResult != null && airlineResult.getData() != null) { + item.setRouteName(airlineResult.getData().getName()); + item.setAirVendor(airlineResult.getData().getAirVendor()); + item.setAirType(airlineResult.getData().getAirType()); + } + } catch (Exception e) { + // 忽略远程调用异常 + } + } + +// // 查询无人机型号 +// if (t.getUavId() != null) { +// try { +// Long aircraftId = Long.parseLong(t.getUavId()); +// R aircraftResult = remoteAircraftService.getAircraftDetail(aircraftId, SecurityConstants.INNER); +// if (aircraftResult != null && aircraftResult.getData() != null) { +// item.setAircraftModel(aircraftResult.getData().getAircraftModel()); +// } +// } catch (Exception e) { +// // 忽略远程调用异常或类型转换异常 +// } +// } + days.computeIfAbsent(day, k -> new ArrayList<>()).add(item); total++; }