From 26fa0dfb97b5ad4266472585d13e0eb446510feb Mon Sep 17 00:00:00 2001 From: cbs <18617195505@163.com> Date: Tue, 27 May 2025 09:45:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=89=8D=E7=AB=AFID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/path/dto/PositionMapItemSynDTO.java | 2 +- .../system/api/robot/RobotStatusApiImpl.java | 13 +++- .../{ => processor}/RequestProcessor.java | 5 +- .../processor/ThreeDRequestProcessor.java | 59 +++++++++++++++++++ .../constant/area/FloorAreaConstant.java | 12 ++++ .../admin/robot/camera/RobotCameraRespVO.java | 3 + .../robot/chargelog/RobotChargeLogRespVO.java | 3 + .../detail/RobotTaskDetailLogResoVO.java | 3 + .../robot/mapstop/RobotMapStopRespVO.java | 3 + .../robot/vo/RobotInformationPageRespVO.java | 4 +- .../robot/vo/RobotInformationRespVO.java | 3 + .../robot/vo/RobotInformationSaveReqVO.java | 3 + .../admin/robot/vo/RobotModelRespVO.java | 3 + .../robot/vo/RobotTaskAutoMoveRespVO.java | 3 + .../admin/robot/vo/RobotTaskDetailRespVO.java | 3 + .../admin/robot/vo/RobotTaskRespVO.java | 3 + .../robot/vo/RobotWarnCodeMappingRespVO.java | 3 + .../admin/robot/vo/RobotWarnMsgRespVO.java | 3 + .../service/path/PathPlanningServiceImpl.java | 6 +- .../robot/RobotInformationServiceImpl.java | 2 +- .../RobotPathPlanningServiceImpl.java | 2 +- 21 files changed, 129 insertions(+), 12 deletions(-) rename yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/{ => processor}/RequestProcessor.java (93%) create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/ThreeDRequestProcessor.java create mode 100644 yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/constant/area/FloorAreaConstant.java diff --git a/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/PositionMapItemSynDTO.java b/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/PositionMapItemSynDTO.java index 3d4a9decb..48f5af244 100644 --- a/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/PositionMapItemSynDTO.java +++ b/yudao-module-mqtt/yudao-module-mqtt-api/src/main/java/cn/iocoder/yudao/module/mqtt/api/path/dto/PositionMapItemSynDTO.java @@ -15,7 +15,7 @@ import java.util.List; public class PositionMapItemSynDTO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "31007") - private Long id; + private String id; @Schema(description = "坐标x轴") private Double x; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java index 6fc6e2b48..b5945f653 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RobotStatusApiImpl.java @@ -5,8 +5,10 @@ import cn.hutool.json.JSONUtil; import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; 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.processor.RequestProcessor; 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.constant.area.FloorAreaConstant; import cn.iocoder.yudao.module.system.constant.path.PathPlanningTopicConstant; import cn.iocoder.yudao.module.system.constant.robot.RobotTaskChcheConstant; 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 javax.annotation.Resource; +import java.util.HashMap; import java.util.Map; @Slf4j @@ -52,13 +55,14 @@ public class RobotStatusApiImpl implements RobotStatusApi { * @return */ @Override - @SystemRateLimiter(time = 1, count = 150, keyArg = "robotStatusUpdate",message = "机器人上报点位超过限流") + @SystemRateLimiter(time = 1, count = 150, keyArg = "robotStatusUpdate", message = "机器人上报点位超过限流") public void robotStatusUpdate(RobotPoseStatusDTO robotStatusDataDTO) { updateRobotPosed(robotStatusDataDTO); } /** * 更新点位信息 + * * @param robotStatusDataDTO */ private void updateRobotPosed(RobotPoseStatusDTO robotStatusDataDTO) { @@ -99,6 +103,11 @@ public class RobotStatusApiImpl implements RobotStatusApi { } robotInformationVO.setPose2d(robotStatusDataPoseDTO); + Map map = new HashMap<>(); + String value = FloorAreaConstant.FLOOR_AREA_ROBOT + floorZoneDTO.getFloor() + "-" + floorZoneDTO.getArea(); + map.put(robotNo, robotInformationVO); + redisUtil.hmset(value, map, 20); + // 合并请求 - 这里接受到的数据都丢给 RequestProcessor - 再整合数据通过WebSocket丢给前端 processor.handleRequest(floorZoneDTO.getFloor() + "_" + floorZoneDTO.getArea(), robotStatusDataDTO.getMac(), JSONUtil.toJsonStr(robotInformationVO)); @@ -106,7 +115,7 @@ public class RobotStatusApiImpl implements RobotStatusApi { } private void sendToPP(RobotStatusDataPoseDTO robotStatusDataPoseDTO) { - taskExecutor.execute(()->{ + taskExecutor.execute(() -> { commonApi.commonMethod(robotStatusDataPoseDTO, PathPlanningTopicConstant.AGV_POSE); }); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/RequestProcessor.java similarity index 93% rename from yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java rename to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/RequestProcessor.java index fcf562561..de23284ae 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/RequestProcessor.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/RequestProcessor.java @@ -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.iocoder.yudao.module.infra.api.websocket.WebSocketSenderApi; -import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @@ -46,7 +45,7 @@ public class RequestProcessor { private void sendData(String map, Map data) { // -- 发送给对应的websocket // System.out.println("key:" + map + "发送数据:" + data); - log.info("key:" + map + "发送数据:" + data); +// log.info("key:" + map + "发送数据:" + data); webSocketSenderApi.sendObject(map, "map_push", data); } diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/ThreeDRequestProcessor.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/ThreeDRequestProcessor.java new file mode 100644 index 000000000..13cbbdaf1 --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/robot/processor/ThreeDRequestProcessor.java @@ -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> 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 allMap = positionMapService.getAllMap(); + for (PositionMapDO map : allMap) { + String key = FloorAreaConstant.FLOOR_AREA_ROBOT + map.getFloor() + "-" + map.getArea(); + Map data = redisUtil.hmget(key); + System.out.println("3D发送数据 "+ JSON.toJSONString(data)); + webSocketSenderApi.sendObject(key, "3d_map_robot", data); + } + } + + +} +*/ diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/constant/area/FloorAreaConstant.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/constant/area/FloorAreaConstant.java new file mode 100644 index 000000000..8ef840fac --- /dev/null +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/constant/area/FloorAreaConstant.java @@ -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"; + + + + +} diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/camera/RobotCameraRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/camera/RobotCameraRespVO.java index 24101887b..017d2d607 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/camera/RobotCameraRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/camera/RobotCameraRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -13,6 +15,7 @@ import com.alibaba.excel.annotation.*; public class RobotCameraRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30856") + @JsonSerialize(using = ToStringSerializer.class) @ExcelProperty("主键ID") private Long id; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/chargelog/RobotChargeLogRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/chargelog/RobotChargeLogRespVO.java index 539d27a30..7699894c4 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/chargelog/RobotChargeLogRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/chargelog/RobotChargeLogRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -14,6 +16,7 @@ public class RobotChargeLogRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "6554") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "AGV编号") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/detail/RobotTaskDetailLogResoVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/detail/RobotTaskDetailLogResoVO.java index f7aecf0ef..2c15656f2 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/detail/RobotTaskDetailLogResoVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/detail/RobotTaskDetailLogResoVO.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.detail; 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 lombok.Data; @@ -9,6 +11,7 @@ import java.time.LocalDateTime; @Data public class RobotTaskDetailLogResoVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "任务号") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/mapstop/RobotMapStopRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/mapstop/RobotMapStopRespVO.java index 6caef8f39..d1e5d9b67 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/mapstop/RobotMapStopRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/mapstop/RobotMapStopRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -14,6 +16,7 @@ public class RobotMapStopRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1220") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "急停仓库点位地图表id", example = "20550") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java index 08e5d6006..6e0e2d934 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationPageRespVO.java @@ -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.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 lombok.Data; -import javax.validation.constraints.NotNull; import java.util.Set; @@ -14,6 +15,7 @@ import java.util.Set; @ExcelIgnoreUnannotated public class RobotInformationPageRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") + @JsonSerialize(using = ToStringSerializer.class) @ExcelProperty("主键ID") private Long id; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java index 9625e8c4d..92f58b211 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationRespVO.java @@ -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.module.system.controller.admin.robot.camera.RobotCameraAddVO; 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 lombok.*; import java.time.LocalDateTime; @@ -17,6 +19,7 @@ public class RobotInformationRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "车辆类型表id", example = "28234") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java index 27c875b4a..8f612698b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotInformationSaveReqVO.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo; 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 lombok.Data; import org.hibernate.validator.constraints.Range; @@ -16,6 +18,7 @@ import java.util.Set; public class RobotInformationSaveReqVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21881") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "车辆类型表id", example = "28234") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java index 6888a45af..d7efaffed 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotModelRespVO.java @@ -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.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 lombok.Data; @@ -14,6 +16,7 @@ public class RobotModelRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15571") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "车辆类型", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskAutoMoveRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskAutoMoveRespVO.java index 9661a85b7..d0ab6d114 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskAutoMoveRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskAutoMoveRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -14,6 +16,7 @@ public class RobotTaskAutoMoveRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "30110") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "机器人任务主表id", example = "24553") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java index 960a9ed0d..d05b82205 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskDetailRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; @@ -13,6 +15,7 @@ public class RobotTaskDetailRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26224") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "机器人任务主表id", requiredMode = Schema.RequiredMode.REQUIRED, example = "9241") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskRespVO.java index 34abc01a3..889bb4229 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotTaskRespVO.java @@ -1,6 +1,8 @@ package cn.iocoder.yudao.module.system.controller.admin.robot.vo; 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 lombok.*; import java.util.*; @@ -17,6 +19,7 @@ public class RobotTaskRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15306") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "是否拼接任务(0:不拼接、1:拼接)", requiredMode = Schema.RequiredMode.REQUIRED) diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnCodeMappingRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnCodeMappingRespVO.java index f813545d5..64df30a11 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnCodeMappingRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnCodeMappingRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -14,6 +16,7 @@ public class RobotWarnCodeMappingRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15754") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "告警等级 (1,2,3,4)") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnMsgRespVO.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnMsgRespVO.java index 453752a37..dd2f921e8 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnMsgRespVO.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/robot/vo/RobotWarnMsgRespVO.java @@ -1,5 +1,7 @@ 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 lombok.*; import java.util.*; @@ -14,6 +16,7 @@ public class RobotWarnMsgRespVO { @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "26180") @ExcelProperty("主键ID") + @JsonSerialize(using = ToStringSerializer.class) private Long id; @Schema(description = "AGV编号") diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java index dedb0796c..fba1e938f 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/path/PathPlanningServiceImpl.java @@ -185,7 +185,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { relatedPathNode.setType(PathTypeEnum.INIT.getType()); relatedPathNode.setControl_nodes(positionMapItemSynDTOS); - log.info("synchronousAllItem----doing"); + log.info("synchronousAllItem----doing :{}",JSON.toJSONString(relatedPathNode)); commonApi.commonMethod(relatedPathNode, PathPlanningTopicConstant.SYNCHRONOUS_ALL_MAP_NODE); } @@ -347,7 +347,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { .y(Double.valueOf(positionMapItemDO.getActualLocationY())) .sortNum(positionMapItemDO.getSortNum()) .yaw(Double.parseDouble(positionMapItemDO.getLocationYaw())) - .id(positionMapItemDO.getId()).build(); + .id(positionMapItemDO.getId()+"").build(); PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO(); PositionMapItemPathDTO.setFloor(positionMapDO.getFloor()); @@ -418,7 +418,7 @@ public class PathPlanningServiceImpl implements PathPlanningService { .y(Double.valueOf(positionMapItemDO.getActualLocationY())) .sortNum(positionMapItemDO.getSortNum()) .yaw(Double.parseDouble(positionMapItemDO.getLocationYaw())) - .id(positionMapItemDO.getId()).build(); + .id(positionMapItemDO.getId()+"").build(); PositionMapItemPathDTO PositionMapItemPathDTO = new PositionMapItemPathDTO(); PositionMapItemPathDTO.setFloor(positionMapDO.getFloor()); diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java index 72ccb0143..052571e68 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/RobotInformationServiceImpl.java @@ -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.RobotSimulationPoseDTO; 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.RobotStatusDTO; import cn.iocoder.yudao.module.system.api.robot.dto.RobotStatusDataPoseDTO; diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java index 4caea363e..82cd7090b 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/robot/pathplanning/RobotPathPlanningServiceImpl.java @@ -348,7 +348,7 @@ public class RobotPathPlanningServiceImpl implements RobotPathPlanningService { pathPlanning.setReleaseGroupId("POINT_" + v.getPositionMapItemId()); pathPlanning.setReleaseLocationNumber(releaseLocationNumberConfig); - pathPlanning.setReleasePointId(v.getPositionMapItemId()); + pathPlanning.setWaitIds(Collections.singletonList(v.getPositionMapItemId() + "")); String key = PathPlanningChcheConstant.PATH_PLANNING_TASK + pathPlanning.getOrderId(); redisUtil.set(key, JSON.toJSONString(pathPlanning), taskChcheTime);