Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 0d8d5905
由
zshaohui
编写于
2024-08-15 17:30:56 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
定时抛送设备状态
1 个父辈
7620eb50
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
65 行增加
和
1 行删除
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/kafka/service/KafkaService.java
src/main/java/com/neotel/smfcore/custom/luxsan/factory_c/rawstor/kafka/service/KafkaService.java
查看文件 @
0d8d590
...
@@ -7,6 +7,7 @@ import com.neotel.smfcore.core.device.enums.OP;
...
@@ -7,6 +7,7 @@ import com.neotel.smfcore.core.device.enums.OP;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.EquipmentCache
;
import
com.neotel.smfcore.core.device.util.EquipmentCache
;
import
com.neotel.smfcore.core.equipment.bean.EquipMsg
;
import
com.neotel.smfcore.core.equipment.bean.EquipStatusBean
;
import
com.neotel.smfcore.core.equipment.bean.EquipStatusBean
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
...
@@ -15,6 +16,7 @@ import com.neotel.smfcore.core.system.util.EquipStatusUtil;
...
@@ -15,6 +16,7 @@ import com.neotel.smfcore.core.system.util.EquipStatusUtil;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.Heartbeat
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.Heartbeat
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.MachineParameter
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.MachineParameter
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.MachineParameterData
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.MachineParameterData
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.bean.MachineStatus
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.config.KafkaConfig
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.config.KafkaConfig
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.config.StorageNameConfig
;
import
com.neotel.smfcore.custom.luxsan.factory_c.rawstor.kafka.config.StorageNameConfig
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
...
@@ -49,9 +51,71 @@ public class KafkaService {
...
@@ -49,9 +51,71 @@ public class KafkaService {
/**
/**
* 抛送入料机构,分拣机构的设备状态信息,每1分钟抛送一次
*/
//@Scheduled(fixedRate = 1000 * 60 * 1)
public
void
setRawMaterialInOutMachineStatus
()
{
//获取所有的设备
List
<
String
>
rawMaterialList
=
StorageNameConfig
.
getRawMaterialList
();
for
(
String
machineId
:
rawMaterialList
)
{
String
currentStatus
=
"1"
;
//正常
List
<
EquipMsg
>
equipMsgList
=
new
ArrayList
<>();
EquipStatusBean
statusBean
=
EquipStatusUtil
.
getStatusBean
(
machineId
);
if
(
statusBean
==
null
){
currentStatus
=
"5"
;
}
else
{
int
status
=
statusBean
.
getStatus
();
//状态
if
(
2
==
status
||
3
==
status
)
{
currentStatus
=
"3"
;
//故障
}
if
(
0
==
status
)
{
currentStatus
=
"5"
;
}
equipMsgList
=
statusBean
.
getMsgList
();
}
if
(
equipMsgList
!=
null
&&
!
equipMsgList
.
isEmpty
()){
for
(
EquipMsg
equipMsg
:
equipMsgList
)
{
MachineStatus
machineStatus
=
new
MachineStatus
();
String
dateStr
=
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss.SSS"
);
machineStatus
.
setOccurrenceTime
(
dateStr
);
machineStatus
.
setMachineID
(
machineId
);
machineStatus
.
setTopicType
(
KafkaConfig
.
MACHINESTATUS_TOPIC
);
machineStatus
.
setCurrentStatus
(
currentStatus
);
machineStatus
.
setErrorCode
(
equipMsg
.
getErrorCode
());
machineStatus
.
setErrorMsg
(
equipMsg
.
getMsg
());
machineStatus
.
setClientIP
(
""
);
String
statusStr
=
JSON
.
toJSONString
(
machineStatus
);
log
.
info
(
machineId
+
"抛送设备状态主题为:"
+
KafkaConfig
.
MACHINESTATUS_TOPIC
+
"内容为:"
+
statusStr
);
ListenableFuture
future
=
kafkaTemplate
.
send
(
KafkaConfig
.
MACHINESTATUS_TOPIC
,
statusStr
);
log
.
info
(
machineId
+
"抛送设备状态返回结果为:"
+
JSON
.
toJSONString
(
future
));
}
}
else
{
MachineStatus
machineStatus
=
new
MachineStatus
();
String
dateStr
=
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss.SSS"
);
machineStatus
.
setOccurrenceTime
(
dateStr
);
machineStatus
.
setMachineID
(
machineId
);
machineStatus
.
setTopicType
(
KafkaConfig
.
MACHINESTATUS_TOPIC
);
machineStatus
.
setCurrentStatus
(
currentStatus
);
machineStatus
.
setErrorCode
(
""
);
machineStatus
.
setErrorMsg
(
""
);
machineStatus
.
setClientIP
(
""
);
String
statusStr
=
JSON
.
toJSONString
(
machineStatus
);
log
.
info
(
machineId
+
"抛送设备状态主题为:"
+
KafkaConfig
.
MACHINESTATUS_TOPIC
+
"内容为:"
+
statusStr
);
ListenableFuture
future
=
kafkaTemplate
.
send
(
KafkaConfig
.
MACHINESTATUS_TOPIC
,
statusStr
);
log
.
info
(
machineId
+
"抛送设备状态返回结果为:"
+
JSON
.
toJSONString
(
future
));
}
}
}
/**
* 抛送入料机构,分拣机构的心跳,每10s抛送一次
* 抛送入料机构,分拣机构的心跳,每10s抛送一次
*/
*/
@Scheduled
(
fixedRate
=
1000
*
10
)
//
@Scheduled(fixedRate = 1000 * 10)
public
void
setRawMaterialInOutHeartbeat
()
{
public
void
setRawMaterialInOutHeartbeat
()
{
//获取所有的设备
//获取所有的设备
List
<
String
>
rawMaterialList
=
StorageNameConfig
.
getRawMaterialList
();
List
<
String
>
rawMaterialList
=
StorageNameConfig
.
getRawMaterialList
();
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论