远遥断开连接
This commit is contained in:
parent
53e897ceac
commit
5d830c5165
@ -15,5 +15,7 @@ public class PathPosedsDTO {
|
||||
private String orderId;
|
||||
private String orderType;
|
||||
private String robotNo;
|
||||
private String commandType;
|
||||
private List<PathPosedsDataDTO> data;
|
||||
private PathSwitchMapDTO arg;
|
||||
}
|
||||
|
@ -0,0 +1,9 @@
|
||||
package cn.iocoder.yudao.module.mqtt.api.path.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class PathSwitchMapDTO {
|
||||
private String floor;
|
||||
private String areaId;
|
||||
}
|
@ -8,4 +8,7 @@ public class RemotePathPlanningDTO {
|
||||
|
||||
@Schema(description = "车辆编号")
|
||||
private String robotNo;
|
||||
|
||||
@Schema(description = "AUTO自动、 MAN手动")
|
||||
private String operationMode;
|
||||
}
|
||||
|
@ -81,10 +81,18 @@ public class RemoteRobotController {
|
||||
|
||||
@GetMapping("/getMap")
|
||||
@Operation(summary = "获得仓库点位地图Map")
|
||||
@PreAuthorize("@ss.hasPermission('system:position-map:getMap')")
|
||||
@PreAuthorize("@ss.hasPermission('remote:robot:getMap')")
|
||||
public CommonResult<Object> getPositionMapList() {
|
||||
Object result = remoteRobotService.getPositionMapList();
|
||||
return success(result);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disconnect")
|
||||
@Operation(summary = "断开连接")
|
||||
@PreAuthorize("@ss.hasPermission('remote:robot:disconnect')")
|
||||
public CommonResult<Boolean> remoteDisconnect(HttpServletRequest request) {
|
||||
remoteRobotService.remoteDisconnect(request);
|
||||
return success(true);
|
||||
}
|
||||
}
|
||||
|
@ -56,4 +56,10 @@ public interface RemoteRobotService {
|
||||
* @return
|
||||
*/
|
||||
Object getPositionMapList();
|
||||
|
||||
/**
|
||||
* 断开连接
|
||||
* @param request
|
||||
*/
|
||||
void remoteDisconnect(HttpServletRequest request);
|
||||
}
|
||||
|
@ -102,4 +102,17 @@ public class RemoteRobotServiceImpl implements RemoteRobotService{
|
||||
public Object getPositionMapList() {
|
||||
return remoteRobotApi.getRemotePositionMapList();
|
||||
}
|
||||
|
||||
/**
|
||||
* 断开连接
|
||||
* @param request
|
||||
*/
|
||||
@Override
|
||||
public void remoteDisconnect(HttpServletRequest request) {
|
||||
String ip = IpUtils.getIp(request);
|
||||
CommonResult<Boolean> result = remoteRobotApi.remoteDisconnect(ip);
|
||||
if (!result.isSuccess()){
|
||||
throw exception0(TASK_COMMONG_FAIL.getCode(), result.getMsg());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -47,4 +47,8 @@ public interface RemoteRobotApi {
|
||||
@PostMapping(PREFIX + "/getRemotePositionMapList")
|
||||
@Operation(summary = "远遥查询地图")
|
||||
Object getRemotePositionMapList();
|
||||
|
||||
@PostMapping(PREFIX + "/remoteDisconnect")
|
||||
@Operation(summary = "断开连接")
|
||||
CommonResult<Boolean> remoteDisconnect(@RequestParam(value = "remoteIp") String remoteIp);
|
||||
}
|
||||
|
@ -307,4 +307,5 @@ public interface ErrorCodeConstants {
|
||||
|
||||
// ========== 区域变更点绑定 1_002_057_001 ==========
|
||||
ErrorCode POSITION_CHANGE_POINT_BINDING_NOT_EXISTS = new ErrorCode(1_002_057_001, "区域变更点绑定不存在");
|
||||
ErrorCode POSITION_CHANGE_POINT_SAME_MAP = new ErrorCode(1_002_057_001, "区域变更点绑定,不能是同一张地图");
|
||||
}
|
||||
|
@ -106,5 +106,16 @@ public class RemoteRobotApiImpl implements RemoteRobotApi {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 断开连接
|
||||
* @param remoteIp
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public CommonResult<Boolean> remoteDisconnect(String remoteIp) {
|
||||
controllerInformationService.remoteDisconnect(remoteIp);
|
||||
return CommonResult.success(true);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -15,6 +15,9 @@ import io.swagger.v3.oas.annotations.Operation;
|
||||
|
||||
import javax.validation.*;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
|
||||
@ -65,11 +68,11 @@ public class PositionChangePointBindingController {
|
||||
}
|
||||
|
||||
@GetMapping("/getItemBySortNum")
|
||||
@Operation(summary = "根据排序查询点位信息")
|
||||
@Operation(summary = "根据排序查询点位信息(区域变更点)")
|
||||
@Parameter(name = "sortNum", description = "点位自增排序", required = true, example = "1024")
|
||||
@PreAuthorize("@ss.hasPermission('system:position-change-point-binding:getItemBySortNum')")
|
||||
public CommonResult<PositionMapItemSaveReqVO> getItemBySortNum(@RequestParam("sortNum") Long sortNum) {
|
||||
PositionMapItemSaveReqVO positionMapItemSaveReqVO = positionMapItemService.getItemBySortNum(sortNum);
|
||||
public CommonResult<List<PositionMapItemSaveReqVO>> getItemBySortNum(@RequestParam("sortNum") Long sortNum) {
|
||||
List<PositionMapItemSaveReqVO> positionMapItemSaveReqVO = positionMapItemService.getItemBySortNum(sortNum);
|
||||
return success(positionMapItemSaveReqVO);
|
||||
}
|
||||
|
||||
|
@ -31,6 +31,7 @@ public class RemoteControllerInformationDO extends BaseDO {
|
||||
/**
|
||||
* AGV编号
|
||||
*/
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String robotNo;
|
||||
/**
|
||||
* 远遥模式(0:自动模式, 1:手动模式, 2:自由模式)
|
||||
|
@ -7,6 +7,7 @@ import lombok.Getter;
|
||||
@AllArgsConstructor
|
||||
public enum RobotCommandTypeEnum {
|
||||
MOVE_POSES("MOVE_POSES","移动"),
|
||||
SWITCH_MAP("SWITCH_MAP","切图"),
|
||||
WORK_START_CHARGE("WORK_START_CHARGE","充电"),
|
||||
WORD_PICK_UP_GOODS("WORD_PICK_UP_GOODS","取货"),
|
||||
WORD_DROP_OFF_GOODS("WORD_DROP_OFF_GOODS","放货"),
|
||||
|
@ -0,0 +1,27 @@
|
||||
package cn.iocoder.yudao.module.system.mq.consumer.remote;
|
||||
|
||||
import cn.iocoder.yudao.module.system.mq.message.RemoteSendMessage;
|
||||
import cn.iocoder.yudao.module.system.mq.message.sms.SmsSendMessage;
|
||||
import cn.iocoder.yudao.module.system.service.remote.RemoteControllerInformationService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Component
|
||||
@Slf4j
|
||||
public class RemoteControllerConsumer {
|
||||
|
||||
@Resource
|
||||
private RemoteControllerInformationService controllerInformationService;
|
||||
|
||||
@EventListener
|
||||
@Async // Spring Event 默认在 Producer 发送的线程,通过 @Async 实现异步
|
||||
public void onMessage(RemoteSendMessage message) {
|
||||
log.info("远遥模块事件收到的消息 : {}", message);
|
||||
controllerInformationService.repeatedTransmissionDisconnect(message);
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
package cn.iocoder.yudao.module.system.mq.message;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
public class RemoteSendMessage {
|
||||
private String robotNo;
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package cn.iocoder.yudao.module.system.mq.producer.remote;
|
||||
|
||||
import cn.iocoder.yudao.module.system.mq.message.RemoteSendMessage;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
public class RemoteControllerProducer {
|
||||
|
||||
@Resource
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
public void sendSmsSendMessage(RemoteSendMessage message) {
|
||||
applicationContext.publishEvent(message);
|
||||
}
|
||||
}
|
@ -38,10 +38,12 @@ import cn.iocoder.yudao.module.system.enums.config.CommandConfigTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.item.PositionMapItemEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.line.DirectionEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.path.PathTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.task.RobotCommandTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.service.config.CommonConfigService;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionChangePointBindingService;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapItemService;
|
||||
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapService;
|
||||
import cn.iocoder.yudao.module.system.service.remote.RemoteControllerInformationService;
|
||||
import cn.iocoder.yudao.module.system.service.robot.RobotInformationService;
|
||||
import cn.iocoder.yudao.module.system.util.redis.RedisUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
@ -113,6 +115,9 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
@Resource
|
||||
private PositionChangePointBindingService positionChangePointBindingService;
|
||||
|
||||
@Resource
|
||||
private RemoteControllerInformationService controllerInformationService;
|
||||
|
||||
/**
|
||||
* 同步ware_position_map_line的点位信息
|
||||
*/
|
||||
@ -441,6 +446,9 @@ public class PathPlanningServiceImpl implements PathPlanningService {
|
||||
String mac = robotInformationService.getMacByRobotNo(pathPosedsDTO.getRobotNo());
|
||||
String topic = RobotTopicConstant.ROBOT_TASK_MOVE_TOPIC + mac;
|
||||
commonApi.commonMethodStr(message, topic);
|
||||
if(RobotCommandTypeEnum.SWITCH_MAP.getType().equals(pathPosedsDTO.getCommandType())) {
|
||||
controllerInformationService.robotChangeSpeed(pathPosedsDTO);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionCh
|
||||
import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionChangePointBindingSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionChangePointBindingDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapDO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionChangePointBindingMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -39,11 +40,21 @@ public class PositionChangePointBindingServiceImpl extends ServiceImpl<PositionC
|
||||
@Resource
|
||||
private PositionChangePointBindingMapper positionChangePointBindingMapper;
|
||||
|
||||
@Resource
|
||||
private PositionMapItemService positionMapItemService;
|
||||
|
||||
@Override
|
||||
public Long createPositionChangePointBinding(PositionChangePointBindingSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
PositionChangePointBindingDO positionChangePointBinding = BeanUtils.toBean(createReqVO, PositionChangePointBindingDO.class);
|
||||
positionChangePointBindingMapper.insert(positionChangePointBinding);
|
||||
|
||||
PositionMapItemDO startPositionMapItem = positionMapItemService.getPositionMapItem(createReqVO.getStartingPointId());
|
||||
PositionMapItemDO endPositionMapItem = positionMapItemService.getPositionMapItem(createReqVO.getEndPointId());
|
||||
if (startPositionMapItem.getPositionMapId().equals(endPositionMapItem.getPositionMapId())) {
|
||||
throw exception(POSITION_CHANGE_POINT_SAME_MAP);
|
||||
}
|
||||
|
||||
// 返回
|
||||
return positionChangePointBinding.getId();
|
||||
}
|
||||
|
@ -126,9 +126,9 @@ public interface PositionMapItemService extends IService<PositionMapItemDO> {
|
||||
Long getUUid();
|
||||
|
||||
/**
|
||||
* 根据排序查询
|
||||
* 根据排序查询 区域变更点
|
||||
* @param sortNum
|
||||
* @return
|
||||
*/
|
||||
PositionMapItemSaveReqVO getItemBySortNum(Long sortNum);
|
||||
List<PositionMapItemSaveReqVO> getItemBySortNum(Long sortNum);
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ import cn.iocoder.yudao.module.system.controller.admin.positionmap.vo.PositionMa
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapItemDO;
|
||||
import cn.iocoder.yudao.module.system.dal.mysql.positionmap.PositionMapItemMapper;
|
||||
import cn.iocoder.yudao.module.system.enums.common.ZeroOneEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.item.PositionMapItemEnum;
|
||||
import cn.iocoder.yudao.module.system.service.log.UserOperationLogService;
|
||||
import cn.iocoder.yudao.module.system.util.redis.RedisUtil;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
@ -166,14 +167,20 @@ public class PositionMapItemServiceImpl extends ServiceImpl<PositionMapItemMappe
|
||||
return IdUtil.getSnowflakeNextId();
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据排序查询区域变更点
|
||||
* @param sortNum
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PositionMapItemSaveReqVO getItemBySortNum(Long sortNum) {
|
||||
PositionMapItemDO positionMapItemDO = positionMapItemMapper.selectOne(new LambdaQueryWrapperX<PositionMapItemDO>()
|
||||
.eq(PositionMapItemDO::getSortNum, sortNum));
|
||||
public List<PositionMapItemSaveReqVO> getItemBySortNum(Long sortNum) {
|
||||
List<PositionMapItemDO> positionMapItemDO = positionMapItemMapper.selectList(new LambdaQueryWrapperX<PositionMapItemDO>()
|
||||
.eqIfPresent(PositionMapItemDO::getType, PositionMapItemEnum.CHANGE.getType())
|
||||
.likeIfPresent(PositionMapItemDO::getSortNum, sortNum+""));
|
||||
if (ObjectUtil.isEmpty(positionMapItemDO)) {
|
||||
return null;
|
||||
}
|
||||
PositionMapItemSaveReqVO bean = BeanUtils.toBean(positionMapItemDO, PositionMapItemSaveReqVO.class);
|
||||
List<PositionMapItemSaveReqVO> bean = BeanUtils.toBean(positionMapItemDO, PositionMapItemSaveReqVO.class);
|
||||
return bean;
|
||||
}
|
||||
|
||||
|
@ -3,12 +3,14 @@ package cn.iocoder.yudao.module.system.service.remote;
|
||||
import java.util.*;
|
||||
import javax.validation.*;
|
||||
|
||||
import cn.iocoder.yudao.module.mqtt.api.path.dto.PathPosedsDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.LoginCheckDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteRobotStatusDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.RemoteTaskTransferDTO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.remote.vo.RemoteControllerInformationPageReqVO;
|
||||
import cn.iocoder.yudao.module.system.controller.admin.remote.vo.RemoteControllerInformationSaveReqVO;
|
||||
import cn.iocoder.yudao.module.system.dal.dataobject.remote.RemoteControllerInformationDO;
|
||||
import cn.iocoder.yudao.module.system.mq.message.RemoteSendMessage;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
@ -108,4 +110,22 @@ public interface RemoteControllerInformationService extends IService<RemoteContr
|
||||
* @param data
|
||||
*/
|
||||
void remoteTransferTaskToFreeRobot(RemoteTaskTransferDTO data);
|
||||
|
||||
/**
|
||||
* 车辆换图修改限速
|
||||
* @param pathPosedsDTO
|
||||
*/
|
||||
void robotChangeSpeed(PathPosedsDTO pathPosedsDTO);
|
||||
|
||||
/**
|
||||
* 断开连接
|
||||
* @param remoteIp
|
||||
*/
|
||||
void remoteDisconnect(String remoteIp);
|
||||
|
||||
/**
|
||||
* 重复发送断开连接的请求
|
||||
* @param message
|
||||
*/
|
||||
void repeatedTransmissionDisconnect(RemoteSendMessage message);
|
||||
}
|
||||
|
@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.system.service.remote;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.module.mqtt.api.common.CommonApi;
|
||||
import cn.iocoder.yudao.module.mqtt.api.path.dto.PathPosedsDTO;
|
||||
import cn.iocoder.yudao.module.mqtt.api.path.dto.remote.RemotePathPlanningDTO;
|
||||
import cn.iocoder.yudao.module.mqtt.api.path.dto.remote.RobotModeDTO;
|
||||
import cn.iocoder.yudao.module.system.api.remote.dto.LoginCheckDTO;
|
||||
@ -36,6 +37,8 @@ import cn.iocoder.yudao.module.system.enums.robot.actionlog.ActionStatusEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.remote.RemoteModeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.remote.RemoteOperationModeEnum;
|
||||
import cn.iocoder.yudao.module.system.enums.robot.task.RobotCommandTypeEnum;
|
||||
import cn.iocoder.yudao.module.system.mq.message.RemoteSendMessage;
|
||||
import cn.iocoder.yudao.module.system.mq.producer.remote.RemoteControllerProducer;
|
||||
import cn.iocoder.yudao.module.system.service.log.RobotTaskDetailActionLogService;
|
||||
import cn.iocoder.yudao.module.system.service.log.UserOperationLogService;
|
||||
import cn.iocoder.yudao.module.system.service.robot.RobotInformationService;
|
||||
@ -47,6 +50,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.redisson.api.RLock;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@ -111,6 +115,9 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
@Resource
|
||||
private ControllerTaskTransferLogService controllerTaskTransferLogService;
|
||||
|
||||
@Resource
|
||||
private RemoteControllerProducer remoteControllerProducer;
|
||||
|
||||
@Override
|
||||
public Long createControllerInformation(RemoteControllerInformationSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
@ -322,6 +329,62 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 车辆换图修改限速
|
||||
* @param pathPosedsDTO
|
||||
*/
|
||||
@Override
|
||||
public void robotChangeSpeed(PathPosedsDTO pathPosedsDTO) {
|
||||
RemoteControllerInformationDO information = controllerInformationMapper.selectOne(new LambdaQueryWrapper<RemoteControllerInformationDO>()
|
||||
.eq(RemoteControllerInformationDO::getRobotNo, pathPosedsDTO.getRobotNo())
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isEmpty(information)) {
|
||||
return;
|
||||
}
|
||||
sendModeToRobot(information.getRobotNo(), RemoteOperationModeEnum.getType(information.getRemoteMode()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 断开连接
|
||||
* @param remoteIp
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void remoteDisconnect(String remoteIp) {
|
||||
RemoteControllerInformationDO information = controllerInformationMapper.selectOne(new LambdaQueryWrapper<RemoteControllerInformationDO>()
|
||||
.eq(RemoteControllerInformationDO::getRemoteIp, remoteIp)
|
||||
.last("limit 1"));
|
||||
if (ObjectUtil.isEmpty(information.getRobotNo())) {
|
||||
return;
|
||||
}
|
||||
checkGraphMatch(information.getRobotNo());
|
||||
|
||||
String robotNo = information.getRobotNo();
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.CLOSE_REMOTE_CONTROLLER,RemoteOperationModeEnum.AUTO.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.AUTO.getType());
|
||||
|
||||
information.setRobotNo(null);
|
||||
information.setRemoteMode(RemoteModeEnum.AUTOMATIC.getType());
|
||||
information.setTaskDetailId(null);
|
||||
information.setCollaborativeControl(ZeroOneEnum.ZERO.getType());
|
||||
controllerInformationMapper.updateById(information);
|
||||
|
||||
UserOperationLogSaveReqVO build = UserOperationLogSaveReqVO.builder()
|
||||
.operateAction("远遥断开连接 "+ information.getRemoteIp())
|
||||
.nickName(SecurityFrameworkUtils.getLoginUserNickname()).build();
|
||||
userOperationLogService.createUserOperationLog(build);
|
||||
|
||||
RemoteSendMessage remoteSendMessage = RemoteSendMessage.builder().robotNo(robotNo).build();
|
||||
remoteControllerProducer.sendSmsSendMessage(remoteSendMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void repeatedTransmissionDisconnect(RemoteSendMessage message) {
|
||||
String robotNo = message.getRobotNo();
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.CLOSE_REMOTE_CONTROLLER,RemoteOperationModeEnum.AUTO.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.AUTO.getType());
|
||||
}
|
||||
|
||||
/**
|
||||
* 远遥转移任务
|
||||
*
|
||||
@ -448,7 +511,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
String operateAction = information.getRemoteIp() + " 开启远遥为自动模式";
|
||||
information.setTaskDetailId(null);
|
||||
setRemoteChangeLog(information, robotNo, remoteMode, operateAction);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.AUTO.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.AUTO.getType());
|
||||
return;
|
||||
}
|
||||
@ -459,7 +522,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
.operateAction(information.getRemoteIp() + " 重新进入远遥 " + RemoteModeEnum.getMsg(remoteMode))
|
||||
.nickName(SecurityFrameworkUtils.getLoginUserNickname()).build();
|
||||
userOperationLogService.createUserOperationLog(operationLog);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.getType(information.getRemoteMode()));
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.getType(remoteMode));
|
||||
return;
|
||||
}
|
||||
@ -472,7 +535,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
}
|
||||
String operateAction = information.getRemoteIp() + " 切换远遥模式为 " + RemoteModeEnum.getMsg(remoteMode);
|
||||
setRemoteChangeLog(information, robotNo, remoteMode, operateAction);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.MAN.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.MAN.getType());
|
||||
return;
|
||||
}
|
||||
@ -497,7 +560,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
|
||||
String operateAction = information.getRemoteIp() + " 切换远遥模式为 " + RemoteModeEnum.getMsg(remoteMode);
|
||||
setRemoteChangeLog(information, robotNo, remoteMode, operateAction);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.MAN.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.MAN.getType());
|
||||
return;
|
||||
}
|
||||
@ -508,7 +571,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
|
||||
String operateAction = information.getRemoteIp() + " 切换远遥模式为 " + RemoteModeEnum.getMsg(remoteMode);
|
||||
setRemoteChangeLog(information, robotNo, remoteMode, operateAction);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.AUTO.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.AUTO.getType());
|
||||
return;
|
||||
}
|
||||
@ -530,7 +593,7 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
checkGraphMatch(robotNo);
|
||||
String operateAction = information.getRemoteIp() + " 切换远遥模式为 " + RemoteModeEnum.getMsg(remoteMode);
|
||||
setRemoteChangeLog(information, robotNo, remoteMode, operateAction);
|
||||
sendRemoteMsgToRobotAndPP(robotNo);
|
||||
sendRemoteMsgToPP(robotNo,PathPlanningTopicConstant.START_REMOTE_CONTROLLER,RemoteOperationModeEnum.AUTO.getType());
|
||||
sendModeToRobot(robotNo, RemoteOperationModeEnum.AUTO.getType());
|
||||
}
|
||||
|
||||
@ -563,18 +626,19 @@ public class RemoteControllerInformationServiceImpl extends ServiceImpl<RemoteCo
|
||||
}
|
||||
String mac = informationService.getMacByRobotNo(robotNo);
|
||||
commonApi.commonMethod(robotModeDTO, RobotTopicConstant.ROBOT_COMMAND_TOPIC + mac);
|
||||
log.info("发送消息让车机切换模式 :{}", JSON.toJSONString(robotModeDTO));
|
||||
log.info("发送消息让车机 :{} 切换模式 :{}",robotNo, JSON.toJSONString(robotModeDTO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送远遥信息给PP和车机
|
||||
* 发送远遥信息给PP
|
||||
*
|
||||
* @param robotNo
|
||||
*/
|
||||
public void sendRemoteMsgToRobotAndPP(String robotNo) {
|
||||
public void sendRemoteMsgToPP(String robotNo, String topic, String operationMode) {
|
||||
RemotePathPlanningDTO remotePathPlanning = new RemotePathPlanningDTO();
|
||||
remotePathPlanning.setRobotNo(robotNo);
|
||||
commonApi.commonMethod(remotePathPlanning, PathPlanningTopicConstant.START_REMOTE_CONTROLLER);
|
||||
remotePathPlanning.setOperationMode(operationMode);
|
||||
commonApi.commonMethod(remotePathPlanning, topic);
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user