Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c2b36243
由
孙克
编写于
2023-08-11 16:24:34 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
重发未完成的出库任务时间改为3分钟
更新任务状态时, 如果任务为正在执行中,则清理库存
1 个父辈
d89842e4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
37 行增加
和
49 行删除
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/util/StorageExportUtil.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
c2b3624
...
...
@@ -485,7 +485,7 @@ public class DataLog extends BasePo implements Serializable {
*/
public
boolean
needReSendToClient
(){
if
(
isCheckOutTask
()
&&
isExecuting
()){
return
System
.
currentTimeMillis
()
-
super
.
getUpdateDate
().
getTime
()
>=
60
*
1000
;
return
System
.
currentTimeMillis
()
-
super
.
getUpdateDate
().
getTime
()
>=
3
*
60
*
1000
;
}
return
false
;
}
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
c2b3624
...
...
@@ -439,7 +439,7 @@ public class TaskService {
log
.
error
(
"cid["
+
cid
+
"]已有入库任务,不可再分配出库任务"
);
return
null
;
}
else
if
(
task
.
needReSendToClient
()
&&
task
.
isCheckOutTask
()
&&
task
.
isExecuting
())
{
//超过30秒仍未完成的出库再次发送到客户端
log
.
error
(
"cid["
+
cid
+
"]的出库任务["
+
task
.
getPosName
()
+
"]超过
6
0秒仍未完成,重新发送到客户端!"
);
log
.
error
(
"cid["
+
cid
+
"]的出库任务["
+
task
.
getPosName
()
+
"]超过
18
0秒仍未完成,重新发送到客户端!"
);
task
.
setUpdateDate
(
new
Date
());
return
task
;
}
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/rest/InnerBoxRestController.java
查看文件 @
c2b3624
...
...
@@ -106,7 +106,7 @@ public class InnerBoxRestController {
Collection
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
//log.info("所有任务为:"+ JSON.toJSONString(allTasks));
for
(
DataLog
task
:
allTasks
)
{
if
(
code
.
startsWith
(
task
.
getBarcode
()))
{
if
(
task
.
isCheckOutTask
()
&&
code
.
startsWith
(
task
.
getBarcode
()))
{
if
(!
task
.
isCancel
()
&&
!
task
.
isFinished
())
{
opTask
=
task
;
break
;
...
...
@@ -121,56 +121,39 @@ public class InnerBoxRestController {
}
status
=
status
.
toUpperCase
();
log
.
info
(
"更新任务状态:{}-->{}"
,
opTask
.
getStatus
(),
status
);
OP_STATUS
updateStatus
=
OP_STATUS
.
valueOf
(
status
);
if
(
updateStatus
!=
null
)
{
opTask
.
setStatus
(
status
);
if
(
opTask
.
isCheckOutTask
())
{
if
(
OP_STATUS
.
EXECUTING
.
name
().
equals
(
status
))
{
//在执行队列中
taskService
.
updateQueueTask
(
opTask
);
}
else
{
taskService
.
moveTaskToFinished
(
opTask
);
if
(
OP_STATUS
.
OUT_POS
.
name
().
equals
(
status
))
{
//从库位中取出,需要移到完成队列中,并且清理库存
outFromPos
(
opTask
);
//清理锁定库位
ReelLockPosUtil
.
removeReelLockPosInfo
(
code
);
}
taskService
.
updateFinishedTask
(
opTask
);
if
(
OP_STATUS
.
FINISHED
.
name
().
equals
(
status
))
{
//已完成,从完成缓存中清除
taskService
.
removeFinishedTask
(
opTask
);
//清理锁定库位
ReelLockPosUtil
.
removeReelLockPosInfo
(
code
);
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
opTask
.
getSourceId
());
//设置绑定库位
StorageExport
storageExport
=
StorageExportUtil
.
getExport
(
outlet
);
if
(
storageExport
!=
null
){
if
(
liteOrder
!=
null
){
storageExport
.
setLine
(
liteOrder
.
getLine
());
storageExport
.
setHSerial
(
liteOrder
.
getOrderNo
());
int
remainTaskCount
=
0
;
List
<
DataLog
>
dataLogList
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
dataLog
.
getSourceId
().
equals
(
opTask
.
getSourceId
())){
if
(!
dataLog
.
isFinished
()){
remainTaskCount
++;
}
}
}
storageExport
.
setRemainTaskCount
(
remainTaskCount
);
StorageExportUtil
.
updateExport
(
outlet
,
storageExport
.
getHSerial
(),
storageExport
.
getLine
(),
storageExport
.
getRemainTaskCount
());
}
//调用此接口的肯定是料盘已出仓位的
if
(
opTask
.
isExecuting
()){
//正在执行的任务,清理库存
outFromPos
(
opTask
);
}
opTask
.
setStatus
(
status
);
taskService
.
moveTaskToFinished
(
opTask
);
//清理锁定库位
ReelLockPosUtil
.
removeReelLockPosInfo
(
code
);
if
(
opTask
.
isFinished
()){
//已完成,从完成缓存中清除
taskService
.
removeFinishedTask
(
opTask
);
//设置绑定库位
StorageExport
storageExport
=
StorageExportUtil
.
getExport
(
outlet
);
LiteOrder
liteOrder
=
liteOrderManager
.
get
(
opTask
.
getSourceId
());
if
(
liteOrder
!=
null
){
storageExport
.
setLine
(
liteOrder
.
getLine
());
storageExport
.
setHSerial
(
liteOrder
.
getOrderNo
());
int
remainTaskCount
=
0
;
List
<
DataLog
>
dataLogList
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
dataLog
.
getSourceId
().
equals
(
opTask
.
getSourceId
())){
if
(!
dataLog
.
isFinished
()){
remainTaskCount
++;
}
}
}
storageExport
.
setRemainTaskCount
(
remainTaskCount
);
StorageExportUtil
.
updateExport
(
outlet
,
storageExport
);
}
}
else
{
log
.
info
(
code
+
"更新状态时未找到状态:"
+
status
+
""
);
}
return
ResultBean
.
newOkResult
(
StorageExportUtil
.
getExport
(
outlet
));
...
...
src/main/java/com/neotel/smfcore/custom/lizhen/innerBox/util/StorageExportUtil.java
查看文件 @
c2b3624
...
...
@@ -78,6 +78,11 @@ public class StorageExportUtil {
}
}
public
static
void
updateExport
(
String
outlet
,
StorageExport
storageExport
){
exportMap
.
put
(
outlet
,
storageExport
);
dataCache
.
updateCache
(
EXPORT_PREFIX
+
"_"
+
outlet
,
storageExport
);
}
//更新出料口信息
public
static
void
updateExport
(
String
key
,
String
hSerial
,
String
line
,
int
remainTaskCount
)
{
StorageExport
storageExport
=
exportMap
.
get
(
key
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论