From d2fe3d1ac13f03f39ae27dab52954dfd12710343 Mon Sep 17 00:00:00 2001 From: "HUOJIN\\92525" Date: Tue, 26 Aug 2025 15:07:57 +0800 Subject: [PATCH] no message --- .../businessdata/inputJson/MissionData.java | 33 ++++++++++++ .../businessdata/inputJson/SubmitMission.java | 51 +++++++++++++++++++ .../businessdata/rest/KMReSController.java | 28 ++++++++++ .../service/impl/KMReServiceImpl.java | 1 + 4 files changed, 113 insertions(+) create mode 100644 youchain-system/src/main/java/com/youchain/businessdata/inputJson/MissionData.java create mode 100644 youchain-system/src/main/java/com/youchain/businessdata/inputJson/SubmitMission.java diff --git a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MissionData.java b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MissionData.java new file mode 100644 index 0000000..7767a11 --- /dev/null +++ b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/MissionData.java @@ -0,0 +1,33 @@ +package com.youchain.businessdata.inputJson; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class MissionData { + @ApiModelProperty(value = "序号") + Long sequence; + + @ApiModelProperty(value = "作业位置类型", example = "NODE_POINT") + String type; + + @ApiModelProperty(value = "作业路径位置") + String position; + + @ApiModelProperty(value = "在点位上需要执行的动作") + String actionType; + + @ApiModelProperty(value = "牵引车后方的拖挂车数量") + Long tugCount; + + @ApiModelProperty(value = "模型名字") + List tugModels; + + @ApiModelProperty(value = "当前任务点结束后放行策略", example = "AUTO") + String passStrategy; + + @ApiModelProperty(value = "自动触发离开当前任务节点的时间,默认单位:毫秒", example = "0") + Long waitingMillis; +} diff --git a/youchain-system/src/main/java/com/youchain/businessdata/inputJson/SubmitMission.java b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/SubmitMission.java new file mode 100644 index 0000000..9a6ae6d --- /dev/null +++ b/youchain-system/src/main/java/com/youchain/businessdata/inputJson/SubmitMission.java @@ -0,0 +1,51 @@ +package com.youchain.businessdata.inputJson; + +import com.alibaba.fastjson.annotation.JSONType; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +@JSONType(orders = { + "orgId", "requestId", "missionCode", "missionType", "viewBoardType", + "robotType", "priority", "templateCode", "lockRobotAfterFinish", + "unlockRobotId", "unlockMissionCode", "missionData" +}) +public class SubmitMission { + @ApiModelProperty(value = "任务ID",example = "KUKA") + String orgId; + + @ApiModelProperty(value = "请求 id") + String requestId; + + @ApiModelProperty(value = "任务编号") + Long missionCode; + + @ApiModelProperty(value = "任务类型",example = "TUGGER_MOVE") + String missionType; + + @ApiModelProperty(value = "上视识别类型") + String viewBoardType; + + @ApiModelProperty(value = "机器人功能类型",example = "TUGGER") + String robotType; + + @ApiModelProperty(value = "优先级",example = "1") + String priority; + + @ApiModelProperty(value = "作业流程模板编号") + String templateCode; + + @ApiModelProperty(value = "是否需要流程结束后机器人保持任务锁定状态") + Boolean lockRobotAfterFinish; + + @ApiModelProperty(value = "解锁当前小车的在上个任务的锁定状态") + String unlockRobotId; + + @ApiModelProperty(value = "当前小车的上一个任务") + String unlockMissionCode; + + @ApiModelProperty(value = "任务节点") + List missionData; +} diff --git a/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java index 0475e08..5d91fd2 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/KMReSController.java @@ -1,12 +1,21 @@ package com.youchain.businessdata.rest; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.youchain.annotation.AnonymousAccess; import com.youchain.annotation.Log; import com.youchain.businessdata.domain.AgvTask; import com.youchain.businessdata.inputJson.MissionStateCallback; +import com.youchain.businessdata.inputJson.SubmitMission; import com.youchain.businessdata.service.AgvTaskService; import com.youchain.businessdata.service.KMReService; +import com.youchain.exception.BadRequestException; import com.youchain.exception.handler.ApiResult; +import com.youchain.modules.system.domain.Dict; +import com.youchain.utils.HttpPostUtil; +import com.youchain.utils.StringUtils; +import com.youchain.utils.UrlApi; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -47,4 +56,23 @@ public class KMReSController { } + @PostMapping("/submitMission") + @Log("KMReS任务下发") + @ApiOperation("KMReS任务下发") + @AnonymousAccess + public ResponseEntity submitMission(@RequestBody SubmitMission submitMission) { + try { + kmReService.sendAgvTaskToContainer(UrlApi.submitMission(),JSON.toJSONString(submitMission)); + return new ResponseEntity<>(ApiResult.success(), HttpStatus.OK); + } catch (Exception e) { + return new ResponseEntity<>(ApiResult.fail(e.getMessage()), HttpStatus.BAD_REQUEST); + } + } + + + + + + + } diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java index 5f73eda..69b5a56 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/KMReServiceImpl.java @@ -149,6 +149,7 @@ public class KMReServiceImpl implements KMReService { */ @Override public void sendAgvTaskToContainer(String url, String json) { + log.info(json); Dict dict = dictRepository.findDictByName("OPEN"); if (dict != null) { String resultJson = HttpPostUtil.sendPostReq(url, json);