Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 33965feb
由
zshaohui
编写于
2024-01-17 16:33:03 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.亮灯指引修改,一个工单中只能有一个亮灯库位
1 个父辈
f68d9923
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
72 行增加
和
9 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/AccShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.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/AccShelfHandler.java
查看文件 @
33965fe
...
@@ -55,7 +55,7 @@ public class AccShelfHandler extends BaseDeviceHandler{
...
@@ -55,7 +55,7 @@ public class AccShelfHandler extends BaseDeviceHandler{
log
.
info
(
"库位["
+
queueTask
.
getPosName
()
+
"]+亮灯:"
+
color
.
name
());
log
.
info
(
"库位["
+
queueTask
.
getPosName
()
+
"]+亮灯:"
+
color
.
name
());
}
}
}
}
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
);
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
,
statusBean
.
getCid
()
);
for
(
DataLog
task
:
for
(
DataLog
task
:
dataLogs
)
{
dataLogs
)
{
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
());
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
());
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
33965fe
...
@@ -953,14 +953,76 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -953,14 +953,76 @@ public class BaseDeviceHandler implements IDeviceHandler {
return
statusBean
;
return
statusBean
;
}
}
protected
List
<
DataLog
>
getLightGuideTask
(
Map
<
String
,
List
<
DataLog
>>
outMap
)
{
protected
List
<
DataLog
>
getLightGuideTask
(
Map
<
String
,
List
<
DataLog
>>
outMap
,
String
cid
)
{
List
<
DataLog
>
dataLogs
=
Lists
.
newArrayList
();
List
<
DataLog
>
dataLogs
=
Lists
.
newArrayList
();
if
(
outMap
.
size
()
<=
0
)
{
if
(
outMap
.
size
()
<=
0
)
{
return
dataLogs
;
return
dataLogs
;
}
}
//先查找正在执行中的发过去
//先查找正在执行中的发过去
for
(
String
sourceId
:
outMap
.
keySet
())
{
for
(
String
sourceId
:
outMap
.
keySet
())
{
List
<
DataLog
>
dataLogList
=
outMap
.
get
(
sourceId
);
//1.获取当前工单,所有的任务
List
<
DataLog
>
dataLogList
=
new
ArrayList
<>();
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
dataLog
.
isWait
()
||
dataLog
.
isExecuting
()){
if
(
sourceId
.
equals
(
dataLog
.
getSourceId
())){
dataLogList
.
add
(
dataLog
);
}
}
}
//2.判断有没有正在执行的任务
boolean
hasExecuting
=
false
;
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
dataLog
.
isExecuting
()){
hasExecuting
=
true
;
if
(
cid
.
equals
(
dataLog
.
getCid
())){
dataLogs
.
add
(
dataLog
);
}
}
}
//3.判断工单是否存在
if
(!
hasExecuting
)
{
LiteOrder
order
=
liteOrderCache
.
getOrderSortItems
(
sourceId
);
if
(
order
==
null
)
{
log
.
error
(
"ACCSHELF: sourceId="
+
sourceId
+
"的工单号未找到"
);
continue
;
}
//3.获取到站位信息对应的任务
DataLog
needSendLog
=
null
;
for
(
LiteOrderItem
orderItem
:
order
.
getOrderItems
())
{
for
(
DataLog
dataLog
:
dataLogList
)
{
if
(
orderItem
.
getId
().
equals
(
dataLog
.
getSubSourceId
()))
{
needSendLog
=
dataLog
;
break
;
}
}
if
(
needSendLog
!=
null
)
{
break
;
}
}
//4.处理任务
if
(
needSendLog
!=
null
)
{
if
(
cid
.
equals
(
needSendLog
.
getCid
()))
{
if
(
needSendLog
.
isWait
())
{
needSendLog
.
setStatus
(
OP_STATUS
.
EXECUTING
.
name
());
taskService
.
updateQueueTask
(
needSendLog
);
dataLogs
.
add
(
needSendLog
);
log
.
info
(
"ACCSHELF: sourceId="
+
sourceId
+
"的工单["
+
order
.
getOrderNo
()
+
"]开始执行任务:["
+
needSendLog
.
getPosName
()
+
"]["
+
needSendLog
.
getPartNumber
()
+
"]["
+
needSendLog
.
getBarcode
()
+
"]"
);
}
}
}
}
/*List<DataLog> dataLogList = outMap.get(sourceId);
boolean isFind = false;
boolean isFind = false;
for (DataLog dataLog : dataLogList) {
for (DataLog dataLog : dataLogList) {
...
@@ -998,7 +1060,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -998,7 +1060,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
if (isFind) {
if (isFind) {
break;
break;
}
}
}
}
*/
}
}
return
dataLogs
;
return
dataLogs
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLMShelfHandler.java
查看文件 @
33965fe
...
@@ -103,7 +103,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
...
@@ -103,7 +103,7 @@ public class NLMShelfHandler extends BaseDeviceHandler {
}
}
}
}
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
);
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
,
statusBean
.
getCid
()
);
for
(
DataLog
task
:
for
(
DataLog
task
:
dataLogs
)
{
dataLogs
)
{
// statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
// statusBean.addData("open", task.getPosName() + "=" + ORDER_COLOR.fromRgb(task.getLightColor()).name());
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLPShelfHandler.java
查看文件 @
33965fe
...
@@ -244,7 +244,7 @@ public class NLPShelfHandler extends BaseDeviceHandler {
...
@@ -244,7 +244,7 @@ public class NLPShelfHandler extends BaseDeviceHandler {
}
}
}
}
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
);
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
,
statusBean
.
getCid
()
);
for
(
DataLog
task
:
dataLogs
)
{
for
(
DataLog
task
:
dataLogs
)
{
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
());
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
());
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
33965fe
...
@@ -117,7 +117,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -117,7 +117,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
}
}
}
}
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
);
List
<
DataLog
>
dataLogs
=
getLightGuideTask
(
outMap
,
statusBean
.
getCid
()
);
for
(
DataLog
task
:
dataLogs
)
{
for
(
DataLog
task
:
dataLogs
)
{
String
colorName
=
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
();
String
colorName
=
ORDER_COLOR
.
fromRgb
(
task
.
getLightColor
()).
name
();
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
colorName
);
statusBean
.
addData
(
"open"
,
task
.
getPosName
()
+
"="
+
colorName
);
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
33965fe
...
@@ -34,6 +34,7 @@ import org.springframework.stereotype.Service;
...
@@ -34,6 +34,7 @@ import org.springframework.stereotype.Service;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.stream.Collectors
;
/**
/**
* Created by sunke on 2021/7/12.
* Created by sunke on 2021/7/12.
...
@@ -712,8 +713,8 @@ public class LiteOrderCache {
...
@@ -712,8 +713,8 @@ public class LiteOrderCache {
LiteOrder
order
=
liteOrderManager
.
get
(
sourceId
);
LiteOrder
order
=
liteOrderManager
.
get
(
sourceId
);
if
(
order
!=
null
&&
order
.
getOrderItems
().
size
()
>
0
)
{
if
(
order
!=
null
&&
order
.
getOrderItems
().
size
()
>
0
)
{
List
<
LiteOrderItem
>
list
=
order
.
getOrderItems
();
List
<
LiteOrderItem
>
list
=
order
.
getOrderItems
();
//根据站位号排序
//根据站位号
和id
排序
Collections
.
sort
(
list
);
list
=
list
.
stream
().
sorted
(
Comparator
.
comparing
(
LiteOrderItem:
:
getSlotNum
).
thenComparing
(
LiteOrderItem:
:
getId
)).
collect
(
Collectors
.
toList
()
);
order
.
setOrderItems
(
list
);
order
.
setOrderItems
(
list
);
return
order
;
return
order
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论