Commit 0308d3bd zshaohui

1.禁用料不出库

2.工单出库逻辑优化
1 个父辈 f8f41587
......@@ -539,6 +539,9 @@ public class LiteOrderCache {
for (LiteOrderItem orderItem : cacheOrder.getOrderItems()) {
List<String> fewTasksStorageIdList = new ArrayList<>(); //任务少的id
List<String> secondFewTasksStorageIdList = new ArrayList<>();
for (String availableStorageId : availableStorageIds) {
Storage storage = dataCache.getStorageById(availableStorageId);
if (!storage.isVirtual()) {
......@@ -554,6 +557,9 @@ public class LiteOrderCache {
if (taskCount < 10) {
fewTasksStorageIdList.add(availableStorageId);
}
if (taskCount >= 10 && taskCount < 15){
secondFewTasksStorageIdList.add(availableStorageId);
}
}
}
......@@ -602,9 +608,15 @@ public class LiteOrderCache {
for (String pn : partNumberSpl) {
//先从数量少的,去挑
if (fewTasksStorageIdList != null && !fewTasksStorageIdList.isEmpty()) {
log.info("先从任务数量的料仓,去挑,partNumber为[{}],工单号为[{}]",pn,orderNo);
log.info("先从任务数量小于10的料仓,去挑,partNumber为[{}],工单号为[{}]",pn,orderNo);
pos = storagePosManager.findPartNumberInStorages(fewTasksStorageIdList, pn, excludePosIds, checkoutType, orderItem.getBrand());
}
if (pos == null){
if (secondFewTasksStorageIdList != null && !secondFewTasksStorageIdList.isEmpty()){
log.info("先从任务数量大于10小于15的料仓,去挑,partNumber为[{}],工单号为[{}]",pn,orderNo);
pos = storagePosManager.findPartNumberInStorages(secondFewTasksStorageIdList, pn, excludePosIds, checkoutType, orderItem.getBrand());
}
}
if (pos == null) {
log.info("从任务数量少的料仓未找到出库的物料,从全部料仓中去挑的料仓,去挑,partNumber为[{}],工单号为[{}]",pn,orderNo);
pos = storagePosManager.findPartNumberInStorages(storageIdList, pn, excludePosIds, checkoutType, orderItem.getBrand());
......
......@@ -772,6 +772,9 @@ public class StoragePosController {
if (excludePosIds.contains(pos.getId())){
return ResultBean.newErrorResult(-1,"smfcore.error.pos.inQueue", "位置:[{0}}]已在操作队列中,操作失败", new String[]{pos.getPosName()});
}
if (!pos.isEnabled()) {
return ResultBean.newErrorResult(-1, "", pos.getPosName() + "库位被禁用,无法出库");
}
needOutPosList.add(pos);
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!