Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
SmdBox
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit c833ac2b
由
sunke
编写于
2020-06-29 14:15:41 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
扫码料架入库推荐库位
添加日语 尾料先出改为数量小的先出 清理库位时更新库存
1 个父辈
5dabe5bb
隐藏空白字符变更
内嵌
并排
正在显示
17 个修改的文件
包含
1107 行增加
和
286 行删除
myproject/src/main/java/com/myproject/bean/Language.java
myproject/src/main/java/com/myproject/bean/utils/StatusBean.java
myproject/src/main/java/com/myproject/manager/impl/StoragePosManagerImpl.java
myproject/src/main/java/com/myproject/util/BarcodeRule.java
myproject/src/main/java/com/myproject/webapp/controller/storage/CodeShelfController.java
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosUpdateController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/StatusController.java
myproject/src/main/java/com/myproject/webapp/filter/LocaleFilter.java
myproject/src/main/resources/ApplicationResources_jp.properties
myproject/src/main/resources/StorageResources.properties
myproject/src/main/resources/StorageResources_en.properties
myproject/src/main/resources/StorageResources_jp.properties
myproject/src/main/resources/StorageResources_zh_CN.properties
myproject/src/main/webapp/WEB-INF/pages/storage/allBoxView.jsp
myproject/src/main/webapp/WEB-INF/pages/system/settings.jsp
myproject/src/main/webapp/WEB-INF/pages/updateHistory.jsp
myproject/src/main/java/com/myproject/bean/Language.java
查看文件 @
c833ac2
package
com
.
myproject
.
bean
;
import
org.mockito.cglib.core.Local
;
import
java.util.Locale
;
/**
...
...
@@ -12,6 +14,8 @@ public enum Language {
ENGLISH
(
"en"
,
"English"
),
//zh_CN 中文
ZH_CN
(
"zh-CN"
,
"中文"
),
//日语
Japan
(
"jp"
,
"日本語"
),
;
...
...
@@ -39,18 +43,22 @@ public enum Language {
this
.
value
=
value
;
}
public
Locale
getLocale
(
){
public
static
Locale
getLocale
(
String
langueLabel
){
Locale
preferredLocale
=
null
;
if
(
la
bel
!=
null
&&
!
l
abel
.
isEmpty
())
{
int
indexOfUnderscore
=
label
.
indexOf
(
'-'
);
if
(
la
ngueLabel
!=
null
&&
!
langueL
abel
.
isEmpty
())
{
int
indexOfUnderscore
=
la
ngueLa
bel
.
indexOf
(
'-'
);
if
(
indexOfUnderscore
!=
-
1
)
{
String
language
=
label
.
substring
(
0
,
indexOfUnderscore
);
String
country
=
label
.
substring
(
indexOfUnderscore
+
1
);
String
language
=
la
ngueLa
bel
.
substring
(
0
,
indexOfUnderscore
);
String
country
=
la
ngueLa
bel
.
substring
(
indexOfUnderscore
+
1
);
preferredLocale
=
new
Locale
(
language
,
country
);
}
else
{
preferredLocale
=
new
Locale
(
label
);
preferredLocale
=
new
Locale
(
la
ngueLa
bel
);
}
}
return
preferredLocale
;
}
public
Locale
getLocale
(){
return
getLocale
(
label
);
}
}
myproject/src/main/java/com/myproject/bean/utils/StatusBean.java
查看文件 @
c833ac2
package
com
.
myproject
.
bean
.
utils
;
import
com.google.common.base.Strings
;
import
com.myproject.bean.Language
;
import
com.myproject.bean.update.AlarmInfo
;
import
com.myproject.util.StorageConstants
;
...
...
@@ -39,6 +40,11 @@ public class StatusBean {
//服务器默认这些按钮都为不可用状态,只有收到对应的enable时,按钮才可以进行点击
private
Map
<
String
,
String
>
data
=
new
HashMap
<>();
/**
* 提示消息,key为en, zh_CN, jp等,消息为对应语言的消息
*/
private
Map
<
String
,
String
>
msgData
=
new
HashMap
<>();
/// <summary>
/// 整体料仓状态
/// 1=正常运行中
...
...
@@ -60,16 +66,6 @@ public class StatusBean {
* 英文提示消息
*/
public
String
msgEn
=
""
;
/**
* 提示消息类型
*/
public
String
msgCode
=
""
;
/**
* 消息参数
*/
public
String
[]
msgParam
;
/// <summary>
/// 包含的多个 BOX 的状态信息
/// </summary>
...
...
@@ -321,20 +317,17 @@ public class StatusBean {
this
.
msg
=
msg
;
}
public
String
getMsgCode
()
{
return
msgCode
;
}
public
void
setMsgCode
(
String
msgCode
)
{
this
.
msgCode
=
msgCode
;
}
public
String
[]
getMsgParam
()
{
return
msgParam
;
}
public
void
setMsgParam
(
String
[]
msgParam
)
{
this
.
msgParam
=
msgParam
;
public
void
setShowMsg
(
Locale
local
){
String
lang
=
local
.
getLanguage
();
String
showMsg
=
msgData
.
get
(
lang
);
if
(
showMsg
==
null
){
if
(
Language
.
ENGLISH
.
getLabel
().
contains
(
lang
)){
showMsg
=
msgEn
;
}
else
{
showMsg
=
msg
;
}
}
this
.
msg
=
showMsg
;
}
public
Map
<
Integer
,
BoxStatusBean
>
getBoxStatus
()
{
...
...
@@ -436,4 +429,20 @@ public class StatusBean {
public
void
setMsgEn
(
String
msgEn
)
{
this
.
msgEn
=
msgEn
;
}
public
Map
<
String
,
String
>
getMsgData
()
{
return
msgData
;
}
public
void
setMsgData
(
Map
<
String
,
String
>
msgData
)
{
this
.
msgData
=
msgData
;
}
public
String
getDoorReelSingnal
()
{
String
doorReelSignal
=
getFromData
(
"doorReelSignal"
);
if
(
Strings
.
isNullOrEmpty
(
doorReelSignal
)){
doorReelSignal
=
"-1"
;
}
return
doorReelSignal
;
}
}
myproject/src/main/java/com/myproject/manager/impl/StoragePosManagerImpl.java
查看文件 @
c833ac2
...
...
@@ -414,7 +414,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
}
else
if
(
StorageConstants
.
CHECKOUT_TYPE
.
FIFO
.
equals
(
checkoutType
)){
//严格的先进先出
sort
=
new
Sort
(
Sort
.
Direction
.
ASC
,
"canCheckOutTime"
).
and
(
new
Sort
(
Sort
.
Direction
.
DESC
,
"barcode.usedCount"
));
}
else
if
(
StorageConstants
.
CHECKOUT_TYPE
.
USED_FIRST
.
equals
(
checkoutType
)){
//尾料优先
sort
=
new
Sort
(
Sort
.
Direction
.
DESC
,
"barcode.usedC
ount"
).
and
(
new
Sort
(
Sort
.
Direction
.
ASC
,
"canCheckOutTime"
));
sort
=
new
Sort
(
Sort
.
Direction
.
ASC
,
"barcode.am
ount"
).
and
(
new
Sort
(
Sort
.
Direction
.
ASC
,
"canCheckOutTime"
));
}
else
if
(
StorageConstants
.
CHECKOUT_TYPE
.
PRODUCE_DATE
.
equals
(
checkoutType
)){
//先生产先出
sort
=
new
Sort
(
Sort
.
Direction
.
ASC
,
"barcode.produceDate"
).
and
(
new
Sort
(
Sort
.
Direction
.
ASC
,
"canCheckOutTime"
));
...
...
myproject/src/main/java/com/myproject/util/BarcodeRule.java
查看文件 @
c833ac2
...
...
@@ -79,6 +79,9 @@ public class BarcodeRule {
}
log
.
info
(
"分割符为:"
+
newRule
.
separator
+
"长度为:"
+
tempArr
.
length
);
if
(
tempArr
.
length
==
0
){
tempArr
=
new
String
[]{
ruleStr
};
}
for
(
int
i
=
0
;
i
<
tempArr
.
length
;
i
++)
{
String
fieldValue
=
tempArr
[
i
];
...
...
@@ -126,15 +129,19 @@ public class BarcodeRule {
}
}
if
(!
newRule
.
expireYear_item
.
hasThisField
()
&&
!
newRule
.
expireMonth_item
.
hasThisField
()
&&
!
newRule
.
expireDay_item
.
hasThisField
()&&
!
newRule
.
expireDate_item
.
hasThisField
()){
if
(!
newRule
.
expireDate_item
.
matchRule
(
fieldValue
,
i
)){
if
(
newRule
.
expireDate_item
.
matchRule
(
fieldValue
,
i
)){
log
.
info
(
"expireDate: 为"
+
newRule
.
expireDate_item
.
toString
());
}
}
if
(!
newRule
.
expireYear_item
.
hasThisField
()
&&
!
newRule
.
expireMonth_item
.
hasThisField
()
&&
!
newRule
.
expireDay_item
.
hasThisField
()){
if
(
newRule
.
expireYear_item
.
matchRule
(
fieldValue
,
i
)){
log
.
info
(
"expireYear: 为"
+
newRule
.
expireYear_item
.
toString
());
}
else
if
(
newRule
.
expireMonth_item
.
matchRule
(
fieldValue
,
i
)){
log
.
info
(
"expireMonth: 为"
+
newRule
.
expireMonth_item
.
toString
());
}
else
if
(
newRule
.
expireDay_item
.
matchRule
(
fieldValue
,
i
)){
log
.
info
(
"expireDay: 为"
+
newRule
.
expireDay_item
.
toString
());
}
else
if
(
newRule
.
expireDate_item
.
matchRule
(
fieldValue
,
i
)){
log
.
info
(
"expireDate: 为"
+
newRule
.
expireDate_item
.
toString
());
}
}
}
...
...
@@ -198,11 +205,11 @@ public class BarcodeRule {
private
int
prefix
=
-
1
;
/**
*长度,0表示为变长,正值表示从前面截取,负值表示从后面开始截取,前缀和后缀及长度都有效时,需要验证字串总长度
* 例一: QTY[
-1,5,-1
]取前5位作为数量
* 例二: QTY[
-1,-5,-1
]取后5位作为数量
* 例三: QTY[1,5,
-1
]去除前面第1位后,取前5位作为数量
* 例四: QTY[
-1
,-5,1]去除后面第1位后,取后5位作为数量
* 例五: QTY[1,0,
-1
]去除前面1位后,剩余的作为数量
* 例一: QTY[
0,5,0
]取前5位作为数量
* 例二: QTY[
0,-5,0
]取后5位作为数量
* 例三: QTY[1,5,
0
]去除前面第1位后,取前5位作为数量
* 例四: QTY[
0
,-5,1]去除后面第1位后,取后5位作为数量
* 例五: QTY[1,0,
0
]去除前面1位后,剩余的作为数量
* 例六: QTY[0,5,3]去除前面0位和后面3位,剩余的5位作为数量,也就是说只能为8位
*/
private
int
length
=
0
;
...
...
@@ -279,6 +286,9 @@ public class BarcodeRule {
try
{
if
(
index
!=
-
1
){
String
codeValue
=
codeArr
[
index
];
if
(
codeValue
.
length
()
<
prefix
+
suffix
){
return
null
;
}
//如果有前缀和后缀
if
(
prefix
>
0
){
codeValue
=
codeValue
.
substring
(
prefix
);
...
...
@@ -408,16 +418,20 @@ public class BarcodeRule {
codeBean
.
setError
(
"error.barcode.noRule"
,
"解析规则未定义"
);
return
codeBean
;
}
String
[]
codeArr
=
codeStr
.
split
(
separator
);
//条码与规则长度对应不上
if
(
codeArr
.
length
!=
length
){
log
.
info
(
"条码["
+
codeStr
+
"]与规则【"
+
ruleStr
+
"】长度不同"
);
codeBean
.
setError
(
"error.barcode.wrongLength"
,
new
String
[]{},
"条码["
+
codeStr
+
"]长度错误"
);
return
codeBean
;
}
else
{
codeArr
=
codeStr
.
split
(
separator
,
length
);
String
[]
codeArr
=
new
String
[]{
codeStr
};
if
(!
Strings
.
isNullOrEmpty
(
separator
)){
codeArr
=
codeStr
.
split
(
separator
);
//条码与规则长度对应不上
if
(
codeArr
.
length
!=
length
){
log
.
info
(
"条码["
+
codeStr
+
"]与规则【"
+
ruleStr
+
"】长度不同"
);
codeBean
.
setError
(
"error.barcode.wrongLength"
,
new
String
[]{},
"条码["
+
codeStr
+
"]长度错误"
);
return
codeBean
;
}
else
{
codeArr
=
codeStr
.
split
(
separator
,
length
);
}
}
Barcode
b
=
new
Barcode
();
String
reelId
=
""
;
...
...
@@ -555,12 +569,16 @@ public class BarcodeRule {
// codeStr = "=1+0x0-0x0=A0002";
//阳光电源
rule
=
"[RI]_PN_3_QTYxxxx"
;
//
rule = "[RI]_PN_PRODATEyyMMdd_QTY[0:5:4]";
rule
=
"[RI]_PN_PRODATEyyMMdd_QTY[0:5:4]"
;
codeStr
=
"4500065747_CS000069_180101_030000041"
;
codeStr
=
"4500089600_DC000045_190528_003000006"
;
//佳世达
//rule ="BATCH;PRODATEyyyyMMdd[1:8:-1]EXPD[-1:-4:-1];PN[1:12:-1]SP[13:5:-1]QTY[-1:-5:-1];RI";
//codeStr = "L00002019090199951797;E20190901 0365;B8C.R2003.V81506072019090103000;R506072019102200356";
//博郎 QR = [VEE PN] + [Quantity] + [UID] + [Expire date] + [MSD level] + [Light class] + [Color class] + [Forward voltage] + [00000000]
// codeStr = "001967370080049250852020112000010P130BT200MH00000000";
//
// rule = "PN[0:8:-1]QTY[8:5:-1]RI[13:7:-1]EXPDATEyyyyMMdd[20:8:-1]MSL[28:4:-1]BATCH[32:4:-1]SP[36:4:-1]";
// //佳世达
// rule ="BATCH;PRODATEyyyyMMdd[1:8:-1]EXPD[-1:-4:-1];PN[1:12:-1]SP[13:5:-1]QTY[-1:-5:-1];RI";
// codeStr = "L00002019090199951797;E20190901 0365;B8C.R2003.V81506072019090103000;R506072019102200356";
BarcodeRule
br
=
BarcodeRule
.
newRule
(
rule
);
Barcode
b
=
br
.
toCodeBean
(
codeStr
).
getBarcode
();
if
(
b
!=
null
){
...
...
@@ -570,13 +588,12 @@ public class BarcodeRule {
System
.
out
.
println
(
"BATCH:"
+
b
.
getBatch
());
System
.
out
.
println
(
"MSL:"
+
b
.
getMsl
());
System
.
out
.
println
(
"EXPDATE:"
+
b
.
getExpireDate
());
System
.
out
.
println
(
"Supllier:"
+
b
.
getProvider
());
}
else
{
log
.
info
(
"解析失败"
);
}
System
.
out
.
println
(
String
.
format
(
"%08d"
,
Long
.
valueOf
(
"002"
)));
// URI uri = new URI("smb://materialtower:Flextronics1@10.222.42.48/materialtower/re20190822161258_result.txt");
// String smbFileName = uri.getScheme() + "://" + uri.getHost() + "" + uri.getPath() + "abc.txt";
...
...
myproject/src/main/java/com/myproject/webapp/controller/storage/CodeShelfController.java
查看文件 @
c833ac2
...
...
@@ -5,6 +5,7 @@ import com.google.common.collect.Lists;
import
com.google.common.collect.Sets
;
import
com.myproject.bean.CodeBean
;
import
com.myproject.bean.json.InventoryItem
;
import
com.myproject.bean.json.ShelfOperateBean
;
import
com.myproject.bean.json.UsageItem
;
import
com.myproject.bean.update.Barcode
;
import
com.myproject.bean.update.DataLog
;
...
...
@@ -47,11 +48,9 @@ public class CodeShelfController extends BaseController {
@Autowired
protected
IBarcodeManager
barcodeManager
;
@Autowired
private
IDataLogDao
dataLogDao
;
//上一次入库的库位,用于扫下一条码时灭灯
private
static
Map
<
String
,
S
toragePos
>
lastPutinPos
Map
=
new
ConcurrentHashMap
<>();
private
static
Map
<
String
,
S
helfOperateBean
>
shelfPutInBean
Map
=
new
ConcurrentHashMap
<>();
@RequestMapping
(
"/storage/codeShelf"
)
public
String
cabinetView
(
HttpServletRequest
request
,
HttpSession
httpSession
){
...
...
@@ -97,19 +96,42 @@ public class CodeShelfController extends BaseController {
* 关闭上一个入库库位(与给定库位一致才进行关闭)
*/
private
void
closeLastPutInPos
(
String
sessionId
,
String
posNameToCheck
){
StoragePos
lastPutinPos
=
lastPutinPosMap
.
get
(
sessionId
);
if
(
lastPutinPos
!=
null
){
boolean
needToClose
=
true
;
if
(
posNameToCheck
!=
null
&&
!
posNameToCheck
.
isEmpty
()){
//相同的库位才进行关闭
needToClose
=
lastPutinPos
.
getPosName
().
equals
(
posNameToCheck
);
ShelfOperateBean
operateBean
=
shelfPutInBeanMap
.
get
(
sessionId
);
if
(
operateBean
!=
null
){
StoragePos
posToClose
=
operateBean
.
getPosToClose
();
if
(
posToClose
!=
null
){
boolean
needToClose
=
true
;
if
(
posNameToCheck
!=
null
&&
!
posNameToCheck
.
isEmpty
()){
//相同的库位才进行关闭
needToClose
=
posToClose
.
getPosName
().
equals
(
posNameToCheck
);
}
if
(
needToClose
){
log
.
info
(
sessionId
+
"关闭库位:"
+
posToClose
.
getPosName
());
operateBean
.
setPosToClose
(
null
);
shelfPutInBeanMap
.
put
(
sessionId
,
operateBean
);
opPosLight
(
"close"
,
posToClose
,
""
);
}
}
if
(
needToClose
){
log
.
info
(
sessionId
+
"关闭库位:"
+
lastPutinPos
.
getPosName
());
lastPutinPosMap
.
remove
(
sessionId
);
opPosLight
(
"close"
,
lastPutinPos
,
""
);
}
for
(
ShelfOperateBean
shelfOperateBean
:
shelfPutInBeanMap
.
values
())
{
if
(
shelfOperateBean
.
timeOut
()){
String
removedSessionId
=
shelfOperateBean
.
getSessionId
();
log
.
info
(
"料架入库缓存["
+
shelfOperateBean
.
getSessionId
()+
"]长时间未操作,清理缓存"
);
shelfPutInBeanMap
.
remove
(
removedSessionId
);
}
}
}
private
ShelfOperateBean
getOperateBean
(
String
sessionId
){
ShelfOperateBean
operateBean
=
shelfPutInBeanMap
.
get
(
sessionId
);
if
(
operateBean
==
null
){
operateBean
=
new
ShelfOperateBean
();
operateBean
.
setSessionId
(
sessionId
);
shelfPutInBeanMap
.
put
(
sessionId
,
operateBean
);
}
return
operateBean
;
}
/**
...
...
@@ -119,22 +141,29 @@ public class CodeShelfController extends BaseController {
@ResponseBody
public
String
outFromShelf
(
HttpServletRequest
request
,
HttpSession
httpSession
){
String
sessionId
=
httpSession
.
getId
();
closeLastPutInPos
(
sessionId
,
null
);
String
codeStr
=
request
.
getParameter
(
"code"
);
int
delayCloseTime
=
30000
;
String
putInColor
=
"red"
;
if
(!
Strings
.
isNullOrEmpty
(
codeStr
)){
StoragePos
pos
=
storagePosManager
.
getByPosName
(
codeStr
);
if
(
pos
!=
null
){
closeLastPutInPos
(
sessionId
,
null
);
//扫描的为库位条码,库位中没有物料的话点亮库位灯
Storage
currentStorage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
if
(
currentStorage
==
null
||
!
currentStorage
.
isCodeShelf
()){
return
getText
(
"shelf.msg.notFound"
,
request
.
getLocale
(),
"未找到料架"
);
}
if
(
pos
.
getBarcode
()
!=
null
){
return
"库位中已有物料"
;
return
getText
(
"shelf.msg.hasReel"
,
new
String
[]{
pos
.
getPosName
()},
request
.
getLocale
(),
"库位中["
+
pos
.
getPosName
()+
"]已有物料"
)
;
}
else
{
//设置上一个入库操作库位
lastPutinPosMap
.
put
(
sessionId
,
pos
);
return
"OK操作成功,请扫描要放入的物料"
;
openAndCloseLights
(
sessionId
,
pos
,
putInColor
,
delayCloseTime
);
ShelfOperateBean
operateBean
=
getOperateBean
(
sessionId
);
operateBean
.
setOpPos
(
pos
);
operateBean
.
setPosToClose
(
pos
);
operateBean
.
setLastPosId
(
pos
.
getId
());
shelfPutInBeanMap
.
put
(
sessionId
,
operateBean
);
return
"OK"
+
getText
(
"shelf.msg.tipScanReel"
,
new
String
[]{
pos
.
getPosName
()},
request
.
getLocale
(),
"库位["
+
pos
.
getPosName
()+
"]操作成功,请扫描要放入的物料"
);
}
}
else
{
//扫的是物料条码
...
...
@@ -150,7 +179,7 @@ public class CodeShelfController extends BaseController {
//5秒内同一个条码忽略
Date
usedDate
=
barcode
.
getUsedDate
();
if
(
usedDate
!=
null
&&
now
-
usedDate
.
getTime
()
<
5000
){
return
"条码操作频繁,请稍后再试"
;
return
getText
(
"shelf.msg.fastop"
,
request
.
getLocale
(),
"条码操作频繁,请稍后再试"
)
;
}
StoragePos
inPos
=
storagePosManager
.
getByBarcodeId
(
barcode
.
getId
());
...
...
@@ -167,20 +196,51 @@ public class CodeShelfController extends BaseController {
}
//入库
StoragePos
lastPutinPos
=
lastPutinPosMap
.
get
(
sessionId
);
if
(
lastPutinPos
==
null
){
return
"请先扫描库位码"
;
ShelfOperateBean
operateBean
=
getOperateBean
(
sessionId
);
StoragePos
opPos
=
operateBean
.
getOpPos
();
if
(
opPos
==
null
){
//查找下一库位,下一库位已有任务或者下一库位已有料呀者下一库位尺寸不符合,必须重新扫库位码
String
lastPosId
=
operateBean
.
getLastPosId
();
if
(
Strings
.
isNullOrEmpty
(
lastPosId
)){
return
getText
(
"shelf.msg.scanPos"
,
request
.
getLocale
(),
"请先扫描库位码"
);
}
Long
nextPosId
=
Long
.
valueOf
(
lastPosId
)
+
1
;
StoragePos
nextPos
=
storagePosManager
.
get
(
String
.
valueOf
(
nextPosId
));
if
(
nextPos
!=
null
){
Collection
<
String
>
excludePosIds
=
taskService
.
excludePosIds
();
if
(
excludePosIds
.
contains
(
nextPos
.
getId
())){
return
getText
(
"shelf.nextPos.hasTask"
,
new
String
[]{
nextPos
.
getPosName
()},
request
.
getLocale
(),
"下一库位["
+
nextPos
.
getPosName
()+
"]已有任务,请重新扫描库位码"
);
}
if
(
nextPos
.
getBarcode
()
!=
null
){
return
getText
(
"shelf.nextPos.hasReel"
,
new
String
[]{
nextPos
.
getPosName
()},
request
.
getLocale
(),
"下一库位["
+
nextPos
.
getPosName
()+
"]已有物料,请重新扫描库位码"
);
}
Storage
storage
=
dataCache
.
getStorageById
(
nextPos
.
getStorageId
());
if
(!
storage
.
canPutInPos
(
barcode
.
getPlateSize
(),
barcode
.
getHeight
(),
nextPos
.
getW
(),
nextPos
.
getH
())){
String
reelSize
=
barcode
.
getPlateSize
()
+
"x"
+
barcode
.
getHeight
();
String
posSize
=
nextPos
.
getW
()
+
"x"
+
nextPos
.
getH
();
return
getText
(
"shelf.nextPos.hasReel"
,
new
String
[]{
nextPos
.
getPosName
(),
posSize
,
reelSize
},
request
.
getLocale
(),
"下一库位["
+
nextPos
.
getPosName
()+
"]尺寸["
+
posSize
+
"]与料盘尺寸["
+
reelSize
+
"]不符,请重新扫描库位码"
);
}
opPos
=
nextPos
;
openAndCloseLights
(
sessionId
,
opPos
,
putInColor
,
delayCloseTime
);
operateBean
.
setOpPos
(
opPos
);
operateBean
.
setPosToClose
(
opPos
);
operateBean
.
setLastPosId
(
opPos
.
getId
());
shelfPutInBeanMap
.
put
(
sessionId
,
operateBean
);
}
}
int
delayCloseTime
=
30000
;
String
color
=
"red"
;
if
(
lastPutinPos
!=
null
){
log
.
info
(
barcode
.
getPartNumber
()+
" [ "
+
barcode
.
getBarcode
()+
" ] "
+
"入库到:"
+
lastPutinPos
.
getPosName
());
lastPutinPos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
taskService
.
addTaskToFinished
(
lastPutinPos
,
barcode
,
null
);
openAndCloseLights
(
sessionId
,
lastPutinPos
,
color
,
delayCloseTime
);
lastPutinPosMap
.
put
(
sessionId
,
lastPutinPos
);
return
"OK"
+
getText
(
"shelf.msg.inOk"
,
new
String
[]{
lastPutinPos
.
getPosName
()},
request
.
getLocale
(),
"操作成功,请放入库位["
+
lastPutinPos
.
getPosName
()+
"]"
);
if
(
opPos
!=
null
){
log
.
info
(
barcode
.
getPartNumber
()+
" [ "
+
barcode
.
getBarcode
()+
" ] "
+
"入库到:"
+
opPos
.
getPosName
());
opPos
.
setCanCheckOutTime
(
System
.
currentTimeMillis
()
+
delayCloseTime
);
taskService
.
addTaskToFinished
(
opPos
,
barcode
,
null
);
operateBean
.
setOpPos
(
null
);
shelfPutInBeanMap
.
put
(
sessionId
,
operateBean
);
return
"OK"
+
getText
(
"shelf.msg.inOk"
,
new
String
[]{
opPos
.
getPosName
()},
request
.
getLocale
(),
"操作成功,请放入库位["
+
opPos
.
getPosName
()+
"]"
);
}
else
{
//库位没找到
String
sizeInfo
=
barcode
.
getPlateSize
()+
" x "
+
barcode
.
getHeight
();
...
...
@@ -284,8 +344,8 @@ public class CodeShelfController extends BaseController {
@ResponseBody
public
StoragePos
getCurrentPos
(
HttpSession
httpSession
){
String
sessionId
=
httpSession
.
getId
();
S
toragePos
currentPos
=
lastPutinPosMap
.
get
(
sessionId
);
return
currentPos
;
S
helfOperateBean
operateBean
=
getOperateBean
(
sessionId
);
return
operateBean
.
getOpPos
()
;
}
}
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosUpdateController.java
查看文件 @
c833ac2
...
...
@@ -72,7 +72,8 @@ public class StoragePosUpdateController extends BaseUpdateController {
barcodeManager
.
save
(
barcode
);
storagePos
.
setBarcode
(
null
);
storagePos
.
setUsed
(
false
);
storagePosManager
.
save
(
storagePos
);
storagePos
=
storagePosManager
.
save
(
storagePos
);
dataCache
.
updateInventory
(
storagePos
,
barcode
);
}
return
""
;
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/MesApiController.java
查看文件 @
c833ac2
...
...
@@ -5,6 +5,8 @@ import com.google.common.collect.Lists;
import
com.google.common.collect.Maps
;
import
com.google.common.collect.Sets
;
import
com.myproject.bean.CodeBean
;
import
com.myproject.bean.Language
;
import
com.myproject.bean.json.UsageItem
;
import
com.myproject.bean.update.*
;
import
com.myproject.bean.utils.BoxStatusBean
;
import
com.myproject.bean.utils.StatusBean
;
...
...
@@ -16,6 +18,7 @@ import com.myproject.manager.IStoragePosManager;
import
com.myproject.util.DateUtil
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.webapp.controller.storage.BaseController
;
import
com.myproject.webapp.filter.LocaleFilter
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.apache.logging.log4j.core.util.Integers
;
...
...
@@ -355,9 +358,21 @@ public class MesApiController extends BaseController {
@RequestMapping
(
value
=
"/status"
)
@ResponseBody
public
Map
<
String
,
Object
>
status
(
HttpServletRequest
request
)
{
Map
<
String
,
Object
>
results
=
Maps
.
newHashMap
();
for
(
Storage
storage
:
dataCache
.
getAllStorage
().
values
()){
public
List
<
Map
<
String
,
Object
>>
status
(
HttpServletRequest
request
)
{
String
cid
=
request
.
getParameter
(
"cid"
);
Locale
localeZh
=
Language
.
ZH_CN
.
getLocale
();
Locale
localeEn
=
Language
.
ENGLISH
.
getLocale
();
Collection
<
Storage
>
storageList
=
Lists
.
newArrayList
();
if
(
Strings
.
isNullOrEmpty
(
cid
)){
storageList
.
addAll
(
dataCache
.
getAllStorage
().
values
());
}
else
{
Storage
storage
=
dataCache
.
getStorage
(
cid
);
storageList
.
add
(
storage
);
}
List
<
Map
<
String
,
Object
>>
results
=
Lists
.
newArrayList
();
for
(
Storage
storage
:
storageList
){
StatusBean
statusBean
=
taskService
.
getStatus
(
storage
.
getCid
());
Map
<
Integer
,
BoxStatusBean
>
boxStatusMap
=
statusBean
.
getBoxStatus
();
int
status
=
-
1
;
...
...
@@ -366,18 +381,50 @@ public class MesApiController extends BaseController {
if
(
boxStatusBean
!=
null
){
status
=
boxStatusBean
.
getStatus
();
}
}
int
storageStatus
=
status
;
if
(
status
==
StorageConstants
.
STATUS
.
OFFLINE
||
statusBean
.
timeOut
()){
//离线
storageStatus
=
-
1
;
}
results
.
put
(
storage
.
getName
(),
storageStatus
);
String
msg
=
statusBean
.
getMsg
();
String
msgEn
=
statusBean
.
getMsgEn
();
Exception
e
=
taskService
.
getServerException
(
storage
.
getCid
());
if
(
e
!=
null
){
if
(
e
instanceof
ValidateException
){
msg
=
getText
(
e
.
getMessage
(),((
ValidateException
)
e
).
getParams
(),
localeZh
,
e
.
getMessage
());
msgEn
=
getText
(
e
.
getMessage
(),((
ValidateException
)
e
).
getParams
(),
localeEn
,
e
.
getMessage
());
}
else
{
msg
=
e
.
getMessage
();
msgEn
=
e
.
getMessage
();
}
}
Map
<
String
,
Object
>
itemMap
=
new
HashMap
<>();
itemMap
.
put
(
"cid"
,
storage
.
getCid
());
itemMap
.
put
(
"name"
,
storage
.
getName
());
itemMap
.
put
(
"status"
,
storageStatus
);
itemMap
.
put
(
"msg"
,
msg
);
itemMap
.
put
(
"msgEn"
,
msgEn
);
itemMap
.
put
(
"doorReelSignal"
,
statusBean
.
getDoorReelSingnal
());
Map
<
String
,
Object
>
emptySlotMap
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
totalSlotMap
=
Maps
.
newHashMap
();
Map
<
String
,
UsageItem
>
usageMap
=
storage
.
getUsageMap
();
for
(
UsageItem
usageItem
:
usageMap
.
values
())
{
String
sizeStr
=
usageItem
.
getSizeStr
();
int
total
=
usageItem
.
getTotalCount
();
int
used
=
usageItem
.
getUsedCount
();
totalSlotMap
.
put
(
sizeStr
,
total
);
emptySlotMap
.
put
(
sizeStr
,
total
-
used
);
}
itemMap
.
put
(
"emptySlot"
,
emptySlotMap
);
itemMap
.
put
(
"totalSlot"
,
totalSlotMap
);
results
.
add
(
itemMap
);
}
return
results
;
}
private
Date
toDate
(
String
dateStr
){
try
{
return
DateUtil
.
toDate
(
dateStr
,
"yyyyMMddHHmmss"
);
...
...
myproject/src/main/java/com/myproject/webapp/controller/webService/StatusController.java
查看文件 @
c833ac2
...
...
@@ -50,7 +50,7 @@ public class StatusController extends BaseController{
private
StatusBean
getStatus
(
String
cid
,
HttpServletRequest
request
){
StatusBean
statusBean
=
taskService
.
getStatus
(
cid
);
statusBean
.
setShowMsg
(
request
.
getLocale
());
Exception
e
=
taskService
.
getServerException
(
cid
);
if
(
e
!=
null
){
if
(
e
instanceof
ValidateException
){
...
...
@@ -63,6 +63,7 @@ public class StatusController extends BaseController{
}
}
//log.debug("Get cid: " + cid + " status: " + statusBean.getStatus() + " and error: " + statusBean.getError());
return
statusBean
;
}
...
...
myproject/src/main/java/com/myproject/webapp/filter/LocaleFilter.java
查看文件 @
c833ac2
...
...
@@ -2,6 +2,7 @@ package com.myproject.webapp.filter;
import
com.google.common.base.Strings
;
import
com.myproject.Constants
;
import
com.myproject.bean.Language
;
import
com.myproject.model.User
;
import
org.springframework.context.i18n.LocaleContextHolder
;
import
org.springframework.security.core.Authentication
;
...
...
@@ -40,7 +41,7 @@ public class LocaleFilter extends OncePerRequestFilter {
String
locale
=
request
.
getParameter
(
"locale"
);
Locale
preferredLocale
=
getPreFerred
Locale
(
locale
);
Locale
preferredLocale
=
Language
.
get
Locale
(
locale
);
SecurityContextImpl
securityContextImpl
=
(
SecurityContextImpl
)
request
.
getSession
().
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
...
...
@@ -83,7 +84,7 @@ public class LocaleFilter extends OncePerRequestFilter {
if
(
preferredLocale
==
null
){
//没有设置过,使用用户设置的 Locale
if
(
loginUser
!=
null
){
preferredLocale
=
getPreFerred
Locale
(
loginUser
.
getLanguage
());
preferredLocale
=
Language
.
get
Locale
(
loginUser
.
getLanguage
());
}
}
...
...
@@ -109,19 +110,4 @@ public class LocaleFilter extends OncePerRequestFilter {
// Reset thread-bound LocaleContext.
LocaleContextHolder
.
setLocaleContext
(
null
);
}
private
Locale
getPreFerredLocale
(
String
locale
){
Locale
preferredLocale
=
null
;
if
(
locale
!=
null
&&
!
locale
.
isEmpty
())
{
int
indexOfUnderscore
=
locale
.
indexOf
(
'-'
);
if
(
indexOfUnderscore
!=
-
1
)
{
String
language
=
locale
.
substring
(
0
,
indexOfUnderscore
);
String
country
=
locale
.
substring
(
indexOfUnderscore
+
1
);
preferredLocale
=
new
Locale
(
language
,
country
);
}
else
{
preferredLocale
=
new
Locale
(
locale
);
}
}
return
preferredLocale
;
}
}
myproject/src/main/resources/ApplicationResources_jp.properties
0 → 100644
查看文件 @
c833ac2
## Do NOT delete! Keep this line to avoid the native2ascii UTF-8 BOM bug. See #APF-639
user.status
=
\u
5F53
\u
524D
\u7528\u6237
:
user.logout
=
\u9000\u
51FA
# -- validator errors --
errors.invalid
=
{0}
\u
65E0
\u6548\u3002
errors.maxlength
=
{0}
\u
4E0D
\u
80FD
\u5927\u
4E8E {1}
\u
4E2A
\u
5B57
\u
7B26
\u3002
errors.minlength
=
{0}
\u
4E0D
\u
80FD
\u
5C11
\u
4E8E {1}
\u
4E2A
\u
5B57
\u
7B26
\u3002
errors.range
=
{0}
\u
672A
\u5728
{1}
\u
4E0E {2}
\u8303\u
56F4
\u5185\u3002
errors.required
=
{0}
\u
4E3A
\u
5FC5
\u
586B
\u9879\u3002
errors.byte
=
{0}
\u
5FC5
\u
987B
\u
4E3Abyte
\u
7C7B
\u
578B
\u3002
errors.date
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u
65E5
\u
671F
\u
683C
\u
5F0F
\u3002
errors.double
=
{0}
\u
5FC5
\u
987B
\u
4E3Adouble
\u
7C7B
\u
578B
\u3002
errors.float
=
{0}
\u
5FC5
\u
987B
\u
4E3Afloat
\u
7C7B
\u
578B
\u3002
errors.integer
=
{0}
\u
5FC5
\u
987B
\u
4E3A
\u
4E00
\u6570\u
503C
\u3002
errors.long
=
{0}
\u
5FC5
\u
987B
\u
4E3Along
\u
7C7B
\u
578B
\u3002
errors.short
=
{0}
\u
5FC5
\u
987B
\u
4E3Ashort
\u
7C7B
\u
578B
\u3002
errors.creditcard
=
{0}
\u
4E3A
\u
65E0
\u6548\u
4FE1
\u7528\u5361\u
53F7
\u3002
errors.email
=
{0}
\u
4E3A
\u
65E0
\u6548\u
90AE
\u
4EF6
\u5730\u5740\u3002
errors.phone
=
{0}
\u
4E3A
\u
65E0
\u6548\u7535\u
8BDD
\u
53F7
\u7801\u3002
errors.zip
=
{0}
\u
4E3A
\u
65E0
\u6548\u
90AE
\u
653F
\u
7F16
\u7801\u3002
# -- other errors --
errors.cancel
=
\u
64CD
\u
4F5C
\u
88AB
\u
53D6
\u
6D88
\u3002
errors.detail
=
{0}
errors.general
=
\u
64CD
\u
4F5C
\u
672A
\u
5B8C
\u6210\u3002\u
8BE6
\u
7EC6
\u
539F
\u
56E0
\u5982\u
4E0B
\u3002
errors.token
=
\u
8BF7
\u
6C42
\u
672A
\u
5B8C
\u5168\u5904\u7406\u3002\u
64CD
\u
4F5C
\u
987A
\u
5E8F
\u9519\u
8BEF
\u3002
errors.none
=
\u
65E0
\u9519\u
8BEF
\u
6D88
\u
606F
\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
\u
670D
\u
52A1
\u5668\u
65E5
\u
5FD7
\u6587\u
4EF6
\u3002
errors.password.mismatch
=
\u
65E0
\u6548\u7528\u6237\u
540D
\u6216\u
5BC6
\u7801\u
FF0C
\u
8BF7
\u
91CD
\u
8BD5
\u3002
errors.conversion
=
\u5728
web
\u
5C42
\u6570\u
636E
\u5230\u
4E1A
\u
52A1
\u
5C42
\u6570\u
636E
\u7684\u
8F6C
\u6362\u
8FC7
\u
7A0B
\u
4E2D
\u
FF0C
\u
53D1
\u
751F
\u
4E86
\u
4E00
\u
4E2A
\u9519\u
8BEF
\u3002
errors.twofields
=
{0}
\u
5B57
\u
6BB5
\u
4E0E {1}
\u
5B57
\u
6BB5
\u7684\u
503C
\u
5FC5
\u
987B
\u
4E00
\u
81F4
\u3002
errors.existing.user
=
\u7528\u6237\u
540D ({0})
\u6216
e-mail
\u5730\u5740
({1})
\u
5DF2
\u
5B58
\u5728\u3002\u
8BF7
\u
518D
\u
6B21
\u
5C1D
\u
8BD5
\u
4E0D
\u
540C
\u
540D
\u
79F0
\u3002
# -- success messages --
user.added
=
\u7528\u6237
{0}
\u7684\u
4FE1
\u
606F
\u
6DFB
\u
52A0
\u6210\u
529F
\u3002
user.deleted
=
\u7528\u6237
{0}
\u7684\u
4FE1
\u
606F
\u5220\u9664\u6210\u
529F
\u3002
user.registered
=
\u
6CE8
\u
518C
\u6210\u
529F
\u
FF0C
\u
60A8
\u
53EF
\u
4EE5
\u
5F00
\u
59CB
\u
4F7F
\u7528\u
7CFB
\u
7EDF
\u3002
user.saved
=
\u
60A8
\u7684\u
4FE1
\u
606F
\u
5DF2
\u6210\u
529F
\u
66F4
\u
65B0
\u3002
user.updated.byAdmin
=
\u7528\u6237
{0}
\u7684\u
4FE1
\u
606F
\u
5DF2
\u6210\u
529F
\u
66F4
\u
65B0
\u3002
newuser.email.message
=
{0}
\u
4E3A
\u
60A8
\u6210\u
529F
\u
521B
\u
5EFA
\u
4E86
\u
4E00
\u
4E2AAppFuse
\u
5E10
\u
53F7
\u3002\u
60A8
\u7684\u7528\u6237\u
540D
\u
548C
\u
5BC6
\u7801\u
4FE1
\u
606F
\u5982\u
4E0B
\u
FF1A
reload.succeeded
=
\u
5DF2
\u
7ECF
\u6210\u
529F
\u
91CD
\u
8F7D.
# -- error page messages --
errorPage.title
=
\u
7CFB
\u
7EDF
\u9519\u
8BEF
errorPage.heading
=
\u
54E6
\u
FF01
404.title
=
\u9875\u9762\u
672A
\u
627E
\u5230
404.message
=
\u
8BF7
\u
6C42
\u7684\u9875\u9762\u
672A
\u
627E
\u5230\u3002\u
60A8
\u
53EF
\u
4EE5
\u9009\u
62E9
\u
8FD4
\u
56DE
\u5230
<a href="{0}">
\u
4E3B
\u
83DC
\u5355
</a>
\u3002\u6216\u8005\u9009\u
62E9
\u5728\u
6B64
\u
4F11
\u
606F
\u
4E00
\u
4E0B
\u
FF0C
\u
5FD8
\u6389\u
521A
\u
624D
\u7684\u
6CAE
\u
4E27
\u
FF0C
\u
6B23
\u
8D4F
\u
4E00
\u
4E2A
\u
7F8E
\u
4E3D
\u7684\u
56FE
\u7247\u
FF1F
403.title
=
\u
8BBF
\u
95EE
\u
88AB
\u
62D2
\u
7EDD
403.message
=
\u
60A8
\u
5F53
\u
524D
\u
89D2
\u8272\u
65E0
\u6743\u9650\u
67E5
\u
770B
\u
6B64
\u9875\u9762\u3002\u
8BF7
\u8054\u
7CFB
\u
7CFB
\u
7EDF
\u
7BA1
\u7406\u5458\u
FF0C
\u
83B7
\u
5F97
\u
76F8
\u
5E94
\u7684\u6743\u9650\u6216\u8005\u
8FD4
\u
56DE
\u5230
<a href="{0}">
\u
4E3B
\u
83DC
\u5355
</a>
\u3002\u
6B64
\u
523B
\u
FF0C
\u
8BA9
\u6211\u
4EEC
\u5148\u
653E
\u
677E
\u
4E00
\u
4E0B
\u5427\u
FF1F
# -- login --
login.title
=
\u
767B
\u
5F55
login.heading
=
\u
767B
\u
5F55
login.rememberMe
=
\u
8BA9
\u
7CFB
\u
7EDF
\u
8BB0
\u
4F4F
\u6211
login.signup
=
\u
4E0D
\u
662F
\u
6CE8
\u
518C
\u7528\u6237
? <a href="{0}">
\u7533\u
8BF7</a>
\u
4E00
\u
4E2A
\u
5E10
\u
53F7
\u3002
login.passwordHint
=
\u
5FD8
\u
8BB0
\u
4E86
\u
5BC6
\u7801
?
\u
8BA9
\u
7CFB
\u
7EDF
\u
5C06 <a href="?" onmouseover="window.status='
\u
7CFB
\u
7EDF
\u
53D1
\u9001\u
5BC6
\u7801\u
63D0
\u
793A
\u3002
'; return true" onmouseout="window.status=''; return true" title="
\u
7CFB
\u
7EDF
\u
53D1
\u9001\u
5BC6
\u7801\u
63D0
\u
793A
\u3002
" onclick="passwordHint(); return false">
\u
5BC6
\u7801\u
63D0
\u
793A
\u
4FE1
\u
606F
\u
5DF2e-mail
\u
5F62
\u
5F0F
\u
53D1
\u9001\u
7ED9
\u
60A8</a>
\u3002
login.passwordHint.sent
=
{0}
\u7684\u
5BC6
\u7801\u
63D0
\u
793A
\u
5DF2
\u6210\u
529F
\u
53D1
\u9001\u5230
{1}
\u3002
login.passwordHint.error
=
\u7528\u6237\u
540D {0}
\u5728\u
7CFB
\u
7EDF
\u6570\u
636E
\u
5E93
\u
4E2D
\u
672A
\u
627E
\u5230\u3002
# -- home --
home.title
=
\u
4E3B
\u
83DC
\u5355
home.heading
=
\u
6B22
\u
8FCE
\u
FF01
home.message
=
\u
606D
\u
559C
\u
FF0C
\u
60A8
\u
767B
\u
5F55
\u6210\u
529F
\u
FF01
\u
60A8
\u
53EF
\u
4EE5
\u9009\u
62E9
\u6267\u
884C
\u
4EE5
\u
4E0B
\u
64CD
\u
4F5C
\u
FF1A
home.activeUsers
=
\u5728\u
7EBF
\u7528\u6237
# -- menu/link messages --
menu.admin
=
\u
7CFB
\u
7EDF
\u
7BA1
\u7406
menu.admin.users
=
\u
67E5
\u
770B
\u7528\u6237
menu.admin.reload
=
\u
91CD
\u
8F7D
\u9009\u9879
menu.selectFile
=
\u
4E0A
\u
4F20
\u6587\u
4EF6
# -- form labels --
label.username
=
\u7528\u6237\u
540D
label.password
=
\u
5BC6
\u7801
# -- general values --
icon.information
=
\u
4FE1
\u
606F
icon.information.img
=
/images/iconInformation.gif
icon.email
=
E-Mail
icon.email.img
=
/images/iconEmail.gif
icon.warning
=
\u
8B66
\u
544A
icon.warning.img
=
/images/iconWarning.gif
date.format
=
MM/dd/yyyy
# -- role form --
roleForm.name
=
\u
540D
\u
79F0
# -- user profile page --
userProfile.title
=
\u7528\u6237\u
8BBE
\u
7F6E
userProfile.heading
=
\u7528\u6237\u
7B80
\u8981\u
4FE1
\u
606F
userProfile.message
=
\u
8BF7
\u6309\u5982\u
4E0B
\u8868\u
683C
\u
66F4
\u
65B0
\u
60A8
\u7684\u
4FE1
\u
606F
\u3002
userProfile.admin.message
=
\u
60A8
\u
53EF
\u
4EE5
\u6309\u5982\u
4E0B
\u8868\u
683C
\u
FF0C
\u
66F4
\u
65B0
\u7528\u6237\u7684\u
4FE1
\u
606F
\u3002
userProfile.showMore
=
\u
67E5
\u
770B
\u
66F4
\u
591A
\u
4FE1
\u
606F
userProfile.accountSettings
=
\u
5E10
\u6237\u
8BBE
\u
7F6E
userProfile.assignRoles
=
\u5206\u
914D
\u
89D2
\u8272
userProfile.cookieLogin
=
\u
60A8
\u
65E0
\u
6CD5
\u
66F4
\u6539\u
5BC6
\u7801\u
FF0C
\u
56E0
\u
4E3A
\u
60A8
\u9009\u
62E9
\u
4E86
\u
8BA9
\u
7CFB
\u
7EDF
\u
8BB0
\u
4F4F
\u6211
\u9009\u9879\u3002\u
8BF7
\u9000\u
51FA
\u
7CFB
\u
7EDF
\u
FF0C
\u
518D
\u
6B21
\u
767B
\u
5F55
\u
5C1D
\u
8BD5
\u
66F4
\u6539\u
5BC6
\u7801\u3002
# -- user form --
user.address.address
=
\u5730\u5740
user.availableRoles
=
\u
53EF
\u7528\u
89D2
\u8272
user.address.city
=
\u
57CE
\u
5E02
user.address.country
=
\u
56FD
\u
5BB6
user.email
=
E-Mail
user.firstName
=
\u
540D
user.id
=
Id
user.lastName
=
\u
59D3
user.password
=
\u
5BC6
\u7801
user.confirmPassword
=
\u
786E
\u
8BA4
\u
5BC6
\u7801
user.phoneNumber
=
\u7535\u
8BDD
user.address.postalCode
=
\u
90AE
\u
7F16
user.address.province
=
\u
5DDE
\u7701
user.roles
=
\u
5F53
\u
524D
\u
89D2
\u8272
user.username
=
\u7528\u6237\u
540D
user.website
=
\u
7F51
\u5740
user.visitWebsite
=
\u6253\u
5F00
user.passwordHint
=
\u
5BC6
\u7801\u
63D0
\u
793A
user.enabled
=
\u
4F7F
\u
80FD
user.accountExpired
=
\u5230\u
671F
user.accountLocked
=
\u9501\u7740
user.credentialsExpired
=
\u
5BC6
\u7801\u5230\u
671F
\u
4E86
# -- user list page --
userList.title
=
\u7528\u6237\u5217\u8868
userList.heading
=
\u5728\u
7EBF
\u7528\u6237
userList.nousers
=
<span>
\u
6CA1
\u
627E
\u5230\u7528\u6237\u3002
</span>
# -- user self-registration --
signup.title
=
\u
6CE8
\u
518C
signup.heading
=
\u
65B0
\u7528\u6237\u
6CE8
\u
518C
signup.message
=
\u
8BF7
\u
8F93
\u5165\u7528\u6237\u
4FE1
\u
606F
\u3002
signup.email.subject
=
AppFuse
\u
5E10
\u6237\u
4FE1
\u
606F
signup.email.message
=
\u
60A8
\u
5DF2
\u6210\u
529F
\u
6CE8
\u
518C
\u5230
AppFuse
\u3002\u
60A8
\u7684\u7528\u6237\u
540D
\u
548C
\u
5BC6
\u7801\u
4FE1
\u
606F
\u5982\u
4E0B
\u
FF1A
# -- upload page messages --
maxLengthExceeded
=
\u9009\u
62E9
\u
4E0A
\u
4F20
\u7684\u6587\u
4EF6
\u
8FC7
\u5927\u3002\u6700\u5927\u5141\u
8BB8
\u
503C
\u
4E3A 2 MB
\u3002
upload.title
=
\u6587\u
4EF6
\u
4E0A
\u
4F20
upload.heading
=
\u
4E0A
\u
4F20
\u
4E00
\u6587\u
4EF6
upload.message
=
\u
4E3B
\u8981\u
7CFB
\u
7EDF
\u5141\u
8BB8
\u
4E0A
\u
4F20
\u6587\u
4EF6
\u7684\u6700\u5927\u
503C
\u
4E3A 2 MB
\u3002
uploadForm.name
=
\u
91CD
\u
547D
\u
540D
\u6587\u
4EF6
uploadForm.file
=
\u9009\u
62E9
\u6587\u
4EF6
# -- display page messages --
display.title
=
\u6587\u
4EF6
\u
4E0A
\u
4F20
\u6210\u
529F
\u
FF01
display.heading
=
\u6587\u
4EF6
\u
4FE1
\u
606F
# -- active users page --
activeUsers.title
=
\u
6D3B
\u
52A8
\u7528\u6237\u5217\u8868
activeUsers.heading
=
\u5728\u
7EBF
\u7528\u6237
activeUsers.message
=
\u5217\u8868\u
4E3A
\u
5DF2
\u6210\u
529F
\u
767B
\u
5F55
\u7684\u3001
session
\u
4E3A
\u
8FC7
\u
671F
\u7684\u7528\u6237\u3002
activeUsers.fullName
=
\u5168\u
540D
# JSF-only messages, remove if not using JSF
javax.faces.component.UIInput.REQUIRED
=
{0}
\u
4E3A
\u
5FC5
\u
586B
\u9879\u3002
activeUsers.summary
=
\u
627E
\u5230
{0}
\u
4E2A
\u7528\u6237\u
FF0C
\u
663E
\u
793A {1}
\u
4E2A
\u7528\u6237\u
FF0C
\u
4ECE {2}
\u5230
{3}
\u3002
{4} / {5}
\u9875
button.login
=
\u
767B
\u
5F55
chart.solder.used
=
\u7269\u6599\u
6D88
\u8017
chart.solder.stock
=
\u7269\u6599\u
5E93
\u
5B58
chart.temperature
=
\u
6E29
\u
5EA6
chart.humidity
=
\u
6E7F
\u
5EA6
areaView.stockWaring
=
\u
5E93
\u
5B58
\u9884\u
8B66
areaView.batch
=
\u6279\u
6B21
areaView.tasks
=
\u
4EFB
\u
52A1
menu.findout
=
\u
67E5
\u
627E
\u
51FA
\u
5E93
menu.inRule
=
\u5165\u
5E93
\u
7B56
\u7565
menu.outRule
=
\u
51FA
\u
5E93
\u
7B56
\u7565
menu.system.settings
=
\u
7CFB
\u
7EDF
\u
8BBE
\u
7F6E
menu.system
=
\u
7CFB
\u
7EDF
menu.bigdata
=
\u5927\u6570\u
636E
menu.bigdata.runStatus
=
\u
8FD0
\u
884C
\u
7EDF
\u
8BA1
menu.bigdata.inOutList
=
\u
51FA
\u5165\u
5E93
\u
8BB0
\u
5F55
menu.bigdata.dataReport
=
\u6570\u
636E
\u
62A5
\u
544A
menu.bigdata.dataLog
=
\u7269\u6599\u
65E5
\u
5FD7
menu.bigdata.errorLog
=
\u
5F02
\u
5E38
\u5206\u6790
menu.barCode.settings
=
\u6761\u7801\u
8BBE
\u
7F6E
menu.box
=
\u
4E91
\u6599\u
4ED3
menu.box.manage
=
\u6599\u
4ED3
\u
7BA1
\u7406
menu.box.virtualStorage
=
\u
865A
\u
62DF
\u
4ED3
menu.box.liteBox
=
SMD BOX LITE
menu.box.boxi
=
SMD BOXi
menu.cloud.inventory
=
\u
5E93
\u
5B58
\u
6C47
\u
603B
menu.cloud.numModify
=
\u6570\u
91CF
\u6821\u
51C6
menu.order
=
\u
8F7B
\u
5DE5
\u5355
menu.order.management
=
\u
5DE5
\u5355\u
7BA1
\u7406
menu.product
=
\u
4EA7
\u
54C1
\u
4FE1
\u
606F
menu.product.component
=
\u5143\u5668\u
4EF6
\u
4FE1
\u
606F
menu.product.solder
=
\u9521\u
818F
\u
4FE1
\u
606F
menu.product.pcb
=
PCB
\u
4FE1
\u
606F
menu.product.others
=
\u5176\u
4ED6
\u7269\u6599\u
4FE1
\u
606F
menu.product.fixture
=
\u5939\u5177\u
4FE1
\u
606F
menu.kanban
=
KANBAN
allBoxView.kanban
=
\u
770B
\u
677F
allBoxView.temperature
=
\u
6E29
\u
5EA6
allBoxView.humidity
=
\u
6E7F
\u
5EA6
allBoxView.boxStatus
=
\u6599\u
4ED3
\u
72B6
\u6001
allBoxView.capacity
=
\u
5BB9
\u
91CF
allBoxView.used
=
\u
5DF2
\u
4F7F
\u7528
allBoxView.lastPage
=
\u
4E0A
\u
4E00
\u9875
allBoxView.nextPage
=
\u
4E0B
\u
4E00
\u9875
allBoxView.findAndOut
=
\u
67E5
\u
627E
\u
51FA
\u
5E93
allBoxView.outTitle
=
\u
51FA
\u
5E93
allBoxView.noReel
=
\u
65E0
\u
53EF
\u7528\u7684\u7269\u6599
allBoxView.msg.title
=
\u
63D0
\u
793A
allBoxView.msg.cancelMsg
=
\u
786E
\u
5B9A
\u8981\u
53D6
\u
6D88
\u
4EFB
\u
52A1
\u5417
?
checkoutSettings.title
=
\u
51FA
\u
5E93
\u
7B56
\u7565
checkoutSettings.mode
=
\u
51FA
\u
5E93
\u
65B9
\u
5F0F
checkoutSettings.mode.expireFirst
=
\u5148\u
8FC7
\u
671F
\u5148\u
51FA
checkoutSettings.mode.usedFirst
=
\u
5C3E
\u6599\u5148\u
51FA
checkoutSettings.mode.fifo
=
\u5148\u
8FDB
\u5148\u
51FA
checkoutSettings.mode.efficiency
=
\u6548\u7387\u
4F18
\u5148
boxView.range
=
\u8303\u
56F4
boxView.openDoor
=
\u6253\u
5F00
\u
95E8
\u9501
boxView.closeDoor
=
\u5173\u
95ED
\u
95E8
\u9501
boxView.startBatchIn
=
\u
5F00
\u
59CB
\u6279\u
91CF
\u5165\u
5E93
boxView.takeOutReel
=
\u
53D6
\u
51FA
\u
51FA
\u
5E93
\u6599\u
76D8
boxView.takeDoorReel
=
\u
95E8
\u
53E3
\u6599\u
76D8
\u
5DF2
\u
53D6
\u
51FA
boxView.singleOut
=
\u5355\u
76D8
\u
51FA
\u
5E93
boxView.doorStatus
=
\u
4ED3
\u
95E8
\u
72B6
\u6001
allBoxView.msg.cancelFinished
=
\u
53D6
\u
6D88
\u6210\u
529F
boxView.taskCancel
=
\u
5DF2
\u
53D6
\u
6D88
boxView.taskExcuting
=
\u
6B63
\u5728\u6267\u
884C
boxView.taskFinished
=
\u
5DF2
\u
5B8C
\u6210
boxView.taskWaiting
=
\u
7B49
\u
5F85
\u
4E2D
boxView.cancelTask
=
\u
53D6
\u
6D88
solder.type
=
\u9521\u
818F
\u
7C7B
\u
578B
solder.type.noLead
=
\u
65E0
\u
94C5
solder.type.lead
=
\u6709\u
94C5
solder.model
=
\u
578B
\u
53F7
solder.encapsulation
=
\u5305\u
88C5
\u
65B9
\u
5F0F
solder.encapsulation.tube
=
\u
7BA1
\u
88C5
solder.encapsulation.can
=
\u
7F50
\u
88C5
solder.storageCondition
=
\u
51B0
\u
7BB1
\u
5B58
\u
50A8
\u6761\u
4EF6
solder.maxStorageTime
=
\u
5BA4
\u
6E29
\u6700\u
591A
\u
5B58
\u
50A8
\u
65F6
\u
95F4
solder.hour
=
\u
5C0F
\u
65F6
solder.warmTime
=
\u
56DE
\u
6E29
\u
65F6
\u
95F4
solder.maxStoreNum
=
\u6700\u5927\u
5B58
\u
50A8
\u
91CF
solder.storageTime
=
\u
5F00
\u
5C01
\u
540E
\u
53EF
\u
4EE5
\u
4FDD
\u
5B58
\u
65F6
\u
95F4
solder.minStoreNum
=
\u6700\u
5C0F
\u
5B58
\u
50A8
\u
91CF
solder.storeNum
=
\u
5B58
\u
50A8
\u
91CF
pcb.validPeriod
=
\u6709\u6548\u
671F
pcb.fixtureNumber
=
\u5939\u5177\u
7F16
\u
53F7
pcb.family
=
Family
solder.updateTitle
=
\u9521\u
818F
\u
8BE6
\u
60C5
pcb.updateTitle
=
PCB
\u
8BE6
\u
60C5
otherComponent.updateTitle
=
\u5176\u
4ED6
\u7269\u6599\u
8BE6
\u
60C5
fixture.updateTitle
=
\u5939\u5177\u
8BE6
\u
60C5
otherComponent.expensive
=
\u
8D35
\u
91CD
\u7269\u6599
fixture.type
=
\u5939\u5177\u
7C7B
\u
578B
settings.showRange
=
\u
663E
\u
793A
\u8303\u
56F4
settings.humiture
=
\u
6E29
\u
6E7F
\u
5EA6
settings.pcbEmail
=
PCB
\u
8FC7
\u
671F
\u
90AE
\u
4EF6
\u
63D0
\u9192
btn.test
=
\u
6D4B
\u
8BD5
settings.api
=
API
\u
8BBE
\u
7F6E
settings.api.inNotifaction
=
\u5165\u
5E93
\u
901A
\u
77E5
settings.api.outNotifaction
=
\u
51FA
\u
5E93
\u
901A
\u
77E5
settings.pcbEmail.everyday
=
\u
6BCF
\u
65E5
settings.pcbEmail.reminder
=
\u
63D0
\u9192
settings.pcbEmail.reminderDay
=
\u5929\u
524D
\u
63D0
\u9192
settings.pcbEmail.expire
=
PCB
\u
8FC7
\u
671F
settings.pcbEmail.adress
=
Emails (
\u
591A
\u
4E2A
\u7528
;
\u
53F7
\u9694\u
5F00)
barCodeSettings.rule
=
\u6761\u7801\u
89C4
\u5219
barCodeSettings.ruleNotes
=
\u
8BF4
\u
660E
\:\u5206\u5272\u
7B26
\u
4E3A
\u5355\u
4E2A
\u
5B57
\u
7B26,
\u
53EF
\u7528\u
5B57
\u
6BB5
\u6709\:
PN
\u
4E3A
\u7269\u6599\u
7F16
\u
53F7
\u5373
PartNumber, RI
\u
4E3A
\u
552F
\u
4E00
\u7801\u5373
ReelId,
\u
5F53
\u
552F
\u
4E00
\u7801\u
4E3A
\u6761\u7801\u7684\u6240\u6709\u5185\u
5BB9
\u
65F6
\u
4F7F
\u7528
[RI], QTY
\u
4E3A
\u6570\u
91CF, SP
\u
4E3A
\u
4F9B
\u
5E94
\u5546
, BATCH
\u
4E3A
\u6279\u
6B21, PRODATEyyyyMMdd
\u
4E3A
\u
751F
\u
4EA7
\u
65E5
\u
671F, EXPDATEyyyyMMdd
\u
4E3A
\u
8FC7
\u
671F
\u
65E5
\u
671F, xx
\u6216\u
7A7A
\u
4E3A
\u
65E0
\u
5BF9
\u
5E94
\u7684\u
5B57
\u
6BB5,
\u5176\u
4E2D
\u
5FC5
\u
987B
\u
542B
\u6709
PN
\u
548C RI, QTY
\u
4E3A
\u
7A7A
\u
65F6
\u
4F7F
\u7528\u6863\u6848\u7684\u
5C01
\u
88C5
\u6570\u
91CF
barCodeSettings.print
=
\u6761\u7801\u6253\u5370
barCodeSettings.print.pageSize
=
\u
7EB8
\u
5F20
\u
5C3A
\u
5BF8
barCodeSettings.print.height
=
\u
9AD8
barCodeSettings.print.width
=
\u
5BBD
barcode.updateTitle
=
\u6761\u7801\u
8BE6
\u
60C5
btn.view
=
\u
67E5
\u
770B
runStatus.throughput
=
\u
541E
\u5410\u
91CF
runStatus.alarmInfo
=
\u
62A5
\u
8B66
\u
4FE1
\u
606F
runStatus.alarmTimes
=
\u
62A5
\u
8B66
\u
6B21
\u6570
runStatus.alarmLastTime
=
\u
62A5
\u
8B66
\u6301\u
7EED
\u
65F6
\u
95F4
runStatus.minutes
=
\u5206\u
949F
runStatus.times
=
\u
6B21
select.all
=
\u6240\u6709
inOutList.in
=
\u5165\u
5E93
inOutList.out
=
\u
51FA
\u
5E93
inOutList.operate
=
\u
64CD
\u
4F5C
inOutList.type
=
\u
7C7B
\u
578B
inOutList.type.component
=
\u5143\u5668\u
4EF6
inOutList.type.solder
=
\u9521\u
818F
inOutList.type.pcb
=
PCB
inOutList.type.others
=
\u5176\u
4ED6
inOutList.time
=
\u
65F6
\u
95F4
inOutList.inOper
=
\u5165\u
5E93
\u
4EBA
inOutList.outOper
=
\u
51FA
\u
5E93
\u
4EBA
inOutList.inDate
=
\u5165\u
5E93
\u
65F6
\u
95F4
inOutList.outDate
=
\u
51FA
\u
5E93
\u
65F6
\u
95F4
alarmInfo.position
=
\u
4F4D
\u
7F6E
alarmInfo.detail
=
\u
62A5
\u
8B66
\u
8BE6
\u
60C5
alarmInfo.type
=
\u
62A5
\u
8B66
\u
7C7B
\u
578B
alarmInfo.time
=
\u
62A5
\u
8B66
\u
65F6
\u
95F4
alarmInfo.endTime
=
\u
89E3
\u9664\u
65F6
\u
95F4
dataLog.status
=
\u
72B6
\u6001
dataLog.batch
=
\u6307\u
5B9A
\u6279\u
6B21
dataLog.orderSource
=
\u6307\u
4EE4
\u6765\u
6E90
inventory.lockTitle
=
\u9501\u
5B9A/
\u
5E93
\u
5B58
inventory.find
=
\u
67E5
\u
627E
specifiedBatch.name
=
\u
540D
\u
79F0
specifiedBatch.bottom
=
\u7248\u
5E95
specifiedBatch.top
=
\u7248\u9762
specifiedBatch.task
=
\u
4EFB
\u
52A1
specifiedBatch.status
=
\u
72B6
\u6001
specifiedBatch.createDate
=
\u
521B
\u
5EFA
\u
65E5
\u
671F
specifiedBatch.startIn
=
\u
5F00
\u
59CB
\u5165\u
5E93
specifiedBatch.addOutTasks
=
\u
52A0
\u5165\u
51FA
\u
5E93
\u5217\u8868
specifiedBatch.stopIn
=
\u
505C
\u
6B62
\u5165\u
5E93
inOutList.type.solderFixture
=
\u9521\u
818F
\u5939\u5177
inOutList.type.pcbFixture
=
PCB
\u5939\u5177
storagePosFind.outSelect
=
\u
51FA
\u
5E93
\u6240\u9009\u
4ED3
\u
4F4D
storagePosFind.outInaction
=
\u5446\u
6EDE
\u6599\u
51FA
\u
5E93
storagePosFind.daysAgo
=
\u5929\u
524D
storagePosFind.index
=
\u
5E8F
\u
53F7
storagePosFind.inFixture
=
\u6240\u5728\u5939\u5177
inOutList.type.fixture
=
\u5939\u5177
barcode.produceDate
=
\u
751F
\u
4EA7
\u
65E5
\u
671F
barcode.expireDate
=
\u
8FC7
\u
671F
\u
65F6
\u
95F4
barcode.inStoreRemainTime
=
\u5728\u
5E93/
\u5269\u
4F59
\u
65F6
\u
95F4
virtualStorage.taskList
=
\u
4EFB
\u
52A1
\u5217\u8868
virtualStorage.positionList
=
\u
4ED3
\u
4F4D
\u5217\u8868
virtualStorage.position
=
\u
4F4D
\u
7F6E
dataReport.print
=
\u6253\u5370
dataReport.solderUsage
=
\u7269\u6599\u
6D88
\u8017\u
91CF
dataReport.solderOverdue
=
\u9521\u
818F
\u
8D85
\u
671F
\u
62A5
\u
5E9F
\u6570\u
91CF
dataReport.solderStock
=
\u9521\u
818F
\u
5B9E
\u
65F6
\u
5E93
\u
5B58
dataReport.pcbStock
=
PCB
\u
5B9E
\u
65F6
\u
5E93
\u
5B58
dataReport.pcbOverdue
=
PCB
\u
8D85
\u
671F
\u
62A5
\u
5E9F
\u6570\u
91CF
dataReport.solderStock.warming
=
\u
6B63
\u5728\u
56DE
\u
6E29
dataReport.solderStock.soonToExpire
=
\u5373\u
5C06
\u
8FC7
\u
671F
dataReport.solderStock.invalid
=
\u5931\u6548
dataReport.overduePcb
=
\u
8FC7
\u
671FPCB
runStatus.solderOutgoing
=
\u9521\u
818F
\u
51FA
\u
5E93
\u
91CF
runStatus.pcbOutgoing
=
PCB
\u
51FA
\u
5E93
\u
91CF
runStatus.pcbWarehousing
=
PCB
\u5165\u
5E93
\u
91CF
runStatus.solderWarehousing
=
\u9521\u
818F
\u5165\u
5E93
\u
91CF
show.desktop
=
\u7535\u8111
show.table
=
\u
5E73
\u
677F
menu.system.maintenance
=
\u
8BBE
\u5907\u
7EF4
\u
62A4
maintenance.device.1_device_inoutAxis
=
\u
8FDB
\u
51FA
\u
8F74
maintenance.device.1_device_middleAxis
=
\u
65CB
\u
8F6C
\u
8F74
maintenance.device.1_device_updownAxis
=
\u
4E0A
\u
4E0B
\u
8F74
maintenance.nextTime
=
\u
4E0B
\u
6B21
\u
7EF4
\u
62A4
\u
65F6
\u
95F4
maintenance.deviceName
=
\u
8BBE
\u5907\u
540D
\u
79F0
maintenance.runTime
=
\u
8FD0
\u
884C
\u
65F6
\u
957F
maintenance.status
=
\u
5F53
\u
524D
\u
72B6
\u6001
maintenance.status.0
=
\u
505C
\u
6B62
maintenance.status.1
=
\u
8FD0
\u
52A8
\u
4E2D
maintenance.device.1_device_batchAxis
=
\u6279\u
91CF
\u
4E0A
\u
4E0B
\u6599\u
8F74
button.maintenance.finished
=
\u
4FDD
\u
517B
\u
5B8C
\u6210
settings.maintenanceDays
=
\u5907\u
4EFD
\u5468\u
671F
settings.backupPath
=
\u5907\u
4EFD
\u
8DEF
\u
5F84
settings.backupHours
=
\u5907\u
4EFD
\u5468\u
671F
button.backup
=
\u5907\u
4EFD
button.restore
=
\u
8FD8
\u
539F
time.seconds
=
\u
79D2
time.minutes
=
\u5206\u
949F
time.hours
=
\u
5C0F
\u
65F6
time.days
=
\u5929
system.backup.noPath
=
\u
8BF7
\u5148\u
8BBE
\u
7F6E
\u5907\u
4EFD
\u
8DEF
\u
5F84
settings.backup.versions
=
\u7248\u
672C
\u5217\u8868
settings.restore.warning
=
\u
8B66
\u
544A
\:\u
8FD8
\u
539F
\u
540E,
\u
7CFB
\u
7EDF
\u
5C06
\u
8FD8
\u
539F
\u5230\u
6B64
\u7248\u
672C,
\u
4E14
\u
8BE5
\u
64CD
\u
4F5C
\u
4E0D
\u
53EF
\u6062\u
590D
\!\!\!
settings.restore.confirm
=
\u
786E
\u
5B9A
\u8981\u
8FD8
\u
539F
\u5230\u
6B64
\u7248\u
672C
settings.restore.success
=
\u
64CD
\u
4F5C
\u6210\u
529F
checkout.sucess
=
\u
52A0
\u5165\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\u5217\u8868\u6210\u
529F
runStatus.stockOut
=
\u
51FA
\u
5E93
\u
91CF
runStatus.stockIn
=
\u5165\u
5E93
\u
91CF
checkoutSettings.mode.produceDate
=
\u
751F
\u
4EA7
\u
65E5
\u
671F
\u
4F18
\u5148
\ No newline at end of file
myproject/src/main/resources/StorageResources.properties
查看文件 @
c833ac2
...
...
@@ -332,44 +332,10 @@ alarm.expire.title=Expire Alarm
alarm.expire.msg
=
The amount of expire material is [{0}]
client.inSuddenStop
=
Emergency Stop
client.NoAIr
=
No air signal
client.PreConnectFail
=
Startup failure
\u
FF1Apress Axis connect failed.
client.CloseError
=
Lock failed
\u
FF1Athe put in device is not closed.
client.startFail
=
Startup failure: emergency stop is not opened
client.startFailAir
=
Startup failure: no air pressure signal
client.InoutAlarm
=
The in out axis is alarm!
client.OpenAxisFail
=
Failed to open axis {0}
client.AutoReset
=
Resetting
client.AxisAlarm
=
Motion axis {0} alarm
client.OutStoreError
=
Providing format error{0}
client.WaitSingleTimeOut
=
Wait signal {0}={1} timeout
client.AxisHomeMoveAlarm
=
The movement {0} axis {1} receives the origin completion signal, the current position [{2}], the error is too large
client.AxisMoveAlarm
=
Movement {0} axis {1} target position [{2}] current position {3} error is too large
client.MoveTimeOut
=
[{0}]Timeout{1}[{2}]
client.XiLiaoError
=
Sucker suction failure
client.InStoreError
=
put in format error[barcode:{0}] pos:[{1}]
client.InStoreNoPosition
=
no pos found
\u
FF1Abarcode:[{0}] pos:[{1}]
client.WaitInstoreTimeOut
=
[{0}] timeout [wait to store][{1} seconds]
client.HasWare
=
there is a reel on the fork
client.NoCodeMsg
=
No barcode is found, please check the reel
client.InStoreNoCode
=
No barcode is found, send the reel out
client.MoveTimeOut_01
=
[{0}][motion]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_02
=
[{0}][waiting IO signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_03
=
[{0}][waiting time]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_04
=
[{0}][target pos]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_05
=
[{0}][press axis motion]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_06
=
[{0}][origin signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_07
=
[{0}][get height]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_08
=
[{0}][waiting axis limit signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_09
=
[{0}][waiting axis positive limit signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_10
=
[{0}][loading axis stopping]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_11
=
[{0}][scanning]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_12
=
[{0}][putting/taking reel]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_13
=
[{0}][send reel]timeout
\u
FF0C{1} seconds waited
settings.api.checkBarcode
=
Check Barcode
settings.api.orderFileDir
=
Order File Folder
settings.remind.title
=
Remind Setting
settings.remind.deadday
=
days dead metiral remind
shelf.btn.closeAll
=
Close All Lights
shelf.btn.posCheck
=
Database Check
...
...
@@ -382,6 +348,13 @@ shelf.msg.noTask=Failed\: the material is in [{0}], but no task for it.
shelf.msg.outError
=
No material is found.
shelf.msg.inOk
=
Please put the material in the location [{0}]
shelf.msg.inError
=
No suitable location for [{0}] is found.
shelf.msg.hasReel
=
There position [{0}] already has material
shelf.msg.tipScanReel
=
Please scan the material to put in [{0}]
shelf.msg.fastop
=
Barcode operate is too fast
shelf.msg.scanPos
=
Please scan the position code
shelf.nextPos.hasTask
=
Next Position [{0}] already has task, please scan a new position code.
shelf.nextPos.hasReel
=
Next Position [{0}] already has material, please scan a new position code.
shelf.nextPos.wrongSize
=
Next Position [{0}] size [{1}] is different from material size [{2}] please scan a new position code.
order.out.set
=
set of materials
order.out.surplus
=
surplus material
...
...
@@ -431,4 +404,5 @@ error.barcode.wrongPn=The partnumber is wrong
error.barcode.pnNotExist
=
x Component {0} does not exist
error.barcode.errorSize
=
x The reel has no size.
error.storage.noPosFind
=
No availble position is found.
msg.line.putIn
=
Put [{0}] into [{1}]
\ No newline at end of file
msg.line.putIn
=
Put [{0}] into [{1}]
delete.confirm
=
Are you sure to delete?
\ No newline at end of file
myproject/src/main/resources/StorageResources_en.properties
查看文件 @
c833ac2
...
...
@@ -320,42 +320,6 @@ batch.btn.singleIn=Single In
batch.btn.closeDoor
=
Close Door
client.inSuddenStop
=
Emergency Stop
client.NoAIr
=
No air signal
client.PreConnectFail
=
Startup failure
\u
FF1Apress Axis connect failed.
client.CloseError
=
Lock failed
\u
FF1Athe put in device is not closed.
client.startFail
=
Startup failure: emergency stop is not opened
client.startFailAir
=
Startup failure: no air pressure signal
client.InoutAlarm
=
The in out axis is alarm!
client.OpenAxisFail
=
Failed to open axis {0}
client.AutoReset
=
Resetting
client.AxisAlarm
=
Motion axis {0} alarm
client.OutStoreError
=
Providing format error{0}
client.WaitSingleTimeOut
=
Wait signal {0}={1} timeout
client.AxisHomeMoveAlarm
=
The movement {0} axis {1} receives the origin completion signal, the current position [{2}], the error is too large
client.AxisMoveAlarm
=
Movement {0} axis {1} target position [{2}] current position {3} error is too large
client.MoveTimeOut
=
[{0}]Timeout{1}[{2}]
client.XiLiaoError
=
Sucker suction failure
client.InStoreError
=
put in format error[barcode:{0}] pos:[{1}]
client.InStoreNoPosition
=
no pos found
\u
FF1Abarcode:[{0}] pos:[{1}]
client.WaitInstoreTimeOut
=
[{0}] timeout [wait to store][{1} seconds]
client.HasWare
=
there is a reel on the fork
client.NoCodeMsg
=
No barcode is found, please check the reel
client.InStoreNoCode
=
No barcode is found, send the reel out
client.MoveTimeOut_01
=
[{0}][motion]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_02
=
[{0}][waiting IO signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_03
=
[{0}][waiting time]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_04
=
[{0}][target pos]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_05
=
[{0}][press axis motion]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_06
=
[{0}][origin signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_07
=
[{0}][get height]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_08
=
[{0}][waiting axis limit signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_09
=
[{0}][waiting axis positive limit signal]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_10
=
[{0}][loading axis stopping]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_11
=
[{0}][scanning]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_12
=
[{0}][putting/taking reel]timeout
\u
FF0C{1} seconds waited
client.MoveTimeOut_13
=
[{0}][send reel]timeout
\u
FF0C{1} seconds waited
settings.api.checkBarcode
=
Check Barcode
settings.api.orderFileDir
=
Order File Folder
user.cabinetAssign
=
Cabinet Assign
...
...
@@ -427,4 +391,13 @@ error.barcode.pnNotExist=x Component {0} does not exist
error.barcode.errorSize
=
x The reel has no size.
error.storage.noStorage
=
There is no storage can use.
error.storage.noPosFind
=
No availble position is found.
msg.line.putIn
=
Put [{0}] into [{1}]
\ No newline at end of file
msg.line.putIn
=
Put [{0}] into [{1}]
shelf.msg.hasReel
=
There position [{0}] already has material
shelf.msg.tipScanReel
=
Please scan the material to put in [{0}]
shelf.msg.fastop
=
Barcode operate is too fast
shelf.msg.scanPos
=
Please scan the position code
shelf.nextPos.hasTask
=
Next Position [{0}] already has task, please scan a new position code.
shelf.nextPos.wrongSize
=
Next Position [{0}] size [{1}] is different from material size [{2}] please scan a new position code.
shelf.nextPos.hasReel
=
Next Position [{0}] already has material, please scan a new position code.
settings.remind.title
=
Remind Setting
settings.remind.deadday
=
days dead metiral remind
myproject/src/main/resources/StorageResources_jp.properties
0 → 100644
查看文件 @
c833ac2
menu.home
=
\u9996\u9875
menu.workOrder
=
\u
8F7B
\u
5DE5
\u5355
menu.workOrder.search
=
\u
5DE5
\u5355\u
67E5
\u
8BE2
menu.workOrder.new
=
\u
65B0
\u
5EFA
\u
5DE5
\u5355
menu.component
=
\u
4EA7
\u
54C1
\u
7BA1
\u7406
menu.component.bom
=
BOM
\u
7BA1
\u7406
menu.component.search
=
\u6599\u
4EF6
\u6863\u6848\u
7BA1
\u7406
menu.component.inventory
=
\u
5E93
\u
5B58
\u
7BA1
\u7406
menu.cloud
=
\u7269\u6599\u
4E91
menu.cloud.storage
=
\u
4E91
\u
4ED3
\u
5E93
menu.cloud.checkOut
=
\u6599\u
4EF6
\u
67E5
\u
627E
\u
51FA
\u
5E93
menu.barCode
=
\u6761\u
5F62
\u7801
menu.barCode.new
=
\u
65B0
\u
5EFA
\u6761\u7801
menu.barCode.search
=
\u6761\u7801\u
67E5
\u
8BE2
menu.batch
=
\u6279\u
6B21
menu.batch.feeder
=
\u
7AD9
\u
4F4D
\u5217\u8868
menu.batch.specifiedBatch
=
\u6307\u
5B9A
\u6279\u
6B21
menu.user
=
\u6743\u9650\u
7BA1
\u7406
menu.user.account
=
\u
8D26
\u6237\u
7BA1
\u7406
menu.user.role
=
\u
89D2
\u8272\u
7BA1
\u7406
menu.help
=
\u
5E2E
\u
52A9
menu.dataLog.search
=
\u
65E5
\u
5FD7
\u
7BA1
\u7406
menu.boxManager
=
\u6599\u
4ED3
\u
7BA1
\u7406
top.menu.profile
=
\u
8D44
\u6599\u
7F16
\u
8F91
top.menu.logout
=
\u
6CE8
\u9500
home.kanban
=
\u
770B
\u
677F
home.chart.component
=
\u6599\u
4EF6
\u5206\u
5E03
home.chart.component.overview
=
\u6982\u
89C8
home.chart.component.componentAmount
=
\u6570\u
91CF
home.chart.component.positionNum
=
\u6240\u5360\u
4ED3
\u
4F4D
home.chart.storage
=
\u
4ED3
\u
4F4D
\u5229\u7528\u7387
home.chart.storage.total
=
\u
603B
\u
4ED3
\u
4F4D
\u6570
home.chart.storage.useage
=
\u
5DF2
\u
4F7F
\u7528
home.chart.storage.empty
=
\u
7A7A
\u
95F2
workOrder.title
=
\u
5DE5
\u5355\u
7BA1
\u7406
workOrder.subtitle
=
\u
67E5
\u
627E
\u
5DE5
\u5355
workOrder.update.title
=
\u
5DE5
\u5355\u
7BA1
\u7406
workOrder.update.subtitle
=
\u
5DE5
\u5355\u
8BE6
\u
60C5
workOrder.list
=
\u
5DE5
\u5355\u5217\u8868
workOrder.saveSuccess
=
\u
5DE5
\u5355\u
4FDD
\u
5B58
\u6210\u
529F
workOrder.deleteSuccess
=
\u
5DE5
\u5355\u5220\u9664\u6210\u
529F
workOrder.checkoutSuccess
=
\u
5DE5
\u5355\u
51FA
\u
5E93
\u6210\u
529F
workOrder.workOrder
=
\u
5DE5
\u5355
workOrder.name
=
\u
5DE5
\u5355\u
53F7
workOrder.amount
=
\u6570\u
91CF
workOrder.error.amount
=
\u
5DE5
\u5355\u6570\u
91CF
\u
5FC5
\u
987B
\u5927\u
4E8E0
checkOut.componentName
=
\u6599\u
4EF6
\u
540D
\u
79F0
checkOut.pos
=
\u
4ED3
\u
4F4D
checkOut.operate
=
\u
64CD
\u
4F5C
component.search.subtitle
=
\u6599\u
4EF6
\u5217\u8868
component.list
=
\u6599\u
4EF6
\u5217\u8868
component.update.subtitle
=
\u6599\u
4EF6
\u
8BE6
\u
60C5
component.item.name
=
\u6599\u
4EF6
component.name
=
\u6599\u
4EF6
\u
540D
\u
79F0
component.partNumber
=
\u6599\u
4EF6
\u
7F16
\u
53F7
component.plateSize
=
\u6599\u
76D8
\u
5C3A
\u
5BF8
component.height
=
\u6599\u
76D8
\u
9AD8
\u
5EA6
component.amount
=
\u
5C01
\u
88C5
\u6570\u
91CF
component.encapsulation
=
\u
5C01
\u
88C5
component.unit
=
\u5355\u
4F4D
component.unitCost
=
\u5355\u8017
component.provider
=
\u
4F9B
\u
5E94
\u5546
component.providerNumber
=
\u
4F9B
\u
5E94
\u5546\u
7F16
\u
53F7
component.producer
=
\u5382\u5546
component.producerNumber
=
\u5382\u5546\u
7F16
\u
53F7
component.msl
=
MSL
\u
7B49
\u
7EA7
component.productionType
=
\u5143\u5668\u
4EF6
\u
578B
\u
53F7
component.description
=
\u6599\u
4EF6
\u
63CF
\u
8FF0
component.partNumber.exist
=
\u6599\u
4EF6
\u
7F16
\u
53F7
\u
5DF2
\u
5B58
\u5728
component.pic
=
\u
56FE
\u7247
component.saveSuccess
=
\u6599\u
4EF6
\u
4FDD
\u
5B58
\u6210\u
529F
component.deleteSuccess
=
\u6599\u
4EF6
\u5220\u9664\u6210\u
529F
component.name.empty
=
\u6599\u
4EF6
\u
540D
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
component.partNumber.empty
=
\u6599\u
4EF6
\u
7F16
\u
53F7
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
component.error.bomUsed
=
\u6599\u
4EF6
\u
5DF2
\u
88ABBOM
\u
4F7F
\u7528\u
FF0C
\u
65E0
\u
6CD5
\u5220\u9664
component.error.notExist
=
\u6599\u
4EF6{0}
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
\u6570\u
636E
\u
662F
\u5426\u
6B63
\u
786E
\u3002
component.error.notFound
=
\u
65E0
\u
6CD5
\u
627E
\u5230\u
6B64
\u6599\u
4EF6
component.smdAlarmValue
=
SMD
\u9884\u
8B66
\u
503C
barcode.search.subtitle
=
\u6761\u7801\u
67E5
\u
627E
barcode.item.name
=
\u6761\u7801
barcode.print
=
\u6253\u5370
barcode.update.subtitle
=
\u6761\u7801\u
8BE6
\u
60C5
barcode.barcode
=
\u6761\u7801\u
7F16
\u
53F7
barcode.partNumber
=
\u6599\u
4EF6
\u
7F16
\u
53F7
barcode.amount
=
\u6570\u
91CF
barcode.plateSize
=
\u6599\u
76D8
\u
5C3A
\u
5BF8
barcode.height
=
\u6599\u
76D8
\u
9AD8
\u
5EA6
barcode.provider
=
\u
4F9B
\u
5E94
\u5546
barcode.batch
=
\u6279\u
6B21
barcode.expireDate
=
\u
8FC7
\u
671F
\u
65E5
\u
671F
barcode.saveSuccess
=
\u6761\u7801\u
4FE1
\u
606F
\u
4FDD
\u
5B58
\u6210\u
529F
barcode.deleteSuccess
=
\u6761\u7801\u
4FE1
\u
606F
\u5220\u9664\u6210\u
529F
barcode.storage.input
=
\u
8BF7
\u
8F93
\u5165\u5165\u
5E93
\u6761\u7801
barcode.error.unique
=
\u6761\u7801
{0}
\u
5DF2
\u
88AB
\u
4F7F
\u7528
barcode.error.empty
=
\u6761\u7801\u
4E3A
\u
7A7A
\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
\u6761\u7801\u6570\u
636E
\u
662F
\u5426\u
6B63
\u
786E
barcode.error.partNumber.empty
=
\u6761\u7801
{0}
\u5173\u8054\u7684\u6599\u
4EF6
\u
4E3A
\u
7A7A
\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
\u6570\u
636E
\u
662F
\u5426\u
6B63
\u
786E
barcode.error.amount.negative
=
\u6761\u7801
{0}
\u5173\u8054\u7684\u6599\u
4EF6
\u6570\u
91CF
\u
5FC5
\u
987B
\u5927\u
4E8E0
barcode.error.component.notExist
=
\u6761\u7801
{0}
\u5173\u8054\u7684\u6599\u
4EF6
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
\u6570\u
636E
\u
662F
\u5426\u
6B63
\u
786E
\u3002
barcode.error.notExist
=
\u6761\u7801
{0}
\u
4E0D
\u
5B58
\u5728
barcode.error.inStorage
=
\u6761\u7801
{0}
\u
5DF2
\u5728\u
5E93
\u
4E2D
barcode.error.slotExist
=
\u6761\u7801\u
5BF9
\u
5E94
\u7684\u6599\u
4EF6
\u
672A
\u5165\u
5E93
barcode.memo
=
\u5907\u
6CE8
dataLog.operator
=
\u
64CD
\u
4F5C
\u
4EBA
storage.search.subtitle
=
\u6599\u
4ED3
\u
67E5
\u
627E
storage.item.name
=
\u6599\u
4ED3
storage.slotAmount
=
\u
4ED3
\u
4F4D
\u6570\u
91CF
storage.update.subtitle
=
\u6599\u
4ED3
\u
8BE6
\u
60C5
storage.status
=
\u
72B6
\u6001
storage.chart.temperature
=
\u
6E29
\u
5EA6
storage.chart.humidity
=
\u
6E7F
\u
5EA6
storage.status.1
=
\u
8BBE
\u5907\u8054\u
673A
storage.status.2
=
\u6025\u
505C
storage.status.3
=
\u6545\u
969C
\u
4E2D
storage.status.4
=
\u
8B66
\u
544A
storage.status.5
=
\u
8C03
\u
8BD5
\u
4E2D
storage.status.6
=
\u5165\u
5E93
\u6267\u
884C
\u
4E2D
storage.status.7
=
\u6599\u
76D8
\u5165\u
4ED3
\u
4F4D
\u
5B8C
\u6210
storage.status.8
=
\u5165\u
5E93
\u5931\u
8D25
storage.status.9
=
\u
51FA
\u
5E93
\u6267\u
884C
\u
4E2D
storage.status.10
=
\u
51FA
\u
4ED3
\u
4F4D
\u
5B8C
\u6210
storage.status.11
=
\u
51FA
\u
5E93
\u
5B8C
\u6210
storage.status.12
=
\u
79FB
\u
683D
\u
4E2D
storage.status.13
=
\u
539F
\u
70B9
\u
8FD4
\u
56DE
\u
4E2D
sotrage.status.999
=
\u
79BB
\u
7EBF
storage.type
=
\u
7C7B
\u
578B
storage.type.auto
=
\u5355\u
53F0
\u
81EA
\u
52A8
storage.type.manual
=
\u
624B
\u
52A8
storage.type.line
=
\u
6D41
\u
6C34
\u
7EBF
storage.type.virtual
=
\u
865A
\u
62DF
\u
4ED3
storage.type.online
=
\u5728\u
7EBF
\u
4ED3(
\u
4E0A
\u
4E0B
\u
5C42)
storage.type.batch
=
\u6279\u
91CF
\u6599\u
4ED3
storage.type.shelf
=
\u
667A
\u
80FD
\u6599\u
67B6
storage.type.cabinet
=
\u
667A
\u
80FD
\u6599\u
67DC
storage.compatibility
=
\u
517C
\u
5BB9
\u6027
storage.enable
=
\u
662F
\u5426\u
53EF
\u7528
storage.enable.yes
=
\u
662F
storage.enable.no
=
\u5426
storage.enable.prohibit
=
\u7981\u7528
storage.enable.enable
=
\u
542F
\u7528
storage.posSize
=
\u
4ED3
\u
4F4D
\u
5C3A
\u
5BF8
storage.clearPos
=
\u
6E05
\u
7A7A
\u
4ED3
\u
4F4D
storage.clearAllPos
=
\u
6E05
\u
7A7A
\u6240\u6709\u
4ED3
\u
4F4D
storage.clearPos.msg
=
\u
6B64
\u
64CD
\u
4F5C
\u
4F1A
\u
6E05
\u
7A7A
\u6240\u6709\u
4ED3
\u
4F4D
\u
4E2D
\u7684\u
5E93
\u
5B58,
\u
4E14
\u
4E0D
\u
53EF
\u6062\u
590D,
\u
8BF7
\u
786E
\u
4FDD
\u6599\u
4ED3
\u
4E2D
\u7684\u7269\u6599\u
5DF2
\u
53D6
\u
51FA.
\u
786E
\u
5B9A
\u8981\u
6E05
\u
7A7A
\u6240\u6709\u
4ED3
\u
4F4D
\u5417\u
FF1F
storage.match.exactMatch
=
\u
5B8C
\u5168\u5339\u
914D
storage.match.fullyCompatible
=
\u
5B8C
\u5168\u
517C
\u
5BB9
storage.match.sizeCompatible
=
\u
540C
\u
5C3A
\u
5BF8
\u
517C
\u
5BB9
storage.name
=
\u
540D
\u
79F0
storage.cid
=
\u
5BA2
\u6237\u
7AEF
\u
7F16
\u
53F7
storage.boxCount
=
Box
\u6570\u
91CF
storage.slotList
=
\u
4ED3
\u
4F4D
\u5217\u8868
storagePos.name
=
\u
4ED3
\u
4F4D
\u
7F16
\u
53F7
storagePos.priority
=
\u
4F18
\u5148\u
7EA7
storagePos.width
=
\u
5BBD
\u
5EA6
storagePos.height
=
\u
9AD8
\u
5EA6
storagePos.layer
=
\u
5C42
\u6570
storagePos.update
=
\u
8BF7
\u
66F4
\u
65B0
\u
4ED3
\u
4F4D
\u
4FE1
\u
606F
storagePos.saveSuccess
=
\u
4ED3
\u
4F4D
\u
4FE1
\u
606F
\u
4FDD
\u
5B58
\u6210\u
529F
storage.saveSuccess
=
\u6599\u
4ED3
\u
4FE1
\u
606F
\u
4FDD
\u
5B58
\u6210\u
529F
storage.error.notExist
=
\u
4ED3
\u
5E93
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u
65B0
\u
5EFA
\u
4ED3
\u
4F4D
\u
540E
\u
64CD
\u
4F5C
storage.error.unique
=
\u
4ED3
\u
5E93
\u
540D
\u
5DF2
\u
88AB
\u
4F7F
\u7528\u
FF0C
\u
8BF7
\u6539\u
540D
\u
540E
\u
91CD
\u
65B0
\u
4FDD
\u
5B58
storage.error.full
=
\u
4ED3
\u
5E93
\u
5DF2
\u
6EE1
\u
FF0C
\u
8BF7
\u
66F4
\u6362\u
4ED3
\u
5E93
\u
540E
\u
518D
\u
5B58
\u
50A8
storage.error.cidUnique
=
\u
4ED3
\u
5E93
\u
5BA2
\u6237\u
7AEF
\u
7F16
\u
53F7
\u
5FC5
\u
987B
\u
4E3A
\u
552F
\u
4E00
errors.upload.fileNotExist
=
\u
4E0A
\u
4F20
\u7684\u6587\u
4EF6
\u
4E0D
\u
5B58
\u5728\u
FF0C
\u
8BF7
\u
91CD
\u
65B0
\u
4E0A
\u
4F20
button.add
=
\u
65B0
\u
589E
button.return
=
\u
8FD4
\u
56DE
\u5217\u8868
button.delete
=
\u5220\u9664
button.edit
=
\u
7F16
\u
8F91
button.save
=
\u
4FDD
\u
5B58
button.upload
=
\u
4E0A
\u
4F20
button.view
=
\u
67E5
\u
770B
button.reset
=
\u
91CD
\u
7F6E
button.search
=
\u
67E5
\u
8BE2
button.cancel
=
\u
53D6
\u
6D88
button.putin
=
\u5165\u
5E93
button.checkout
=
\u
51FA
\u
5E93
button.uploadFile
=
\u
4E0A
\u
4F20
\u6570\u
636E
\u6587\u
4EF6
button.end
=
\u
7ED3
\u
675F
file.title
=
\u
8BF7
\u
4E0A
\u
4F20
\u6570\u
636E
\u6587\u
4EF6
authority.component.manage
=
\u6599\u
4EF6
\u
7BA1
\u7406
authority.bom.manage
=
BOM
\u
7BA1
\u7406
authority.workorder.manage
=
\u
5DE5
\u5355\u
7BA1
\u7406
authority.barcode.manage
=
\u6761\u7801\u
7BA1
\u7406
authority.storage.manage
=
\u6599\u
4ED3
\u
7BA1
\u7406
authority.role.manage
=
\u
89D2
\u8272\u
7BA1
\u7406
authority.user.manage
=
\u7528\u6237\u
7BA1
\u7406
authority.stockOut
=
\u
51FA
\u5165\u
5E93
authority.feeder
=
\u
5DE5
\u5355\u
7BA1
\u7406
authority.specifiedBatch
=
\u6307\u
5B9A
\u6279\u
6B21
\u
7BA1
\u7406
authority.virtual
=
\u
865A
\u
62DF
\u
4ED3
\u
7BA1
\u7406
authority.feeder.view
=
\u
5DE5
\u5355\u
67E5
\u
770B
authority.valuable.out
=
\u
8D35
\u
91CD
\u7269\u6599\u
51FA
\u
5E93
authority.dataLog
=
\u
8FD0
\u
884C
\u6570\u
636E
error.save
=
\u
4FDD
\u
5B58
\u
51FA
\u9519
,
\u
8BF7
\u
68C0
\u
67E5
role.search.subtitle
=
\u
89D2
\u8272\u5217\u8868
role.update.subtitle
=
\u
89D2
\u8272\u
8BE6
\u
60C5
role.update.name
=
\u
89D2
\u8272\u
540D
\u
79F0
role.update.description
=
\u
63CF
\u
8FF0
role.update.authorities
=
\u6743\u9650
required.role.authorities
=
\u
81F3
\u
5C11
\u9009\u
62E9
\u
4E00
\u
4E2A
\u6743\u9650
user.item.name
=
\u7528\u6237
user.search.subtitle
=
\u
67E5
\u
627E
\u7528\u6237
user.search.param
=
\u
67E5
\u
627E
\u5173\u
952E
\u
5B57
user.update.subtitle
=
\u7528\u6237\u
8BE6
\u
60C5
user.username
=
\u7528\u6237\u
540D
user.initPwd
=
\u
521D
\u
59CB
\u
5BC6
\u7801
user.password
=
\u
5BC6
\u7801
user.firstName
=
\u
540D
user.lastName
=
\u
59D3
user.fullName
=
\u
59D3
\u
540D
user.role
=
\u
89D2
\u8272
user.language
=
\u
8BED
\u
8A00
user.email
=
\u
90AE
\u
7BB1
user.authCode
=
\u6388\u6743\u7801
user.writeCard
=
\u5199\u5165\u5361\u7247
user.profile.edit
=
\u
8D44
\u6599\u
7F16
\u
8F91
profile.password.subtitle
=
\u
4FEE
\u6539\u
5BC6
\u7801
updatePassword.currentPassword.label
=
\u
5F53
\u
524D
\u
5BC6
\u7801
updatePassword.newPassword.label
=
\u
65B0
\u
5BC6
\u7801
updatePassword.invalidPassword
=
\u
4F60
\u
8F93
\u5165\u7684\u
5F53
\u
524D
\u
5BC6
\u7801\u
4E0D
\u
6B63
\u
786E
updatePassword.success
=
\u
5BC6
\u7801\u
66F4
\u
65B0
\u6210\u
529F
updatePassword.changePasswordButton
=
\u
66F4
\u
65B0
\u
5BC6
\u7801
updatePassword.changePasswordLink
=
\u
4FEE
\u6539\u
5BC6
\u7801
menu.area.search
=
\u
533A
\u
57DF
area.search.subtitle
=
\u
533A
\u
57DF
\u5217\u8868
area.name
=
\u
533A
\u
57DF
\u
540D
\u
79F0
area.storages
=
\u6599\u
4ED3
area.putInEndTime
=
\u5165\u
5E93
\u
622A
\u
6B62
\u
65F6
\u
95F4
area.view.subtitle
=
\u
533A
\u
57DF
\u
76D1
\u
63A7
area.item.name
=
\u
533A
\u
57DF
option.none
=
----
\u
8BF7
\u9009\u
62E9----
storage.area
=
\u
533A
\u
57DF
storage.name.empty
=
\u6599\u
4ED3
\u
540D
\u
79F0
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
storage.area.empty
=
\u6599\u
4ED3
\u6240\u
5C5E
\u
533A
\u
57DF
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
component.auto.scancode
=
\u
626B
\u7801\u
586B
\u5199
component.plate.size
=
\u6599\u
76D8
\u
5C3A
\u
5BF8
component.amount.empty
=
\u6570\u
91CF
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
component.plateSize.empty
=
\u6599\u
76D8
\u
5C3A
\u
5BF8
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
component.height.empty
=
\u6599\u
76D8
\u
9AD8
\u
5EA6
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
plate.size.customer
=
\u
81EA
\u
5B9A
\u
4E49
\u
5C3A
\u
5BF8
datetime.pattern
=
yyyy-MM-dd HH:mm
date.format
=
yyyy-MM-dd
button.addto.checkout
=
\u
52A0
\u5165\u5230\u
51FA
\u
5E93
\u
961F
\u5217
dataLog.search.subtitle
=
\u
51FA
\u5165\u
5E93
\u
65E5
\u
5FD7
dataLog.partNumber
=
\u6599\u
4EF6
\u
7F16
\u7801
dataLog.storageName
=
\u6599\u
4ED3
\u
540D
\u
79F0
dataLog.num
=
\u6570\u
91CF
dataLog.type
=
\u
7C7B
\u
578B
dataLog.date
=
\u
65E5
\u
671F
dataLog.item.name
=
\u
51FA
\u5165\u
5E93
\u
65E5
\u
5FD7
dataLog.checkout
=
{0}[
\u6570\u
91CF:{1}]
\u
4ECE[{2}]
\u
51FA
\u
5E93
dataLog.putIn
=
{0}[
\u6570\u
91CF:{1}]
\u5165\u
5E93
\u5230
[{2}]
dataLog.list
=
\u
65E5
\u
5FD7
\u5217\u8868
cabinet.card
=
\u
8BF7
\u5237\u5361
cabinet.exit
=
\u9000\u
51FA
cabinet.pos
=
\u
5F53
\u
524D
\u
4ED3
\u
4F4D
cabinet.in
=
\u5165\u6599
cabinet.out
=
\u
51FA
\u6599
cabinet.error.validOp
=
\u
975E
\u
6CD5
\u
64CD
\u
4F5C:
\u
65E0
\u
6CD5
\u
5F00
\u
95E8
cabinet.error.openMoreDoor
=
\u
65E0
\u
6CD5
\u
540C
\u
65F6
\u6253\u
5F00
\u
591A
\u
4E2A
\u
67DC
\u
95E8
cabinet.error.noCard
=
\u
975E
\u
6CD5
\u
64CD
\u
4F5C:
\u
672A
\u5237\u5361
,
\u
65E0
\u
6CD5
\u
5F00
\u
95E8
cabinet.error.posError
=
\u
975E
\u
6CD5
\u
64CD
\u
4F5C:
\u
672A
\u
627E
\u5230\u
67DC
\u
95E8
cabinet.error.noAuth
=
\u
65E0
\u6743\u
64CD
\u
4F5C,
\u
8BF7
\u8054\u
7CFB
\u
7BA1
\u7406\u5458
cabinet.error.noCode
=
\u6761\u7801\u
4E0D
\u
5B58
\u5728
cabinet.error.noPos
=
\u
5E93
\u
4F4D
\u
4E0D
\u
5B58
\u5728
cabinet.msg.closeDoor
=
\u5173\u
95E8
\u
540E
\u
64CD
\u
4F5C
\u
81EA
\u
52A8
\u
7ED3
\u
675F
cabinet.msg.finish
=
\u
64CD
\u
4F5C
\u
5B8C
\u6210
op.1
=
\u5165\u
5E93
op.2
=
\u
51FA
\u
5E93
op.status.none
=
op.status.wait
=
\u
7B49
\u
5F85
\u
4E2D
op.status.executing
=
\u
6B63
\u5728\u6267\u
884C
op.status.pause
=
\u
5DF2
\u6682\u
505C
op.status.finished
=
\u
5DF2
\u
5B8C
\u6210
op.status.cancel
=
\u
5DF2
\u
53D6
\u
6D88
op.status.end
=
\u
5DF2
\u
7ED3
\u
675F
boxChart.confirm
=
\u
786E
\u
8BA4
\u5165\u
5E93
boxChart.rescan
=
\u
91CD
\u
65B0
\u
626B
\u7801
boxChart.pcbIn
=
PCB
\u5165\u
5E93
boxChart.pcbOut
=
PCB
\u
51FA
\u
5E93
boxChart.solderOut
=
\u9521\u
818F
\u
51FA
\u
5E93
boxChart.solderIn
=
\u9521\u
818F
\u5165\u
5E93
boxChart.noCode
=
\u
672A
\u
626B
\u
63CF
\u5230\u6761\u7801
authority.stockIn.more
=
\u
8D85
\u
989D
\u5165\u
5E93
chart.showType.YEAR
=
\u
5E74
\u
4EFD
chart.showType.MONTH
=
\u6708\u
4EFD
chart.showType.DAY
=
\u5929
alarm.humidity.msg
=
\u
6E7F
\u
5EA6
\:
{0}
\u
8D85
\u
51FA
\u8303\u
56F4[{1}-{2}]
alarm.temperature.msg
=
\u
6E29
\u
5EA6
\:
{0}
\u
8D85
\u
51FA
\u8303\u
56F4[{1}-{2}]
batch.btn.singleOut
=
\u5355\u
76D8
\u
51FA
\u
5E93
batch.btn.batchOut
=
\u6279\u
91CF
\u
51FA
\u
5E93
batch.btn.singleIn
=
\u5355\u
76D8
\u5165\u
5E93
batch.btn.closeDoor
=
\u5173\u
95ED
\u
4ED3
\u
95E8
settings.api.checkBarcode
=
\u6761\u7801\u
68C0
\u
67E5 API
settings.api.orderFileDir
=
\ \u
5DE5
\u5355\u6587\u
4EF6
\u5939
user.cabinetAssign
=
\u6599\u
67DC
\u5206\u
914D
cabinet.error.wrongPos
=
\u
8BE5
\u7269\u6599\u
4E0D
\u5728\u
6B64
\u
4F4D
\u
7F6E
cabinet.error.noOp
=
\u
5F00
\u
95E8
\u
671F
\u
95F4
\u
65E0
\u
51FA
\u5165\u
5E93
\u
64CD
\u
4F5C
alarm.store.msg
=
{0}
\u7684\u
5E93
\u
5B58
\u
91CF[{1}]
\u
8D85
\u
51FA
\u
8BBE
\u
7F6E
\u8303\u
56F4 [{2}-{3}]
alarm.store.title
=
\u
5E93
\u
5B58
\u9884\u
8B66
alarm.inaction.title
=
\u5446\u
6EDE
\u7269\u6599\u
63D0
\u9192
alarm.inaction.msg
=
{0}
\u5929\u
524D
\u5446\u
6EDE
\u7269\u6599\u6570\u
91CF
\u
4E3A[{1}],
\u
8BF7
\u
53CA
\u
65F6
\u5904\u7406
alarm.expire.title
=
\u
8FC7
\u
671F
\u
63D0
\u9192
alarm.expire.msg
=
\u5373\u
5C06
\u6216\u
5DF2
\u
8FC7
\u
671F
\u7269\u6599\u6570\u
91CF
\u
4E3A[{0}],
\u
8BF7
\u
53CA
\u
65F6
\u5904\u7406
component.validDay
=
\u6709\u6548\u
671F(
\u5929
)
shelf.btn.closeAll
=
\u5173\u
95ED
\u6240\u6709\u
706F
shelf.btn.posCheck
=
\u
5E93
\u
4F4D
\u
68C0
\u
67E5
shelf.size.title
=
\u9009\u
62E9
\u6599\u
76D8
\u
5C3A
\u
5BF8
shelf.msg.opSucess
=
\u
64CD
\u
4F5C
\u6210\u
529F
shelf.msg.notFound
=
\u
672A
\u
627E
\u5230\u6599\u
67B6
shelf.msg.outError
=
\u
64CD
\u
4F5C
\u5931\u
8D25,
\u
672A
\u
627E
\u5230\u
53EF
\u
4EE5
\u
51FA
\u
5E93
\u7684\u7269\u6599
shelf.msg.outOk
=
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u
4ECE
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
53D6
\u
51FA
\u7269\u6599
shelf.msg.inOk
=
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u
653E
\u5165\u
5E93
\u
4F4D[{0}]
shelf.msg.inError
=
\u
672A
\u
627E
\u5230\u9002\u5408
[{0}]
\u7684\u
5E93
\u
4F4D
shelf.msg.outConfirm
=
\u
5E93
\u
4F4D[{0}]
\u
51FA
\u
5E93
\u
5B8C
\u6210
.
shelf.msg.noTask
=
\u
64CD
\u
4F5C
\u5931\u
8D25,
\u
5DF2
\u5728\u
5E93
\u
4F4D[{0}]
\u
4E2D,
\u
672A
\u
627E
\u5230\u
5BF9
\u
5E94
\u7684\u
51FA
\u
5E93
\u
4EFB
\u
52A1
component.generateBarcode
=
\u
751F
\u6210\u6761\u7801
order.out.set
=
\u5957\u6599\u
51FA
\u
5E93
order.out.surplus
=
\u
5C3E
\u6599\u
51FA
\u
5E93
order.inventory
=
\u
5E93
\u
5B58
export.csv
=
\u
5BFC
\u
51FA
\u5230
CSV
workOrder.date
=
\u
65E5
\u
671F
workOrder.waitOut
=
\u
7B49
\u
5F85
\u
51FA
\u
5E93
workOrder.setExecute
=
\u5957\u6599\u
51FA
\u
5E93
\u
4E2D
workOrder.setFinish
=
\u5957\u6599\u
5DF2
\u
5B8C
\u6210
workOrder.surplusExecute
=
\u
5C3E
\u6599\u
51FA
\u
5E93
\u
4E2D
workOrder.surplusFinish
=
\u
5C3E
\u6599\u
5DF2
\u
5B8C
\u6210
workOrder.supplementaryExecute
=
\u8865\u6599\u
4E2D
workOrder.supplementaryFinish
=
\u8865\u6599\u
5B8C
\u6210
storage.virtual.addPos
=
\u
589E
\u
52A0
\u
4ED3
\u
4F4D
storage.virtual.pnlimit
=
\u6307\u
5B9A
\u7269\u
7F16
storage.virtual.numlimit
=
\u
53EF
\u
653E
\u6599\u
76D8
\u6570\u
91CF
storage.virtual.pnEmpty
=
\u6307\u
5B9A
\u7269\u
7F16
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
storage.virtual.posEmpty
=
\u
4ED3
\u
4F4D
\u
7F16
\u
53F7
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
storage.virtual.numEmpty
=
\u
53EF
\u
653E
\u6599\u
76D8
\u6570\u
91CF
\u
4E0D
\u
80FD
\u
4E3A
\u
7A7A
storage.virtual.numErrory
=
\u
53EF
\u
653E
\u6599\u
76D8
\u6570\u
91CF
\u
5FC5
\u
987B
\u
4E3A
\u5927\u
4E8E0
\u7684\u6570\u
5B57
stroage.error.merge
=
\u5408\u
5E76
\u
5E93
\u
4F4D
\u
4EC5
\u9002\u7528\u7684\u
667A
\u
80FD
\u6599\u
67B6
barcode.error.noRi
=
\u
7F16
\u7801\u
89C4
\u5219\u
4E2D
\u
5FC5
\u
987B
\u5305\u
542B RI
\u
548C PN
barcode.error.notFound
=
\u
672A
\u
627E
\u5230\u
76F8
\u5173\u6761\u7801
error.pos.inQueue
=
\u
4F4D
\u
7F6E[{0}]
\u
5DF2
\u5728\u
64CD
\u
4F5C
\u
961F
\u5217\u
4E2D,
\u
64CD
\u
4F5C
\u5931\u
8D25
error.barcode.inQueue
=
\u
4E8C
\u
7EF4
\u7801\:
[{0}]
\u
5DF2
\u5728\u
64CD
\u
4F5C
\u
961F
\u5217\u
4E2D,
\u
64CD
\u
4F5C
\u5931\u
8D25
error.barcode.empty
=
\u
672A
\u
626B
\u
63CF
\u5230\u6761\u7801
error.barcode.many
=
\u
53D1
\u
73B0
\u
591A
\u
4E2A
\u6709\u6548\u6761\u7801
error.storage.unavailable
=
\u6599\u
4ED3[{0}]
\u
4E0D
\u
53EF
\u7528
error.storage.noPos
=
\u
65E0
\u
53EF
\u7528\u7684\u6599\u
683C[{0}],
\u
65E0
\u
6CD5
\u
7EE7
\u
7EED
\u
653E
\u5165
error.storage.noPosFind
=
\u
672A
\u
627E
\u5230\u
53EF
\u7528\u7684\u
4ED3
\u
4F4D
error.barcode.wrongSize
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}]
\u
4E0D
\u
7B26
error.barcode.executing
=
\u6761\u7801
[{0}]
\u7684\u
4EFB
\u
52A1
\u
6B63
\u5728\u6267\u
884C
error.pos.notExist
=
\u
5E93
\u
4F4D
\u3010
{0}
\u3011\u
4E0D
\u
5B58
\u5728
,
\u
65E0
\u
6CD5
\u5165\u
5E93
error.pos.hasReel
=
\u
5E93
\u
4F4D
\u3010
{0}
\u3011\u
4E2D
\u
5DF2
\u6709\u7269\u6599
,
\u
65E0
\u
6CD5
\u5165\u
5E93
error.pos.wrong
=
\u
5E93
\u
4F4D
\u3010
{0}
\u3011\u
4E0E
\u6599\u
4ED3[{1}]
\u
4E0D
\u5339\u
914D,
\u
65E0
\u
6CD5
\u5165\u
5E93
error.pos.sizeNotMatch
=
\u6599\u
76D8
\u
5C3A
\u
5BF8[{0}]
\u
4E0E
\u
5E93
\u
4F4D{1}
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
65E0
\u
6CD5
\u5165\u
5E93
error.barcode.invalid
=
{0}
\u
4E0D
\u
662F
\u6709\u6548\u7684\u6761\u7801
error.barcode.expired
=
\u7269\u6599\u
5DF2
\u
8FC7
\u
671F,
\u
65E0
\u
6CD5
\u5165\u
5E93.
error.barcode.wrongQty
=
\u6599\u
76D8[{0}]
\u6570\u
91CF[{1}]
\u9519\u
8BEF.
error.barcode.inStorage
=
\u6599\u
76D8[0]
\u
5DF2
\u5728\u6599\u
4ED3[1]
\u7684\u
5E93
\u
4F4D[2]
\u
4E2D
error.barcode.noRule
=
\u6761\u7801\u
89E3
\u6790\u
89C4
\u5219\u
672A
\u
5B9A
\u
4E49
error.barcode.wrongLength
=
\u6761\u7801
[{0}]
\u
957F
\u
5EA6
\u9519\u
8BEF
error.barcode.noField
=
\u6761\u7801\u
89E3
\u6790\u5931\u
8D25,
\u
672A
\u
627E
\u5230
{0}
\u
5B57
\u
6BB5
error.barcode.wrongPn
=
PartNumber
\u
4E0D
\u
4E00
\u
81F4
error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
error.barcode.errorSize
=
x
\u6599\u
76D8
\u
672A
\u
8BBE
\u
7F6E
\u
5C3A
\u
5BF8
error.storage.noStorage
=
\u
65E0
\u
53EF
\u7528\u7684\u6599\u
4ED3
msg.line.putIn
=
[{0}]
\u
51C6
\u5907\u5165\u
5E93
\u5230
[{1}]
shelf.msg.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
shelf.msg.tipScanReel
=
\u
5E93
\u
4F4D[{0}]
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u
626B
\u
63CF
\u8981\u
653E
\u5165\u7684\u7269\u6599
shelf.msg.fastop
=
\u6761\u7801\u
64CD
\u
4F5C
\u9891\u
7E41,
\u
8BF7
\u
7A0D
\u
540E
\u
518D
\u
8BD5
shelf.msg.scanPos
=
\u
8BF7
\u5148\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.hasTask
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u
4EFB
\u
52A1,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.wrongSize
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5C3A
\u
5BF8[{1}]
\u
4E0E
\u6599\u
76D8
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.hasReel
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u7269\u6599
,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
settings.remind.title
=
\u
63D0
\u9192\u
8BBE
\u
7F6E
settings.remind.deadday
=
\u5929\u
524D
\u5446\u
6EDE
\u7269\u6599\u
63D0
\u9192
\ No newline at end of file
myproject/src/main/resources/StorageResources_zh_CN.properties
查看文件 @
c833ac2
...
...
@@ -317,42 +317,6 @@ batch.btn.batchOut=\u6279\u91CF\u51FA\u5E93
batch.btn.singleIn
=
\u5355\u
76D8
\u5165\u
5E93
batch.btn.closeDoor
=
\u5173\u
95ED
\u
4ED3
\u
95E8
client.inSuddenStop
=
\u6536\u5230\u6025\u
505C
\u
4FE1
\u
53F7,
\u
62A5
\u
8B66
\u6025\u
505C
client.NoAIr
=
\u
672A
\u
68C0
\u
6D4B
\u5230\u
6C14
\u
538B
\u
4FE1
\u
53F7
client.PreConnectFail
=
\u
542F
\u
52A8
\u5931\u
8D25
\u
FF1A
\u
538B
\u
7D27
\u
8F74
\u
8FDE
\u
63A5
\u5931\u
8D25
client.CloseError
=
\u9501\u
95E8
\u5931\u
8D25
\u
FF1A
\u
8BF7
\u5148\u5173\u
95ED
\u
4E0A
\u6599\u
673A
\u6784
client.startFail
=
\u
542F
\u
52A8
\u5931\u
8D25
\u
FF1A
\u6025\u
505C
\u
672A
\u
5F00
client.startFailAir
=
\u
542F
\u
52A8
\u5931\u
8D25:
\u
6CA1
\u6709\u
6C14
\u
538B
\u
4FE1
\u
53F7
client.InoutAlarm
=
\u
8FDB
\u
51FA
\u
8F74
\u
62A5
\u
8B66
\u
FF01
\u
590D
\u
4F4D
\u5931\u
8D25
\u
FF0C
\u
8BF7
\u
68C0
\u
67E5!
client.OpenAxisFail
=
\u6253\u
5F00
\u
8F74{0}
\u5931\u
8D25
client.AutoReset
=
\u6536\u5230\u
590D
\u
4F4D
\u
4FE1
\u
53F7
\u
FF0C
\u
81EA
\u
52A8
\u
590D
\u
4F4D
client.AxisAlarm
=
\u
8FD0
\u
52A8
\u
8F74{0}
\u
62A5
\u
8B66
client.OutStoreError
=
\u
51FA
\u
5E93
\u
683C
\u
5F0F
\u9519\u
8BEF{0}
client.WaitSingleTimeOut
=
\u
7B49
\u
5F85
\u
4FE1
\u
53F7{0}={1}
\u
8D85
\u
65F6
client.AxisHomeMoveAlarm
=
\u
8FD0
\u
52A8{0}
\u
8F74{1}
\u6536\u5230\u
539F
\u
70B9
\u
5B8C
\u6210\u
4FE1
\u
53F7
\u
FF0C
\u
5F53
\u
524D
\u
4F4D
\u
7F6E[{2}]
\u
FF0C
\u
8BEF
\u
5DEE
\u
8FC7
\u5927\u
FF0C
\u9700\u8981\u
62A5
\u
8B66
client.AxisMoveAlarm
=
\u
8FD0
\u
52A8{0}
\u
8F74{1}
\u
76EE
\u6807\u
4F4D
\u
7F6E[{2}]
\u
5F53
\u
524D
\u
4F4D
\u
7F6E{3}
\u
8BEF
\u
5DEE
\u
8FC7
\u5927\u
FF0C
\u9700\u8981\u
62A5
\u
8B66
client.MoveTimeOut
=
[{0}]
\u
8D85
\u
65F6{1}[{2}]
\u
79D2
client.XiLiaoError
=
\u5438\u
76D8
\u5438\u6599\u5931\u
8D25
client.InStoreError
=
\u5165\u
5E93
\u
5E93
\u
4F4D
\u
683C
\u
5F0F
\u9519\u
8BEF
\u
FF1A
\u6761\u7801
[{0}]
\u
5E93
\u
4F4D
\u
53F7[{1}]
client.InStoreNoPosition
=
\u5165\u
5E93
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
FF1A
\u6761\u7801
[{0}]
\u
5E93
\u
4F4D
\u
53F7[{1}]
client.WaitInstoreTimeOut[{0}]\u8D85\u65F6[\u7B49\u5F85\u53EF\u4EE5\u5165\u5E93][{1}\u79D2]
client.HasWare
=
\u
53C9
\u
5B50
\u6599\u
76D8
\u
68C0
\u
6D4B
\u6709\u6599\u
FF0C
\u
8BF7
\u
68C0
\u
67E5
client.NoCodeMsg
=
\u
672A
\u
626B
\u5230\u
4E8C
\u
7EF4
\u7801\u
FF0C
\u
8BF7
\u
91CD
\u
65B0
\u
653E
\u5165\u6599\u
76D8
client.InStoreNoCode
=
\u
672A
\u
626B
\u5230\u
4E8C
\u
7EF4
\u7801\u
FF0C
\u9700\u8981\u
5C06
\u6599\u
76D8
\u9001\u
51FA
client.MoveTimeOut_01
=
[{0}][
\u
4F3A
\u
670D
\u
8FD0
\u
52A8]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_02
=
[{0}][IO
\u
4FE1
\u
53F7
\u
7B49
\u
5F85]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_03
=
[{0}][
\u
65F6
\u
95F4
\u
7B49
\u
5F85]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_04
=
[{0}][
\u7535\u
94A2
\u
76EE
\u6807\u
4F4D
\u
7F6E]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_05
=
[{0}][
\u
538B
\u
7D27
\u
8F74
\u
8FD0
\u
52A8]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_06
=
[{0}][
\u
8F74
\u
539F
\u
70B9
\u
4FE1
\u
53F7
\u
4EAE]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_07
=
[{0}][
\u
83B7
\u
53D6
\u6599\u
76D8
\u
9AD8
\u
5EA6]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_08
=
[{0}][
\u
7B49
\u
5F85
\u
4F3A
\u
670D
\u
8D1F
\u9650\u
4F4D]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_09
=
[{0}][
\u
7B49
\u
5F85
\u
4F3A
\u
670D
\u
6B63
\u9650\u
4F4D]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_10
=
[{0}][
\u
4E0A
\u6599\u
8F74
\u
8FD0
\u
52A8
\u
505C
\u
6B62]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_11
=
[{0}][
\u
626B
\u7801\u
7ED3
\u
675F]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_12
=
[{0}][
\u
64CD
\u
4F5C
\u
4EBA
\u5458\u
653E
\u5165
/
\u
62FF
\u
8D70
\u6599\u
76D8]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
client.MoveTimeOut_13
=
[{0}][
\u
7B49
\u
5F85
\u9001\u6599\u
7ED3
\u
675F]
\u
8D85
\u
65F6
\u
FF0C
\u
5DF2
\u
7B49
\u
5F85{1}
\u
79D2
settings.api.checkBarcode
=
\u6761\u7801\u
68C0
\u
67E5 API
settings.api.orderFileDir
=
\ \u
5DE5
\u5355\u6587\u
4EF6
\u5939
user.cabinetAssign
=
\u6599\u
67DC
\u5206\u
914D
...
...
@@ -423,4 +387,13 @@ error.barcode.wrongPn=PartNumber\u4E0D\u4E00\u81F4
error.barcode.pnNotExist
=
x
\u6863\u6848
{0}
\u
4E0D
\u
5B58
\u5728
error.barcode.errorSize
=
x
\u6599\u
76D8
\u
672A
\u
8BBE
\u
7F6E
\u
5C3A
\u
5BF8
error.storage.noStorage
=
\u
65E0
\u
53EF
\u7528\u7684\u6599\u
4ED3
msg.line.putIn
=
[{0}]
\u
51C6
\u5907\u5165\u
5E93
\u5230
[{1}]
\ No newline at end of file
msg.line.putIn
=
[{0}]
\u
51C6
\u5907\u5165\u
5E93
\u5230
[{1}]
shelf.msg.hasReel
=
\u
5E93
\u
4F4D[{0}]
\u
4E2D
\u
5DF2
\u6709\u7269\u6599
shelf.msg.tipScanReel
=
\u
5E93
\u
4F4D[{0}]
\u
64CD
\u
4F5C
\u6210\u
529F,
\u
8BF7
\u
626B
\u
63CF
\u8981\u
653E
\u5165\u7684\u7269\u6599
shelf.msg.fastop
=
\u6761\u7801\u
64CD
\u
4F5C
\u9891\u
7E41,
\u
8BF7
\u
7A0D
\u
540E
\u
518D
\u
8BD5
shelf.msg.scanPos
=
\u
8BF7
\u5148\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.hasTask
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u
4EFB
\u
52A1,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.wrongSize
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5C3A
\u
5BF8[{1}]
\u
4E0E
\u6599\u
76D8
\u
5C3A
\u
5BF8[{2}]
\u
4E0D
\u
7B26,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
shelf.nextPos.hasReel
=
\u
4E0B
\u
4E00
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u7269\u6599
,
\u
8BF7
\u
91CD
\u
65B0
\u
626B
\u
63CF
\u
5E93
\u
4F4D
\u7801
settings.remind.title
=
\u
63D0
\u9192\u
8BBE
\u
7F6E
settings.remind.deadday
=
\u5929\u
524D
\u5446\u
6EDE
\u7269\u6599\u
63D0
\u9192
\ No newline at end of file
myproject/src/main/webapp/WEB-INF/pages/storage/allBoxView.jsp
查看文件 @
c833ac2
...
...
@@ -654,7 +654,7 @@
var options = {};
//入库
var showStr = partNumber + "
["+barcode+"]${in_label}"+
posStr;
var showStr = partNumber + "
["+barcode+"] ${in_label}" +
posStr;
var status = data[item].status.toLowerCase();
...
...
@@ -667,7 +667,7 @@
options['icon']='fa fa-database';
if(data[item].type == 2){//出库
options['icon']='fa fa-sign-out';
showStr = partNumber + "["+barcode+"]${out_label}"
+
posStr;
showStr = partNumber + "["+barcode+"]${out_label}"
+
posStr;
}else{
options['onClick']= modifyClick;
}
...
...
@@ -701,7 +701,7 @@
if(data[item].sourceName){
sourceStr = "<br/>${source_label} " + data[item].sourceStr;
}
options['msg']= showStr + statusMsg +
data[item].locInfo +
sourceStr;
options['msg']= showStr + statusMsg + sourceStr;
var task = cidTasks[taskId];
if(!task){
...
...
myproject/src/main/webapp/WEB-INF/pages/system/settings.jsp
查看文件 @
c833ac2
...
...
@@ -101,14 +101,14 @@
<div class="portlet-title">
<div class="caption">
<i class="icon-bell font-green-haze"></i>
<span class="caption-subject bold uppercase font-green-haze"><fmt:message key="
提醒设置
"/></span>
<span class="caption-subject bold uppercase font-green-haze"><fmt:message key="
settings.remind.title
"/></span>
</div>
</div>
<div class="portlet-body" style="padding-left: 30px;">
<div class="form-group form-inline">
<div class="input-group margin-top-10">
<form:input path="inactionDay" cssClass="form-control input-small"/>
<span class="input-group-addon"><fmt:message key="
天前呆滞物料提醒
"/></span>
<span class="input-group-addon"><fmt:message key="
settings.remind.deadday
"/></span>
</div>
</div>
<%--<div class="form-group form-inline">--%>
...
...
myproject/src/main/webapp/WEB-INF/pages/updateHistory.jsp
查看文件 @
c833ac2
...
...
@@ -12,67 +12,69 @@
<div class="row">
<div class="col-md-12">
<ul class="timeline">
<li class="timeline-green">
<div class="timeline-time">
<span class="date">
2017 </span>
<span class="time">
05-27 </span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<div class="timeline-content">
<ul>
<li>二维码纸张大小系统设置</li>
<li>出库贵重物料(半自动仓中的物料和添加料件档案时勾选了贵重物料选项的料)时需输入授权码.用户是否有贵重物料出库权限需要在角色中配置,同一站位列表或批次只需输入一次授权</li>
</ul>
</div>
</div>
</li>
<li class="timeline-blue">
<div class="timeline-time">
<span class="date">
2017 </span>
<span class="time">
05-11 </span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<div class="timeline-content">
<ul>
<li>报警信息记录统计</li>
<li>每日吞吐量统计图表</li>
<li>增加出库方式的系统设置:效率优先/先进先出/尾料优先</li>
</ul>
</div>
</div>
</li>
<li class="timeline-yellow timeline-noline">
<div class="timeline-time">
<span class="date">
2017 </span>
<span class="time">
04-20 </span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<div class="timeline-content">
<ul>
<li>指定批次页面描述信息修改</li>
<li>扫码显示站位列表时添加线体信息</li>
<li>库存预警详情打印</li>
<li>自动生成条码信息及条码打印优化</li>
<li>云仓库监控页面扫码获取站位列表字体大小调整</li>
</ul>
</div>
</div>
</li>
<%--<li class="timeline-green">--%>
<%--<div class="timeline-time">--%>
<%--<span class="date">--%>
<%--2020 </span>--%>
<%--<span class="time">--%>
<%--06-24 </span>--%>
<%--</div>--%>
<%--<div class="timeline-icon">--%>
<%--<i class="fa fa-clock-o"></i>--%>
<%--</div>--%>
<%--<div class="timeline-body">--%>
<%--<div class="timeline-content">--%>
<%--<ul>--%>
<%--<li>版本 V20200624</li>--%>
<%--<li>尾料先出按数量计算尾料</li>--%>
<%--<li>扫码料架会自动查找一下个库位,如果下一个库位已有物料或者尺寸不合适时,需要重新扫库位码</li>--%>
<%--<li>SISO料仓门口料盘信号提供给机器人</li>--%>
<%--</ul>--%>
<%--</div>--%>
<%--</div>--%>
<%--</li>--%>
<%--<li class="timeline-blue">--%>
<%--<div class="timeline-time">--%>
<%--<span class="date">--%>
<%--2017 </span>--%>
<%--<span class="time">--%>
<%--05-11 </span>--%>
<%--</div>--%>
<%--<div class="timeline-icon">--%>
<%--<i class="fa fa-clock-o"></i>--%>
<%--</div>--%>
<%--<div class="timeline-body">--%>
<%--<div class="timeline-content">--%>
<%--<ul>--%>
<%--<li>报警信息记录统计</li>--%>
<%--<li>每日吞吐量统计图表</li>--%>
<%--<li>增加出库方式的系统设置:效率优先/先进先出/尾料优先</li>--%>
<%--</ul>--%>
<%--</div>--%>
<%--</div>--%>
<%--</li>--%>
<%--<li class="timeline-yellow timeline-noline">--%>
<%--<div class="timeline-time">--%>
<%--<span class="date">--%>
<%--2017 </span>--%>
<%--<span class="time">--%>
<%--04-20 </span>--%>
<%--</div>--%>
<%--<div class="timeline-icon">--%>
<%--<i class="fa fa-clock-o"></i>--%>
<%--</div>--%>
<%--<div class="timeline-body">--%>
<%--<div class="timeline-content">--%>
<%--<ul>--%>
<%--<li>指定批次页面描述信息修改</li>--%>
<%--<li>扫码显示站位列表时添加线体信息</li>--%>
<%--<li>库存预警详情打印</li>--%>
<%--<li>自动生成条码信息及条码打印优化</li>--%>
<%--<li>云仓库监控页面扫码获取站位列表字体大小调整</li>--%>
<%--</ul>--%>
<%--</div>--%>
<%--</div>--%>
<%--</li>--%>
<%--<li class="timeline-green">
<div class="timeline-time">
<span class="date">
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论