Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3694c3d7
由
LN
编写于
2024-02-18 16:50:35 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
麦康尼料仓入库验证。
1 个父辈
a3218d7b
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
52 行增加
和
30 行删除
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
3694c3d
...
@@ -9,6 +9,7 @@ import com.neotel.smfcore.core.storage.enums.DeviceType;
...
@@ -9,6 +9,7 @@ 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.AlarmInfo
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.ToString
;
import
lombok.ToString
;
import
lombok.extern.slf4j.Slf4j
;
import
java.util.*
;
import
java.util.*
;
...
@@ -22,6 +23,7 @@ import java.util.*;
...
@@ -22,6 +23,7 @@ import java.util.*;
*/
*/
@ToString
@ToString
@Data
@Data
@Slf4j
public
class
StatusBean
{
public
class
StatusBean
{
/// <summary>
/// <summary>
...
@@ -522,36 +524,43 @@ public class StatusBean {
...
@@ -522,36 +524,43 @@ public class StatusBean {
public
void
MsgDataProcess
()
{
public
void
MsgDataProcess
()
{
//消息格式处理
if
(
getMsgList
()==
null
&&
ObjectUtil
.
isNotEmpty
(
msg
)){
msgList
=
new
ArrayList
<>();
//判断是否有换行
String
[]
msgArray
=
this
.
msg
.
split
(
"\r\n"
);
if
(
msgArray
.
length
>
0
)
{
for
(
String
msg
:
msgArray
)
{
if
(
ObjectUtil
.
isEmpty
(
msg
))
{
continue
;
}
String
msgType
=
MessageType
.
ERROR
.
name
();
if
(
msg
.
startsWith
(
"A="
))
{
msgType
=
MessageType
.
ERROR
.
name
();
msg
=
msg
.
substring
(
2
);
}
else
if
(
msg
.
startsWith
(
"I="
))
{
msgType
=
MessageType
.
INFO
.
name
();
msg
=
msg
.
substring
(
2
);
}
else
if
(
msg
.
startsWith
(
"W="
))
{
msgType
=
MessageType
.
WARNING
.
name
();
msg
=
msg
.
substring
(
2
);
}
if
(
msgArray
.
length
==
1
)
{
try
{
msgList
.
add
(
new
MsgInfo
(
msg
,
msgType
,
msgEn
,
msgJp
,
msgCode
,
msgParam
,
""
,
""
));
//消息格式处理
}
else
{
if
(
getMsgList
()
==
null
&&
ObjectUtil
.
isNotEmpty
(
msg
))
{
msgList
.
add
(
new
MsgInfo
(
msg
,
msgType
));
msgList
=
new
ArrayList
<>();
//判断是否有换行
String
[]
msgArray
=
this
.
msg
.
split
(
"\r\n"
);
if
(
msgArray
.
length
>
0
)
{
for
(
String
msg
:
msgArray
)
{
if
(
ObjectUtil
.
isEmpty
(
msg
))
{
continue
;
}
String
msgType
=
MessageType
.
ERROR
.
name
();
if
(
msg
.
startsWith
(
"A="
))
{
msgType
=
MessageType
.
ERROR
.
name
();
msg
=
msg
.
substring
(
2
);
}
else
if
(
msg
.
startsWith
(
"I="
))
{
msgType
=
MessageType
.
INFO
.
name
();
msg
=
msg
.
substring
(
2
);
}
else
if
(
msg
.
startsWith
(
"W="
))
{
msgType
=
MessageType
.
WARNING
.
name
();
msg
=
msg
.
substring
(
2
);
}
if
(
msgArray
.
length
==
1
)
{
msgList
.
add
(
new
MsgInfo
(
msg
,
msgType
,
msgEn
,
msgJp
,
msgCode
,
msgParam
,
""
,
""
));
}
else
{
msgList
.
add
(
new
MsgInfo
(
msg
,
msgType
));
}
}
}
}
}
}
else
if
(
getMsgList
()
==
null
)
{
msgList
=
new
ArrayList
<>();
}
}
}
catch
(
Exception
e
)
{
log
.
error
(
""
+
getCid
()
+
"MsgDataProcess 出錯:"
+
e
.
toString
(),
e
);
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
3694c3d
...
@@ -908,7 +908,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -908,7 +908,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
// DevicesStatusUtil.updateClientMsg(statusBean.getCid(), msgCode, msg, msgEn, msgJp,statusBean.getMsgParam());
// DevicesStatusUtil.updateClientMsg(statusBean.getCid(), msgCode, msg, msgEn, msgJp,statusBean.getMsgParam());
// }
// }
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"客户端
故障消息处理出错"
,
e
);
log
.
error
(
"客户端
"
+
statusBean
.
getCid
()+
"故障消息处理出错:"
+
e
.
toString
()
,
e
);
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
查看文件 @
3694c3d
...
@@ -578,7 +578,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -578,7 +578,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
}
else
if
(
inStorageType
==
2
){
}
else
if
(
inStorageType
==
2
){
if
(
storage
.
isTHIRDBox
())
{
if
(
storage
.
isTHIRDBox
())
{
//麦康尼料仓需要判断 当前剩余空库位是否可以放下料盘
//麦康尼料仓需要判断 当前剩余空库位是否可以放下料盘
if
(
dataCache
.
thirdBoxCanPutIn
(
storage
,
barcode
.
getPlateSize
(),
barcode
.
getHeight
()))
{
if
(
dataCache
.
thirdBoxCanPutIn
(
storage
,
barcode
.
getPlateSize
(),
barcode
.
getHeight
()
,
taskService
.
getQueueTasks
(
storage
.
getCid
())
))
{
storages
.
add
(
storage
);
storages
.
add
(
storage
);
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
3694c3d
...
@@ -30,6 +30,7 @@ import com.neotel.smfcore.core.barcode.bean.PlateSizeBean;
...
@@ -30,6 +30,7 @@ import com.neotel.smfcore.core.barcode.bean.PlateSizeBean;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStorageManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.system.service.po.CacheItem
;
import
com.neotel.smfcore.core.system.service.po.CacheItem
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.service.po.Settings
;
import
com.neotel.smfcore.core.system.service.po.Settings
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
...
@@ -828,7 +829,7 @@ public class DataCache {
...
@@ -828,7 +829,7 @@ public class DataCache {
return
availableStorageIds
;
return
availableStorageIds
;
}
}
public
boolean
thirdBoxCanPutIn
(
Storage
storage
,
int
plateW
,
int
plateH
)
{
public
boolean
thirdBoxCanPutIn
(
Storage
storage
,
int
plateW
,
int
plateH
,
Collection
<
DataLog
>
dataLogs
)
{
try
{
try
{
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
storage
.
getCid
());
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
storage
.
getCid
());
if
(
bean
==
null
||
bean
.
timeOut
()
||
!
bean
.
isAvailable
())
{
if
(
bean
==
null
||
bean
.
timeOut
()
||
!
bean
.
isAvailable
())
{
...
@@ -843,11 +844,23 @@ public class DataCache {
...
@@ -843,11 +844,23 @@ public class DataCache {
break
;
break
;
}
}
}
}
Map
<
String
,
Integer
>
taskMap
=
new
HashMap
<>();
for
(
DataLog
dataLog:
dataLogs
)
{
if
(
dataLog
.
isPutInTask
()){
String
key
=
dataLog
.
getW
()+
"x"
+
dataLog
.
getH
();
int
currvalue
=
taskMap
.
getOrDefault
(
key
,
0
);
taskMap
.
put
(
key
.
toLowerCase
(),
currvalue
+
1
);
}
}
if
(
posCapMap
!=
null
&&
posCapMap
.
size
()
>
0
)
{
if
(
posCapMap
!=
null
&&
posCapMap
.
size
()
>
0
)
{
for
(
String
key
:
posCapMap
.
keySet
()
for
(
String
key
:
posCapMap
.
keySet
()
)
{
)
{
int
count
=
posCapMap
.
get
(
key
);
int
count
=
posCapMap
.
get
(
key
);
if
(
count
>
0
)
{
int
currCount
=
taskMap
.
getOrDefault
(
key
,
0
);
if
(
count
-
currCount
>
0
)
{
String
[]
array
=
key
.
split
(
"x"
);
String
[]
array
=
key
.
split
(
"x"
);
if
(
array
.
length
==
2
)
{
if
(
array
.
length
==
2
)
{
int
w
=
Convert
.
toInt
(
array
[
0
]);
int
w
=
Convert
.
toInt
(
array
[
0
]);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论