feat(orderin): 入库判断是否113口的空托盘

This commit is contained in:
陆一凡 2025-02-21 20:34:45 +08:00
parent 9afd96fe86
commit 7190814c74

View File

@ -27,6 +27,7 @@ import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.*; import java.util.*;
import java.util.stream.Collectors;
/** /**
* 四向车 api service 的实现 * 四向车 api service 的实现
@ -94,7 +95,7 @@ public class ContainerImplement implements ContainerService {
} }
CreateInstoreTaskResponse success = new CreateInstoreTaskResponse(); CreateInstoreTaskResponse success = new CreateInstoreTaskResponse();
// 判断是否为空托盘 // 判断是否为有判断好 B0000001代表无托盘号
if("B0000001".equals(request.getPalletNo())) { if("B0000001".equals(request.getPalletNo())) {
String virtualVehicleNo = WmsUtils.generateUUIDString(); String virtualVehicleNo = WmsUtils.generateUUIDString();
log.info("无托盘号,生成虚拟托盘号{}",virtualVehicleNo); log.info("无托盘号,生成虚拟托盘号{}",virtualVehicleNo);
@ -121,16 +122,18 @@ public class ContainerImplement implements ContainerService {
return new CreateInstoreTaskResponse("400", "创建入库单失败"); return new CreateInstoreTaskResponse("400", "创建入库单失败");
} }
/* 查找可用库位 */ /* 查找可用库位 */
List<Location> canUseLocations = locationUtils.getNewLocation(2,appOrderIn); List<Location> canUseLocations = locationUtils.getNewLocation(2,appOrderIn).stream().filter(location -> location.getLayer() == 1).collect(Collectors.toList());
if(canUseLocations.isEmpty()){ if(canUseLocations.isEmpty()){
log.info("无可用库位"); log.info("无可用库位");
return new CreateInstoreTaskResponse("400", "没有可用库位"); return new CreateInstoreTaskResponse("400", "没有可用库位");
} }
Location useLocation = locationUtils.checkCanUse(canUseLocations); Location useLocation = locationUtils.checkCanUse(canUseLocations);
// 筛选出可用区域为第一层的库位
if(useLocation == null) { if(useLocation == null) {
log.info("暂没有可以直接使用的库位,因为存在互锁的库位,请等待当前任务都执行完成后再试"); log.info("暂没有可以直接使用的库位,因为存在互锁的库位,请等待当前任务都执行完成后再试");
return new CreateInstoreTaskResponse("400", "暂没有可以直接使用的库位,因为存在互锁的库位,请等待当前任务都执行完成后再试"); return new CreateInstoreTaskResponse("400", "暂没有可以直接使用的库位,因为存在互锁的库位,请等待当前任务都执行完成后再试");
} }
Task newInTask = new Task(); Task newInTask = new Task();
newInTask.setTaskId(String.valueOf(Calendar.getInstance().getTimeInMillis())); newInTask.setTaskId(String.valueOf(Calendar.getInstance().getTimeInMillis()));
newInTask.setTaskGroup(UUID.randomUUID().toString()); newInTask.setTaskGroup(UUID.randomUUID().toString());