From 0276a383a7afddbf2f34380ba46cc35c97d8e654 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=ABUmbrella?= <2539020564@qq.com> Date: Sat, 7 Mar 2026 15:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=92=E7=9B=B8=E5=BE=AA=E7=8E=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logistics/controller/OrderBoxController.java | 2 +- .../desk/logistics/service/IOrderBoxService.java | 2 ++ .../service/impl/IOrderBoxServiceImpl.java | 14 +++++++++++++- .../service/impl/StorageMonitoringServiceImpl.java | 3 ++- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBoxController.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBoxController.java index 26677ff6..5a8b29f5 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBoxController.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/controller/OrderBoxController.java @@ -74,7 +74,7 @@ public class OrderBoxController extends BladeController { description = "获取当前作业中心名称" ) public R getBSWORKCENTER(){ - return R.data(bsWorkCenterService.list(new LambdaQueryWrapper().eq(BsWorkCenterEntity::getIsDeleted, 0))); + return iOrderBoxService.getBSWORKCENTER(); } @PostMapping("/box-binding") @ApiOperationSupport(order = 3) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java index de6e2975..4d0770a7 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/IOrderBoxService.java @@ -49,4 +49,6 @@ public interface IOrderBoxService { R returnToWarehouseList(); + R getBSWORKCENTER(); + } \ No newline at end of file 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 9b648c6b..a75c59a2 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 @@ -425,6 +425,18 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { return R.data(bsWorkCenterVOList); } + @Override + public R getBSWORKCENTER() { + List stationList = iStationService.list(new LambdaQueryWrapper().eq(Station::getStationStatus, STATUS_FREE)); + if (!stationList.isEmpty()) { + List list = stationList.stream().map(Station::getWcId).distinct().collect(Collectors.toList()); + List bwList = bsWorkCenterService.getByIds(list); + return R.data(bwList); + } + + return null; + } + /** * 批量保存订单与任务的绑定关系 * 核心:创建订单绑定记录并批量插入,插入失败则回滚任务(删除已创建的任务) @@ -484,7 +496,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { */ private R getSiteLocation(Task task) { // 1. 查询当前工位可用的站点(状态为占用的站点) - List list = iStationService.list(new LambdaQueryWrapper().eq(Station::getWcId, task.getWcId()).eq(Station::getStationStatus, STATUS_OCCUPIED)); + List list = iStationService.list(new LambdaQueryWrapper().eq(Station::getWcId, task.getWcId()).eq(Station::getStationStatus, STATUS_FREE)); if (!CollectionUtils.isEmpty(list)) { task.setStationId(list.get(0).getId()); // 分配第一个可用站点 // 更新站点状态为预占用(锁定站点) 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 index 5d446f39..f2bc1a02 100644 --- 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 @@ -9,6 +9,7 @@ import org.springblade.desk.logistics.pojo.entity.Station; import org.springblade.desk.logistics.pojo.entity.Task; import org.springblade.desk.logistics.pojo.vo.AgvSchedulingTaskVO; import org.springblade.desk.logistics.service.*; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -88,7 +89,7 @@ public class StorageMonitoringServiceImpl implements IStorageMonitoringService { * - 库位ID/任务/库位信息空值校验,跳过异常数据 * - 状态未变化时跳过更新,减少数据库IO */ -// @Scheduled(cron = "*/5 * * * * ?") // Spring定时任务注解,cron表达式控制执行频率 + @Scheduled(cron = "0 * * * * ?") // Spring定时任务注解,cron表达式控制执行频率 @Override // 实现IStorageMonitoringService接口的抽象方法 public void monitoringStation() { // ========== 步骤1:查询所有空闲状态的站点 ==========