Commit 0308d3bd zshaohui

1.禁用料不出库

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