Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 5f460c1c
由
LN
编写于
2025-01-15 17:10:54 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
新功能:MBR,REQ,GR,MCL
1 个父辈
00042f65
全部展开
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
145 行增加
和
82 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
src/main/java/com/neotel/smfcore/core/inList/service/po/InList.java
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
src/main/java/com/neotel/smfcore/custom/micron1053/loading/LoadingController.java
src/main/java/com/neotel/smfcore/custom/micron1053/loading/util/LoadingUtil.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/handler/impl/RobotBoxHandler.java
查看文件 @
5f460c1
...
@@ -828,7 +828,11 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -828,7 +828,11 @@ public class RobotBoxHandler extends BaseDeviceHandler {
if
(!
inList
.
isValidRfid
(
rfid
))
{
if
(!
inList
.
isValidRfid
(
rfid
))
{
return
barcode
;
return
barcode
;
}
}
//如果入库单已手动结束,不再接收新任务
if
(
inList
.
isManualFinish
()){
log
.
info
(
"当前入库单["
+
inList
.
getName
()
+
"]已手动结束,不需要再验证:"
+
barcode
.
getBarcode
());
return
barcode
;
}
operationId
=
inList
.
getOperationId
();
operationId
=
inList
.
getOperationId
();
if
(
ObjectUtil
.
isEmpty
(
operationId
))
{
if
(
ObjectUtil
.
isEmpty
(
operationId
))
{
...
...
src/main/java/com/neotel/smfcore/core/inList/service/po/InList.java
查看文件 @
5f460c1
...
@@ -71,6 +71,11 @@ public class InList extends BasePo implements Serializable {
...
@@ -71,6 +71,11 @@ public class InList extends BasePo implements Serializable {
private
String
operationId
=
""
;
private
String
operationId
=
""
;
/**
/**
* 已手动确认结束
*/
private
boolean
manualFinish
=
false
;
/**
* ReqId
* ReqId
*/
*/
private
String
reqId
=
""
;
private
String
reqId
=
""
;
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/api/MicronApi.java
查看文件 @
5f460c1
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
api
;
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
api
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.
alibaba.fastjson.JSONObject
;
import
com.
neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ApiException
;
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.DateUtil
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.HttpHelper
;
import
com.neotel.smfcore.common.utils.HttpHelper
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.common.utils.JsonUtil
;
import
com.neotel.smfcore.core.api.listener.BaseSmfApiListener
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
...
@@ -220,41 +219,26 @@ public class MicronApi {
...
@@ -220,41 +219,26 @@ public class MicronApi {
}
}
private
static
String
getDErrorMsg
(
MicronResult
result
)
throws
ApiException
{
private
static
String
getDErrorMsg
(
MicronResult
result
)
throws
ApiException
{
return
result
.
getDErrorMsg
();
// String errMsg = "";
// 551 - Invalid MBR
// Object errCode = -1;
// 550 - SAP Down
// String detail = "";
// 552 - Invalid REQ
// try {
// 553 - Invalid GR
//
// 550 - SAP Down
// // "error": <ErrCode>,
//// "message": <ErrMessage>,
String
msg
=
result
.
getDErrorMsg
();
//// "detail": <ErrDetail>
if
(
ObjectUtil
.
isEmpty
(
msg
)&&
result
!=
null
){
//
if
(
result
.
getHttpCode
()==
551
){
// errMsg = result.getResult("message", false);
return
"Invalid MBR"
;
// if (ObjectUtil.isEmpty(errMsg)) {
}
else
if
(
result
.
getHttpCode
()==
551
){
// errMsg = "";
return
"SAP Down"
;
// } else {
}
else
if
(
result
.
getHttpCode
()==
552
){
// errMsg = "message:" + errMsg;
return
"Invalid REQ"
;
// }
}
else
if
(
result
.
getHttpCode
()==
553
){
// errCode = result.getResult("error", false);
return
"Invalid GR"
;
//
}
// if (ObjectUtil.isEmpty(errCode)) {
}
// errCode = "";
return
msg
;
// } else {
// errCode = "error:" + errCode;
// }
// 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 errCode + ";" + errMsg + ";" + detail + ":" + exception.toString();
// }
}
}
public
static
Map
<
String
,
String
>
API002
(
String
rfid
,
String
operationId
,
List
<
StoragePos
>
storagePos
)
{
public
static
Map
<
String
,
String
>
API002
(
String
rfid
,
String
operationId
,
List
<
StoragePos
>
storagePos
)
{
...
@@ -1046,49 +1030,74 @@ public class MicronApi {
...
@@ -1046,49 +1030,74 @@ public class MicronApi {
return
false
;
return
false
;
}
}
public
static
boolean
Api101
(
String
id
,
String
operationId
,
String
skipSap
)
{
private
static
ResultBean
Api100
(
String
apiName
,
String
url
)
{
String
url
=
config
.
getUrl
(
config
.
api_name_101
);
url
=
MessageFormat
.
format
(
url
,
id
,
operationId
,
skipSap
);
if
(
Debug
)
{
log
.
info
(
"调试状态直接返回true, 调用MES接口 "
+
apiName
+
": url="
+
url
+
" "
);
return
ResultBean
.
newOkResult
(
true
);
}
try
{
try
{
log
.
info
(
"调用MES接口
API101
: url="
+
url
+
" "
);
log
.
info
(
"调用MES接口
"
+
apiName
+
"
: url="
+
url
+
" "
);
MicronResult
result
=
HttpHelper
.
getMicronJson
(
url
);
MicronResult
result
=
HttpHelper
.
getMicronJson
(
url
);
return
true
;
String
errMsg
=
getDErrorMsg
(
result
);
if
(
result
.
isOk
())
{
return
ResultBean
.
newOkResult
(
true
);
}
else
if
(
ObjectUtil
.
isNotEmpty
(
errMsg
))
{
log
.
error
(
apiName
+
" ,接口通信失败:"
+
errMsg
);
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
apiName
+
" : "
+
errMsg
});
}
else
{
log
.
error
(
apiName
+
" ,接口通信失败:"
+
result
.
getResponseData
());
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.api.fail"
,
"{0} Failed to get data"
,
new
String
[]{
apiName
+
" : "
+
result
.
getResponseData
()});
}
}
catch
(
ApiException
e
)
{
}
catch
(
ApiException
e
)
{
log
.
error
(
url
+
"出错"
,
e
);
log
.
error
(
url
+
"出错"
,
e
);
return
ResultBean
.
newErrorResult
(-
1
,
e
.
getMsgKey
(),
e
.
getDefaultMsg
(),
e
.
getMsgParam
());
}
}
return
false
;
}
}
public
static
ResultBean
Api101
(
String
id
,
String
operationId
,
String
skipSap
)
{
public
static
boolean
Api102
(
String
id
,
String
operationId
)
{
String
url
=
config
.
getUrl
(
config
.
api_name_101
);
String
url
=
config
.
getUrl
(
config
.
api_name_102
);
url
=
MessageFormat
.
format
(
url
,
id
,
operationId
,
skipSap
);
url
=
MessageFormat
.
format
(
url
,
id
,
operationId
);
return
Api100
(
"API101"
,
url
);
// if (Debug) {
// log.info("调试状态直接返回true, 调用MES接口 API101: url=" + url + " ");
// return ResultBean.newOkResult(true);
// }
// try {
// log.info("调用MES接口 API101: url=" + url + " ");
// MicronResult result = HttpHelper.getMicronJson(url);
// String errMsg = getDErrorMsg(result);
// if (result.isOk()) {
// return ResultBean.newOkResult(true);
// } else if (ObjectUtil.isNotEmpty(errMsg)) {
// log.error("API101 ,接口通信失败:" + errMsg);
// return ResultBean.newErrorResult(-1, "smfcore.api.fail", "{0} Failed to get data", new String[]{"Api011 : " + errMsg});
//
// } else {
// log.error("API101 ,接口通信失败:" + result.getResponseData());
// return ResultBean.newErrorResult(-1, "smfcore.api.fail", "{0} Failed to get data", new String[]{"Api011 : " + result.getResponseData()});
// }
//
// } catch (ApiException e) {
// log.error(url + "出错", e);
// return ResultBean.newErrorResult(-1, e.getMsgKey(), e.getDefaultMsg(),e.getMsgParam());
// }
try
{
log
.
info
(
"调用MES接口 API102: url="
+
url
+
" "
);
MicronResult
result
=
HttpHelper
.
getMicronJson
(
url
);
return
true
;
}
catch
(
ApiException
e
)
{
log
.
error
(
url
+
"出错"
,
e
);
}
}
return
false
;
public
static
ResultBean
Api102
(
String
id
,
String
operationId
)
{
String
url
=
config
.
getUrl
(
config
.
api_name_102
);
url
=
MessageFormat
.
format
(
url
,
id
,
operationId
);
return
Api100
(
"API102"
,
url
);
}
}
public
static
boolean
Api103
(
String
purchaseOrder
,
String
packagingSlip
,
String
operationId
,
String
skipSap
)
{
public
static
ResultBean
Api103
(
String
packagingSlip
,
String
purchaseOrder
,
String
operationId
,
String
skipSap
)
{
String
url
=
config
.
getUrl
(
config
.
api_name_103
);
String
url
=
config
.
getUrl
(
config
.
api_name_103
);
url
=
MessageFormat
.
format
(
url
,
purchaseOrder
,
packagingSlip
,
operationId
,
skipSap
);
url
=
MessageFormat
.
format
(
url
,
purchaseOrder
,
packagingSlip
,
operationId
,
skipSap
);
return
Api100
(
"API102"
,
url
);
try
{
log
.
info
(
"调用MES接口 API103: url="
+
url
+
" "
);
MicronResult
result
=
HttpHelper
.
getMicronJson
(
url
);
return
true
;
}
catch
(
ApiException
e
)
{
log
.
error
(
url
+
"出错"
,
e
);
}
return
false
;
}
}
public
static
String
Api201
(
String
linePrepOrderId
,
String
operationId
)
{
public
static
String
Api201
(
String
linePrepOrderId
,
String
operationId
)
{
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/loading/LoadingController.java
查看文件 @
5f460c1
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/micron1053/loading/util/LoadingUtil.java
查看文件 @
5f460c1
...
@@ -128,6 +128,11 @@ public class LoadingUtil {
...
@@ -128,6 +128,11 @@ public class LoadingUtil {
if
(
inList
==
null
)
{
if
(
inList
==
null
)
{
return
;
return
;
}
}
//如果入库单已手动结束,不再接收新任务
if
(
inList
.
isManualFinish
()){
log
.
info
(
"AddInListItem 当前入库["
+
inList
.
getName
()
+
"]已手动结束,不添加新物料:"
+
barcode
.
getBarcode
());
return
;
}
inList
.
addRfid
(
rfid
);
inList
.
addRfid
(
rfid
);
inList
.
setStatus
(
INLIST_STATUS
.
ABNORMAL
);
inList
.
setStatus
(
INLIST_STATUS
.
ABNORMAL
);
...
@@ -415,7 +420,10 @@ public class LoadingUtil {
...
@@ -415,7 +420,10 @@ public class LoadingUtil {
return
true
;
return
true
;
}
}
private
boolean
PushToMes
(
String
rfid
,
InList
inList
,
List
<
StoragePos
>
posList
)
{
private
boolean
PushToMes
(
String
rfid
,
InList
inList
,
List
<
StoragePos
>
posList
)
{
return
PushToMes
(
rfid
,
inList
,
posList
,
false
);
}
private
boolean
PushToMes
(
String
rfid
,
InList
inList
,
List
<
StoragePos
>
posList
,
boolean
manualFinish
)
{
for
(
InListItem
item
:
inList
.
getInListItems
())
{
for
(
InListItem
item
:
inList
.
getInListItems
())
{
if
(
item
.
getRfid
().
equals
(
rfid
)
&&
item
.
getState
()
==
INITEM_STATUS
.
Cancel
&&
ObjectUtil
.
isNotEmpty
(
item
.
getRi
())&&
ObjectUtil
.
isNotEmpty
(
item
.
getPosName
()))
{
if
(
item
.
getRfid
().
equals
(
rfid
)
&&
item
.
getState
()
==
INITEM_STATUS
.
Cancel
&&
ObjectUtil
.
isNotEmpty
(
item
.
getRi
())&&
ObjectUtil
.
isNotEmpty
(
item
.
getPosName
()))
{
...
@@ -431,7 +439,11 @@ public class LoadingUtil {
...
@@ -431,7 +439,11 @@ public class LoadingUtil {
List
<
InListItem
>
inListItems
=
new
ArrayList
<>();
List
<
InListItem
>
inListItems
=
new
ArrayList
<>();
boolean
isEnd
=
true
;
boolean
isEnd
=
true
;
if
(
inList
.
getRfidList
().
size
()
<
inList
.
getShelfNum
())
{
if
(
manualFinish
){
inList
.
setManualFinish
(
manualFinish
);
}
else
if
(
inList
.
getRfidList
().
size
()
<
inList
.
getShelfNum
())
{
isEnd
=
false
;
isEnd
=
false
;
}
}
for
(
InListItem
item
:
for
(
InListItem
item
:
...
@@ -473,21 +485,14 @@ public class LoadingUtil {
...
@@ -473,21 +485,14 @@ public class LoadingUtil {
}
}
inList
.
setInListItems
(
inListItems
);
inList
.
setInListItems
(
inListItems
);
if
(
isEnd
)
{
if
(
isEnd
)
{
log
.
info
(
"更新 入库单["
+
inList
.
getName
()
+
"] 状态改为 OK"
);
log
.
info
(
"更新 入库单["
+
inList
.
getName
()
+
"]
manualFinish=["
+
manualFinish
+
"]
状态改为 OK"
);
inList
.
setStatus
(
INLIST_STATUS
.
OK
);
inList
.
setStatus
(
INLIST_STATUS
.
OK
);
}
else
{
}
else
{
log
.
info
(
"更新 入库单["
+
inList
.
getName
()
+
"] 状态改为 ABNORMAL"
);
log
.
info
(
"更新 入库单["
+
inList
.
getName
()
+
"]
manualFinish=["
+
manualFinish
+
"]
状态改为 ABNORMAL"
);
inList
.
setStatus
(
INLIST_STATUS
.
ABNORMAL
);
inList
.
setStatus
(
INLIST_STATUS
.
ABNORMAL
);
}
}
inList
=
inListManager
.
save
(
inList
);
inList
=
inListManager
.
save
(
inList
);
inListCache
.
addInListToMap
(
inList
);
inListCache
.
addInListToMap
(
inList
);
//判断是否全部完成
/*if (isEnd) {
log.info(" 入库单[" + inList.getName() + "]:任务已全部完成,清空当前loadinginfo");
dataCache.updateCache(Constants.CACHE_LOADING, new LoadingInfo());
}*/
return
true
;
return
true
;
}
}
public
boolean
Retry
()
{
public
boolean
Retry
()
{
...
@@ -571,4 +576,39 @@ public class LoadingUtil {
...
@@ -571,4 +576,39 @@ public class LoadingUtil {
return
""
;
return
""
;
}
}
public
InList
finish
(
InList
inList
)
{
//如果没有任何入库信息,直接结束
if
(
inList
.
getRfidList
().
size
()<=
0
&&
inList
.
getInListItems
().
size
()<=
0
){
inList
.
setManualFinish
(
true
);
inList
.
setStatus
(
INLIST_STATUS
.
OK
);
inList
=
inListManager
.
save
(
inList
);
inListCache
.
addInListToMap
(
inList
);
log
.
info
(
"finish 入库单["
+
inList
.
getName
()
+
"] 手动结束,当前无任务,设置 manualFinish=true, 状态改为 OK"
);
return
inList
;
}
for
(
String
rfid
:
inList
.
getRfidList
())
{
List
<
StoragePos
>
posList
=
new
ArrayList
<>();
//查找所有失败的重新推送
for
(
InListItem
item
:
inList
.
getInListItems
())
{
if
(
ObjectUtil
.
isEmpty
(
item
.
getPosName
()))
{
continue
;
}
if
(
item
.
getRfid
().
equals
(
rfid
)
&&
item
.
getState
()
==
INITEM_STATUS
.
Fail
)
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
item
.
getPosName
());
posList
.
add
(
pos
);
}
else
if
(
item
.
getState
()
==
INITEM_STATUS
.
PutEnd
)
{
StoragePos
pos
=
storagePosManager
.
getByPosName
(
item
.
getPosName
());
posList
.
add
(
pos
);
}
}
if
(
posList
.
size
()
>
0
)
{
PushToMes
(
rfid
,
inList
,
posList
);
}
}
return
getInlist
();
}
}
}
src/main/resources/messages.properties
查看文件 @
5f460c1
...
@@ -362,7 +362,8 @@ smfcore.error.barcode.hastask=\u6761\u7801[0]\u5DF2\u6709\u5165\u5E93\u4EFB\u52A
...
@@ -362,7 +362,8 @@ smfcore.error.barcode.hastask=\u6761\u7801[0]\u5DF2\u6709\u5165\u5E93\u4EFB\u52A
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
53F7[0]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\u
FF0C
\u
51FA
\u
5E93
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5E93
\u
76F8
\u
540C
\u
5E8F
\u5217\u
53F7
\u7269\u6599
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
53F7[0]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\u
FF0C
\u
51FA
\u
5E93
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5E93
\u
76F8
\u
540C
\u
5E8F
\u5217\u
53F7
\u7269\u6599
smfcore.error.noRetryReel=No material found to retry
smfcore.error.noRetryReel=No material found to retry
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.modeError
=
\u
53C2
\u6570\u9519\u
8BEF {0}
\u5165\u
5E93
\u
8FD8
\u
672A
\u
5B8C
\u6210
smfcore.micron.modeError
=
{0}
\u5165\u
5E93
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlisttaskNotEnd
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u5165\u
5E93
\u
4EFB
\u
52A1{0}
\u
672A
\u
5B8C
\u6210
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
...
...
src/main/resources/messages_en_US.properties
查看文件 @
5f460c1
...
@@ -361,4 +361,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
...
@@ -361,4 +361,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
smfcore.error.barcode.hasOutTask
=
Serial No.(S)[0] already have retrieval task, cannot store same Serial No. material before retrieval finish
smfcore.error.barcode.hasOutTask
=
Serial No.(S)[0] already have retrieval task, cannot store same Serial No. material before retrieval finish
smfcore.error.noRetryReel
=
No material found to retry
smfcore.error.noRetryReel
=
No material found to retry
smfcore.micron.inlistCannotAbort
=
Operation failed: there are still inbound tasks to be completed
smfcore.micron.inlistCannotAbort
=
Operation failed: there are still inbound tasks to be completed
smfcore.micron.modeError
=
Parameter error. {0} Incoming not finished.
\ No newline at end of file
\ No newline at end of file
smfcore.micron.modeError
=
{0} Loading not finished.
smfcore.micron.inlisttaskNotEnd
=
Operation Failed: Task {0} Not Completed
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
5f460c1
...
@@ -356,4 +356,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
...
@@ -356,4 +356,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
smfcore.error.barcode.hasOutTask
=
Serial No.(S)[0] already have retrieval task, cannot store same Serial No. material before retrieval finish
smfcore.error.barcode.hasOutTask
=
Serial No.(S)[0] already have retrieval task, cannot store same Serial No. material before retrieval finish
smfcore.error.noRetryReel
=
No material found to retry
smfcore.error.noRetryReel
=
No material found to retry
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u
306B
\u5931\u6557\u3057\u
307E
\u3057\u
305F
\u
FF1A
\u
5B8C
\u
4E86
\u3059\u3079\u
304D
\u
53D7
\u
4FE1
\u
30BF
\u
30B9
\u
30AF
\u
304C
\u
6B8B
\u3063\u3066\u3044\u
307E
\u3059
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u
306B
\u5931\u6557\u3057\u
307E
\u3057\u
305F
\u
FF1A
\u
5B8C
\u
4E86
\u3059\u3079\u
304D
\u
53D7
\u
4FE1
\u
30BF
\u
30B9
\u
30AF
\u
304C
\u
6B8B
\u3063\u3066\u3044\u
307E
\u3059
smfcore.micron.modeError
=
\u
53C2
\u6570\u9519\u
8BEF {0} Loading
\u
8FD8
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
smfcore.micron.modeError
=
{0}
\u5165\u
5E93
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlisttaskNotEnd
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u5165\u
5E93
\u
4EFB
\u
52A1{0}
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
5f460c1
...
@@ -356,4 +356,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
...
@@ -356,4 +356,5 @@ smfcore.error.barcode.hastask=Serial No.(S)[0] already have storage task
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
53F7[0]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\u
FF0C
\u
51FA
\u
5E93
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5E93
\u
76F8
\u
540C
\u
5E8F
\u5217\u
53F7
\u7269\u6599
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
53F7[0]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\u
FF0C
\u
51FA
\u
5E93
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5E93
\u
76F8
\u
540C
\u
5E8F
\u5217\u
53F7
\u7269\u6599
smfcore.error.noRetryReel
=
\u
6CA1
\u6709\u
53EF
\u
4EE5
\u
91CD
\u
8BD5
\u7684\u7269\u6599
smfcore.error.noRetryReel
=
\u
6CA1
\u6709\u
53EF
\u
4EE5
\u
91CD
\u
8BD5
\u7684\u7269\u6599
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.modeError
=
\u
53C2
\u6570\u9519\u
8BEF {0}
\u5165\u
5E93
\u
8FD8
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
smfcore.micron.modeError
=
{0}
\u5165\u
5E93
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlisttaskNotEnd
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u5165\u
5E93
\u
4EFB
\u
52A1{0}
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
5f460c1
...
@@ -357,4 +357,5 @@ smfcore.selfAudit.hasOutTask=\u5E93\u4F4D[{0}]\u5DF2\u6709\u51FA\u5E93\u4EFB\u52
...
@@ -357,4 +357,5 @@ smfcore.selfAudit.hasOutTask=\u5E93\u4F4D[{0}]\u5DF2\u6709\u51FA\u5E93\u4EFB\u52
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
865F[0]
\u
5DF2
\u6709\u
51FA
\u
5EAB
\u
4EFB
\u
52D9
\u
FF0C
\u
51FA
\u
5EAB
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5EAB
\u
76F8
\u
540C
\u
5E8F
\u5217\u
865F
\u7269\u6599
smfcore.error.barcode.hasOutTask
=
\u
5E8F
\u5217\u
865F[0]
\u
5DF2
\u6709\u
51FA
\u
5EAB
\u
4EFB
\u
52D9
\u
FF0C
\u
51FA
\u
5EAB
\u
524D
\u
4E0D
\u
5F97
\u5165\u
5EAB
\u
76F8
\u
540C
\u
5E8F
\u5217\u
865F
\u7269\u6599
smfcore.error.noRetryReel
=
\u
6C92
\u6709\u
53EF
\u
4EE5
\u
91CD
\u
8A66
\u7684\u7269\u6599
smfcore.error.noRetryReel
=
\u
6C92
\u6709\u
53EF
\u
4EE5
\u
91CD
\u
8A66
\u7684\u7269\u6599
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlistCannotAbort
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u
8FD8
\u6709\u5165\u
5E93
\u
4EFB
\u
52A1
\u
672A
\u
5B8C
\u6210
smfcore.micron.modeError
=
\u
53C2
\u6570\u9519\u
8BEF {0}
\u5165\u
5E93
\u
8FD8
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
smfcore.micron.modeError
=
{0}
\u5165\u
5E93
\u
672A
\u
5B8C
\u6210
smfcore.micron.inlisttaskNotEnd
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF1A
\u5165\u
5E93
\u
4EFB
\u
52A1{0}
\u
672A
\u
5B8C
\u6210
\ No newline at end of file
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论