From f56821459a268ab4a96bd47f3e4dfe63fb6c48bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=ABUmbrella?= <2539020564@qq.com> Date: Thu, 5 Mar 2026 14:29:01 +0800 Subject: [PATCH 1/3] =?UTF-8?q?AGV=E5=B0=8F=E8=BD=A6=E5=AF=B9=E6=8E=A5?= =?UTF-8?q?=E8=A1=A8=20mapper=20service=E7=AD=89=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pojo/entity/TaskExecuteRecord.java | 109 ++++++++++++++++++ .../controller/AGVDockingController.java | 19 +++ .../mapper/TaskExecuteRecordMapper.java | 10 ++ .../mapper/TaskExecuteRecordMapper.xml | 15 +++ .../service/IStorageMonitoringService.java | 6 + .../service/ITaskExecuteRecordService.java | 40 +++++++ .../service/impl/IOrderBoxServiceImpl.java | 5 +- .../impl/StorageMonitoringServiceImpl.java | 50 ++++++++ .../impl/TaskExecuteRecordServiceImpl.java | 49 ++++++++ 9 files changed, 301 insertions(+), 2 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/TaskExecuteRecord.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStorageMonitoringService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java create mode 100644 blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/TaskExecuteRecord.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/TaskExecuteRecord.java new file mode 100644 index 00000000..f138f560 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/TaskExecuteRecord.java @@ -0,0 +1,109 @@ +package org.springblade.desk.logistics.pojo.entity; + +/** + * @author: liweidong + * @create: 2026-03-03 + */ + +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.springblade.core.mp.base.BaseEntity; + +import java.io.Serial; + +/** + * 物流库位实体类 + * + * @author + * @since + */ +@Data +@TableName("LM_TASK_EXECUTE_RECORD") +@Schema(description = "AGV小车对接表") +@EqualsAndHashCode(callSuper = true) +public class TaskExecuteRecord extends BaseEntity { + + @Serial + private static final long serialVersionUID = 1L; + + + /** + * 状态常量:任务开始 + */ + public static final String STATUS_START = "start"; + + /** + * 状态常量:走出储位 + */ + public static final String STATUS_END = "end"; + + /** + * 状态常量:任务单取消 + */ + public static final String STATUS_CANCEL = "cancel"; + + /** + * 状态常量:走出储位 + */ + public static final String STATUS_OUTBIN = "outbin"; + + /** + * 状态常量:CTU料箱取放申请 + */ + public static final String STATUS_APPLY = "apply"; + + /** + * 状态常量:送料申请 + */ + public static final String STATUS_FROMAGV = "fromAgv"; + + /** + * 状态常量:对接结束释放 + */ + public static final String STATUS_RELEASE = "release"; + + /** + * 状态常量:放料申请 + */ + public static final String STATUS_TOAGV = "toAgv"; + + /** + * 任务的ID + */ + @Schema(description = "任务的ID") + private Long taskId; + + /** + * 默认使用方式: start:任务开始 outbin:走出储位 end:任务结束 cancel:任务单取消 apply:CTU料箱取放申请 + */ + @Schema(description = "默认使用方式: start:任务开始 outbin:走出储位 end:任务结束 cancel:任务单取消 apply:CTU料箱取放申请") + private String method; + + /** + * 开始位置 + */ + @Schema(description = "开始位置") + private String startPos; + + /** + * 结束位置 + */ + @Schema(description = "结束位置") + private String endPos; + + /** + * AGV编号 + */ + @Schema(description = "AGV编号") + private String robotCode; + + + /** + * 备注 + */ + @Schema(description = "备注") + private String remark; + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java new file mode 100644 index 00000000..4f88bfaa --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java @@ -0,0 +1,19 @@ +package org.springblade.desk.logistics.controller; + +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.AllArgsConstructor; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * 订单箱子 控制器 + * + * @author BladeX + * @since 2026-03-03 + */ +@RestController +@AllArgsConstructor +@RequestMapping("/order") +@Tag(name = "订单箱子", description = "订单箱子称重接口") +public class AGVDockingController { +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.java new file mode 100644 index 00000000..7945fa61 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.java @@ -0,0 +1,10 @@ +package org.springblade.desk.logistics.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; + +import java.util.List; + +public interface TaskExecuteRecordMapper extends BaseMapper { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml new file mode 100644 index 00000000..635ac486 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml @@ -0,0 +1,15 @@ + + + + + + + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStorageMonitoringService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStorageMonitoringService.java new file mode 100644 index 00000000..d318421b --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IStorageMonitoringService.java @@ -0,0 +1,6 @@ +package org.springblade.desk.logistics.service; + +public interface IStorageMonitoringService { + void monitoringStation(); + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java new file mode 100644 index 00000000..f5efcd72 --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java @@ -0,0 +1,40 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.logistics.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.desk.logistics.pojo.entity.OrderBind; +import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; + +/** + * 物流小车对接实体类 服务类 + * + * @author BladeX + * @since 2025-11-12 + */ +public interface ITaskExecuteRecordService extends BaseService { + +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java index 1e828045..9a6d621d 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/IOrderBoxServiceImpl.java @@ -3,11 +3,13 @@ package org.springblade.desk.logistics.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.desk.logistics.pojo.entity.*; import org.springblade.desk.logistics.service.*; import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.service.IYieldOrderService; +import org.springblade.system.pojo.entity.AuthClient; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -156,7 +158,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { task= (Task) location.getData(); task.setTaskStatus(Task.STATUS_START); // 设置任务初始状态为启动 task.setCreateTime(new Date()); // 设置任务创建时间 - + task.setCreateUser(AuthUtil.getUserId()); // 7. 计算订单总重量(无订单则重量为0) boolean orderBool = boxBinding.getOrderIdList() == null || boxBinding.getOrderIdList().size() == 0; if (orderBool) { @@ -164,7 +166,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { }else { task.setWeight(getWeightByOrderIdList(boxBinding.getOrderIdList())); } - // 8. 重量校验(小于50kg才允许绑定,避免超重) if (task.getWeight().compareTo(BigDecimal.valueOf(50)) > 0) { return R.fail("箱条码绑定的订单重量过重,请重新进行绑定"); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java new file mode 100644 index 00000000..283fcacf --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/StorageMonitoringServiceImpl.java @@ -0,0 +1,50 @@ +package org.springblade.desk.logistics.service.impl; + +import org.springblade.desk.logistics.pojo.entity.Task; +import org.springblade.desk.logistics.service.ILocationService; +import org.springblade.desk.logistics.service.IStationService; +import org.springblade.desk.logistics.service.IStorageMonitoringService; +import org.springblade.desk.logistics.service.ITaskService; +import org.springframework.stereotype.Service; + +import java.util.HashSet; +import java.util.Set; + +@Service +public class StorageMonitoringServiceImpl implements IStorageMonitoringService { + private static final Set RUNNING_STATUSES = new HashSet<>(); + + static { + // 初始化运行中任务状态 + RUNNING_STATUSES.add(Task.STATUS_START); // 任务启动 + RUNNING_STATUSES.add(Task.STATUS_CONVEYOR_START); // 输送机启动 + RUNNING_STATUSES.add(Task.STATUS_CONVEYOR_END); // 输送机结束 + RUNNING_STATUSES.add(Task.STATUS_STATION); // 站点状态 + RUNNING_STATUSES.add(Task.STATUS_LOCATION); // 库位状态 + RUNNING_STATUSES.add(Task.STATUS_WAITING); // 等待状态 + RUNNING_STATUSES.add(Task.STATUS_STATION_RECEIVE);// 站点接收 + RUNNING_STATUSES.add(Task.STATUS_BACK_TO_STORAGE);// 返库状态 + } + /** + * 任务服务:处理箱绑定任务的创建、状态更新、删除等 + */ + private final ITaskService iTaskService; + /** + * 站点服务:处理站点状态(占用/空闲)管理 + */ + private final IStationService iStationService; + /** + * 库位服务:处理库位状态(占用/空闲)管理 + */ + private final ILocationService iLocationService; + public StorageMonitoringServiceImpl(ITaskService iTaskService, IStationService iStationService, ILocationService iLocationService) { + this.iTaskService = iTaskService; + this.iStationService = iStationService; + this.iLocationService = iLocationService; + } + + @Override + public void monitoringStation() { + + } +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java new file mode 100644 index 00000000..0979377e --- /dev/null +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java @@ -0,0 +1,49 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *

+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *

+ * 1. This software is for development use only under a valid license + * from BladeX. + *

+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *

+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *

+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *

+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *

+ * Author: Chill Zhuang (bladejava@qq.com) + */ +package org.springblade.desk.logistics.service.impl; + +import lombok.extern.slf4j.Slf4j; +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.desk.logistics.mapper.OrderBindMapper; +import org.springblade.desk.logistics.mapper.TaskExecuteRecordMapper; +import org.springblade.desk.logistics.pojo.entity.OrderBind; +import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; +import org.springblade.desk.logistics.service.IOrderBindService; +import org.springblade.desk.logistics.service.ITaskExecuteRecordService; +import org.springframework.stereotype.Service; + +/** + * 物流小车对接实体类 服务实现类 + * + * @author BladeX + * @since 2025-11-12 + */ +@Service +@Slf4j +public class TaskExecuteRecordServiceImpl extends BaseServiceImpl implements ITaskExecuteRecordService { + + +} From b51194fc7cdfc720d3697402fa93d45f56cf3054 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=ABUmbrella?= <2539020564@qq.com> Date: Thu, 5 Mar 2026 15:05:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?AGV=E5=B0=8F=E8=BD=A6=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logistics/pojo/entity/AGVCallBack.java | 50 +++++++++++++++++++ .../controller/AGVDockingController.java | 35 +++++++++++-- .../service/ITaskExecuteRecordService.java | 3 ++ .../impl/TaskExecuteRecordServiceImpl.java | 23 +++++++++ 4 files changed, 108 insertions(+), 3 deletions(-) create mode 100644 blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/AGVCallBack.java diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/AGVCallBack.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/AGVCallBack.java new file mode 100644 index 00000000..0d08ede8 --- /dev/null +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/AGVCallBack.java @@ -0,0 +1,50 @@ +package org.springblade.desk.logistics.pojo.entity; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "箱绑定接收") +public class AGVCallBack { + /** + * 请求编号,每个请求都要一个唯一 + * 编号, 同一个请求重复提交, 使 + * 用同一编号 + */ + private String reqCode; + /** + * 请求时间戳,格式: “yyyy-MM-dd + * HH:mm:ss” + */ + private String reqTime; + /** + 当前位置编号 + 任务开始:该位置为任务起点 + 走出储位:该位置为任务起点 + 任务单取消:该位置为工作位编号 + 任务结束:该位置为任务终点 + 取放申请:取放料箱的点 + */ + private String currentPositionCode; + /** + 方法名, 可使用任务类型做为方法 + 名 + 由 RCS-2000 任务模板配置后并告 + 知上层系统 + 默认使用方式: + start : 任务开始 + outbin : 走出储位 + end : 任务结束 + cancel : 任务单取消 + apply:CTU 料箱取放申请 + */ + private String method; + /** + AGV 编号(同 agvCode ) + */ + private String robotCode; + /** + 当前任务单号 + */ + private String taskCode; +} diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java index 4f88bfaa..e765fe39 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/AGVDockingController.java @@ -1,19 +1,48 @@ package org.springblade.desk.logistics.controller; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.AllArgsConstructor; +import org.springblade.core.tool.api.R; +import org.springblade.desk.logistics.pojo.entity.AGVCallBack; +import org.springblade.desk.logistics.service.IOrderBoxService; +import org.springblade.desk.logistics.service.ITaskExecuteRecordService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; /** - * 订单箱子 控制器 + * agv小车 控制器 * * @author BladeX * @since 2026-03-03 */ @RestController @AllArgsConstructor -@RequestMapping("/order") -@Tag(name = "订单箱子", description = "订单箱子称重接口") +@RequestMapping("/agv") +@Tag(name = "agv小车接口", description = "agv小车对接接口") public class AGVDockingController { + + private final ITaskExecuteRecordService iTaskExecuteRecordService; + + + @PostMapping("/agvCallbackService/agvCallback") + @ApiOperationSupport(order = 1) + @Operation( + summary = "agv小车回调接口", + description = "AGV小车回调接口" + ) + public R agvCallback(@RequestBody AGVCallBack agvCallBack ){ + // 1.参数合法性校验 + if (agvCallBack == null || agvCallBack.getTaskCode().trim().isEmpty()) { + return R.fail("任务单号不能为空"); + } + if (agvCallBack == null || agvCallBack.getMethod() .trim().isEmpty()) { + return R.fail("AGV小车当前状态不能为空"); + } + return iTaskExecuteRecordService.agvCallback(agvCallBack); + } + } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java index f5efcd72..f5505048 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/ITaskExecuteRecordService.java @@ -26,6 +26,8 @@ package org.springblade.desk.logistics.service; import org.springblade.core.mp.base.BaseService; +import org.springblade.core.tool.api.R; +import org.springblade.desk.logistics.pojo.entity.AGVCallBack; import org.springblade.desk.logistics.pojo.entity.OrderBind; import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; @@ -37,4 +39,5 @@ import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; */ public interface ITaskExecuteRecordService extends BaseService { + R agvCallback(AGVCallBack agvCallBack); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java index 0979377e..52114fcf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java @@ -25,16 +25,21 @@ */ package org.springblade.desk.logistics.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.core.tool.api.R; import org.springblade.desk.logistics.mapper.OrderBindMapper; import org.springblade.desk.logistics.mapper.TaskExecuteRecordMapper; +import org.springblade.desk.logistics.pojo.entity.AGVCallBack; import org.springblade.desk.logistics.pojo.entity.OrderBind; import org.springblade.desk.logistics.pojo.entity.TaskExecuteRecord; import org.springblade.desk.logistics.service.IOrderBindService; import org.springblade.desk.logistics.service.ITaskExecuteRecordService; import org.springframework.stereotype.Service; +import java.util.List; + /** * 物流小车对接实体类 服务实现类 * @@ -46,4 +51,22 @@ import org.springframework.stereotype.Service; public class TaskExecuteRecordServiceImpl extends BaseServiceImpl implements ITaskExecuteRecordService { + @Override + public R agvCallback(AGVCallBack agvCallBack) { + log.info("agv小车接口调用参数入参:{}",agvCallBack); + List list = list(new LambdaQueryWrapper().eq(TaskExecuteRecord::getId, agvCallBack.getTaskCode()).orderByDesc(TaskExecuteRecord::getCreateTime)); + if (list==null||list.size()==0) { + return R.fail("未查询到该任务单号"); + } + TaskExecuteRecord taskExecuteRecord = list.get(0); + String method = agvCallBack.getMethod().replaceAll(" ", ""); + taskExecuteRecord.setMethod(method); + if (!updateById(taskExecuteRecord)) { + return R.fail("保存该任务单号失败"); + } + if (method.equals(TaskExecuteRecord.STATUS_END)) { + //todo: 调用东哥接口 + } + return R.success(); + } } From 951269c8de9c68ad9f8d7bee9dfb5959943526a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=ABUmbrella?= <2539020564@qq.com> Date: Thu, 5 Mar 2026 16:00:09 +0800 Subject: [PATCH 3/3] =?UTF-8?q?AGV=E5=B0=8F=E8=BD=A6=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../desk/logistics/mapper/TaskExecuteRecordMapper.xml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml index 635ac486..8b90d363 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/mapper/TaskExecuteRecordMapper.xml @@ -2,14 +2,6 @@ - + - -