Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 174d18dc
由
zshaohui
编写于
2025-02-22 10:27:08 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.agv获取目的地错误修改
2.增加异常任务 显示红色
1 个父辈
6b350dbf
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
51 行增加
和
8 行删除
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/XLRBoxHandler.java
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/dto/BoxTaskDto.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/StackerController.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/StorageExportController.java
src/main/java/com/neotel/smfcore/custom/Jkem21481/util/StackerUtil.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
查看文件 @
174d18d
...
@@ -81,5 +81,9 @@ public enum OP_STATUS {
...
@@ -81,5 +81,9 @@ public enum OP_STATUS {
* 线体扫码位置
* 线体扫码位置
*/
*/
ON_LINE
,
ON_LINE
,
;
/**
* 异常
*/
ABNORMAL
;
}
}
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
174d18d
...
@@ -869,6 +869,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -869,6 +869,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
}
if
(
ObjectUtil
.
isNotEmpty
(
mergeMsgList
)&&
mergeMsgList
.
size
()>
0
)
{
if
(
ObjectUtil
.
isNotEmpty
(
mergeMsgList
)&&
mergeMsgList
.
size
()>
0
)
{
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
mergeMsgList
);
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
mergeMsgList
);
}
else
{
//如果消息为空,直接置为空
DevicesStatusUtil
.
updateClientMsg
(
statusBean
.
getCid
(),
new
ArrayList
<>());
}
}
//状态变化
//状态变化
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/XLRBoxHandler.java
查看文件 @
174d18d
...
@@ -6,6 +6,7 @@ import com.google.common.base.Strings;
...
@@ -6,6 +6,7 @@ import com.google.common.base.Strings;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Maps
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.common.utils.StringUtils
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
...
@@ -13,6 +14,7 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
...
@@ -13,6 +14,7 @@ import com.neotel.smfcore.core.device.bean.StatusBean;
import
com.neotel.smfcore.core.device.enums.BOX_STATUS
;
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
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
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.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
...
@@ -335,6 +337,10 @@ public class XLRBoxHandler extends BaseDeviceHandler {
...
@@ -335,6 +337,10 @@ public class XLRBoxHandler extends BaseDeviceHandler {
log
.
info
(
"UM口对应的feeder为:"
+
feeder
+
",当前任务的feeder为:"
+
feederInfo
);
log
.
info
(
"UM口对应的feeder为:"
+
feeder
+
",当前任务的feeder为:"
+
feederInfo
);
if
(
feederInfo
.
startsWith
(
feeder
))
{
if
(
feederInfo
.
startsWith
(
feeder
))
{
needOutTaskList
.
add
(
dataLog
);
needOutTaskList
.
add
(
dataLog
);
}
else
{
//smfcore.barcode.noMatchFeeder=出料口feeder[{0}]与当前物料feeder[{1}]不匹配
dataLog
.
setRemark
(
MessageUtils
.
getText
(
"smfcore.barcode.noMatchFeeder"
,
new
String
[]{
feeder
,
feederInfo
},
new
Locale
(
SecurityUtils
.
getCurrentUserLanguage
()),
"出料口feeder[{0}]与当前物料feeder[{1}]不匹配"
));
taskService
.
updateQueueTask
(
dataLog
);
}
}
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/kanban/rest/bean/dto/BoxTaskDto.java
查看文件 @
174d18d
...
@@ -100,4 +100,7 @@ public class BoxTaskDto {
...
@@ -100,4 +100,7 @@ public class BoxTaskDto {
@ApiModelProperty
(
"出料口"
)
@ApiModelProperty
(
"出料口"
)
private
String
export
=
""
;
private
String
export
=
""
;
@ApiModelProperty
(
"备注"
)
private
String
remark
=
""
;
}
}
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
174d18d
...
@@ -266,6 +266,8 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
...
@@ -266,6 +266,8 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
private
String
mpn
=
""
;
private
String
mpn
=
""
;
private
String
remark
=
""
;
public
String
getBarcode
()
{
public
String
getBarcode
()
{
if
(
barcode
==
null
){
if
(
barcode
==
null
){
return
""
;
return
""
;
...
@@ -467,7 +469,7 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
...
@@ -467,7 +469,7 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
* 判断任务是否异常,执行中,且10分钟未更新的认为异常
* 判断任务是否异常,执行中,且10分钟未更新的认为异常
*/
*/
public
boolean
isAbnormal
(){
public
boolean
isAbnormal
(){
if
(
isExecuting
()
||
isInLine
()||
isInRobot
()||
isBoxdoor
()||
isOutBox
()
){
if
(
!
isWait
()
&&
!
isFinished
()
&&
!
isCancel
()
){
if
(
System
.
currentTimeMillis
()
-
super
.
getUpdateDate
().
getTime
()
>
10
*
60
*
1000
){
if
(
System
.
currentTimeMillis
()
-
super
.
getUpdateDate
().
getTime
()
>
10
*
60
*
1000
){
return
true
;
return
true
;
}
}
...
...
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/StackerController.java
查看文件 @
174d18d
...
@@ -58,7 +58,10 @@ public class StackerController {
...
@@ -58,7 +58,10 @@ public class StackerController {
int
msd
=
0
;
int
msd
=
0
;
MJPartNumber
mjPartNumber
=
partNumberManager
.
findByJkemPartNumber
(
partNumber
);
MJPartNumber
mjPartNumber
=
partNumberManager
.
findByJkemPartNumber
(
partNumber
);
if
(
mjPartNumber
!=
null
){
if
(
mjPartNumber
!=
null
){
log
.
info
(
"料串"
+
stacker
+
",partNumber:"
+
partNumber
+
"找到的msd信息为:"
+
JSON
.
toJSONString
(
mjPartNumber
));
msd
=
mjPartNumber
.
getMsd
()
<
0
?
0
:
mjPartNumber
.
getMsd
();
msd
=
mjPartNumber
.
getMsd
()
<
0
?
0
:
mjPartNumber
.
getMsd
();
}
else
{
log
.
info
(
"料串"
+
stacker
+
",partNumber:"
+
partNumber
+
"未找到对应的msd信息"
);
}
}
StackerUtil
.
updateStacker
(
stacker
,
h
,
w
,
msd
);
StackerUtil
.
updateStacker
(
stacker
,
h
,
w
,
msd
);
return
ResultBean
.
newOkResult
(
""
);
return
ResultBean
.
newOkResult
(
""
);
...
...
src/main/java/com/neotel/smfcore/custom/Jkem21481/controller/StorageExportController.java
查看文件 @
174d18d
...
@@ -165,6 +165,23 @@ public class StorageExportController {
...
@@ -165,6 +165,23 @@ public class StorageExportController {
}
}
}
}
}
}
//判断是否展示红色
for
(
StorageExportOutDetail
detail
:
resultList
)
{
String
barcode
=
detail
.
getBarcode
();
DataLog
task
=
null
;
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
for
(
DataLog
dataLog
:
allTasks
)
{
if
(
dataLog
.
isCheckOutTask
()
&&
dataLog
.
getBarcode
().
equals
(
barcode
)){
task
=
dataLog
;
break
;
}
}
if
(
task
!=
null
)
{
if
(
task
.
isAbnormal
()){
detail
.
setStatus
(
OP_STATUS
.
ABNORMAL
.
name
());
}
}
}
storageExport
.
setDetailList
(
resultList
);
storageExport
.
setDetailList
(
resultList
);
outDetailList
.
add
(
storageExport
);
outDetailList
.
add
(
storageExport
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/Jkem21481/util/StackerUtil.java
查看文件 @
174d18d
...
@@ -38,14 +38,14 @@ public class StackerUtil {
...
@@ -38,14 +38,14 @@ public class StackerUtil {
}
else
{
}
else
{
StackerCache
cache
=
null
;
StackerCache
cache
=
null
;
for
(
StackerCache
stackerCache
:
cacheList
)
{
for
(
StackerCache
stackerCache
:
cacheList
)
{
if
(
stackerCache
.
getH
()
==
h
&&
stackerCache
.
getW
()
==
w
&&
stackerCache
.
getMsd
()
==
stackerCache
.
getMsd
()
)
{
if
(
stackerCache
.
getH
()
==
h
&&
stackerCache
.
getW
()
==
w
&&
stackerCache
.
getMsd
()
==
msd
)
{
stackerCache
.
setCount
(
stackerCache
.
getCount
()+
1
);
stackerCache
.
setCount
(
stackerCache
.
getCount
()+
1
);
cache
=
stackerCache
;
cache
=
stackerCache
;
break
;
break
;
}
}
}
}
if
(
cache
==
null
)
{
if
(
cache
==
null
)
{
cache
=
new
StackerCache
(
stacker
,
h
,
w
,
msd
,
0
);
cache
=
new
StackerCache
(
stacker
,
h
,
w
,
msd
,
1
);
cacheList
.
add
(
cache
);
cacheList
.
add
(
cache
);
}
}
}
}
...
...
src/main/resources/messages.properties
查看文件 @
174d18d
...
@@ -406,3 +406,4 @@ smfcore.order.quantityBeforeIssuance=\u51FA\u5E93\u524D\u6570\u91CF
...
@@ -406,3 +406,4 @@ smfcore.order.quantityBeforeIssuance=\u51FA\u5E93\u524D\u6570\u91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5E93
\u6570\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5E93
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5E93
\u
540E
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5E93
\u
540E
\u6570\u
91CF
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6570\u
91CF
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6570\u
91CF
smfcore.barcode.noMatchFeeder
=
\u
51FA
\u6599\u
53E3feeder[{0}]
\u
4E0E
\u
5F53
\u
524D
\u7269\u6599
feeder[{1}]
\u
4E0D
\u5339\u
914D
src/main/resources/messages_en_US.properties
查看文件 @
174d18d
...
@@ -395,4 +395,5 @@ smfcore.order.noInventory=Is Inventory Unavailable
...
@@ -395,4 +395,5 @@ smfcore.order.noInventory=Is Inventory Unavailable
smfcore.order.quantityBeforeIssuance
=
Pre-issuance quantity
smfcore.order.quantityBeforeIssuance
=
Pre-issuance quantity
smfcore.order.quantityIssued
=
Issued quantity
smfcore.order.quantityIssued
=
Issued quantity
smfcore.order.quantityAfterIssuance
=
Remaining quantity after issuance
smfcore.order.quantityAfterIssuance
=
Remaining quantity after issuance
smfcore.order.lackOfQuantity
=
Insufficient Quantity
\ No newline at end of file
\ No newline at end of file
smfcore.order.lackOfQuantity
=
Insufficient Quantity
smfcore.barcode.noMatchFeeder
=
The feeder [{0}] at the outlet does not match the current material feeder [{1}]
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
174d18d
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u5728\u5EAB\u306A\u3057\u304B
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u5728\u5EAB\u306A\u3057\u304B
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5EAB
\u
524D
\u
306E
\u6570\u
91CF
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5EAB
\u
524D
\u
306E
\u6570\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5EAB
\u6570\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5EAB
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
51FA
\u
5EAB
\u
5F8C
\u
306E
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
51FA
\u
5EAB
\u
5F8C
\u
306E
\u6570\u
91CF
smfcore.order.lackOfQuantity
=
\u6570\u
91CF
\u
4E0D
\u
8DB3
\ No newline at end of file
\ No newline at end of file
smfcore.order.lackOfQuantity
=
\u6570\u
91CF
\u
4E0D
\u
8DB3
smfcore.barcode.noMatchFeeder
=
\u
51FA
\u
529B
\u
53E3
\u
306E
\u
30D5
\u
30A3
\u
30FC
\u
30C0
\u
30FC[{0}]
\u
304C
\u
73FE
\u5728\u
306E
\u6750\u6599\u
30D5
\u
30A3
\u
30FC
\u
30C0
\u
30FC[{1}]
\u3068\u
4E00
\u
81F4
\u3057\u
307E
\u
305B
\u3093
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
174d18d
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u662F\u5426\u65E0\u5E93\u5B58
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u662F\u5426\u65E0\u5E93\u5B58
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5E93
\u
524D
\u6570\u
91CF
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5E93
\u
524D
\u6570\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5E93
\u6570\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5E93
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5E93
\u
540E
\u6570\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5E93
\u
540E
\u6570\u
91CF
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6570\u
91CF
\ No newline at end of file
\ No newline at end of file
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6570\u
91CF
smfcore.barcode.noMatchFeeder
=
\u
51FA
\u6599\u
53E3feeder[{0}]
\u
4E0E
\u
5F53
\u
524D
\u7269\u6599
feeder[{1}]
\u
4E0D
\u5339\u
914D
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
174d18d
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u662F\u5426\u7121\u5EAB\u5B58
...
@@ -391,4 +391,5 @@ smfcore.order.noInventory=\u662F\u5426\u7121\u5EAB\u5B58
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5EAB
\u
524D
\u6578\u
91CF
smfcore.order.quantityBeforeIssuance
=
\u
51FA
\u
5EAB
\u
524D
\u6578\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5EAB
\u6578\u
91CF
smfcore.order.quantityIssued
=
\u
51FA
\u
5EAB
\u6578\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5EAB
\u
5F8C
\u6578\u
91CF
smfcore.order.quantityAfterIssuance
=
\u
56DE
\u
5EAB
\u
5F8C
\u6578\u
91CF
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6578\u
91CF
\ No newline at end of file
\ No newline at end of file
smfcore.order.lackOfQuantity
=
\u
7F3A
\u
5C11
\u6578\u
91CF
smfcore.barcode.noMatchFeeder
=
\u
51FA
\u6599\u
53E3feeder[{0}]
\u8207\u7576\u
524D
\u7269\u6599
feeder[{1}]
\u
4E0D
\u5339\u
914D
\ No newline at end of file
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论