diff --git a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/Station.java b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/Station.java index c0f14fe2..fd9cc486 100644 --- a/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/Station.java +++ b/blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/logistics/pojo/entity/Station.java @@ -50,6 +50,10 @@ public class Station extends BaseEntity { * 放货输送线 站点类型常量 */ public static final String DROPOFF_CONVEYOR_LINE_NAME = "输送线终点"; + /** + * 放货输送线 站点类型常量 + */ + public static final String PICKUP_CONVEYOR_LINE_NAME = "输送线起点"; /** 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 4a9e5f92..49edfed7 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 @@ -75,7 +75,7 @@ public class OrderBoxController extends BladeController { description = "获取当前作业中心名称" ) public R getBSWORKCENTER() { - return iOrderBoxService.getBSWORKCENTER(); + return iOrderBoxService.returnToWarehouseList(); } @PostMapping("/box-binding") 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 5131e819..87385bf9 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 @@ -42,7 +42,7 @@ public interface IOrderBoxService { R returnToWarehouseList(); - R getBSWORKCENTER(); + R receive(String stationCode); 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 9ab22e13..fe456623 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 @@ -140,6 +140,9 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { log.warn("箱绑定参数为空或箱条码缺失"); return R.fail("箱条码不能为空"); } + if (boxBinding.getOrderIdList()==null||boxBinding.getOrderIdList().isEmpty()) { + return R.fail("订单不能为空"); + } String boxBarcode = boxBinding.getBoxBarcode(); // 2. 校验箱条码是否存在运行中的任务(避免重复绑定) @@ -177,6 +180,9 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { */ private R saveOrderBindingList(String boxBarcode, ArrayList orderIdList) { ArrayList orderBindList = new ArrayList<>(); + if (orderIdList.isEmpty()) { + return R.fail("订单id不能为空"); + } // 构建订单绑定记录 for (Long orderId : orderIdList) { OrderBind orderBind = new OrderBind(); @@ -220,7 +226,6 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { BsWorkCenterVO bsWorkCenterVO = new BsWorkCenterVO(); bsWorkCenterVO.setId(0l); bsWorkCenterVO.setWcName(DROPOFF_CONVEYOR_LINE_NAME); - bsWorkCenterVOList.add(bsWorkCenterVO); if (!stationList.isEmpty()) { List list = stationList.stream().map(Station::getWcId).distinct().collect(Collectors.toList()); List bwList = bsWorkCenterService.getByIds(list); @@ -234,17 +239,6 @@ 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; - } @Override public R receive(String stationCode) { @@ -304,6 +298,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { } // 6. 完善任务信息并保存 task = (Task) locationResult.getData(); + log.info("task:"+task.toString()); if (task.getStationId()==null&&agvSend) { List locationList = iLocationService.list(new LambdaQueryWrapper().eq(Location::getId, task.getLocationId())); if (!CollectionUtils.isEmpty(locationList)) { @@ -347,6 +342,7 @@ public class IOrderBoxServiceImpl implements IOrderBoxService { if (agvResult) { return R.success(); }else { + iTaskService.removeById(task); return R.fail("AGV小车调用异常"); } }else { @@ -371,7 +367,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/TaskExecuteRecordServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/logistics/service/impl/TaskExecuteRecordServiceImpl.java index 8752e271..e73a85b4 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 @@ -86,7 +86,7 @@ public class TaskExecuteRecordServiceImpl extends BaseServiceImpl list = list( new LambdaQueryWrapper() - .eq(TaskExecuteRecord::getId, agvCallBack.getTaskCode()) + .eq(TaskExecuteRecord::getTaskCode, agvCallBack.getTaskCode()) .orderByDesc(TaskExecuteRecord::getCreateTime) );