diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml index 4635ee0..06fc82f 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml @@ -56,4 +56,19 @@ + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml index 4635ee0..06fc82f 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml @@ -56,4 +56,19 @@ + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java index d376d37..fd63faa 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java @@ -38,5 +38,12 @@ * * @return {@link List} */ - List> lastRoute(String taskId, String startDate,String endDate); + List> lastRoute(String taskId, String startDate, String endDate); + + /** + * 根据taskId查询机器人历史路线 + * + * @return {@link List} + */ + List> routeByTaskId(String taskId); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml index 4635ee0..06fc82f 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml @@ -56,4 +56,19 @@ + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java index d376d37..fd63faa 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java @@ -38,5 +38,12 @@ * * @return {@link List} */ - List> lastRoute(String taskId, String startDate,String endDate); + List> lastRoute(String taskId, String startDate, String endDate); + + /** + * 根据taskId查询机器人历史路线 + * + * @return {@link List} + */ + List> routeByTaskId(String taskId); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java index a3e6adf..7c8bbeb 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java @@ -5,7 +5,10 @@ import com.casic.missiles.modular.system.dao.RobotMapper; import com.casic.missiles.modular.system.dto.RobotInfoDTO; import com.casic.missiles.modular.system.model.RobotInfo; +import com.casic.missiles.modular.system.model.Task; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ITaskService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -18,13 +21,16 @@ * * @author a203 */ +@Slf4j @Service public class RobotServiceImpl extends ServiceImpl implements IRobotService { private final AbstractDictService dictService; + private final ITaskService taskService; - public RobotServiceImpl(AbstractDictService dictService) { + public RobotServiceImpl(AbstractDictService dictService, ITaskService taskService) { this.dictService = dictService; + this.taskService = taskService; } @Override @@ -85,7 +91,27 @@ String modelType = robotInfo.getModelType(); dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); } - if (dtoList.size() != 0) { + if (robotInfos.size() != 0) { + result.add(dtoList); + } + } + return result; + } + + @Override + public List> routeByTaskId(String taskId) { + List> result = new ArrayList<>(); + //先根据taskId查询Task库,得到此次任务的起始时间 + Task task = taskService.selectTaskById(taskId); + if (task != null) { + List robotInfos = this.baseMapper + .selectRobotInfoByTime(task.getRobotId(), task.getCreateTime(), task.getEndTime()); + List dtoList = new ArrayList<>(); + for (RobotInfo robotInfo : robotInfos) { + String modelType = robotInfo.getModelType(); + dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); + } + if (robotInfos.size() != 0) { result.add(dtoList); } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml index 4635ee0..06fc82f 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml @@ -56,4 +56,19 @@ + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java index d376d37..fd63faa 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java @@ -38,5 +38,12 @@ * * @return {@link List} */ - List> lastRoute(String taskId, String startDate,String endDate); + List> lastRoute(String taskId, String startDate, String endDate); + + /** + * 根据taskId查询机器人历史路线 + * + * @return {@link List} + */ + List> routeByTaskId(String taskId); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java index a3e6adf..7c8bbeb 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java @@ -5,7 +5,10 @@ import com.casic.missiles.modular.system.dao.RobotMapper; import com.casic.missiles.modular.system.dto.RobotInfoDTO; import com.casic.missiles.modular.system.model.RobotInfo; +import com.casic.missiles.modular.system.model.Task; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ITaskService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -18,13 +21,16 @@ * * @author a203 */ +@Slf4j @Service public class RobotServiceImpl extends ServiceImpl implements IRobotService { private final AbstractDictService dictService; + private final ITaskService taskService; - public RobotServiceImpl(AbstractDictService dictService) { + public RobotServiceImpl(AbstractDictService dictService, ITaskService taskService) { this.dictService = dictService; + this.taskService = taskService; } @Override @@ -85,7 +91,27 @@ String modelType = robotInfo.getModelType(); dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); } - if (dtoList.size() != 0) { + if (robotInfos.size() != 0) { + result.add(dtoList); + } + } + return result; + } + + @Override + public List> routeByTaskId(String taskId) { + List> result = new ArrayList<>(); + //先根据taskId查询Task库,得到此次任务的起始时间 + Task task = taskService.selectTaskById(taskId); + if (task != null) { + List robotInfos = this.baseMapper + .selectRobotInfoByTime(task.getRobotId(), task.getCreateTime(), task.getEndTime()); + List dtoList = new ArrayList<>(); + for (RobotInfo robotInfo : robotInfos) { + String modelType = robotInfo.getModelType(); + dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); + } + if (robotInfos.size() != 0) { result.add(dtoList); } } diff --git a/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java b/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java index fa3f4d3..06141ac 100644 --- a/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java +++ b/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java @@ -21,9 +21,16 @@ void updateTaskById(int robotId); /** + * 根据taskId查询Task + * + * @param taskId + */ + Task selectTaskById(String taskId); + + /** * 获取所有路线时间的列表 * - * @return {@link List< Map >} + * @return {@link List} */ List> selectTimeList(); diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 1251526..3444c3e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -8,6 +8,7 @@ import com.casic.missiles.modular.system.service.IRobotService; import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -22,6 +23,7 @@ * * @author a203 */ +@Slf4j @Controller @RequestMapping("/shelter") public class ShelterController extends BaseController { @@ -64,8 +66,18 @@ @GetMapping(value = "/routeHistory") @ResponseBody public Object history(String taskId, String startDate, String endDate) { - List> lastRouteMap = robotService.lastRoute(taskId, startDate, endDate); - return ResponseData.success(lastRouteMap); + List> lastRoute = robotService.lastRoute(taskId, startDate, endDate); + return ResponseData.success(lastRoute); + } + + /** + * 根据taskId查询机器人历史路线 + */ + @GetMapping(value = "/routeByTaskId") + @ResponseBody + public Object routeByTaskId(String taskId) { + List> route = robotService.routeByTaskId(taskId); + return ResponseData.success(route); } /** diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java index a3339aa..0b6c66e 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/RobotMapper.java @@ -31,11 +31,23 @@ * 根据时间获取数据库里机器人数据 * * @param robotId 机器人ID - * @param startDate 开始时间 - * @param endDate 结束时间 + * @param startDate 开始日期 + * @param endDate 结束日期 * @return {@link List} */ List selectRobotInfos(@Param("robotId") Integer robotId, @Param("startDate") String startDate, @Param("endDate") String endDate); + + /** + * 根据时间获取数据库里机器人数据 + * + * @param robotId 机器人ID + * @param createTime 开始时间 + * @param endTime 结束时间 + * @return {@link List} + */ + List selectRobotInfoByTime(@Param("robotId") Integer robotId, + @Param("createTime") String createTime, + @Param("endTime") String endTime); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml index 4635ee0..06fc82f 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/RobotMapper.xml @@ -56,4 +56,19 @@ + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java index d376d37..fd63faa 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/IRobotService.java @@ -38,5 +38,12 @@ * * @return {@link List} */ - List> lastRoute(String taskId, String startDate,String endDate); + List> lastRoute(String taskId, String startDate, String endDate); + + /** + * 根据taskId查询机器人历史路线 + * + * @return {@link List} + */ + List> routeByTaskId(String taskId); } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java index a3e6adf..7c8bbeb 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/RobotServiceImpl.java @@ -5,7 +5,10 @@ import com.casic.missiles.modular.system.dao.RobotMapper; import com.casic.missiles.modular.system.dto.RobotInfoDTO; import com.casic.missiles.modular.system.model.RobotInfo; +import com.casic.missiles.modular.system.model.Task; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ITaskService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -18,13 +21,16 @@ * * @author a203 */ +@Slf4j @Service public class RobotServiceImpl extends ServiceImpl implements IRobotService { private final AbstractDictService dictService; + private final ITaskService taskService; - public RobotServiceImpl(AbstractDictService dictService) { + public RobotServiceImpl(AbstractDictService dictService, ITaskService taskService) { this.dictService = dictService; + this.taskService = taskService; } @Override @@ -85,7 +91,27 @@ String modelType = robotInfo.getModelType(); dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); } - if (dtoList.size() != 0) { + if (robotInfos.size() != 0) { + result.add(dtoList); + } + } + return result; + } + + @Override + public List> routeByTaskId(String taskId) { + List> result = new ArrayList<>(); + //先根据taskId查询Task库,得到此次任务的起始时间 + Task task = taskService.selectTaskById(taskId); + if (task != null) { + List robotInfos = this.baseMapper + .selectRobotInfoByTime(task.getRobotId(), task.getCreateTime(), task.getEndTime()); + List dtoList = new ArrayList<>(); + for (RobotInfo robotInfo : robotInfos) { + String modelType = robotInfo.getModelType(); + dtoList.add(new RobotInfoDTO(robotInfo, getRobotType(modelType))); + } + if (robotInfos.size() != 0) { result.add(dtoList); } } diff --git a/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java b/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java index fa3f4d3..06141ac 100644 --- a/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java +++ b/casic-task/src/main/java/com/casic/missiles/modular/system/service/ITaskService.java @@ -21,9 +21,16 @@ void updateTaskById(int robotId); /** + * 根据taskId查询Task + * + * @param taskId + */ + Task selectTaskById(String taskId); + + /** * 获取所有路线时间的列表 * - * @return {@link List< Map >} + * @return {@link List} */ List> selectTimeList(); diff --git a/casic-task/src/main/java/com/casic/missiles/modular/system/service/impl/TaskServiceImpl.java b/casic-task/src/main/java/com/casic/missiles/modular/system/service/impl/TaskServiceImpl.java index 347c63d..09ef4cd 100644 --- a/casic-task/src/main/java/com/casic/missiles/modular/system/service/impl/TaskServiceImpl.java +++ b/casic-task/src/main/java/com/casic/missiles/modular/system/service/impl/TaskServiceImpl.java @@ -50,6 +50,16 @@ } @Override + public Task selectTaskById(String taskId) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("ID", taskId); + if (this.count(query) != 0) { + return this.baseMapper.selectOne(query); + } + return null; + } + + @Override public List> selectTimeList() { List timeModels = new ArrayList<>(); for (RegionPlan plan : regionPlanService.list()) {