Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0308d3bd
由
zshaohui
编写于
2024-12-23 16:18:17 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.禁用料不出库
2.工单出库逻辑优化
1 个父辈
f8f41587
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
16 行增加
和
1 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
0308d3b
...
...
@@ -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
());
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
0308d3b
...
...
@@ -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!
Cancel
请
注册
或
登录
后发表评论