Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 450ac22c
由
张少辉
编写于
2026-05-08 13:34:55 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.自动抛送odn增加库别信息
1 个父辈
6573a566
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
63 行增加
和
26 行删除
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/bean/PnPriorityMt.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/bean/dto/PnPriorityMtDto.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/AutoDispatchInventoryController.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/PnPriorityMtController.java
src/main/resources/config/application-prod.yml
src/main/resources/config/application.yml
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
450ac22
...
@@ -946,20 +946,24 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -946,20 +946,24 @@ public class StoragePosManagerImpl implements IStoragePosManager {
@Override
@Override
public
void
updateBindOdnBarcode
(
String
orderNo
)
{
public
void
updateBindOdnBarcode
(
String
orderNo
)
{
Criteria
criteria
=
Criteria
.
where
(
"barcode.odn"
).
is
(
orderNo
);
try
{
List
<
StoragePos
>
storagePosList
=
storagePosDao
.
findByQuery
(
new
Query
(
criteria
));
Criteria
criteria
=
Criteria
.
where
(
"barcode.odn"
).
is
(
orderNo
);
if
(
storagePosList
!=
null
&&
!
storagePosList
.
isEmpty
()){
List
<
StoragePos
>
storagePosList
=
storagePosDao
.
findByQuery
(
new
Query
(
criteria
));
for
(
StoragePos
storagePos
:
storagePosList
)
{
if
(
storagePosList
!=
null
&&
!
storagePosList
.
isEmpty
()){
Barcode
barcode
=
storagePos
.
getBarcode
();
for
(
StoragePos
storagePos
:
storagePosList
)
{
if
(
barcode
!=
null
){
Barcode
barcode
=
storagePos
.
getBarcode
();
barcode
.
setOdn
(
""
);
if
(
barcode
!=
null
){
barcode
.
setSto
(
""
);
barcode
.
setOdn
(
""
);
barcode
.
setCurrentRequestId
(
""
);
barcode
.
setSto
(
""
);
barcodeManager
.
save
(
barcode
);
barcode
.
setCurrentRequestId
(
""
);
storagePos
.
setBarcode
(
barcode
);
barcodeManager
.
save
(
barcode
);
storagePosDao
.
save
(
storagePos
);
storagePos
.
setBarcode
(
barcode
);
storagePosDao
.
save
(
storagePos
);
}
}
}
}
}
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
}
}
}
}
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/bean/PnPriorityMt.java
查看文件 @
450ac22
...
@@ -10,5 +10,6 @@ public class PnPriorityMt extends BasePo {
...
@@ -10,5 +10,6 @@ public class PnPriorityMt extends BasePo {
private
int
priority
;
private
int
priority
;
private
String
modelFamily
;
private
String
modelFamily
;
private
int
checkOutNum
;
private
int
checkOutNum
;
private
String
warehouse
;
//private int inventoryNum;
//private int inventoryNum;
}
}
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/bean/dto/PnPriorityMtDto.java
查看文件 @
450ac22
...
@@ -18,6 +18,8 @@ public class PnPriorityMtDto implements Serializable {
...
@@ -18,6 +18,8 @@ public class PnPriorityMtDto implements Serializable {
private
int
priority
;
private
int
priority
;
private
String
warehouse
;
//机种
//机种
private
String
modelFamily
;
private
String
modelFamily
;
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/AutoDispatchInventoryController.java
查看文件 @
450ac22
...
@@ -65,20 +65,20 @@ public class AutoDispatchInventoryController {
...
@@ -65,20 +65,20 @@ public class AutoDispatchInventoryController {
private
IAutoStoOdnManager
autoStoOdnManager
;
private
IAutoStoOdnManager
autoStoOdnManager
;
@Scheduled
(
fixedRate
=
1000
*
60
*
30
)
@Scheduled
(
fixedRate
=
1000
*
60
*
1
)
private
void
autoSend
(){
private
void
autoSend
()
{
Boolean
dispath
=
dataCache
.
getCache
(
Constants
.
CACHE_AutoDispatchInventory
);
Boolean
dispath
=
dataCache
.
getCache
(
Constants
.
CACHE_AutoDispatchInventory
);
if
(
dispath
==
null
){
if
(
dispath
==
null
)
{
dispath
=
false
;
dispath
=
false
;
}
}
if
(!
dispath
){
if
(!
dispath
)
{
log
.
info
(
"【自动出库】自动派发未开启,直接退出"
);
log
.
info
(
"【自动出库】自动派发未开启,直接退出"
);
return
;
return
;
}
}
log
.
info
(
"【自动出库】开始执行自动派发任务"
);
log
.
info
(
"【自动出库】开始执行自动派发任务"
);
List
<
PnPriorityMt
>
pnPriorityMtList
=
pnPriorityMtManager
.
findByQuery
(
new
Query
());
List
<
PnPriorityMt
>
pnPriorityMtList
=
pnPriorityMtManager
.
findByQuery
(
new
Query
());
if
(
pnPriorityMtList
==
null
||
pnPriorityMtList
.
isEmpty
()){
if
(
pnPriorityMtList
==
null
||
pnPriorityMtList
.
isEmpty
())
{
log
.
info
(
"【自动出库】未查询到任何优先级料号配置,退出"
);
log
.
info
(
"【自动出库】未查询到任何优先级料号配置,退出"
);
return
;
return
;
}
}
...
@@ -94,13 +94,18 @@ public class AutoDispatchInventoryController {
...
@@ -94,13 +94,18 @@ public class AutoDispatchInventoryController {
int
needNum
=
0
;
int
needNum
=
0
;
int
count
=
0
;
int
count
=
0
;
int
checkOutNum
=
mt
.
getCheckOutNum
();
int
checkOutNum
=
mt
.
getCheckOutNum
();
String
warehouse
=
mt
.
getWarehouse
();
String
modelFamily
=
mt
.
getModelFamily
();
log
.
info
(
"=================================================="
);
log
.
info
(
"=================================================="
);
log
.
info
(
"【自动出库】开始处理料号:{},需求数量:{}"
,
partNumber
,
checkOutNum
);
log
.
info
(
"【自动出库】开始处理料号:{},需求数量:{}"
,
partNumber
,
checkOutNum
);
//判断有没有已经抛送过了
//判断有没有已经抛送过了
Query
query
=
new
Query
(
Criteria
.
where
(
"barcode.partNumber"
).
is
(
partNumber
).
and
(
"barcode.odn"
).
exists
(
true
).
ne
(
""
));
Query
query
=
new
Query
(
Criteria
.
where
(
"barcode.partNumber"
).
is
(
partNumber
)
.
and
(
"barcode.warehouseCode"
).
is
(
warehouse
)
.
and
(
"barcode.modelFamily"
).
is
(
modelFamily
)
.
and
(
"barcode.odn"
).
exists
(
true
).
ne
(
""
));
StoragePos
oldPos
=
storagePosManager
.
findOne
(
query
);
StoragePos
oldPos
=
storagePosManager
.
findOne
(
query
);
if
(
oldPos
!=
null
){
if
(
oldPos
!=
null
)
{
log
.
info
(
"【自动出库】料号{}已抛送过,ODN:{},跳过"
,
partNumber
,
oldPos
.
getBarcode
().
getOdn
());
log
.
info
(
"【自动出库】料号{}已抛送过,ODN:{},跳过"
,
partNumber
,
oldPos
.
getBarcode
().
getOdn
());
continue
;
continue
;
}
}
...
@@ -119,9 +124,9 @@ public class AutoDispatchInventoryController {
...
@@ -119,9 +124,9 @@ public class AutoDispatchInventoryController {
AutoStoRequest
autoStoRequest
=
new
AutoStoRequest
();
AutoStoRequest
autoStoRequest
=
new
AutoStoRequest
();
List
<
StoragePos
>
autoStoPosList
=
new
ArrayList
<>();
List
<
StoragePos
>
autoStoPosList
=
new
ArrayList
<>();
while
(
needNum
<
checkOutNum
&&
count
<
20
){
while
(
needNum
<
checkOutNum
&&
count
<
20
)
{
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
partNumber
,
excludeOutPosIds
,
checkOutType
);
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
storageIdList
,
partNumber
,
excludeOutPosIds
,
checkOutType
);
if
(
pos
==
null
){
if
(
pos
==
null
)
{
log
.
info
(
"【自动出库】料号{}未找到可用库位,退出分配"
,
partNumber
);
log
.
info
(
"【自动出库】料号{}未找到可用库位,退出分配"
,
partNumber
);
break
;
break
;
}
}
...
@@ -134,9 +139,24 @@ public class AutoDispatchInventoryController {
...
@@ -134,9 +139,24 @@ public class AutoDispatchInventoryController {
excludeOutPosIds
.
add
(
pos
.
getId
());
excludeOutPosIds
.
add
(
pos
.
getId
());
continue
;
continue
;
}
}
//判断库别和机种是否一样
String
warehouseCode
=
barcode
.
getWarehouseCode
();
if
(
StringUtils
.
isNotEmpty
(
warehouseCode
))
{
if
(!
warehouseCode
.
equals
(
warehouse
))
{
excludeOutPosIds
.
add
(
pos
.
getId
());
continue
;
}
}
String
barcodeModelFamily
=
barcode
.
getModelFamily
();
if
(
StringUtils
.
isNotEmpty
(
barcodeModelFamily
))
{
if
(!
barcodeModelFamily
.
equals
(
modelFamily
))
{
excludeOutPosIds
.
add
(
pos
.
getId
());
continue
;
}
}
String
keyId
=
autoStoRequest
.
getKey_id
();
String
keyId
=
autoStoRequest
.
getKey_id
();
if
(
StringUtils
.
isEmpty
(
keyId
)){
if
(
StringUtils
.
isEmpty
(
keyId
))
{
keyId
=
UUID
.
randomUUID
().
toString
();
keyId
=
UUID
.
randomUUID
().
toString
();
autoStoRequest
.
setKey_id
(
keyId
);
autoStoRequest
.
setKey_id
(
keyId
);
log
.
info
(
"【自动出库】生成请求ID:{}"
,
keyId
);
log
.
info
(
"【自动出库】生成请求ID:{}"
,
keyId
);
...
@@ -164,7 +184,7 @@ public class AutoDispatchInventoryController {
...
@@ -164,7 +184,7 @@ public class AutoDispatchInventoryController {
}
}
int
qty
=
autoStoRequest
.
getQty
();
int
qty
=
autoStoRequest
.
getQty
();
if
(
qty
<=
0
){
if
(
qty
<=
0
)
{
log
.
warn
(
"【自动出库】料号{}未选中任何库存,跳过接口调用"
,
partNumber
);
log
.
warn
(
"【自动出库】料号{}未选中任何库存,跳过接口调用"
,
partNumber
);
continue
;
continue
;
}
}
...
...
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/wipstor/controller/PnPriorityMtController.java
查看文件 @
450ac22
...
@@ -115,6 +115,7 @@ public class PnPriorityMtController {
...
@@ -115,6 +115,7 @@ public class PnPriorityMtController {
headerList
.
add
(
Arrays
.
asList
(
"id"
));
headerList
.
add
(
Arrays
.
asList
(
"id"
));
headerList
.
add
(
Arrays
.
asList
(
"料号"
));
headerList
.
add
(
Arrays
.
asList
(
"料号"
));
headerList
.
add
(
Arrays
.
asList
(
"机种"
));
headerList
.
add
(
Arrays
.
asList
(
"机种"
));
headerList
.
add
(
Arrays
.
asList
(
"库别"
));
headerList
.
add
(
Arrays
.
asList
(
"出库数量"
));
headerList
.
add
(
Arrays
.
asList
(
"出库数量"
));
headerList
.
add
(
Arrays
.
asList
(
"优先级"
));
headerList
.
add
(
Arrays
.
asList
(
"优先级"
));
headerList
.
add
(
Arrays
.
asList
(
"创建时间"
));
headerList
.
add
(
Arrays
.
asList
(
"创建时间"
));
...
@@ -131,6 +132,7 @@ public class PnPriorityMtController {
...
@@ -131,6 +132,7 @@ public class PnPriorityMtController {
data
.
add
(
pnPriorityMt
.
getId
());
data
.
add
(
pnPriorityMt
.
getId
());
data
.
add
(
pnPriorityMt
.
getPartNumber
());
data
.
add
(
pnPriorityMt
.
getPartNumber
());
data
.
add
(
pnPriorityMt
.
getModelFamily
());
data
.
add
(
pnPriorityMt
.
getModelFamily
());
data
.
add
(
pnPriorityMt
.
getWarehouse
());
data
.
add
(
pnPriorityMt
.
getCheckOutNum
());
data
.
add
(
pnPriorityMt
.
getCheckOutNum
());
data
.
add
(
pnPriorityMt
.
getPriority
());
data
.
add
(
pnPriorityMt
.
getPriority
());
data
.
add
(
pnPriorityMt
.
getCreateDate
());
data
.
add
(
pnPriorityMt
.
getCreateDate
());
...
@@ -185,6 +187,7 @@ public class PnPriorityMtController {
...
@@ -185,6 +187,7 @@ public class PnPriorityMtController {
try
{
try
{
csvRead
=
CsvReader
.
newReader
(
fileURL
,
"料号"
,
"料号"
);
csvRead
=
CsvReader
.
newReader
(
fileURL
,
"料号"
,
"料号"
);
int
partNumberIndex
=
csvRead
.
getIndex
(
"料号"
,
"料号"
);
int
partNumberIndex
=
csvRead
.
getIndex
(
"料号"
,
"料号"
);
int
warehouseIndex
=
csvRead
.
getIndex
(
"库别"
,
"库别"
);
int
modelIndex
=
csvRead
.
getIndex
(
"机种"
,
"机种"
);
int
modelIndex
=
csvRead
.
getIndex
(
"机种"
,
"机种"
);
int
checkOutIndex
=
csvRead
.
getIndex
(
"出库数量"
,
"出库数量"
);
int
checkOutIndex
=
csvRead
.
getIndex
(
"出库数量"
,
"出库数量"
);
int
priorityIndex
=
csvRead
.
getIndex
(
"优先级"
,
"优先级"
);
int
priorityIndex
=
csvRead
.
getIndex
(
"优先级"
,
"优先级"
);
...
@@ -201,6 +204,10 @@ public class PnPriorityMtController {
...
@@ -201,6 +204,10 @@ public class PnPriorityMtController {
if
(
StringUtils
.
isEmpty
(
modelValue
))
{
if
(
StringUtils
.
isEmpty
(
modelValue
))
{
continue
;
continue
;
}
}
String
warehouseValue
=
lineValues
[
warehouseIndex
];
if
(
StringUtils
.
isEmpty
(
warehouseValue
))
{
continue
;
}
String
priorityValue
=
lineValues
[
priorityIndex
];
String
priorityValue
=
lineValues
[
priorityIndex
];
if
(
StringUtils
.
isEmpty
(
priorityValue
)){
if
(
StringUtils
.
isEmpty
(
priorityValue
)){
continue
;
continue
;
...
@@ -218,6 +225,7 @@ public class PnPriorityMtController {
...
@@ -218,6 +225,7 @@ public class PnPriorityMtController {
mt
.
setCheckOutNum
(
checkOutNum
);
mt
.
setCheckOutNum
(
checkOutNum
);
mt
.
setModelFamily
(
modelValue
);
mt
.
setModelFamily
(
modelValue
);
mt
.
setCheckOutNum
(
checkOutNum
);
mt
.
setCheckOutNum
(
checkOutNum
);
mt
.
setWarehouse
(
warehouseValue
);
resultList
.
add
(
mt
);
resultList
.
add
(
mt
);
}
}
}
catch
(
Exception
ex
)
{
}
catch
(
Exception
ex
)
{
...
@@ -239,12 +247,14 @@ public class PnPriorityMtController {
...
@@ -239,12 +247,14 @@ public class PnPriorityMtController {
List
<
String
>
titles
=
new
ArrayList
<>();
List
<
String
>
titles
=
new
ArrayList
<>();
titles
.
add
(
"料号"
);
titles
.
add
(
"料号"
);
titles
.
add
(
"机种"
);
titles
.
add
(
"机种"
);
titles
.
add
(
"库别"
);
titles
.
add
(
"出库数量"
);
titles
.
add
(
"出库数量"
);
titles
.
add
(
"优先级"
);
titles
.
add
(
"优先级"
);
for
(
int
i
=
1
;
i
<=
10
;
i
++)
{
for
(
int
i
=
1
;
i
<=
10
;
i
++)
{
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
Map
<
String
,
Object
>
map
=
new
LinkedHashMap
<>();
map
.
put
(
"料号"
,
"料号"
+
i
);
map
.
put
(
"料号"
,
"料号"
+
i
);
map
.
put
(
"机种"
,
"机种"
+
i
);
map
.
put
(
"机种"
,
"机种"
+
i
);
map
.
put
(
"库别"
,
"库别"
+
i
);
map
.
put
(
"出库数量"
,
i
);
map
.
put
(
"出库数量"
,
i
);
map
.
put
(
"优先级"
,
i
);
map
.
put
(
"优先级"
,
i
);
maps
.
add
(
map
);
maps
.
add
(
map
);
...
...
src/main/resources/config/application-prod.yml
查看文件 @
450ac22
...
@@ -19,8 +19,8 @@ spring:
...
@@ -19,8 +19,8 @@ spring:
backup-mongodb
:
backup-mongodb
:
host
:
10.68.27.128
# 主机地址
host
:
10.68.27.128
# 主机地址
port
:
27017
# 端口
port
:
8001
# 端口
database
:
8001
# 数据库
database
:
wipsmf
# 数据库
username
:
neotel
username
:
neotel
password
:
neotel
password
:
neotel
...
...
src/main/resources/config/application.yml
查看文件 @
450ac22
...
@@ -105,5 +105,5 @@ app:
...
@@ -105,5 +105,5 @@ app:
type
:
"
"
type
:
"
"
menu
:
menu
:
show
:
odnShipme
nt
show
:
shipPnMai
nt
hide
:
hide
:
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论