Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 34fa0b27
由
LN
编写于
2024-08-15 09:06:04 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.ResponseUpdateDeliveryReserveState:2016也需要取消工单,返回的时候整体的code需要返回2016
2.TMSPart 增加 生成日期,过期日期
1 个父辈
e283c5a7
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
103 行增加
和
33 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/HanwhaApiHandler.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSApis.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSCommunicator.java
src/main/java/com/neotel/smfcore/custom/hanwha/handler/bean/TMSPart.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/NLShelfHandler.java
查看文件 @
34fa0b2
...
@@ -335,13 +335,18 @@ public class NLShelfHandler extends BaseDeviceHandler {
...
@@ -335,13 +335,18 @@ public class NLShelfHandler extends BaseDeviceHandler {
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
return
ResultBean
.
newOkResult
(
"smfcore.shelf.msg.tipScanReel"
,
"库位["
+
pos
.
getPosName
()
+
"]操作成功,请扫描要放入的物料"
,
new
String
[]{
pos
.
getPosName
()},
pos
.
getPosName
());
}
}
}
else
{
}
else
{
ResultBean
resultBean
;
try
{
//先判断库存中有没有此条码
//先判断库存中有没有此条码
ResultBean
resultBean
=
outProcess
(
storageId
,
code
,
sourceId
,
loginUser
,
request
);
resultBean
=
outProcess
(
storageId
,
code
,
sourceId
,
loginUser
,
request
);
if
(
resultBean
!=
null
)
{
if
(
resultBean
!=
null
)
{
return
resultBean
;
return
resultBean
;
}
}
}
catch
(
Exception
exa
)
{
log
.
error
(
exa
.
toString
());
}
resultBean
=
putInProcess
(
groupId
,
storageId
,
code
,
token
,
loginUser
);
resultBean
=
putInProcess
(
groupId
,
storageId
,
code
,
token
,
loginUser
);
if
(
resultBean
!=
null
)
{
if
(
resultBean
!=
null
)
{
return
resultBean
;
return
resultBean
;
}
}
}
}
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/HanwhaApiHandler.java
查看文件 @
34fa0b2
...
@@ -2,10 +2,13 @@ package com.neotel.smfcore.custom.hanwha.handler;
...
@@ -2,10 +2,13 @@ package com.neotel.smfcore.custom.hanwha.handler;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.api.bean.CodeValidateParam
;
import
com.neotel.smfcore.core.api.listener.BaseSmfApiListener
;
import
com.neotel.smfcore.core.api.listener.BaseSmfApiListener
;
import
com.neotel.smfcore.core.barcode.service.manager.IComponentManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Component
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
...
@@ -51,6 +54,9 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -51,6 +54,9 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
@Autowired
@Autowired
private
TMSCommunicator
tmsCommunicator
;
private
TMSCommunicator
tmsCommunicator
;
@Autowired
private
IComponentManager
componentManager
;
@Override
@Override
public
boolean
isForThisApi
(
String
apiName
)
{
public
boolean
isForThisApi
(
String
apiName
)
{
return
apiName
!=
null
&&
apiName
.
equalsIgnoreCase
(
"hanwha"
)
&&
TMSCommunicator
.
isEnable
();
return
apiName
!=
null
&&
apiName
.
equalsIgnoreCase
(
"hanwha"
)
&&
TMSCommunicator
.
isEnable
();
...
@@ -81,13 +87,44 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -81,13 +87,44 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
}
}
int
width
=
7
;
int
width
=
7
;
int
height
=
8
;
int
height
=
8
;
Barcode
barcode
=
new
Barcode
();
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
code
);
if
(
barcode
==
null
)
{
barcode
=
new
Barcode
();
}
barcode
.
setFullCode
(
params
.
getCode
());
barcode
.
setFullCode
(
params
.
getCode
());
barcode
.
setAmount
(
count
);
barcode
.
setAmount
(
count
);
barcode
.
setPartNumber
(
pn
);
barcode
.
setPartNumber
(
pn
);
barcode
.
setBarcode
(
code
);
barcode
.
setBarcode
(
code
);
barcode
.
setHeight
(
height
);
barcode
.
setHeight
(
height
);
barcode
.
setPlateSize
(
width
);
barcode
.
setPlateSize
(
width
);
Date
proDate
=
getDate
(
result
.
get
(
0
).
getProductionDate
());
if
(
proDate
!=
null
)
{
barcode
.
setProduceDate
(
proDate
);
}
Date
expDate
=
getDate
(
result
.
get
(
0
).
getExpiryDate
());
if
(
expDate
!=
null
)
{
barcode
.
setExpireDate
(
expDate
);
}
//判断Pn是否存在
Component
component
=
componentManager
.
findOneByPN
(
pn
);
if
(
component
!=
null
)
{
log
.
info
(
"未找到PN["
+
pn
+
"] 新建一个"
);
//找到了,复制一个
Component
newComponent
=
new
Component
();
newComponent
.
setProvider
(
""
);
newComponent
.
setPlateSize
(
width
);
newComponent
.
setHeight
(
height
);
newComponent
.
setPartNumber
(
component
.
getPartNumber
());
newComponent
.
setAmount
(
count
);
newComponent
.
setName
(
component
.
getPartNumber
());
component
=
componentManager
.
save
(
component
);
}
barcode
=
barcodeManager
.
saveBarcode
(
barcode
);
barcode
=
barcodeManager
.
saveBarcode
(
barcode
);
log
.
info
(
"barcode["
+
params
.
getCode
()
+
"] RequestGetPartInfo ,PN=["
+
pn
+
"],code=["
+
code
+
"],count=["
+
count
+
"]新增条码准备入库"
);
log
.
info
(
"barcode["
+
params
.
getCode
()
+
"] RequestGetPartInfo ,PN=["
+
pn
+
"],code=["
+
code
+
"],count=["
+
count
+
"]新增条码准备入库"
);
return
barcode
;
return
barcode
;
...
@@ -95,36 +132,46 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -95,36 +132,46 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
return
null
;
return
null
;
}
}
@Override
private
Date
getDate
(
String
str
)
{
public
Barcode
canPutInAfterResolve
(
String
inCheckUrl
,
CodeValidateParam
params
,
Barcode
barcode
)
throws
ValidateException
{
try
{
log
.
info
(
"barcode["
+
barcode
.
getBarcode
()
+
"] 准备入库,调用 RequestGetPartInfo"
);
if
(
ObjectUtil
.
isNotEmpty
(
str
))
{
List
<
TMSPart
>
result
=
tmsApis
.
RequestGetPartInfo
(
0
,
barcode
.
getFullCode
());
return
DateUtil
.
toDate
(
str
,
"yyyy-MM-dd HH:mm:ss"
);
if
(
result
.
size
()
>
0
)
{
String
pn
=
result
.
get
(
0
).
getPartName
();
String
code
=
result
.
get
(
0
).
getReelCode
();
// 2024-05-23 14:15:45.749 INFO [TMSApis.java:473] - PostJson, url=[http://192.168.101.96:8082/webservice/RequestGetPartInfo],
// send=[{"data":{"RequestID":0,"ReelCode":"20180710184319-001","Indate":"2024-05-23 14:15:45"}}],
// response=[{"RequestID":0,"Data":[{"PartName":"Z2203061201A","ReelCode":"20180710184319-001","Count":5000}],"error":null}]
boolean
needS
=
false
;
if
(
ObjectUtil
.
isNotEmpty
(
pn
))
{
barcode
.
setPartNumber
(
pn
);
needS
=
true
;
}
}
if
(
ObjectUtil
.
isNotEmpty
(
code
))
{
}
catch
(
Exception
ex
)
{
barcode
.
setBarcode
(
code
);
needS
=
true
;
}
int
count
=
result
.
get
(
0
).
getResponseCount
();
if
(
count
>
0
)
{
barcode
.
setAmount
(
count
);
needS
=
true
;
}
if
(
needS
)
{
log
.
info
(
"barcode["
+
barcode
.
getBarcode
()
+
"] 准备入库,调用 RequestGetPartInfo ,更改pn=["
+
barcode
.
getPartNumber
()
+
"],code=["
+
barcode
.
getBarcode
()
+
"],count=["
+
barcode
.
getAmount
()
+
"]"
);
barcodeManager
.
saveBarcode
(
barcode
);
}
}
return
null
;
}
}
@Override
public
Barcode
canPutInAfterResolve
(
String
inCheckUrl
,
CodeValidateParam
params
,
Barcode
barcode
)
throws
ValidateException
{
log
.
info
(
"barcode["
+
barcode
.
getBarcode
()
+
"] 准备入库,调用 RequestGetPartInfo"
);
// List<TMSPart> result = tmsApis.RequestGetPartInfo(0, barcode.getFullCode());
// if (result.size() > 0) {
// String pn = result.get(0).getPartName();
// String code = result.get(0).getReelCode();
//// 2024-05-23 14:15:45.749 INFO [TMSApis.java:473] - PostJson, url=[http://192.168.101.96:8082/webservice/RequestGetPartInfo],
// // send=[{"data":{"RequestID":0,"ReelCode":"20180710184319-001","Indate":"2024-05-23 14:15:45"}}],
// // response=[{"RequestID":0,"Data":[{"PartName":"Z2203061201A","ReelCode":"20180710184319-001","Count":5000}],"error":null}]
//
// boolean needS = false;
// if (ObjectUtil.isNotEmpty(pn)) {
// barcode.setPartNumber(pn);
// needS = true;
// }
// if (ObjectUtil.isNotEmpty(code)) {
// barcode.setBarcode(code);
// needS = true;
// }
// int count = result.get(0).getResponseCount();
// if (count > 0) {
// barcode.setAmount(count);
// needS = true;
// }
// if (needS) {
// log.info("barcode[" + barcode.getBarcode() + "] 准备入库,调用 RequestGetPartInfo ,更改pn=[" + barcode.getPartNumber() + "],code=[" + barcode.getBarcode() + "],count=[" + barcode.getAmount() + "]");
// barcodeManager.saveBarcode(barcode);
// }
// }
return
barcode
;
return
barcode
;
}
}
...
@@ -267,7 +314,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
...
@@ -267,7 +314,7 @@ public class HanwhaApiHandler extends BaseSmfApiListener {
//离线只发状态改变
//离线只发状态改变
//上线时只发状态改变,和reel同步,暂不发Rack
//上线时只发状态改变,和reel同步,暂不发Rack
if
(
storageIds
.
size
()
>
0
)
{
if
(
storageIds
.
size
()
>
0
)
{
tmsApis
.
RequestSyncRackStatusInfo
(
0
,
SyncRackStatusDatas
);
//
tmsApis.RequestSyncRackStatusInfo(0, SyncRackStatusDatas);
}
}
if
(
needSyncDataList
.
size
()>
0
){
if
(
needSyncDataList
.
size
()>
0
){
for
(
Storage
st
:
for
(
Storage
st
:
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSApis.java
查看文件 @
34fa0b2
...
@@ -45,6 +45,9 @@ public class TMSApis {
...
@@ -45,6 +45,9 @@ public class TMSApis {
item
.
setReelCode
(
getMapValue
(
map
,
"ReelCode"
));
item
.
setReelCode
(
getMapValue
(
map
,
"ReelCode"
));
item
.
setResponseCount
((
Integer
)
getMapValue
(
map
,
"Count"
));
item
.
setResponseCount
((
Integer
)
getMapValue
(
map
,
"Count"
));
item
.
setRequestCount
((
Integer
)
getMapValue
(
map
,
"Count"
));
item
.
setRequestCount
((
Integer
)
getMapValue
(
map
,
"Count"
));
item
.
setProductionDate
(
getMapValue
(
map
,
"ProductionDate"
));
item
.
setExpiryDate
(
getMapValue
(
map
,
"ExpiryDate"
));
item
.
setWarehousingDate
(
getMapValue
(
map
,
"WarehousingDate"
));
list
.
add
(
item
);
list
.
add
(
item
);
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/TMSCommunicator.java
查看文件 @
34fa0b2
...
@@ -1001,6 +1001,9 @@ public class TMSCommunicator implements WsMsgReceivedListener {
...
@@ -1001,6 +1001,9 @@ public class TMSCommunicator implements WsMsgReceivedListener {
private
void
RequestUpdateDeliveryReserveState
(
int
requestID
,
List
<
String
>
reserveCodes
,
List
<
Integer
>
resultCodes
)
{
private
void
RequestUpdateDeliveryReserveState
(
int
requestID
,
List
<
String
>
reserveCodes
,
List
<
Integer
>
resultCodes
)
{
//3.15 ResponseUpdateDeliveryReserveState
//3.15 ResponseUpdateDeliveryReserveState
//2016也需要取消工单,返回的时候整体的code需要返回2016
List
<
TMSReserve
>
ReserveList
=
new
ArrayList
<>();
List
<
TMSReserve
>
ReserveList
=
new
ArrayList
<>();
int
state
=
0
;
int
state
=
0
;
try
{
try
{
...
@@ -1029,7 +1032,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
...
@@ -1029,7 +1032,7 @@ public class TMSCommunicator implements WsMsgReceivedListener {
tmsReserve
.
setResultCode
(
resultCode
);
tmsReserve
.
setResultCode
(
resultCode
);
tmsReserve
.
setPartList
(
new
ArrayList
<>());
tmsReserve
.
setPartList
(
new
ArrayList
<>());
List
<
TMSPart
>
tmsParts
=
new
ArrayList
<>();
List
<
TMSPart
>
tmsParts
=
new
ArrayList
<>();
if
(
resultCode
.
equals
(
TMS_Code
.
CODE_2012
))
{
if
(
resultCode
.
equals
(
TMS_Code
.
CODE_2012
)
||
resultCode
.
equals
(
TMS_Code
.
CODE_2016
)
)
{
tmsReserve
.
setResultCode
(
TMS_Code
.
CODE_2014
);
tmsReserve
.
setResultCode
(
TMS_Code
.
CODE_2014
);
LiteOrder
order
=
liteOrderCache
.
getLiteOrder
(
reserveCode
);
LiteOrder
order
=
liteOrderCache
.
getLiteOrder
(
reserveCode
);
if
(
order
!=
null
)
{
if
(
order
!=
null
)
{
...
@@ -1076,7 +1079,11 @@ public class TMSCommunicator implements WsMsgReceivedListener {
...
@@ -1076,7 +1079,11 @@ public class TMSCommunicator implements WsMsgReceivedListener {
//判断工单是否可以取消,
//判断工单是否可以取消,
liteOrderCache
.
closeOrder
(
order
.
getOrderNo
());
liteOrderCache
.
closeOrder
(
order
.
getOrderNo
());
if
(
order
.
isClosed
())
{
if
(
order
.
isClosed
())
{
if
(
resultCode
.
equals
(
TMS_Code
.
CODE_2016
))
{
tmsReserve
.
setResultCode
(
TMS_Code
.
CODE_2016
);
//取消成功
}
else
{
tmsReserve
.
setResultCode
(
TMS_Code
.
CODE_2012
);
//取消成功
tmsReserve
.
setResultCode
(
TMS_Code
.
CODE_2012
);
//取消成功
}
}
else
{
}
else
{
order
.
addAppendDate
(
"cancel"
,
""
);
order
.
addAppendDate
(
"cancel"
,
""
);
liteOrderManager
.
save
(
order
);
liteOrderManager
.
save
(
order
);
...
...
src/main/java/com/neotel/smfcore/custom/hanwha/handler/bean/TMSPart.java
查看文件 @
34fa0b2
...
@@ -24,6 +24,14 @@ public class TMSPart extends TMSPos implements Serializable {
...
@@ -24,6 +24,14 @@ public class TMSPart extends TMSPos implements Serializable {
private
int
responseCount
=
0
;
private
int
responseCount
=
0
;
private
String
resultCode
=
""
;
private
String
resultCode
=
""
;
public
String
ProductionDate
=
""
;
public
String
ExpiryDate
=
""
;
public
String
WarehousingDate
=
""
;
public
static
TMSPart
newBean
(
int
index
,
String
pn
,
String
barcode
,
int
requestCount
,
int
responseCount
,
String
resultCode
,
String
cid
,
String
posName
)
{
public
static
TMSPart
newBean
(
int
index
,
String
pn
,
String
barcode
,
int
requestCount
,
int
responseCount
,
String
resultCode
,
String
cid
,
String
posName
)
{
TMSPart
bean
=
new
TMSPart
();
TMSPart
bean
=
new
TMSPart
();
bean
.
setIndex
(
index
);
bean
.
setIndex
(
index
);
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论