Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit eaa8af9e
由
LN
编写于
2025-06-13 16:32:57 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
SP回温任务增加重发
1 个父辈
b5fa96fd
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
76 行增加
和
14 行删除
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/solder/handler/SpBoxHandler.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
eaa8af9
...
...
@@ -3,10 +3,12 @@ package com.neotel.smfcore.core.device.bean;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
import
com.neotel.smfcore.core.device.enums.BOX_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.message.enums.MessageType
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.system.service.po.AlarmInfo
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
lombok.Data
;
import
lombok.ToString
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -810,4 +812,12 @@ public class StatusBean {
setMsg
(
lanMsg
);
}
}
public
void
addRewarmTask
(
DataLog
task
,
DataLog
putingTask
)
{
setOp
(
OP
.
REWARM_TAKING
);
addData
(
"posId"
,
task
.
getPosName
());
addData
(
"secondPosId"
,
putingTask
.
getPosName
());
addData
(
"plateW"
,
task
.
getW
()
+
""
);
addData
(
"plateH"
,
task
.
getH
()
+
""
);
}
}
src/main/java/com/neotel/smfcore/core/solder/handler/SpBoxHandler.java
查看文件 @
eaa8af9
...
...
@@ -22,7 +22,6 @@ import com.neotel.smfcore.core.device.enums.BOX_STATUS;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.handler.impl.BaseDeviceHandler
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
...
...
@@ -31,7 +30,6 @@ import com.neotel.smfcore.core.system.util.DevicesStatusUtil;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.RestController
;
...
...
@@ -329,23 +327,77 @@ public class SpBoxHandler extends BaseDeviceHandler {
*/
private
StatusBean
handleSolderPaste
(
String
cid
,
StatusBean
statusBean
)
{
if
(
statusBean
.
getStatus
()
==
StorageConstants
.
STATUS
.
READY
)
{
//锡膏料仓空闲
//入库中,不发其他任务。
if
(
statusBean
.
getOp
()
==
OP
.
PUT_IN
)
{
return
null
;
}
//判断是否有执行中的入库,出库,回温任务,有的话不需要发
int
executTaskCount
=
0
;
//如果有执行中的任务先不发
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
for
(
DataLog
task
:
queueTasks
)
{
if
(
cid
.
equals
(
task
.
getCid
())
&&
task
.
isExecuting
())
{
if
(!
task
.
isMixTask
()){
executTaskCount
++;
}
if
(
task
.
isRewarmTakingTask
()
&&
task
.
needReSendToClient
())
{
log
.
error
(
"cid["
+
cid
+
"]的回温取料任务["
+
task
.
getPosName
()
+
"]"
+
task
.
getBarcode
()
+
"超过60秒仍未完成,重新发送到客户端!"
);
task
.
setUpdateDate
(
new
Date
());
taskService
.
updateQueueTask
(
task
);
DataLog
rewarmPuttingTask
=
findAnotherTask
(
OP
.
REWARM_PUTTING
,
task
.
getBarcode
());
if
(
rewarmPuttingTask
==
null
)
{
log
.
error
(
"["
+
cid
+
"]回温取料任务["
+
task
.
getBarcode
()
+
"]["
+
task
.
getPosName
()
+
"]未找到回温放料任务"
);
}
else
{
statusBean
.
addRewarmTask
(
task
,
rewarmPuttingTask
);
log
.
info
(
task
.
getBarcode
()
+
"回温移库任务重发到客户端["
+
task
.
getPosName
()
+
"]=>"
+
rewarmPuttingTask
.
getPosName
()
+
",W:"
+
task
.
getW
()
+
",H:"
+
task
.
getH
());
rewarmPuttingTask
.
setUpdateDate
(
new
Date
());
taskService
.
updateQueueTask
(
rewarmPuttingTask
);
return
statusBean
;
}
}
else
if
(
task
.
isRewarmPuttingTask
()
&&
task
.
needReSendToClient
())
{
log
.
error
(
"cid["
+
cid
+
"]的回温放料任务["
+
task
.
getPosName
()
+
"]"
+
task
.
getBarcode
()
+
"超过60秒仍未完成,重新发送到客户端!"
);
task
.
setUpdateDate
(
new
Date
());
taskService
.
updateQueueTask
(
task
);
DataLog
rewarmTakeingTask
=
findAnotherTask
(
OP
.
REWARM_TAKING
,
task
.
getBarcode
());
if
(
rewarmTakeingTask
==
null
)
{
log
.
error
(
"["
+
cid
+
"]回温放料任务["
+
task
.
getBarcode
()
+
"]["
+
task
.
getPosName
()
+
"]未找到回温取料任务"
);
}
else
{
statusBean
.
addRewarmTask
(
rewarmTakeingTask
,
task
);
log
.
info
(
task
.
getBarcode
()
+
"回温移库任务重发到客户端["
+
rewarmTakeingTask
.
getPosName
()
+
"]=>"
+
task
.
getPosName
()
+
",W:"
+
task
.
getW
()
+
",H:"
+
task
.
getH
());
rewarmTakeingTask
.
setUpdateDate
(
new
Date
());
taskService
.
updateQueueTask
(
rewarmTakeingTask
);
return
statusBean
;
}
}
}
}
if
(
executTaskCount
>=
2
)
{
return
null
;
}
//锡膏料仓空闲
queueTasks
=
taskService
.
getQueueTasks
();
for
(
DataLog
task
:
queueTasks
)
{
if
(
cid
.
equals
(
task
.
getCid
())
&&
task
.
isWait
())
{
if
(
task
.
isRewarmTakingTask
())
{
//回温取料任务
statusBean
.
setOp
(
OP
.
REWARM_TAKING
);
statusBean
.
addData
(
"posId"
,
task
.
getPosName
());
statusBean
.
addData
(
"plateW"
,
task
.
getW
()+
""
);
statusBean
.
addData
(
"plateH"
,
task
.
getH
()+
""
);
DataLog
rewarmPuttingTask
=
find
RewarmPuttingTask
(
task
);
//
statusBean.setOp(OP.REWARM_TAKING);
//
statusBean.addData("posId", task.getPosName());
//
statusBean.addData("plateW", task.getW()+"");
//
statusBean.addData("plateH", task.getH()+"");
DataLog
rewarmPuttingTask
=
find
AnotherTask
(
OP
.
REWARM_PUTTING
,
task
.
getBarcode
()
);
if
(
rewarmPuttingTask
==
null
)
{
log
.
error
(
"["
+
cid
+
"]回温取料任务["
+
task
.
getBarcode
()
+
"]["
+
task
.
getPosName
()
+
"]未找到回温放料任务"
);
}
else
{
statusBean
.
addData
(
"secondPosId"
,
rewarmPuttingTask
.
getPosName
());
statusBean
.
addRewarmTask
(
task
,
rewarmPuttingTask
);
// statusBean.addData("secondPosId", rewarmPuttingTask.getPosName());
log
.
info
(
task
.
getBarcode
()
+
"回温移库信息发送到客户端["
+
task
.
getPosName
()
+
"]=>"
+
rewarmPuttingTask
.
getPosName
()
+
",W:"
+
task
.
getW
()+
",H:"
+
task
.
getH
());
log
.
info
(
task
.
getBarcode
()
+
"回温移库信息发送到客户端["
+
task
.
getPosName
()
+
"]=>"
+
rewarmPuttingTask
.
getPosName
()
+
",W:"
+
task
.
getW
()
+
",H:"
+
task
.
getH
());
rewarmPuttingTask
.
setStatus
(
OP_STATUS
.
EXECUTING
.
name
());
taskService
.
updateQueueTask
(
rewarmPuttingTask
);
...
...
@@ -400,14 +452,14 @@ public class SpBoxHandler extends BaseDeviceHandler {
/**
* 根据回温取料任务查找回温放料任务
*
* @param
rewarmTakingTask
* @param
barcode
* @return
*/
private
DataLog
find
RewarmPuttingTask
(
DataLog
rewarmTakingTask
)
{
private
DataLog
find
AnotherTask
(
int
type
,
String
barcode
)
{
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
();
for
(
DataLog
dataLog
:
queueTasks
)
{
if
(
dataLog
.
isRewarmPuttingTask
()
)
{
if
(
dataLog
.
getBarcode
().
equals
(
rewarmTakingTask
.
getBarcode
()
))
{
if
(
dataLog
.
getType
()==
type
)
{
if
(
dataLog
.
getBarcode
().
equals
(
barcode
))
{
return
dataLog
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论