Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit dcc32d1c
由
LN
编写于
2024-08-12 17:34:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.设备上线时需要同步reel到韩华。
2.工单详情相同PN会有重复数据。 3.韩华RequestDeliveryOrder同时只执行一个工单,如有未关闭的返回2014。 4.
1 个父辈
1f4db1e4
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
57 行增加
和
6 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/HanwhaApiHandler.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSCommunicator.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMS_Code.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
dcc32d1
...
@@ -871,7 +871,10 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -871,7 +871,10 @@ public class BaseDeviceHandler implements IDeviceHandler {
//状态变化
//状态变化
if
(
statusBean
.
getStatus
()!=
preStatus
){
if
(
statusBean
.
getStatus
()!=
preStatus
){
smfApi
.
deviceStatusChanges
(
new
String
[]{
statusBean
.
getCid
()},
new
Integer
[]{
statusBean
.
getStatus
()});
//如果是从离线到上线,或者从上线到离线才通知
if
(
preStatus
==-
1
||
preStatus
==
0
){
smfApi
.
deviceStatusChanges
(
new
String
[]{
statusBean
.
getCid
()},
new
Integer
[]{
statusBean
.
getStatus
()});
}
}
}
// //判断是否刚刚上线
// //判断是否刚刚上线
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
dcc32d1
...
@@ -587,7 +587,8 @@ public class LiteOrderCache {
...
@@ -587,7 +587,8 @@ public class LiteOrderCache {
List
<
String
>
availableStorageIds
=
dataCache
.
getAvailableStorageIds
();
List
<
String
>
availableStorageIds
=
dataCache
.
getAvailableStorageIds
();
CHECKOUT_TYPE
checkoutType
=
dataCache
.
getCheckOutType
();
CHECKOUT_TYPE
checkoutType
=
dataCache
.
getCheckOutType
();
log
.
info
(
"工单["
+
orderNo
+
"]出库前需要进行缺料检查"
);
log
.
info
(
"工单["
+
orderNo
+
"]出库前需要进行缺料检查"
);
//需要过滤掉刚刚查找到的库位号
List
<
String
>
findPosIds
=
new
ArrayList
<>();
//其他出库模式一次性全部生成任务
//其他出库模式一次性全部生成任务
List
<
LiteOrderItem
>
newItems
=
new
ArrayList
<>();
List
<
LiteOrderItem
>
newItems
=
new
ArrayList
<>();
for
(
LiteOrderItem
orderItem
:
cacheOrder
.
getOrderItems
())
{
for
(
LiteOrderItem
orderItem
:
cacheOrder
.
getOrderItems
())
{
...
@@ -600,6 +601,7 @@ public class LiteOrderCache {
...
@@ -600,6 +601,7 @@ public class LiteOrderCache {
int
remainReelCount
=
orderItem
.
getNeedReelCount
()
-
orderItem
.
getTotalOutReelCount
();
int
remainReelCount
=
orderItem
.
getNeedReelCount
()
-
orderItem
.
getTotalOutReelCount
();
Collection
<
String
>
excludePosIds
=
excludeOutPosIds
();
Collection
<
String
>
excludePosIds
=
excludeOutPosIds
();
excludePosIds
.
addAll
(
findPosIds
);
//此PN未完成
//此PN未完成
if
(
remainNum
>
0
||
remainReelCount
>
0
)
{
if
(
remainNum
>
0
||
remainReelCount
>
0
)
{
if
(
outBom
)
{
if
(
outBom
)
{
...
@@ -640,9 +642,10 @@ public class LiteOrderCache {
...
@@ -640,9 +642,10 @@ public class LiteOrderCache {
liteOrderItemManager
.
save
(
orderItem
);
liteOrderItemManager
.
save
(
orderItem
);
break
;
break
;
}
else
{
}
else
{
findPosIds
.
add
(
pos
.
getId
());
assignNum
=
assignNum
+
pos
.
getBarcode
().
getAmount
();
assignNum
=
assignNum
+
pos
.
getBarcode
().
getAmount
();
assignReelCount
=
assignReelCount
+
1
;
assignReelCount
=
assignReelCount
+
1
;
excludePosIds
.
add
(
pos
.
getPosName
());
// excludePosIds.add(pos.getId
());
}
}
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.java
查看文件 @
dcc32d1
...
@@ -188,7 +188,7 @@ public class DevicesStatusUtil {
...
@@ -188,7 +188,7 @@ public class DevicesStatusUtil {
if
(
oldMsgs
!=
null
)
{
if
(
oldMsgs
!=
null
)
{
for
(
MsgInfo
old
:
for
(
MsgInfo
old
:
oldMsgs
)
{
oldMsgs
)
{
if
(
old
.
getMsgKey
().
equals
(
msg
.
getMsgKey
())
&&
old
.
getMsg
().
equals
(
msg
.
getMsg
()))
{
if
(
ObjectUtil
.
isNotEmpty
(
old
.
getMsgKey
())&&
ObjectUtil
.
isNotEmpty
(
msg
.
getMsgKey
())&&
old
.
getMsgKey
().
equals
(
msg
.
getMsgKey
())
&&
old
.
getMsg
().
equals
(
msg
.
getMsg
()))
{
newMsg
=
false
;
newMsg
=
false
;
break
;
break
;
}
}
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/HanwhaApiHandler.java
查看文件 @
dcc32d1
...
@@ -200,6 +200,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -200,6 +200,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
List
<
TMSRackStatus
>
SyncRackStatusDatas
=
new
ArrayList
<>();
List
<
TMSRackStatus
>
SyncRackStatusDatas
=
new
ArrayList
<>();
List
<
String
>
storageIds
=
new
ArrayList
<>();
List
<
String
>
storageIds
=
new
ArrayList
<>();
List
<
Storage
>
needSyncDataList
=
new
ArrayList
<>();
int
i
=
0
;
int
i
=
0
;
for
(
String
cid
:
cids
)
{
for
(
String
cid
:
cids
)
{
...
@@ -224,6 +225,18 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -224,6 +225,18 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
}
}
}
}
if
(
status
==-
1
||
status
==
0
||
status
>=
1
){
if
(
status
>=
1
){
needSyncDataList
.
add
(
storage
);
log
.
info
(
"设备"
+
cid
+
"状态改变,当前状态:"
+
status
+
",需要通知韩华,并同步物料信息"
);
}
else
{
log
.
info
(
"设备"
+
cid
+
"状态改变,当前状态:"
+
status
+
",需要通知韩华"
);
}
}
else
{
continue
;
}
int
flag
=
0
;
int
flag
=
0
;
if
(
status
>=
1
)
{
if
(
status
>=
1
)
{
flag
=
2
;
flag
=
2
;
...
@@ -249,8 +262,40 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -249,8 +262,40 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if
(
storageIds
.
size
()
>
0
)
{
if
(
storageIds
.
size
()
>
0
)
{
tmsApis
.
RequestSyncRackStatusInfo
(
0
,
SyncRackStatusDatas
);
tmsApis
.
RequestSyncRackStatusInfo
(
0
,
SyncRackStatusDatas
);
}
}
if
(
needSyncDataList
.
size
()>
0
){
for
(
Storage
st
:
needSyncDataList
)
{
SyncStorageData
(
st
,
"单个设备上线"
);
}
}
}
}
private
void
SyncStorageData
(
Storage
storage
,
String
logName
)
{
List
<
TMSPartReelPos
>
list
=
new
ArrayList
<>();
List
<
StoragePos
>
allPos
=
storagePosManager
.
findByStorage
(
storage
.
getId
());
// if (storage.isNLShelf() || storage.isMimoG2() ||storage.isBatchStorage()) {
if
(
allPos
!=
null
)
{
for
(
StoragePos
pos
:
allPos
)
{
if
(
pos
.
getBarcode
()
==
null
)
{
TMSPartReelPos
bean
=
TMSPartReelPos
.
newBean
(
""
,
""
,
-
1
,
storage
.
getCid
(),
pos
.
getPosName
(),
4
,
-
1
,
-
1
);
list
.
add
(
bean
);
}
else
{
Barcode
barcode
=
pos
.
getBarcode
();
TMSPartReelPos
bean
=
TMSPartReelPos
.
newBean
(
barcode
.
getPartNumber
(),
barcode
.
getBarcode
(),
barcode
.
getAmount
(),
storage
.
getCid
(),
pos
.
getPosName
(),
4
,
barcode
.
getPutInDate
().
getTime
(),
-
1
);
list
.
add
(
bean
);
}
}
List
<
TMSPart
>
result
=
tmsApis
.
RequestSyncPartReelPosInfo
(
0
,
list
);
log
.
info
(
logName
+
"RequestSyncPartReelPosInfo storageCID="
+
storage
.
getCid
()
+
", count="
+
list
.
size
());
}
}
public
void
UpdateStorageConnectionInfo
(
String
[]
cids
,
Integer
[]
statusList
)
{
public
void
UpdateStorageConnectionInfo
(
String
[]
cids
,
Integer
[]
statusList
)
{
if
(!
TMSCommunicator
.
isEnable
())
{
if
(!
TMSCommunicator
.
isEnable
())
{
return
;
return
;
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSCommunicator.java
查看文件 @
dcc32d1
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMS_Code.java
查看文件 @
dcc32d1
...
@@ -83,12 +83,12 @@ public class TMS_Code {
...
@@ -83,12 +83,12 @@ public class TMS_Code {
public
static
final
String
CODE_2001
=
"2001"
;
public
static
final
String
CODE_2001
=
"2001"
;
/**
/**
* 2002 Out of part
* 2002 Out of part
无材料
*/
*/
public
static
final
String
CODE_2002
=
"2002"
;
public
static
final
String
CODE_2002
=
"2002"
;
/**
/**
* 2003 Registered part but not on the rack
* 2003 Registered part but not on the rack
缺料
*/
*/
public
static
final
String
CODE_2003
=
"2003"
;
public
static
final
String
CODE_2003
=
"2003"
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论