Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 74c62fa2
由
LN
编写于
2024-06-17 10:31:47 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
API001,API002,API010 接口ngmsg修改
1 个父辈
aa4fe19d
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
96 行增加
和
30 行删除
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
src/main/java/com/neotel/smfcore/custom/micron1053/api/bean/MaterialStatus.java
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronDispatchController.java
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
src/main/java/com/neotel/smfcore/core/order/LiteOrderCache.java
查看文件 @
74c62fa
...
...
@@ -346,12 +346,13 @@ public class LiteOrderCache {
//先改为单盘上传
List
<
DataLog
>
dataLogList
=
dataLogManager
.
findByQuery
(
new
Query
(
Criteria
.
where
(
"subSourceId"
).
in
(
itemIdList
)));
if
(
dataLogList
!=
null
&&
!
dataLogList
.
isEmpty
())
{
boolean
isSuccess
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
task
.
getLocInfo
(),
dataLogList
);
String
msg
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
task
.
getLocInfo
(),
dataLogList
);
for
(
LiteOrderItem
item
:
items
)
{
if
(
itemIdList
.
contains
(
item
.
getId
()))
{
if
(
isSuccess
)
{
if
(
ObjectUtil
.
isEmpty
(
msg
)
)
{
item
.
setStatus
(
OrderItemStatus
.
notify_success
);
}
else
{
item
.
setExecutFailReason
(
msg
);
item
.
setStatus
(
OrderItemStatus
.
notify_fail
);
}
}
...
...
@@ -1175,6 +1176,9 @@ public class LiteOrderCache {
outReelCount
+=
1
;
log
.
info
(
"dispatchCheckOut 出库单["
+
order
.
getOrderNo
()
+
"] operatetionId ["
+
order
.
getOperationId
()
+
"] ,pn["
+
orderItem
.
getPn
()
+
"] ,RI["
+
ri
+
"] 验证成功,开始出库,累计出库盘数="
+
taskReelCount
);
}
else
{
if
(
trackStatus
!=
null
){
selItem
.
setExecutFailReason
(
trackStatus
.
getDescription
());
}
selItem
.
setStatus
(
OrderItemStatus
.
executFail
);
log
.
info
(
"dispatchCheckOut 出库单["
+
order
.
getOrderNo
()
+
"] operatetionId ["
+
order
.
getOperationId
()
+
"] ,pn["
+
orderItem
.
getPn
()
+
"] ,RI["
+
ri
+
"] 验证失败,更改状态=executFail"
);
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
查看文件 @
74c62fa
...
...
@@ -88,6 +88,7 @@ public class MicronApi {
public
static
Barcode
API001
(
String
operationId
,
String
rfid
,
Barcode
barcode
)
throws
ApiException
{
String
url
=
config
.
getUrl
(
config
.
api_name_001
);
String
errorMsg
=
""
;
if
(
ObjectUtil
.
isEmpty
(
url
))
{
return
barcode
;
}
...
...
@@ -119,6 +120,7 @@ public class MicronApi {
String
paramStr
=
JsonUtil
.
toJsonStr
(
paramsMap
);
log
.
info
(
"调用MES接口 API001: url="
+
url
+
",body="
+
paramStr
+
""
);
MicronResult
result
=
HttpHelper
.
postMicronJson
(
url
,
paramsMap
);
// "serialNum": <SerialNum>,
// "partNumber": <PartNumber>,
...
...
@@ -140,6 +142,7 @@ public class MicronApi {
// "xrayReq": false,
// "transactionId": "833ec781-1eba-4860-bb91-f667cd89afd4",
// "status": "Success"
errorMsg
=
getDErrorMsg
(
result
);
if
(
result
.
isOk
()
&&
result
.
statusIsSuccess
())
{
String
partNumber
=
result
.
getResult
(
"partNumber"
);
String
serialNumber
=
result
.
getResult
(
"serialNumber"
);
...
...
@@ -184,10 +187,14 @@ public class MicronApi {
// }
}
else
{
String
errmsg
=
result
.
getResult
(
"description"
);
if
(
ObjectUtil
.
isEmpty
(
errmsg
)){
errmsg
=
errorMsg
;
}
Integer
error
=
result
.
getErrorValue
(
"error"
);
String
message
=
result
.
getErrorValue
(
"message"
);
loadingUtil
.
AddErrorItem
(
rfid
,
barcode
,
error
,
message
);
log
.
info
(
"API001 ,验证失败,获取数据失败
"
);
//
String message=result.getErrorValue("message");
loadingUtil
.
AddErrorItem
(
rfid
,
barcode
,
error
,
errmsg
);
log
.
info
(
"API001 ,验证失败,获取数据失败
:"
+
errmsg
);
throw
new
ApiException
(
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
"API001"
});
}
...
...
@@ -201,6 +208,38 @@ public class MicronApi {
return
barcode
;
}
private
static
String
getDErrorMsg
(
MicronResult
result
)
throws
ApiException
{
try
{
// "error": <ErrCode>,
// "message": <ErrMessage>,
// "detail": <ErrDetail>
String
errMsg
=
result
.
getResult
(
"message"
,
false
);
if
(
ObjectUtil
.
isEmpty
(
errMsg
))
{
errMsg
=
""
;
}
else
{
errMsg
=
"message:"
+
errMsg
;
}
String
errCode
=
result
.
getResult
(
"error"
,
false
);
if
(
ObjectUtil
.
isEmpty
(
errCode
))
{
errCode
=
""
;
}
else
{
errCode
=
"error:"
+
errCode
;
}
String
detail
=
result
.
getResult
(
"detail"
,
false
);
if
(
ObjectUtil
.
isEmpty
(
detail
))
{
detail
=
""
;
}
else
{
detail
=
"detail:"
+
detail
;
}
return
errCode
+
";"
+
errMsg
+
";"
+
detail
;
}
catch
(
Exception
exception
)
{
log
.
error
(
"出错:"
+
exception
);
return
""
;
}
}
public
static
Map
<
String
,
String
>
API002
(
String
rfid
,
String
operationId
,
List
<
StoragePos
>
storagePos
)
{
...
...
@@ -274,12 +313,12 @@ public class MicronApi {
String
paramStr
=
JsonUtil
.
toJsonStr
(
paramsMap
);
log
.
info
(
"调用MES接口 API002: url="
+
url
+
",body="
+
paramStr
+
""
);
MicronResult
result
=
HttpHelper
.
postMicronJson
(
url
,
paramsMap
);
String
errMsg
=
result
.
getResult
(
"message"
,
false
);
if
(
ObjectUtil
.
isEmpty
(
errMsg
)){
errMsg
=
""
;
}
else
{
errMsg
=
"message:"
+
errMsg
;
}
// "error": <ErrCode>,
// "message": <ErrMessage>,
// "detail": <ErrDetail>
String
errMsg
=
getDErrorMsg
(
result
);
resultMap
.
put
(
"msg"
,
errMsg
);
if
(
result
.
isOk
()&&
result
.
statusIsSuccess
())
{
List
<
Object
>
resultList
=
result
.
getResult
(
"materialStatusList"
);
...
...
@@ -291,8 +330,8 @@ public class MicronApi {
if
(
s
.
isSuccess
()){
resultMap
.
put
(
s
.
getSerialNum
(),
"true"
);
}
else
if
(
ObjectUtil
.
isNotEmpty
(
s
.
get
MaterialStatus
())){
resultMap
.
put
(
s
.
getSerialNum
(),
"
materialStatus:"
+
s
.
getMaterialStatus
());
else
if
(
ObjectUtil
.
isNotEmpty
(
s
.
get
Description
())){
resultMap
.
put
(
s
.
getSerialNum
(),
"
description:"
+
s
.
getDescription
());
}
else
{
resultMap
.
put
(
s
.
getSerialNum
(),
errMsg
);
...
...
@@ -460,9 +499,9 @@ public class MicronApi {
}
public
static
boolean
Api007
(
String
operationId
,
String
rfid
,
List
<
DataLog
>
dataLogList
)
{
public
static
String
Api007
(
String
operationId
,
String
rfid
,
List
<
DataLog
>
dataLogList
)
{
String
url
=
config
.
getUrl
(
config
.
api_name_007
);
String
errMsg
=
""
;
try
{
String
jobId
=
operationId
+
"_"
+
rfid
;
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
...
...
@@ -488,17 +527,23 @@ public class MicronApi {
String
paramStr
=
JsonUtil
.
toJsonStr
(
paramMap
);
log
.
info
(
"调用MES接口 API007: url="
+
url
+
",body="
+
paramStr
+
""
);
MicronResult
micronResult
=
HttpHelper
.
postMicronJson
(
url
,
paramMap
);
errMsg
=
getDErrorMsg
(
micronResult
);
if
(
micronResult
.
isOk
()&&
micronResult
.
statusIsSuccess
())
{
return
true
;
}
else
{
return
""
;
}
else
if
(
ObjectUtil
.
isNotEmpty
(
errMsg
)){
return
errMsg
;
}
else
{
log
.
info
(
"API007 ,接口通信失败"
);
throw
new
ApiException
(
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
"API007"
});
}
}
catch
(
ApiException
e
)
{
log
.
error
(
url
+
"出错"
,
e
);
return
e
.
getMessage
();
}
return
false
;
}
public
static
boolean
Api008
(
String
serialNum
,
int
qty
,
int
newQty
)
throws
ApiException
{
...
...
@@ -548,7 +593,7 @@ public class MicronApi {
if
(
Debug
){
for
(
Barcode
barcode:
barcodeList
)
{
resultMap
.
put
(
barcode
.
getBarcode
(),
new
MaterialStatus
(
barcode
.
getBarcode
(),
barcode
.
getPartNumber
(),
""
,
""
,
true
));
resultMap
.
put
(
barcode
.
getBarcode
(),
new
MaterialStatus
(
barcode
.
getBarcode
(),
barcode
.
getPartNumber
(),
""
,
""
,
""
,
true
));
}
}
...
...
@@ -621,7 +666,7 @@ public class MicronApi {
MicronResult
micronResult
=
HttpHelper
.
postMicronJson
(
url
,
paramMap
);
// JSONObject jsonObject = JSONObject.parseObject(micronResult.getResponseData());
// String trackStatus = jsonObject.getString("trackStatus");
String
errMsg
=
getDErrorMsg
(
micronResult
);
if
(
micronResult
.
isOk
()
)
{
List
<
Object
>
objects
=
micronResult
.
getResult
(
"trackStatus"
,
false
);
for
(
Object
obj
:
...
...
@@ -629,12 +674,25 @@ public class MicronApi {
TrackStatus
s
=
JsonUtil
.
toObj
(
JsonUtil
.
toJsonStr
(
obj
)
,
TrackStatus
.
class
);
statusList
.
add
(
s
);
}
if
(
statusList
==
null
||
statusList
.
size
()<=
0
){
log
.
info
(
"API010 ,接口通信失败"
);
throw
new
ApiException
(
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
"API010"
});
// if(statusList==null||statusList.size()<=0){
//
// log.info("API010 ,接口通信失败");
// throw new ApiException("smfcore.api.fail", "{0} Failed to get data", new String[]{"API010"});
// }
}
if
(
ObjectUtil
.
isNotEmpty
(
errMsg
)&&(
statusList
==
null
||
statusList
.
size
()<=
0
)
){
for
(
Material
m
:
materialList
)
{
TrackStatus
trackStatus
=
new
TrackStatus
();
trackStatus
.
setSuccess
(
false
);
trackStatus
.
setDescription
(
errMsg
);
trackStatus
.
setMaterialStatus
(
"Fail"
);
trackStatus
.
setPartNumber
(
m
.
getPartNumber
());
trackStatus
.
setSerialNum
(
m
.
getSerialNum
());
statusList
.
add
(
trackStatus
);
}
}
else
{
}
else
{
log
.
info
(
"API010 ,接口通信失败"
);
throw
new
ApiException
(
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
"API010"
});
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/api/bean/MaterialStatus.java
查看文件 @
74c62fa
...
...
@@ -15,6 +15,7 @@ public class MaterialStatus implements Serializable {
private
String
partNumber
;
private
String
materialStatus
;
private
String
linePrepOrderId
;
private
String
description
;
private
boolean
success
=
false
;
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronDispatchController.java
查看文件 @
74c62fa
...
...
@@ -432,10 +432,11 @@ private IStoragePosManager storagePosManager;
if
(
dataLogList
!=
null
&&
!
dataLogList
.
isEmpty
())
{
log
.
info
(
"retry: ["
+
order
.
getOrderNo
()
+
"] ["
+
orderItem
.
getRi
()
+
"] 重发API007 "
);
boolean
isSuccess
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
order
.
getId
(),
dataLogList
);
if
(
isSuccess
)
{
String
msg
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
order
.
getId
(),
dataLogList
);
if
(
ObjectUtil
.
isEmpty
(
msg
)
)
{
orderItem
.
setStatus
(
OrderItemStatus
.
notify_success
);
}
else
{
orderItem
.
setExecutFailReason
(
msg
);
orderItem
.
setStatus
(
OrderItemStatus
.
notify_fail
);
canClose
=
false
;
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/task/MicronPreTaskController.java
查看文件 @
74c62fa
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
task
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.mks.api.response.APIException
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ApiException
;
...
...
@@ -277,10 +278,11 @@ public class MicronPreTaskController {
if
(
dataLogList
!=
null
&&
!
dataLogList
.
isEmpty
())
{
log
.
info
(
"retry: ["
+
order
.
getOrderNo
()
+
"] ["
+
orderItem
.
getRi
()
+
"] 重发API007 "
);
boolean
isSuccess
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
order
.
getId
(),
dataLogList
);
if
(
isSuccess
)
{
String
msg
=
MicronApi
.
Api007
(
order
.
getOrderNo
(),
order
.
getId
(),
dataLogList
);
if
(
ObjectUtil
.
isEmpty
(
msg
)
)
{
orderItem
.
setStatus
(
OrderItemStatus
.
notify_success
);
}
else
{
orderItem
.
setExecutFailReason
(
msg
);
orderItem
.
setStatus
(
OrderItemStatus
.
notify_fail
);
canClose
=
false
;
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论