Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 6adc0672
由
LN
编写于
2021-10-25 10:49:30 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
手动出库功能
1 个父辈
94b2abde
全部展开
显示空白字符变更
内嵌
并排
正在显示
10 个修改的文件
包含
116 行增加
和
26 行删除
src/main/java/com/neotel/smfcore/core/barcode/bean/BarcodeRule.java
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/dto/CodeDto.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.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/barcode/bean/BarcodeRule.java
查看文件 @
6adc067
...
...
@@ -497,7 +497,7 @@ public class BarcodeRule {
}
codeBean
.
setCodeStr
(
codeStr
);
if
(!
isValidRule
()){
codeBean
.
setError
(
"error.barcode.noRule"
,
"解析规则未定义"
);
codeBean
.
setError
(
"
smfcode.
error.barcode.noRule"
,
"解析规则未定义"
);
return
codeBean
;
}
String
[]
codeArr
=
new
String
[]{
codeStr
};
...
...
@@ -506,7 +506,7 @@ public class BarcodeRule {
//条码与规则长度对应不上
if
(
codeArr
.
length
!=
length
){
log
.
info
(
"条码["
+
codeStr
+
"]与规则【"
+
ruleStr
+
"】长度不同"
);
codeBean
.
setError
(
"
error.barcode.wrongLength"
,
new
String
[]{},
"条码["
+
codeStr
+
"
]长度错误"
);
codeBean
.
setError
(
"
smfcode.error.barcode.wrongLength"
,
new
String
[]{
codeStr
},
"条码[{0}
]长度错误"
);
return
codeBean
;
}
else
{
codeArr
=
codeStr
.
split
(
separator
,
length
);
...
...
@@ -525,7 +525,7 @@ public class BarcodeRule {
if
(
Strings
.
isNullOrEmpty
(
reelId
)){
log
.
info
(
"条码解析失败,未找到RI字段"
);
codeBean
.
setError
(
"
error.barcode.noField"
,
new
String
[]{
"RI"
},
"条码解析失败,未找到RI
字段"
);
codeBean
.
setError
(
"
smfcode.error.barcode.noField"
,
new
String
[]{
"RI"
},
"条码解析失败,未找到{0}
字段"
);
return
codeBean
;
}
...
...
@@ -533,7 +533,7 @@ public class BarcodeRule {
if
(
Strings
.
isNullOrEmpty
(
partNumber
)){
log
.
info
(
"条码解析失败,未找到PN字段"
);
codeBean
.
setError
(
"
error.barcode.noField"
,
new
String
[]{
"PN"
},
"条码解析失败,未找到PN
字段"
);
codeBean
.
setError
(
"
smfcode.error.barcode.noField"
,
new
String
[]{
"PN"
},
"条码解析失败,未找到{0}
字段"
);
return
codeBean
;
}
if
(
batch_item
.
hasThisField
()){
...
...
@@ -545,7 +545,7 @@ public class BarcodeRule {
quantity
=
quantity_item
.
getIntValue
(
codeArr
);
if
(
quantity
==
-
1
){
log
.
info
(
"条码解析失败,未找到QTY 字段"
);
codeBean
.
setError
(
"
error.barcode.noField"
,
new
String
[]{
"QTY"
},
"条码解析失败,未找到QTY
字段"
);
codeBean
.
setError
(
"
smfcode.error.barcode.noField"
,
new
String
[]{
"QTY"
},
"条码解析失败,未找到{0}
字段"
);
return
codeBean
;
}
}
...
...
@@ -553,7 +553,7 @@ public class BarcodeRule {
Date
produceDate
=
produceDate_item
.
getDateValue
(
codeArr
);
if
(
produceDate_item
.
hasThisField
()
&&
produceDate
==
null
){
log
.
info
(
"条码解析失败,PRODATE字段不合规则"
);
codeBean
.
setError
(
"
error.barcode.noField"
,
new
String
[]{
"PRODATE"
},
"条码解析失败,未找到PRODATE
字段"
);
codeBean
.
setError
(
"
smfcode.error.barcode.noField"
,
new
String
[]{
"PRODATE"
},
"条码解析失败,未找到{0}
字段"
);
return
codeBean
;
}
Date
expireDate
=
expireDate_item
.
getDateValue
(
codeArr
);
...
...
src/main/java/com/neotel/smfcore/core/barcode/rest/bean/dto/CodeDto.java
查看文件 @
6adc067
...
...
@@ -4,7 +4,9 @@ import com.google.common.collect.Lists;
import
com.neotel.smfcore.core.barcode.enums.BARCODE_STATUS
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.enums.SOLDER_STATUS
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.ToString
;
...
...
@@ -30,10 +32,16 @@ public class CodeDto implements Serializable {
@ApiModelProperty
(
"高度"
)
private
int
height
=
0
;
/**
* 原始条码
*/
@ApiModelProperty
(
"原始条码"
)
private
String
fullCode
;
@ApiModelProperty
(
"库位信息/仓位"
)
private
String
posName
;
@ApiModelProperty
(
"数量"
)
private
int
amount
;
@ApiModelProperty
(
"错误提示"
)
private
String
error
;
}
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
6adc067
...
...
@@ -50,7 +50,7 @@ public class CodeResolve {
if
(
barcodeRuleList
==
null
||
barcodeRuleList
.
isEmpty
()){
CodeBean
codeBean
=
new
CodeBean
();
codeBean
.
setBarcode
(
null
);
codeBean
.
setError
(
"error.barcode.noRules"
,
"解析规则未定义"
);
codeBean
.
setError
(
"
smfcode.
error.barcode.noRules"
,
"解析规则未定义"
);
codeBean
.
setCodeStr
(
barcodeItemStr
);
return
codeBean
;
}
...
...
@@ -199,21 +199,21 @@ public class CodeResolve {
}
}
catch
(
ValidateException
ve
){
//档案不存在
codeBeanFromRule
.
setError
(
"
error.barcode.pnNotExist"
,
new
String
[]{
barcodeFromRule
.
getPartNumber
()},
"x档案 "
+
barcodeFromRule
.
getPartNumber
()+
"
不存在"
);
log
.
warn
(
"
x
档案"
+
barcodeFromRule
.
getPartNumber
()+
"不存在"
);
codeBeanFromRule
.
setError
(
"
smfcode.error.barcode.pnNotExist"
,
new
String
[]{
barcodeFromRule
.
getPartNumber
()},
"档案 {0}
不存在"
);
log
.
warn
(
"档案"
+
barcodeFromRule
.
getPartNumber
()+
"不存在"
);
}
//解析成功了,直接返回
return
codeBeanFromRule
;
}
else
{
//在数据库中不存在,且未解析成功,用其他规则再解析
codeBeanFromRule
.
setError
(
"
error.barcode.invalid"
,
new
String
[]{
barcodeItemStr
},
barcodeItemStr
+
"
不是有效的条码"
);
codeBeanFromRule
.
setError
(
"
smfcode.error.barcode.invalid"
,
new
String
[]{
barcodeItemStr
},
"{0}
不是有效的条码"
);
}
}
if
(
codeBeanFromRule
==
null
){
codeBeanFromRule
=
new
CodeBean
();
codeBeanFromRule
.
setBarcode
(
null
);
codeBeanFromRule
.
setError
(
"
error.barcode.invalid"
,
new
String
[]{
barcodeItemStr
},
barcodeItemStr
+
"
不是有效的条码"
);
codeBeanFromRule
.
setError
(
"
smfcode.error.barcode.invalid"
,
new
String
[]{
barcodeItemStr
},
"{0}
不是有效的条码"
);
codeBeanFromRule
.
setCodeStr
(
barcodeItemStr
);
return
codeBeanFromRule
;
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
查看文件 @
6adc067
...
...
@@ -7,8 +7,11 @@ import com.neotel.smfcore.common.bean.PageData;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.common.utils.StorageConstants
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.rest.dto.*
;
...
...
@@ -21,6 +24,7 @@ import com.neotel.smfcore.core.storage.service.manager.IStoragePosManager;
import
com.neotel.smfcore.core.storage.service.po.Label
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.TaskService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -61,6 +65,9 @@ public class MaterialController {
@Autowired
private
final
ILabelManager
labelManager
;
@Autowired
private
final
IBarcodeManager
barcodeManager
;
@ApiOperation
(
"策略出库获取库存列表"
)
@GetMapping
(
value
=
"/inventory"
)
@PreAuthorize
(
"@el.check('tacticsOuput')"
)
...
...
@@ -153,20 +160,20 @@ public class MaterialController {
@PostMapping
(
value
=
"/labelOuput"
)
@PreAuthorize
(
"@el.check('labelOuput')"
)
public
ResultBean
labelOuput
(
@RequestBody
PosLabelDto
params
)
{
List
<
String
>
posIds
=
params
.
getPosIds
();
List
<
String
>
posIds
=
params
.
getPosIds
();
if
(
posIds
==
null
)
{
throw
new
ValidateException
(
"smfcode.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"PN"
});
}
for
(
String
posId
:
posIds
)
{
for
(
String
posId
:
posIds
)
{
StoragePos
pos
=
storagePosManager
.
get
(
posId
);
if
(
pos
==
null
)
{
throw
new
ValidateException
(
"smfcode.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"posId"
,
posId
});
throw
new
ValidateException
(
"smfcode.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"posId"
,
posId
});
}
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
if
(
storage
==
null
)
{
throw
new
ValidateException
(
"smfcode.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"storageId"
,
pos
.
getStorageId
()});
throw
new
ValidateException
(
"smfcode.valueNotExist"
,
"{0}[{1}]不存在"
,
new
String
[]{
"storageId"
,
pos
.
getStorageId
()});
}
log
.
info
(
"出库料仓【"
+
storage
.
getName
()
+
"_"
+
storage
.
getCid
()
+
"】位置仓位【"
+
pos
.
getPosName
()
+
"】"
);
...
...
@@ -187,17 +194,48 @@ public class MaterialController {
// List<String> posIds=(List<String>) params.get("posIds");
// String labelId = params.get("labelId").toString();
List
<
String
>
posIds
=
params
.
getPosIds
();
String
labelId
=
params
.
getLabelId
();
if
(
posIds
==
null
||
posIds
.
size
()<=
0
)
{
List
<
String
>
posIds
=
params
.
getPosIds
();
String
labelId
=
params
.
getLabelId
();
if
(
posIds
==
null
||
posIds
.
size
()
<=
0
)
{
throw
new
ValidateException
(
"smfcode.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"ID"
});
}
if
(
ObjectUtil
.
isEmpty
(
labelId
))
{
labelId
=
""
;
if
(
ObjectUtil
.
isEmpty
(
labelId
))
{
labelId
=
""
;
}
String
[]
array
=
posIds
.
toArray
(
new
String
[
posIds
.
size
()])
;
storagePosManager
.
updatePosLabel
(
array
,
labelId
);
String
[]
array
=
posIds
.
toArray
(
new
String
[
posIds
.
size
()])
;
storagePosManager
.
updatePosLabel
(
array
,
labelId
);
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"手动出库"
)
@PostMapping
(
value
=
"/manualOut"
)
@PreAuthorize
(
"@el.check('manualOut')"
)
public
ResultBean
manualOut
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
code
=
paramMap
.
get
(
"barcode"
);
Barcode
barcode
=
barcodeManager
.
findByBarcode
(
code
);
StoragePos
storagePos
=
storagePosManager
.
getByBarcode
(
code
);
if
(
storagePos
!=
null
)
{
if
(!
ObjectUtil
.
isEmpty
(
storagePos
.
getBarcode
().
getLockId
()))
{
throw
new
ValidateException
(
"smfcode.error.barcode.locked"
,
"库位[{0}]已被锁定"
);
}
try
{
if
(
barcode
!=
null
)
{
String
opUser
=
SecurityUtils
.
getCurrentUsername
();
log
.
info
(
opUser
+
"清理库位["
+
storagePos
.
getPosName
()
+
"],条码["
+
code
+
"]中的库存"
+
barcode
.
getBarcode
());
taskService
.
addTaskToFinished
(
storagePos
,
null
,
opUser
+
"-manual"
);
}
else
{
log
.
info
(
"清理库位["
+
storagePos
.
getPosName
()
+
"],条码["
+
code
+
"],库位条码为空"
);
}
return
ResultBean
.
newOkResult
(
"smfcode.manualOut.ok"
,
"手动出库成功"
,
code
);
}
catch
(
Exception
e
)
{
return
ResultBean
.
newOkResult
(
"smfcore.error"
,
"出错{0}"
,
new
String
[]{
e
.
getMessage
()},
code
);
}
}
else
{
throw
new
ValidateException
(
"smfcode.manualOut.notFound"
,
"仓库中未找到料盘信息"
);
}
}
}
src/main/java/com/neotel/smfcore/core/storage/rest/StoragePosController.java
查看文件 @
6adc067
此文件的差异被折叠,
点击展开。
src/main/resources/messages.properties
查看文件 @
6adc067
...
...
@@ -100,7 +100,15 @@ smfcode.order.out.noTask=\u5DE5\u5355\u65E0\u53EF\u6267\u884C\u7684\u4EFB\u52A1
smfcode.cannotUpdateOrderNum
=
\u
5DE5
\u5355\u
5DF2
\u
51FA
\u
5E93
\u
FF0C
\u
4E0D
\u
80FD
\u
4FEE
\u6539\u6570\u
91CF
smfcode.order.close.success
=
\u
5DE5
\u5355\u5173\u
95ED
\u6210\u
529F
smfcode.order.close.taskNotEnd
=
\u
5DE5
\u5355\u
8FD8
\u6709\u
672A
\u
5B8C
\u6210\u7684\u
4EFB
\u
52A1
smfcore.manualOut
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
smfcode.error.barcode.noRules
=
\u
89E3
\u6790\u
89C4
\u5219\u
672A
\u
5B9A
\u
4E49
smfcode.error.barcode.wrongLength
=
\u6761\u7801
[{0}]
\u
957F
\u
5EA6
\u9519\u
8BEF
smfcode.error.barcode.noField
=
\u6761\u7801\u
89E3
\u6790\u5931\u
8D25,
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcode.error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcode.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcode.error.barcode.locked
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9501\u
5B9A
smfcode.manualOut.ok
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
\u6210\u
529F
smfcode.manualOut.notFound
=
\u
4ED3
\u
5E93
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76D8
\u
4FE1
\u
606F
...
...
src/main/resources/messages_en_US.properties
查看文件 @
6adc067
...
...
@@ -100,3 +100,12 @@ smfcode.order.out.noTask=Work order No executable tasks
smfcode.cannotUpdateOrderNum
=
The work order has been issued and the quantity cannot be modified
smfcode.order.close.success
=
Work order closed successfully
smfcode.order.close.taskNotEnd
=
Work orders with outstanding tasks
smfcore.manualOut
=
Manual outbound
smfcode.error.barcode.noRules
=
Parsing rules not defined
smfcode.error.barcode.wrongLength
=
The barcode [{0}] is of wrong length
smfcode.error.barcode.noField
=
Bar code parsing failed, {0} field not found
smfcode.error.barcode.pnNotExist
=
Material file {0} does not exist
smfcode.error.barcode.invalid
=
{0} is not a valid barcode
smfcode.error.barcode.locked
=
Library bit [{0}] is locked
smfcode.manualOut.ok
=
Manual exit successful
smfcode.manualOut.notFound
=
No tray information found
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
6adc067
...
...
@@ -100,3 +100,12 @@ smfcode.order.out.noTask=\u4F5C\u696D\u6307\u793A\u304C\u5B9F\u884C\u3067\u304D\
smfcode.cannotUpdateOrderNum
=
\u
30EF
\u
30FC
\u
30AF
\u
30AA
\u
30FC
\u
30C0
\u
30FC
\u
304C
\u5728\u
5EAB
\u5207\u
308C
\u3067\u6570\u
91CF
\u
304C
\u5909\u
66F4
\u3067\u
304D
\u
306A
\u3044
smfcode.order.close.success=
\u
30EF
\u
30FC
\u
30AF
\u
30AA
\u
30FC
\u
30C0
\u
30FC
\u
304C
\u
6B63
\u
5E38
\u
306B
\u
7D42
\u
4E86
\u3057\u
307E
\u3057\u
305F
\u3002
smfcode.order.close.taskNotEnd
=
\u
672A
\u
51E6
\u7406\u
306E
\u
30BF
\u
30B9
\u
30AF
\u
304C
\u3042\u
308B
\u
30EF
\u
30FC
\u
30AF
\u
30AA
\u
30FC
\u
30C0
\u
30FC
smfcore.manualOut
=
\u
30DE
\u
30CB
\u
30E5
\u
30A2
\u
30EB
\u
30A2
\u
30A6
\u
30C8
\u
30D0
\u
30A6
\u
30F3
\u
30C9
smfcode.error.barcode.noRules
=
\u
69CB
\u6587\u
89E3
\u6790\u
30EB
\u
30FC
\u
30EB
\u
304C
\u
5B9A
\u
7FA9
\u3055\u
308C
\u3066\u3044\u
306A
\u3044
f
smfcode.error.barcode.wrongLength
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9[{0}]
\u
306E
\u9577\u3055\u
304C
\u
4E0D
\u
6B63
\u3067\u3059
smfcode.error.barcode.noField
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u
306E
\u
89E3
\u6790\u
306B
\u5931\u6557\u3057\u
307E
\u3057\u
305F
\u3002\u
30D5
\u
30A3
\u
30FC
\u
30EB
\u
30C9{0}
\u
304C
\u
898B
\u3064\u
304B
\u
308A
\u
307E
\u
305B
\u3093
smfcode.error.barcode.pnNotExist
=
\u
30D5
\u
30A1
\u
30A4
\u
30EB{0}
\u
304C
\u
5B58
\u5728\u3057\u
306A
\u3044
smfcode.error.barcode.invalid
=
{0}
\u
306F
\u6709\u
52B9
\u
306A
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3067\u
306F
\u3042\u
308A
\u
307E
\u
305B
\u3093
smfcode.error.barcode.locked
=
\u
30E9
\u
30A4
\u
30D6
\u
30E9
\u
30EA
\u
30DD
\u
30B8
\u
30B7
\u
30E7
\u
30F3 [{0}]
\u
304C
\u
30ED
\u
30C3
\u
30AF
\u3055\u
308C
\u3066\u3044\u
308B
smfcode.manualOut.ok
=
\u
624B
\u
52D5
\u
7D42
\u
4E86
\u6210\u
529F
smfcode.manualOut.notFound
=
\u5009\u
5EAB
\u3067\u
30D1
\u
30EC
\u
30C3
\u
30C8
\u
60C5
\u5831\u
304C
\u
898B
\u3064\u
304B
\u3089\u
306A
\u3044
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
6adc067
...
...
@@ -100,3 +100,12 @@ smfcode.order.out.noTask=\u5DE5\u5355\u65E0\u53EF\u6267\u884C\u7684\u4EFB\u52A1
smfcode.cannotUpdateOrderNum
=
\u
5DE5
\u5355\u
5DF2
\u
51FA
\u
5E93
\u
FF0C
\u
4E0D
\u
80FD
\u
4FEE
\u6539\u6570\u
91CF
smfcode.order.close.success
=
\u
5DE5
\u5355\u5173\u
95ED
\u6210\u
529F
smfcode.order.close.taskNotEnd
=
\u
5DE5
\u5355\u
8FD8
\u6709\u
672A
\u
5B8C
\u6210\u7684\u
4EFB
\u
52A1
smfcore.manualOut
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
smfcode.error.barcode.noRules
=
\u
89E3
\u6790\u
89C4
\u5219\u
672A
\u
5B9A
\u
4E49
smfcode.error.barcode.wrongLength
=
\u6761\u7801
[{0}]
\u
957F
\u
5EA6
\u9519\u
8BEF
smfcode.error.barcode.noField
=
\u6761\u7801\u
89E3
\u6790\u5931\u
8D25,
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcode.error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcode.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
smfcode.error.barcode.locked
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9501\u
5B9A
smfcode.manualOut.ok
=
\u
624B
\u
52A8
\u
51FA
\u
5E93
\u6210\u
529F
smfcode.manualOut.notFound
=
\u
4ED3
\u
5E93
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76D8
\u
4FE1
\u
606F
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
6adc067
...
...
@@ -100,3 +100,12 @@ smfcode.order.out.noTask=\u5DE5\u55AE\u7121\u53EF\u57F7\u884C\u7684\u4EFB\u52D9
smfcode.cannotUpdateOrderNum
=
\u
5DE5
\u
55AE
\u
5DF2
\u
51FA
\u
5EAB
\u
FF0C
\u
4E0D
\u
80FD
\u
4FEE
\u6539\u6578\u
91CF
smfcode.order.close.success
=
\u
5DE5
\u
55AE
\u
95DC
\u9589\u6210\u
529F
smfcode.order.close.taskNotEnd
=
\u
5DE5
\u
55AE
\u9084\u6709\u
672A
\u
5B8C
\u6210\u7684\u
4EFB
\u
52D9
smfcore.manualOut
=
\u
624B
\u
52D5
\u
51FA
\u
5EAB
smfcode.error.barcode.noRules
=
\u
89E3
\u6790\u
898F
\u5247\u
672A
\u
5B9A
\u
7FA9
smfcode.error.barcode.wrongLength
=
\u
689D
\u
78BC[{0}]
\u9577\u
5EA6
\u
932F
\u
8AA4
smfcode.error.barcode.noField
=
\u
689D
\u
78BC
\u
89E3
\u6790\u5931\u6557\u
FF0C
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
smfcode.error.barcode.pnNotExist
=
\u
6A94
\u6848
{0}
\u
4E0D
\u
5B58
\u5728
smfcode.error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u
689D
\u
78BC
smfcode.error.barcode.locked
=
\u
5EAB
\u
4F4D[{0}]
\u
5DF2
\u
88AB
\u9396\u
5B9A
smfcode.manualOut.ok
=
\u
624B
\u
52D5
\u
51FA
\u
5EAB
\u6210\u
529F
smfcode.manualOut.notFound
=
\u5009\u
5EAB
\u
4E2D
\u
672A
\u
627E
\u5230\u6599\u
76E4
\u
4FE1
\u
606F
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论