|
|
|
@ -136,7 +136,11 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
|
|
|
|
|
.supId(ioSplitFifoCodeEntity.getSupId())
|
|
|
|
|
.inCount(ioSplitFifoCodeEntity.getTotalCount()).outCount(0)
|
|
|
|
|
.reCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount()))
|
|
|
|
|
.availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0).createTime(new Date()).updateTime(new Date()).remark(null).enableRemind(false).invRemindCount(0).workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode()).build();
|
|
|
|
|
.availableCount(IntUtil.value(ioSplitFifoCodeEntity.getTotalCount())).lockCount(0)
|
|
|
|
|
.createTime(new Date()).updateTime(new Date()).remark(null)
|
|
|
|
|
.enableRemind(false).invRemindCount(0)
|
|
|
|
|
.workPlaceQueueCode(orderEntity.getWorkPlaceQueueCode() == null ? setQueueCode(ioSplitFifoCodeEntity.getWorkPlaceCode(), orderEntity.getCreateUser()) : orderEntity.getWorkPlaceQueueCode())
|
|
|
|
|
.build();
|
|
|
|
|
// if (isOnlyInv) {
|
|
|
|
|
// splitFifoInv.setBusType(ioSplitFifoCodeEntity.getBusType());
|
|
|
|
|
// }
|
|
|
|
@ -175,19 +179,23 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
|
|
|
|
|
if (queues.size() == 0) {
|
|
|
|
|
throw new JsonException(500, "请增加取货槽");
|
|
|
|
|
}
|
|
|
|
|
// 直接根据 workPlaceCode 增加一个槽位
|
|
|
|
|
SysWorkplaceQueue workplaceQueue = queues.get(0);
|
|
|
|
|
// // 使用流来过滤掉匹配的元素
|
|
|
|
|
// List<SysWorkplaceQueue> filteredQueues = queues.stream()
|
|
|
|
|
// .filter(queue -> {
|
|
|
|
|
// IoSplitFifoInv one = getOne(
|
|
|
|
|
// new LambdaQueryWrapper<IoSplitFifoInv>()
|
|
|
|
|
// .eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())
|
|
|
|
|
// );
|
|
|
|
|
// return one == null; // 只保留那些没有匹配的槽位
|
|
|
|
|
// })
|
|
|
|
|
// .sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode()))
|
|
|
|
|
// .collect(Collectors.toList());
|
|
|
|
|
// 使用流来过滤掉匹配的元素
|
|
|
|
|
List<SysWorkplaceQueue> filteredQueues = queues.stream()
|
|
|
|
|
.filter(queue -> {
|
|
|
|
|
IoSplitFifoInv one = getOne(
|
|
|
|
|
new LambdaQueryWrapper<IoSplitFifoInv>()
|
|
|
|
|
.eq(IoSplitFifoInv::getWorkPlaceQueueCode, queue.getCode())
|
|
|
|
|
);
|
|
|
|
|
return one == null; // 只保留那些没有匹配的槽位
|
|
|
|
|
})
|
|
|
|
|
.sorted((queue1, queue2) -> queue1.getCode().compareTo(queue2.getCode()))
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
if (filteredQueues.size() > 0) {
|
|
|
|
|
//还有剩余的槽位 可分配
|
|
|
|
|
SysWorkplaceQueue sysWorkplaceQueue = filteredQueues.get(0);
|
|
|
|
|
return sysWorkplaceQueue.getCode();
|
|
|
|
|
} else {
|
|
|
|
|
//增加一个槽位
|
|
|
|
|
SysWorkplaceLayer layer = sysWorkplaceLayerService.getOne(new LambdaQueryWrapper<SysWorkplaceLayer>().eq(SysWorkplaceLayer::getCode, workplaceQueue.getLayerCode()));
|
|
|
|
|
SysWorkplaceLayerRequest sysWorkplaceLayerRequest = new SysWorkplaceLayerRequest();
|
|
|
|
@ -195,10 +203,14 @@ public class IoSplitFifoInvService extends ServiceImpl<IoSplitFifoInvMapper, IoS
|
|
|
|
|
sysWorkplaceLayerRequest.setCode(workplaceQueue.getLayerCode());
|
|
|
|
|
sysWorkplaceLayerRequest.setWorkPlaceIdFk(workPlaceCode);
|
|
|
|
|
sysWorkplaceLayerRequest.setQueueNum(layer.getQueueNum() + 1);
|
|
|
|
|
sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId));
|
|
|
|
|
String queueCode = sysWorkplaceQueueService.selectMaxCodeByLayerCode(workplaceQueue.getLayerCode());
|
|
|
|
|
return queueCode;
|
|
|
|
|
Boolean aBoolean = sysWorkplaceLayerService.addSysWorkplaceLayer(sysWorkplaceLayerRequest, Long.valueOf(userId));
|
|
|
|
|
if (!aBoolean){
|
|
|
|
|
throw new JsonException(500, "虚拟槽位增加失败");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return setQueueCode(workPlaceCode, userId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
|
SysWorkplacePutRelService sysWorkplacePutRelService;
|
|
|
|
|