Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 72ffa6a3
由
zshaohui
编写于
2023-12-11 16:41:05 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.扫描上一个库位,自动跳到下一个库位
2.修改nl全部亮灯和亮灯索引功能
1 个父辈
4d419695
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
44 行增加
和
31 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
72ffa6a
...
...
@@ -962,7 +962,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
boolean
isFind
=
false
;
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
dataLog
.
getStatus
().
equals
(
OP_STATUS
.
EXECUTING
))
{
if
(
dataLog
.
getStatus
().
equals
(
OP_STATUS
.
EXECUTING
.
name
()
))
{
dataLogs
.
add
(
dataLog
);
isFind
=
true
;
break
;
...
...
@@ -979,7 +979,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
for
(
LiteOrderItem
item
:
order
.
getOrderItems
())
{
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
dataLog
.
getStatus
().
equals
(
OP_STATUS
.
WAIT
))
{
if
(
dataLog
.
getStatus
().
equals
(
OP_STATUS
.
WAIT
.
name
()
))
{
if
((
ObjectUtil
.
isNotEmpty
(
item
.
getPn
())
&&
item
.
getPn
().
equals
(
dataLog
.
getPartNumber
()))
||
(
ObjectUtil
.
isNotEmpty
(
item
.
getRi
())
&&
item
.
getRi
().
equals
(
dataLog
.
getBarcode
()))
)
{
...
...
@@ -993,9 +993,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
break
;
}
}
}
if
(
isFind
)
{
break
;
if
(
isFind
)
{
break
;
}
}
}
return
dataLogs
;
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
72ffa6a
...
...
@@ -87,34 +87,42 @@ public class NLShelfHandler extends BaseDeviceHandler {
//亮灯
Collection
<
DataLog
>
queueTasks
=
taskService
.
getQueueTasks
(
statusBean
.
getCid
());
for
(
DataLog
queueTask
:
queueTasks
)
{
if
(
queueTask
.
isWait
())
{
queueTask
.
setStatus
(
OP_STATUS
.
EXECUTING
.
name
());
taskService
.
updateQueueTask
(
queueTask
);
String
rgb
=
queueTask
.
getLightColor
();
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
)
{
if
(
queueTask
.
isPutInTask
())
{
color
=
ORDER_COLOR
.
DARKGREEN
;
}
else
if
(
openZhiYin
&&
ObjectUtil
.
isNotEmpty
(
queueTask
.
getSourceId
()))
{
List
<
DataLog
>
dataLogList
=
outMap
.
get
(
queueTask
.
getSourceId
());
if
(
dataLogList
==
null
)
{
dataLogList
=
new
ArrayList
<>();
if
(!
openZhiYin
||
StringUtils
.
isBlank
(
queueTask
.
getSourceId
()))
{
if
(
queueTask
.
isWait
())
{
String
rgb
=
queueTask
.
getLightColor
();
ORDER_COLOR
color
=
ORDER_COLOR
.
fromRgb
(
rgb
);
if
(
color
==
null
)
{
if
(
queueTask
.
isPutInTask
())
{
color
=
ORDER_COLOR
.
DARKGREEN
;
}
else
{
color
=
ORDER_COLOR
.
BLUE
;
}
dataLogList
.
add
(
queueTask
);
outMap
.
put
(
queueTask
.
getSourceId
(),
dataLogList
);
}
else
{
color
=
ORDER_COLOR
.
BLUE
;
}
queueTask
.
setStatus
(
OP_STATUS
.
EXECUTING
.
name
());
taskService
.
updateQueueTask
(
queueTask
);
statusBean
.
addData
(
"open"
,
queueTask
.
getPosName
()
+
"="
+
color
.
name
());
log
.
info
(
"库位["
+
queueTask
.
getPosName
()
+
"]["
+
queueTask
.
getType
()
+
"]+亮灯:"
+
color
.
name
());
}
}
else
{
if
(
queueTask
.
isWait
()
||
queueTask
.
isExecuting
())
{
List
<
DataLog
>
dataLogList
=
outMap
.
get
(
queueTask
.
getSourceId
());
if
(
dataLogList
==
null
)
{
dataLogList
=
new
ArrayList
<>();
}
dataLogList
.
add
(
queueTask
);
outMap
.
put
(
queueTask
.
getSourceId
(),
dataLogList
);
}
statusBean
.
addData
(
"open"
,
queueTask
.
getPosName
()+
"="
+
color
.
name
());
log
.
info
(
"库位["
+
queueTask
.
getPosName
()
+
"]["
+
queueTask
.
getType
()+
"]+亮灯:"
+
color
.
name
());
}
}
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
);
for
(
DataLog
task
:
dataLogs
)
{
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
());
String
colorName
=
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
();
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
colorName
);
log
.
info
(
"库位["
+
task
.
getPosName
()
+
"]["
+
task
.
getType
()
+
"]+亮灯:"
+
colorName
);
}
return
statusBean
;
}
...
...
@@ -419,6 +427,12 @@ public class NLShelfHandler extends BaseDeviceHandler {
//未扫描库位
log
.
info
(
ptoken
+
":条码["
+
code
+
"],请先扫描库位码"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
}
else
{
long
updateTime
=
operateBean
.
getUpdateTime
();
if
(
System
.
currentTimeMillis
()
-
updateTime
>
1000
*
60
*
5
){
log
.
info
(
"上一次操作超过10分钟,重新扫描库位码"
);
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.msg.scanPos"
,
"请先扫描库位码"
);
}
}
Long
nextPosId
=
Long
.
valueOf
(
lastPosId
)
+
1
;
StoragePos
nextPos
=
storagePosManager
.
get
(
String
.
valueOf
(
nextPosId
));
...
...
@@ -427,12 +441,11 @@ public class NLShelfHandler extends BaseDeviceHandler {
if
(
excludePosIds
.
contains
(
nextPos
.
getId
())){
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.shelf.nextPos.hasTask"
,
"库位[{0}]已有任务,请重新扫描库位码"
,
new
String
[]{
nextPos
.
getPosName
()});
}
/*Storage storage = dataCache.getStorageById(nextPos.getStorageId());
if(!storage.canPutInPos(barcode.getPlateSize(),barcode.getHeight(), nextPos.getW(), nextPos.getH())){
String reelSize = barcode.getPlateSize() + "x" + barcode.getHeight();
String posSize = nextPos.getW() + "x" + nextPos.getH();
return getText("shelf.nextPos.hasReel",new String[]{nextPos.getPosName(),posSize, reelSize},request.getLocale(), "下一库位["+nextPos.getPosName()+"]尺寸["+posSize+"]与料盘尺寸["+reelSize+"]不符,请重新扫描库位码");
}*/
//先关闭上一个库位
StoragePos
posToClose
=
operateBean
.
getPosToClose
();
if
(
posToClose
!=
null
){
opPosLight
(
"close"
,
posToClose
,
""
);
}
opPos
=
nextPos
;
openAndCloseLights
(
token
,
opPos
,
putInColor
,
delayCloseTime
);
operateBean
.
setOpPos
(
opPos
);
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
72ffa6a
...
...
@@ -699,7 +699,7 @@ public class LiteOrderCache {
}
public
LiteOrder
getOrderSortItems
(
String
sourceId
)
{
LiteOrder
order
=
liteOrderManager
.
findByOrderNo
(
sourceId
);
LiteOrder
order
=
liteOrderManager
.
get
(
sourceId
);
if
(
order
!=
null
&&
order
.
getOrderItems
().
size
()
>
0
)
{
List
<
LiteOrderItem
>
list
=
order
.
getOrderItems
();
//根据站位号排序
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论