This commit is contained in:
cbs 2025-05-27 09:45:52 +08:00
parent 81423a8ad3
commit 26fa0dfb97
21 changed files with 129 additions and 12 deletions

View File

@ -15,7 +15,7 @@ import java.util.List;
public class PositionMapItemSynDTO { public class PositionMapItemSynDTO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31007") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31007")
private Long id; private String id;
@Schema(description = "坐标x轴") @Schema(description = "坐标x轴")
private Double x; private Double x;

View File

@ -5,8 +5,10 @@ import cn.hutool.json.JSONUtil;
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
import cn.iocoder.yudao.module.mqtt.api.common.CommonApi; import cn.iocoder.yudao.module.mqtt.api.common.CommonApi;
import cn.iocoder.yudao.module.system.api.robot.dto.*; import cn.iocoder.yudao.module.system.api.robot.dto.*;
import cn.iocoder.yudao.module.system.api.robot.processor.RequestProcessor;
import cn.iocoder.yudao.module.system.api.robot.vo.RobotInformationVO; import cn.iocoder.yudao.module.system.api.robot.vo.RobotInformationVO;
import cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter; import cn.iocoder.yudao.module.system.config.ratelimiter.SystemRateLimiter;
import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant;
import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant;
import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant;
import cn.iocoder.yudao.module.system.service.robot.RobotInformationService; import cn.iocoder.yudao.module.system.service.robot.RobotInformationService;
@ -20,6 +22,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
@Slf4j @Slf4j
@ -52,13 +55,14 @@ public class RobotStatusApiImpl implements RobotStatusApi {
* @return * @return
*/ */
@Override @Override
@SystemRateLimiter(time = 1, count = 150, keyArg = "robotStatusUpdate",message = "机器人上报点位超过限流") @SystemRateLimiter(time = 1, count = 150, keyArg = "robotStatusUpdate", message = "机器人上报点位超过限流")
public void robotStatusUpdate(RobotPoseStatusDTO robotStatusDataDTO) { public void robotStatusUpdate(RobotPoseStatusDTO robotStatusDataDTO) {
updateRobotPosed(robotStatusDataDTO); updateRobotPosed(robotStatusDataDTO);
} }
/** /**
* 更新点位信息 * 更新点位信息
*
* @param robotStatusDataDTO * @param robotStatusDataDTO
*/ */
private void updateRobotPosed(RobotPoseStatusDTO robotStatusDataDTO) { private void updateRobotPosed(RobotPoseStatusDTO robotStatusDataDTO) {
@ -99,6 +103,11 @@ public class RobotStatusApiImpl implements RobotStatusApi {
} }
robotInformationVO.setPose2d(robotStatusDataPoseDTO); robotInformationVO.setPose2d(robotStatusDataPoseDTO);
Map<String, Object> map = new HashMap<>();
String value = FloorAreaConstant.FLOOR_AREA_ROBOT + floorZoneDTO.getFloor() + "-" + floorZoneDTO.getArea();
map.put(robotNo, robotInformationVO);
redisUtil.hmset(value, map, 20);
// 合并请求 - 这里接受到的数据都丢给 RequestProcessor - 再整合数据通过WebSocket丢给前端 // 合并请求 - 这里接受到的数据都丢给 RequestProcessor - 再整合数据通过WebSocket丢给前端
processor.handleRequest(floorZoneDTO.getFloor() + "_" + floorZoneDTO.getArea(), processor.handleRequest(floorZoneDTO.getFloor() + "_" + floorZoneDTO.getArea(),
robotStatusDataDTO.getMac(), JSONUtil.toJsonStr(robotInformationVO)); robotStatusDataDTO.getMac(), JSONUtil.toJsonStr(robotInformationVO));
@ -106,7 +115,7 @@ public class RobotStatusApiImpl implements RobotStatusApi {
} }
private void sendToPP(RobotStatusDataPoseDTO robotStatusDataPoseDTO) { private void sendToPP(RobotStatusDataPoseDTO robotStatusDataPoseDTO) {
taskExecutor.execute(()->{ taskExecutor.execute(() -> {
commonApi.commonMethod(robotStatusDataPoseDTO, PathPlanningTopicConstant.AGV_POSE); commonApi.commonMethod(robotStatusDataPoseDTO, PathPlanningTopicConstant.AGV_POSE);
}); });
} }

View File

@ -1,8 +1,7 @@
package cn.iocoder.yudao.module.system.api.robot; package cn.iocoder.yudao.module.system.api.robot.processor;
import cn.hutool.core.map.MapUtil; import cn.hutool.core.map.MapUtil;
import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi; import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -46,7 +45,7 @@ public class RequestProcessor {
private void sendData(String map, Map<String, String> data) { private void sendData(String map, Map<String, String> data) {
// -- 发送给对应的websocket // -- 发送给对应的websocket
// System.out.println("key:" + map + "发送数据:" + data); // System.out.println("key:" + map + "发送数据:" + data);
log.info("key:" + map + "发送数据:" + data); // log.info("key:" + map + "发送数据:" + data);
webSocketSenderApi.sendObject(map, "map_push", data); webSocketSenderApi.sendObject(map, "map_push", data);
} }

View File

@ -0,0 +1,59 @@
/*
package cn.iocoder.yudao.module.system.api.robot.processor;
import cn.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi;
import cn.iocoder.yudao.module.system.constant.area.FloorAreaConstant;
import cn.iocoder.yudao.module.system.dal.dataobject.positionmap.PositionMapDO;
import cn.iocoder.yudao.module.system.service.positionmap.PositionMapService;
import cn.iocoder.yudao.module.system.util.redis.RedisUtil;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
*/
/**
* 3D推送车辆信息
*//*
@Component
@Slf4j
public class ThreeDRequestProcessor {
private final ConcurrentHashMap<String, ConcurrentHashMap<String, String>> cache = new ConcurrentHashMap<>();
private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
@Resource
private PositionMapService positionMapService;
@Resource
private RedisUtil redisUtil;
@Resource
public WebSocketSenderApi webSocketSenderApi;
public ThreeDRequestProcessor() {
// 每秒执行一次 - 处理并发送数据 - 避免数据丢失
scheduler.scheduleAtFixedRate(this::processAndSend, 300, 300, TimeUnit.MILLISECONDS);
}
private void processAndSend() {
List<PositionMapDO> allMap = positionMapService.getAllMap();
for (PositionMapDO map : allMap) {
String key = FloorAreaConstant.FLOOR_AREA_ROBOT + map.getFloor() + "-" + map.getArea();
Map<Object, Object> data = redisUtil.hmget(key);
System.out.println("3D发送数据 "+ JSON.toJSONString(data));
webSocketSenderApi.sendObject(key, "3d_map_robot", data);
}
}
}
*/

View File

@ -0,0 +1,12 @@
package cn.iocoder.yudao.module.system.constant.area;
public class FloorAreaConstant {
//楼层区域的KEY通过这个KEY可以查这个楼层下所有的机器人
//仅限给WEBSOCKET推送给前端使用缓存15秒
public static String FLOOR_AREA_ROBOT = "floor:area:robot";
}

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.camera; package cn.iocoder.yudao.module.system.controller.admin.robot.camera;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -13,6 +15,7 @@ import com.alibaba.excel.annotation.*;
public class RobotCameraRespVO { public class RobotCameraRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30856") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30856")
@JsonSerialize(using = ToStringSerializer.class)
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
private Long id; private Long id;

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.chargelog; package cn.iocoder.yudao.module.system.controller.admin.robot.chargelog;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -14,6 +16,7 @@ public class RobotChargeLogRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6554") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6554")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "AGV编号") @Schema(description = "AGV编号")

View File

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.detail; package cn.iocoder.yudao.module.system.controller.admin.robot.detail;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -9,6 +11,7 @@ import java.time.LocalDateTime;
@Data @Data
public class RobotTaskDetailLogResoVO { public class RobotTaskDetailLogResoVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "任务号") @Schema(description = "任务号")

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.mapstop; package cn.iocoder.yudao.module.system.controller.admin.robot.mapstop;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -14,6 +16,7 @@ public class RobotMapStopRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1220") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1220")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "急停仓库点位地图表id", example = "20550") @Schema(description = "急停仓库点位地图表id", example = "20550")

View File

@ -2,10 +2,11 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.Set; import java.util.Set;
@ -14,6 +15,7 @@ import java.util.Set;
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
public class RobotInformationPageRespVO { public class RobotInformationPageRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881")
@JsonSerialize(using = ToStringSerializer.class)
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
private Long id; private Long id;

View File

@ -3,6 +3,8 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler; import cn.iocoder.yudao.framework.mybatis.core.type.LongListTypeHandler;
import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO; import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.time.LocalDateTime; import java.time.LocalDateTime;
@ -17,6 +19,7 @@ public class RobotInformationRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "车辆类型表id", example = "28234") @Schema(description = "车辆类型表id", example = "28234")

View File

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO; import cn.iocoder.yudao.module.system.controller.admin.robot.camera.RobotCameraAddVO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import org.hibernate.validator.constraints.Range; import org.hibernate.validator.constraints.Range;
@ -16,6 +18,7 @@ import java.util.Set;
public class RobotInformationSaveReqVO { public class RobotInformationSaveReqVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "车辆类型表id", example = "28234") @Schema(description = "车辆类型表id", example = "28234")

View File

@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
@ -14,6 +16,7 @@ public class RobotModelRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15571") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15571")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "车辆类型", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "车辆类型", requiredMode = Schema.RequiredMode.REQUIRED)

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -14,6 +16,7 @@ public class RobotTaskAutoMoveRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30110") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30110")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "机器人任务主表id", example = "24553") @Schema(description = "机器人任务主表id", example = "24553")

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
@ -13,6 +15,7 @@ public class RobotTaskDetailRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "机器人任务主表id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9241") @Schema(description = "机器人任务主表id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9241")

View File

@ -1,6 +1,8 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDetailDO; import cn.iocoder.yudao.module.system.dal.dataobject.robot.RobotTaskDetailDO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -17,6 +19,7 @@ public class RobotTaskRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15306") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15306")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "是否拼接任务0不拼接、1拼接", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "是否拼接任务0不拼接、1拼接", requiredMode = Schema.RequiredMode.REQUIRED)

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -14,6 +16,7 @@ public class RobotWarnCodeMappingRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15754") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15754")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "告警等级 (1,2,3,4)") @Schema(description = "告警等级 (1,2,3,4)")

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.system.controller.admin.robot.vo; package cn.iocoder.yudao.module.system.controller.admin.robot.vo;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*; import lombok.*;
import java.util.*; import java.util.*;
@ -14,6 +16,7 @@ public class RobotWarnMsgRespVO {
@Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26180") @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26180")
@ExcelProperty("主键ID") @ExcelProperty("主键ID")
@JsonSerialize(using = ToStringSerializer.class)
private Long id; private Long id;
@Schema(description = "AGV编号") @Schema(description = "AGV编号")

View File

@ -185,7 +185,7 @@ public class PathPlanningServiceImpl implements PathPlanningService {
relatedPathNode.setType(PathTypeEnum.INIT.getType()); relatedPathNode.setType(PathTypeEnum.INIT.getType());
relatedPathNode.setControl_nodes(positionMapItemSynDTOS); relatedPathNode.setControl_nodes(positionMapItemSynDTOS);
log.info("synchronousAllItem----doing"); log.info("synchronousAllItem----doing :{}",JSON.toJSONString(relatedPathNode));
commonApi.commonMethod(relatedPathNode, PathPlanningTopicConstant.SYNCHRONOUS_ALL_MAP_NODE); commonApi.commonMethod(relatedPathNode, PathPlanningTopicConstant.SYNCHRONOUS_ALL_MAP_NODE);
} }
@ -347,7 +347,7 @@ public class PathPlanningServiceImpl implements PathPlanningService {
.y(Double.valueOf(positionMapItemDO.getActualLocationY())) .y(Double.valueOf(positionMapItemDO.getActualLocationY()))
.sortNum(positionMapItemDO.getSortNum()) .sortNum(positionMapItemDO.getSortNum())
.yaw(Double.parseDouble(positionMapItemDO.getLocationYaw())) .yaw(Double.parseDouble(positionMapItemDO.getLocationYaw()))
.id(positionMapItemDO.getId()).build(); .id(positionMapItemDO.getId()+"").build();
PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO(); PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO();
PositionMapItemPathDTO.setFloor(positionMapDO.getFloor()); PositionMapItemPathDTO.setFloor(positionMapDO.getFloor());
@ -418,7 +418,7 @@ public class PathPlanningServiceImpl implements PathPlanningService {
.y(Double.valueOf(positionMapItemDO.getActualLocationY())) .y(Double.valueOf(positionMapItemDO.getActualLocationY()))
.sortNum(positionMapItemDO.getSortNum()) .sortNum(positionMapItemDO.getSortNum())
.yaw(Double.parseDouble(positionMapItemDO.getLocationYaw())) .yaw(Double.parseDouble(positionMapItemDO.getLocationYaw()))
.id(positionMapItemDO.getId()).build(); .id(positionMapItemDO.getId()+"").build();
PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO(); PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO();
PositionMapItemPathDTO.setFloor(positionMapDO.getFloor()); PositionMapItemPathDTO.setFloor(positionMapDO.getFloor());

View File

@ -18,7 +18,7 @@ import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotAcceptTaskDTO;
import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotRcsHeartBeatDTO; import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotRcsHeartBeatDTO;
import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO; import cn.iocoder.yudao.module.mqtt.api.task.dto.RobotSimulationPoseDTO;
import cn.iocoder.yudao.module.mqtt.enums.task.ExecutionTypeEnum; import cn.iocoder.yudao.module.mqtt.enums.task.ExecutionTypeEnum;
import cn.iocoder.yudao.module.system.api.robot.RequestProcessor; import cn.iocoder.yudao.module.system.api.robot.processor.RequestProcessor;
import cn.iocoder.yudao.module.system.api.robot.dto.FloorZoneDTO; import cn.iocoder.yudao.module.system.api.robot.dto.FloorZoneDTO;
import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDTO;
import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDataPoseDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDataPoseDTO;

View File

@ -348,7 +348,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService {
pathPlanning.setReleaseGroupId("POINT_" + v.getPositionMapItemId()); pathPlanning.setReleaseGroupId("POINT_" + v.getPositionMapItemId());
pathPlanning.setReleaseLocationNumber(releaseLocationNumberConfig); pathPlanning.setReleaseLocationNumber(releaseLocationNumberConfig);
pathPlanning.setReleasePointId(v.getPositionMapItemId()); pathPlanning.setWaitIds(Collections.singletonList(v.getPositionMapItemId() + ""));
String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId();
redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime); redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime);