diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index b7da68a..370e4a1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -66,8 +66,8 @@ //线路读取 TrackListRequest trackListRequest = new TrackListRequest(); trackListRequest.setRobotId(info.getId()); - trackListRequest.setSn(info.getId()+""); - ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST);; + trackListRequest.setSn(info.getId() + ""); + ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST); //线路关键点读取 if (requestDTO.getData() != null) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index b7da68a..370e4a1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -66,8 +66,8 @@ //线路读取 TrackListRequest trackListRequest = new TrackListRequest(); trackListRequest.setRobotId(info.getId()); - trackListRequest.setSn(info.getId()+""); - ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST);; + trackListRequest.setSn(info.getId() + ""); + ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST); //线路关键点读取 if (requestDTO.getData() != null) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java index 905ce46..9f5d0dd 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java @@ -8,17 +8,17 @@ */ @Data public class AppCmdVelRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "Integer") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "Integer") private Integer action; - @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3", dataType = "float") + @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3" , dataType = "float") private Integer priority; - @ApiModelProperty(value = "线速度,单位m/s,正数为前进", dataType = "float") + @ApiModelProperty(value = "线速度,单位m/s,正数为前进" , dataType = "float") private float v; - @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转", dataType = "float") + @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转" , dataType = "float") private float w; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index b7da68a..370e4a1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -66,8 +66,8 @@ //线路读取 TrackListRequest trackListRequest = new TrackListRequest(); trackListRequest.setRobotId(info.getId()); - trackListRequest.setSn(info.getId()+""); - ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST);; + trackListRequest.setSn(info.getId() + ""); + ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST); //线路关键点读取 if (requestDTO.getData() != null) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java index 905ce46..9f5d0dd 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java @@ -8,17 +8,17 @@ */ @Data public class AppCmdVelRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "Integer") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "Integer") private Integer action; - @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3", dataType = "float") + @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3" , dataType = "float") private Integer priority; - @ApiModelProperty(value = "线速度,单位m/s,正数为前进", dataType = "float") + @ApiModelProperty(value = "线速度,单位m/s,正数为前进" , dataType = "float") private float v; - @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转", dataType = "float") + @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转" , dataType = "float") private float w; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java index 50a3536..68eb828 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java @@ -8,18 +8,18 @@ */ @Data public class StartTrackRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "String") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "String") private Integer action; - @ApiModelProperty(value = "等待状态 1:等待 0:不等待", dataType = "String") + @ApiModelProperty(value = "等待状态 1:等待 0:不等待" , dataType = "String") private Integer wait; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "轨迹名称" , dataType = "String") private String track_name; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "关键点名称" , dataType = "String" , hidden = true) private String taskpoint_name; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index b7da68a..370e4a1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -66,8 +66,8 @@ //线路读取 TrackListRequest trackListRequest = new TrackListRequest(); trackListRequest.setRobotId(info.getId()); - trackListRequest.setSn(info.getId()+""); - ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST);; + trackListRequest.setSn(info.getId() + ""); + ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST); //线路关键点读取 if (requestDTO.getData() != null) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java index 905ce46..9f5d0dd 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java @@ -8,17 +8,17 @@ */ @Data public class AppCmdVelRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "Integer") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "Integer") private Integer action; - @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3", dataType = "float") + @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3" , dataType = "float") private Integer priority; - @ApiModelProperty(value = "线速度,单位m/s,正数为前进", dataType = "float") + @ApiModelProperty(value = "线速度,单位m/s,正数为前进" , dataType = "float") private float v; - @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转", dataType = "float") + @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转" , dataType = "float") private float w; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java index 50a3536..68eb828 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java @@ -8,18 +8,18 @@ */ @Data public class StartTrackRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "String") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "String") private Integer action; - @ApiModelProperty(value = "等待状态 1:等待 0:不等待", dataType = "String") + @ApiModelProperty(value = "等待状态 1:等待 0:不等待" , dataType = "String") private Integer wait; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "轨迹名称" , dataType = "String") private String track_name; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "关键点名称" , dataType = "String" , hidden = true) private String taskpoint_name; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java index 60f8d39..bb0c3f3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java @@ -28,8 +28,17 @@ * * @param robotInfo 机器人信息 * @param track_name 路线名称 - * @param list 列表 + * @param list 列表 * @return */ List saveListByTargetIds(RobotInfo robotInfo, String track_name, List list); + + /** + * 根据路线读取关键点信息 + * + * @param robotInfo 机器信息 + * @param track_name 路线名称 + * @return + */ + List getKeyPointByTrackName(RobotInfo robotInfo, String track_name); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java index 79a285d..71321ae 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/model/RouteKeyPointInfo.java @@ -69,6 +69,9 @@ @TableField("route_id") private Long routeId; + @ApiModelProperty(value = "路线标识" , dataType = "String") + @TableField("route_target_id") + private String routeTargetId; @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java index 8ecb7dd..a5f0b12 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/handler/cmd/StartTrackCmdHandler.java @@ -1,22 +1,31 @@ package com.casic.missiles.modular.robot.opt.handler.cmd; +import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; +import com.casic.missiles.model.exception.ServiceException; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.robot.model.RouteKeyPointInfo; import com.casic.missiles.modular.robot.opt.IRobotRouteOptService; import com.casic.missiles.modular.robot.opt.enums.InstructCodeEnums; import com.casic.missiles.modular.robot.opt.handler.AbstractCmdHandler; import com.casic.missiles.modular.robot.opt.instruct.base.dto.MessageRequestDTO; import com.casic.missiles.modular.robot.opt.instruct.dto.StartTrackRequest; import com.casic.missiles.modular.robot.service.IRobotInfoService; +import com.casic.missiles.modular.robot.service.IRouteKeyPointInfoService; import com.casic.missiles.modular.robot.service.ITaskInfoService; import org.springframework.stereotype.Component; +import java.util.List; + @Component("START_TRACK") public class StartTrackCmdHandler extends AbstractCmdHandler { private final ITaskInfoService taskInfoService; - protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService) { + private final IRouteKeyPointInfoService keyPointInfoService; + + protected StartTrackCmdHandler(IRobotRouteOptService optService, IRobotInfoService service, ITaskInfoService taskInfoService, IRouteKeyPointInfoService keyPointInfoService) { super(optService, service); this.taskInfoService = taskInfoService; + this.keyPointInfoService = keyPointInfoService; } /** @@ -32,6 +41,14 @@ if (StrUtil.isEmpty(request.getSn())) { request.setSn(request.getRobotId() + ""); } + //读取默认关键点信息 + List pointInfos = keyPointInfoService.getKeyPointByTrackName(getRobotInfo(), request.getTrack_name()); + if (CollectionUtil.isNotEmpty(pointInfos)) { + RouteKeyPointInfo pointInfo = pointInfos.get(0); + request.setTaskpoint_name(pointInfo.getTargetId()); + } else { + throw new ServiceException(500, "路线关键点不存在,请重新加载路线信息"); + } messageDTO.setMsg(request); ResponseDataDTO list = optService.robotCmd(getRobotInfo(), InstructCodeEnums.START_TRACK, messageDTO); return list; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java index b7da68a..370e4a1 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/impl/RobotOptServiceImpl.java @@ -66,8 +66,8 @@ //线路读取 TrackListRequest trackListRequest = new TrackListRequest(); trackListRequest.setRobotId(info.getId()); - trackListRequest.setSn(info.getId()+""); - ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST);; + trackListRequest.setSn(info.getId() + ""); + ResponseDataDTO> requestDTO = execCmdHandler(trackListRequest, InstructCodeEnums.TRACK_LIST); //线路关键点读取 if (requestDTO.getData() != null) { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java index 905ce46..9f5d0dd 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/AppCmdVelRequest.java @@ -8,17 +8,17 @@ */ @Data public class AppCmdVelRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "Integer") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "Integer") private Integer action; - @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3", dataType = "float") + @ApiModelProperty(value = "优先级0-5 遥操作:0 跟随:1 自主导航:2 其它:3" , dataType = "float") private Integer priority; - @ApiModelProperty(value = "线速度,单位m/s,正数为前进", dataType = "float") + @ApiModelProperty(value = "线速度,单位m/s,正数为前进" , dataType = "float") private float v; - @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转", dataType = "float") + @ApiModelProperty(value = "角速度,单位rad/s,正数为逆时针旋转" , dataType = "float") private float w; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java index 50a3536..68eb828 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/opt/instruct/dto/StartTrackRequest.java @@ -8,18 +8,18 @@ */ @Data public class StartTrackRequest extends BaseRobotCmdDTO { - @ApiModelProperty(value = "sn编码(可不填 默认机器ID)", dataType = "String") + @ApiModelProperty(value = "sn编码(可不填 默认机器ID)" , dataType = "String") private String sn; - @ApiModelProperty(value = "下发状态 1:开启 0:关闭", dataType = "String") + @ApiModelProperty(value = "下发状态 1:开启 0:关闭" , dataType = "String") private Integer action; - @ApiModelProperty(value = "等待状态 1:等待 0:不等待", dataType = "String") + @ApiModelProperty(value = "等待状态 1:等待 0:不等待" , dataType = "String") private Integer wait; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "轨迹名称" , dataType = "String") private String track_name; - @ApiModelProperty(value = "轨迹名称", dataType = "String") + @ApiModelProperty(value = "关键点名称" , dataType = "String" , hidden = true) private String taskpoint_name; } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java index 60f8d39..bb0c3f3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/IRouteKeyPointInfoService.java @@ -28,8 +28,17 @@ * * @param robotInfo 机器人信息 * @param track_name 路线名称 - * @param list 列表 + * @param list 列表 * @return */ List saveListByTargetIds(RobotInfo robotInfo, String track_name, List list); + + /** + * 根据路线读取关键点信息 + * + * @param robotInfo 机器信息 + * @param track_name 路线名称 + * @return + */ + List getKeyPointByTrackName(RobotInfo robotInfo, String track_name); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/RouteKeyPointInfoServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/RouteKeyPointInfoServiceImpl.java index e627576..ca400fd 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/RouteKeyPointInfoServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/robot/service/impl/RouteKeyPointInfoServiceImpl.java @@ -59,6 +59,7 @@ keyPointInfo.setPointName(s); keyPointInfo.setRobotId(robotInfo.getId()); keyPointInfo.setRouteId(routeInfo.getId()); + keyPointInfo.setRouteTargetId(routeInfo.getTargetId()); keyPointInfos.add(keyPointInfo); } saveBatch(keyPointInfos); @@ -66,4 +67,12 @@ return keyPointInfos; } + @Override + public List getKeyPointByTrackName(RobotInfo robotInfo, String track_name) { + QueryWrapper query = new QueryWrapper<>(); + query.eq("route_target_id" , track_name); + query.eq("robot_id" , robotInfo.getId()); + return list(query); + } + }