Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c47f914b
由
张少辉
编写于
2025-12-22 11:14:18 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.回库缓存问题提交
1 个父辈
e980910b
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
18 行增加
和
4 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/manager/impl/ReturnStorageManagerImpl.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
c47f914
...
...
@@ -748,7 +748,10 @@ public class BaseDeviceHandler implements IDeviceHandler {
barcode
.
setInOpor
(
task
.
getOperator
());
barcode
.
setCheckOutDate
(
null
,
""
);
barcode
.
setPosName
(
task
.
getPosName
());
if
(!
barcode
.
isNeedReturnStorage
()){
task
.
setNeedReturnStorage
(
false
);
barcode
.
setNeedReturnStorage
(
true
);
}
if
(
barcode
.
isSolder
())
{
if
(
storagePos
.
isWarmPos
())
{
//回温仓位
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
c47f914
...
...
@@ -271,15 +271,25 @@ public class LiteOrderCache {
return
order
;
}
private
Map
<
String
,
String
>
cacheOrderMap
=
new
ConcurrentHashMap
<>();
/**
* 更新工单状态信息
*/
private
synchronized
void
finishedOrderTask
(
DataLog
task
)
throws
ValidateException
{
private
void
finishedOrderTask
(
DataLog
task
)
throws
ValidateException
{
if
(
OP
.
CHECKOUT
==
task
.
getType
())
{
//更新工单状态
String
orderNo
=
task
.
getSourceName
();
if
(!
Strings
.
isNullOrEmpty
(
orderNo
))
{
String
lockObj
=
cacheOrderMap
.
get
(
orderNo
);
if
(
StringUtils
.
isEmpty
(
lockObj
))
{
lockObj
=
orderNo
;
cacheOrderMap
.
put
(
orderNo
,
lockObj
);
}
synchronized
(
cacheOrderMap
.
get
(
orderNo
))
{
LiteOrder
order
=
getLiteOrder
(
orderNo
);
if
(
order
!=
null
)
{
//任务是取消的,需要将总待出库数量-1
...
...
@@ -360,6 +370,7 @@ public class LiteOrderCache {
}
}
}
}
//入库的时候,增加回库信息
else
{
if
(
task
.
isFinished
())
{
...
...
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
c47f914
...
...
@@ -268,6 +268,8 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
private
String
remark
=
""
;
private
boolean
needReturnStorage
=
true
;
public
String
getBarcode
()
{
if
(
barcode
==
null
){
return
""
;
...
...
src/main/java/com/neotel/smfcore/custom/Jkem21481/manager/impl/ReturnStorageManagerImpl.java
查看文件 @
c47f914
...
...
@@ -89,10 +89,8 @@ public class ReturnStorageManagerImpl implements IReturnStorageManager {
if
(
dataLog
!=
null
)
{
log
.
info
(
dataLog
.
getBarcode
()
+
"找到上一个任务,对应的工单号为:"
+
dataLog
.
getStorageName
()
+
"任务状态为:"
+
dataLog
.
getStatus
()
+
",上次出库的任务数量为:"
+
dataLog
.
getNum
());
//判断是否需要回库
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
dataLog
.
getBarcode
());
if
(
dataLog
.
isCheckOutTask
()
&&
dataLog
.
isFinished
())
{
if
(
barcode
.
isNeedReturnStorage
())
{
if
(
dataLog
.
isNeedReturnStorage
())
{
//判断两次的partNumber是否相同,如果不同,则跳过
if
(
task
.
getPartNumber
().
equals
(
dataLog
.
getPartNumber
()))
{
String
sourceId
=
dataLog
.
getSourceId
();
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论