Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 473ecc61
由
LN
编写于
2024-08-13 17:20:13 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
调试问题修改
1 个父辈
bb79dd0f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
62 行增加
和
33 行删除
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.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/util/DataCache.java
查看文件 @
473ecc6
...
@@ -23,6 +23,8 @@ import com.neotel.smfcore.core.storage.bean.InventoryItem;
...
@@ -23,6 +23,8 @@ import com.neotel.smfcore.core.storage.bean.InventoryItem;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE
;
import
com.neotel.smfcore.core.storage.enums.COMPATIBLE_TYPE
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.rest.dto.InventoryItemDto
;
import
com.neotel.smfcore.core.storage.rest.query.InventoryQueryCriteria
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.bean.OrderSetting
;
import
com.neotel.smfcore.core.system.bean.OrderSetting
;
import
com.neotel.smfcore.core.system.service.dao.ICacheItemDao
;
import
com.neotel.smfcore.core.system.service.dao.ICacheItemDao
;
...
@@ -38,6 +40,7 @@ import org.apache.logging.log4j.LogManager;
...
@@ -38,6 +40,7 @@ import org.apache.logging.log4j.LogManager;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Query
;
...
@@ -47,6 +50,7 @@ import javax.annotation.PostConstruct;
...
@@ -47,6 +50,7 @@ import javax.annotation.PostConstruct;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.concurrent.ConcurrentHashMap
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
import
java.util.stream.Collectors
;
/**
/**
* 缓存
* 缓存
...
@@ -658,6 +662,20 @@ public class DataCache {
...
@@ -658,6 +662,20 @@ public class DataCache {
return
storageInventoryMap
;
return
storageInventoryMap
;
}
}
public
List
<
InventoryItem
>
getInventoryByPN
(
String
pn
)
{
Map
<
String
,
InventoryItem
>
inventoryItemMap
=
getAllInventory
(
null
,
""
);
List
<
InventoryItem
>
list
=
Lists
.
newArrayList
(
inventoryItemMap
.
values
());
List
<
InventoryItem
>
resultList
=
new
ArrayList
<>();
for
(
InventoryItem
item
:
list
)
{
if
(
item
.
getPartNumber
().
equals
(
pn
)&&
item
.
getStockCount
()>
0
)
{
resultList
.
add
(
item
);
}
}
return
resultList
;
}
/**
/**
* 手动修改数量的时候更新库存
* 手动修改数量的时候更新库存
* @param cid
* @param cid
...
...
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
473ecc6
...
@@ -600,8 +600,7 @@ public class LiteOrderCache {
...
@@ -600,8 +600,7 @@ public class LiteOrderCache {
//剩余未出盘数
//剩余未出盘数
int
remainReelCount
=
orderItem
.
getNeedReelCount
()
-
orderItem
.
getTotalOutReelCount
();
int
remainReelCount
=
orderItem
.
getNeedReelCount
()
-
orderItem
.
getTotalOutReelCount
();
Collection
<
String
>
excludePosIds
=
excludeOutPosIds
();
excludePosIds
.
addAll
(
findPosIds
);
//此PN未完成
//此PN未完成
if
(
remainNum
>
0
||
remainReelCount
>
0
)
{
if
(
remainNum
>
0
||
remainReelCount
>
0
)
{
if
(
outBom
)
{
if
(
outBom
)
{
...
@@ -612,6 +611,8 @@ public class LiteOrderCache {
...
@@ -612,6 +611,8 @@ public class LiteOrderCache {
int
assignNum
=
0
;
int
assignNum
=
0
;
int
assignReelCount
=
0
;
int
assignReelCount
=
0
;
while
(
assignNum
<
remainNum
||
assignReelCount
<
remainReelCount
)
{
while
(
assignNum
<
remainNum
||
assignReelCount
<
remainReelCount
)
{
Collection
<
String
>
excludePosIds
=
excludeOutPosIds
();
excludePosIds
.
addAll
(
findPosIds
);
String
partNumber
=
orderItem
.
getPn
();
String
partNumber
=
orderItem
.
getPn
();
String
reelId
=
orderItem
.
getRi
();
String
reelId
=
orderItem
.
getRi
();
String
mpn
=
orderItem
.
getMpn
();
String
mpn
=
orderItem
.
getMpn
();
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/HanwhaApiHandler.java
查看文件 @
473ecc6
...
@@ -185,7 +185,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -185,7 +185,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
@Override
@Override
public
boolean
deviceStatusChanges
(
String
deviceStatusUrl
,
String
[]
cids
,
Integer
[]
statusList
)
{
public
boolean
deviceStatusChanges
(
String
deviceStatusUrl
,
String
[]
cids
,
Integer
[]
statusList
)
{
log
.
info
(
"deviceStatusChanges ,设备状态变化["
+
JsonUtil
.
toJsonStr
(
cids
)
+
"],["
+
JsonUtil
.
toJsonStr
(
statusList
)
+
"],通知TMS"
);
log
.
info
(
"deviceStatusChanges ,设备状态变化["
+
JsonUtil
.
toJsonStr
(
cids
)
+
"],["
+
JsonUtil
.
toJsonStr
(
statusList
)
+
"],通知TMS"
);
//
UpdateStorageConnectionInfo(cids,statusList);
UpdateStorageConnectionInfo
(
cids
,
statusList
);
RequestSyncRackStatusInfo
(
cids
,
statusList
);
RequestSyncRackStatusInfo
(
cids
,
statusList
);
return
true
;
return
true
;
...
@@ -225,8 +225,10 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -225,8 +225,10 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
}
}
}
}
boolean
needSendRack
=
false
;
if
(
status
==-
1
||
status
==
0
||
status
>=
1
){
if
(
status
==-
1
||
status
==
0
||
status
>=
1
){
if
(
status
>=
1
){
if
(
status
>=
1
){
needSendRack
=
false
;
needSyncDataList
.
add
(
storage
);
needSyncDataList
.
add
(
storage
);
log
.
info
(
"设备"
+
cid
+
"状态改变,当前状态:"
+
status
+
",需要通知韩华,并同步物料信息"
);
log
.
info
(
"设备"
+
cid
+
"状态改变,当前状态:"
+
status
+
",需要通知韩华,并同步物料信息"
);
}
else
{
}
else
{
...
@@ -241,24 +243,29 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -241,24 +243,29 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
if
(
status
>=
1
)
{
if
(
status
>=
1
)
{
flag
=
2
;
flag
=
2
;
}
}
List
<
StoragePos
>
allStorage
=
storagePosManager
.
findByStorage
(
storage
.
getId
());
if
(
needSendRack
)
{
for
(
StoragePos
pos
:
allStorage
//只有上线需要发送rack
)
{
List
<
StoragePos
>
allStorage
=
storagePosManager
.
findByStorage
(
storage
.
getId
());
TMSRackStatus
st
=
new
TMSRackStatus
();
for
(
StoragePos
pos
:
allStorage
st
.
setPosName
(
pos
.
getPosName
());
)
{
st
.
setRackID
(
storage
.
getCid
());
TMSRackStatus
st
=
new
TMSRackStatus
();
st
.
setFlag
(
flag
);
st
.
setPosName
(
pos
.
getPosName
());
st
.
setOutdate
(
""
);
st
.
setRackID
(
storage
.
getCid
());
st
.
setIndate
(
""
);
st
.
setFlag
(
flag
);
if
(
flag
==
2
)
{
st
.
setOutdate
(
""
);
st
.
setIndate
(
dateString
);
st
.
setIndate
(
""
);
}
else
{
if
(
flag
==
2
)
{
st
.
setOutdate
(
dateString
);
st
.
setIndate
(
dateString
);
}
else
{
st
.
setOutdate
(
dateString
);
}
SyncRackStatusDatas
.
add
(
st
);
}
}
SyncRackStatusDatas
.
add
(
st
);
}
}
}
}
//离线只发状态改变
//上线时只发状态改变,和reel同步,暂不发Rack
if
(
storageIds
.
size
()
>
0
)
{
if
(
storageIds
.
size
()
>
0
)
{
tmsApis
.
RequestSyncRackStatusInfo
(
0
,
SyncRackStatusDatas
);
tmsApis
.
RequestSyncRackStatusInfo
(
0
,
SyncRackStatusDatas
);
}
}
...
@@ -327,21 +334,24 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -327,21 +334,24 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
status
=
bean
.
getStatus
();
status
=
bean
.
getStatus
();
}
}
}
}
String
conCode
=
TMS_Code
.
CODE_1020
;
String
conCode
=
"0"
;
if
(
status
<=
0
)
{
// if (status <= 0) {
//初始化失败
// //初始化失败
conCode
=
TMS_Code
.
CODE_0002
;
// conCode = TMS_Code.CODE_0002;
}
else
if
(
status
==
1
)
{
// } else if (status == 1) {
conCode
=
TMS_Code
.
CODE_1020
;
// conCode = TMS_Code.CODE_1020;
}
else
if
(
status
<=
4
)
{
// } else if (status <= 4) {
//报警
// //报警
conCode
=
TMS_Code
.
CODE_1024
;
// conCode = TMS_Code.CODE_1024;
}
else
if
(
status
==
5
)
{
// } else if (status == 5) {
conCode
=
TMS_Code
.
CODE_1023
;
// conCode = TMS_Code.CODE_1023;
}
else
{
// } else {
//忙碌
// //忙碌
conCode
=
TMS_Code
.
CODE_1010
;
// conCode = TMS_Code.CODE_1010;
// }
if
(
status
>=
1
){
conCode
=
"2"
;
}
}
storageIds
.
add
(
storage
.
getCid
());
storageIds
.
add
(
storage
.
getCid
());
storageTypes
.
add
(
type
);
storageTypes
.
add
(
type
);
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSCommunicator.java
查看文件 @
473ecc6
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMS_Code.java
查看文件 @
473ecc6
...
@@ -78,7 +78,7 @@ public class TMS_Code {
...
@@ -78,7 +78,7 @@ public class TMS_Code {
public
static
final
String
CODE_1024
=
"1024"
;
public
static
final
String
CODE_1024
=
"1024"
;
/**
/**
* 2001 Part not enough
* 2001 Part not enough
数量不足
*/
*/
public
static
final
String
CODE_2001
=
"2001"
;
public
static
final
String
CODE_2001
=
"2001"
;
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论