Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 48f673de
由
zshaohui
编写于
2025-09-02 13:57:40 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.提供缓存信息接口给客户端
1 个父辈
102bc5b0
全部展开
显示空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
85 行增加
和
28 行删除
src/main/java/com/neotel/smfcore/common/utils/Constants.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/java/com/neotel/smfcore/custom/france1588/bean/XlcTask.java
src/main/java/com/neotel/smfcore/custom/france1588/controller/Device1588Controller.java
src/main/java/com/neotel/smfcore/custom/france1588/enums/TaskLoc.java
src/main/resources/messages.properties
src/main/resources/messages_de_DE.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_fr_FR.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/common/utils/Constants.java
查看文件 @
48f673d
package
com
.
neotel
.
smfcore
.
common
.
utils
;
package
com
.
neotel
.
smfcore
.
common
.
utils
;
public
class
Constants
{
public
class
Constants
{
private
Constants
()
{
private
Constants
()
{
// hide me
// hide me
}
}
...
@@ -213,4 +215,7 @@ public class Constants {
...
@@ -213,4 +215,7 @@ public class Constants {
*/
*/
public
static
final
String
Cache_AuthDate
=
"Cache_AuthDate"
;
public
static
final
String
Cache_AuthDate
=
"Cache_AuthDate"
;
public
static
final
String
Cache_BoxCacheInfo
=
"Cache_BoxCacheInfo"
;
}
}
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
48f673d
...
@@ -472,9 +472,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
...
@@ -472,9 +472,9 @@ public class BaseDeviceHandler implements IDeviceHandler {
}
else
if
(
BOX_STATUS
.
IN_FAILED
==
status
)
{
//入库失败
}
else
if
(
BOX_STATUS
.
IN_FAILED
==
status
)
{
//入库失败
//暂不处理
//暂不处理
}
else
if
(
BOX_STATUS
.
OUT_FINISHED
==
status
)
{
//出仓完成
}
else
if
(
BOX_STATUS
.
OUT_FINISHED
==
status
)
{
//出仓完成
finishedOutPos
(
statusBean
.
getCid
(),
posName
,
barcode
,
executeTime
);
//
finishedOutPos(statusBean.getCid(),posName,barcode,executeTime);
}
else
if
(
BOX_STATUS
.
OUT_END
==
status
)
{
//出库完成(放到仓门口
}
else
if
(
BOX_STATUS
.
OUT_END
==
status
)
{
//出库完成(放到仓门口
endOutTask
(
statusBean
.
getCid
(),
posName
,
barcode
);
//
endOutTask(statusBean.getCid(),posName,barcode);
}
}
// else if (BOX_STATUS.REWARM_TAKING_END == status) {
// else if (BOX_STATUS.REWARM_TAKING_END == status) {
// //回温取料完成, 将库位清空
// //回温取料完成, 将库位清空
...
...
src/main/java/com/neotel/smfcore/core/storage/service/manager/impl/StoragePosManagerImpl.java
查看文件 @
48f673d
...
@@ -598,7 +598,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
...
@@ -598,7 +598,7 @@ public class StoragePosManagerImpl implements IStoragePosManager {
StoragePos
pos
=
storagePosDao
.
findOne
(
query
);
StoragePos
pos
=
storagePosDao
.
findOne
(
query
);
if
((!
ObjectUtil
.
isNotEmpty
(
msg
)
)&&
(
pos
!=
null
))
{
if
((!
ObjectUtil
.
isNotEmpty
(
msg
)
)&&
(
pos
!=
null
))
{
Point
targetP
=
PointUtil
.
getPosPoint
(
lastPosId
,
false
);
Point
targetP
=
PointUtil
.
getPosPoint
(
lastPosId
,
false
);
log
.
debug
(
msg
+
"结果:["
+
pos
.
getPosName
()
+
"]["
+
targetP
.
getX
()
+
","
+
targetP
.
getY
()
+
"]"
);
log
.
info
(
msg
+
"结果:["
+
pos
.
getPosName
()
+
"]["
+
targetP
.
getX
()
+
","
+
targetP
.
getY
()
+
"]"
);
}
}
return
pos
;
return
pos
;
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
48f673d
...
@@ -252,6 +252,7 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
...
@@ -252,6 +252,7 @@ public class DataLog extends BasePo implements Serializable ,Comparable<DataLog>
//是否关闭
//是否关闭
private
boolean
closed
=
false
;
private
boolean
closed
=
false
;
private
boolean
outFromPos
=
false
;
public
String
getBarcode
()
{
public
String
getBarcode
()
{
if
(
barcode
==
null
){
if
(
barcode
==
null
){
...
...
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
48f673d
...
@@ -527,7 +527,8 @@ public class TaskService {
...
@@ -527,7 +527,8 @@ public class TaskService {
String
cid
=
storage
.
getCid
();
String
cid
=
storage
.
getCid
();
//有入库任务的料仓不分配出库任务
//有入库任务的料仓不分配出库任务
if
(!
hasExecutingTask
(
cid
,
OP
.
PUT_IN
))
{
if
(!
hasExecutingTask
(
cid
,
OP
.
PUT_IN
))
{
DataLog
task
=
findCheckoutBoxTask
(
storage
);
//DataLog task = findCheckoutBoxTask(storage);
DataLog
task
=
null
;
if
(
task
!=
null
)
{
if
(
task
!=
null
)
{
//从等待列表中删除,加入到执行列表中
//从等待列表中删除,加入到执行列表中
...
@@ -935,7 +936,7 @@ public class TaskService {
...
@@ -935,7 +936,7 @@ public class TaskService {
}
}
try
{
try
{
Collection
<
String
>
operatingPosIds
=
excludePosIds
();
Collection
<
String
>
operatingPosIds
=
excludePosIds
();
log
.
debug
(
"尝试从["
+
storage
.
getCid
()
+
"]中为["
+
barcode
.
getBarcode
()
+
"]查找空位"
);
log
.
info
(
"尝试从["
+
storage
.
getCid
()
+
"]中为["
+
barcode
.
getBarcode
()
+
"]查找空位"
);
StoragePos
pos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
,
lastPosId
);
StoragePos
pos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
,
lastPosId
);
if
(
pos
!=
null
)
{
if
(
pos
!=
null
)
{
//判断尺寸是否一致
//判断尺寸是否一致
...
@@ -958,7 +959,7 @@ public class TaskService {
...
@@ -958,7 +959,7 @@ public class TaskService {
for
(
Storage
storage
:
availbleStorageList
)
{
for
(
Storage
storage
:
availbleStorageList
)
{
try
{
try
{
Collection
<
String
>
operatingPosIds
=
excludePosIds
();
Collection
<
String
>
operatingPosIds
=
excludePosIds
();
log
.
debug
(
"尝试从["
+
storage
.
getCid
()
+
"]中为["
+
barcode
.
getBarcode
()
+
"]查找空位"
);
log
.
info
(
"尝试从["
+
storage
.
getCid
()
+
"]中为["
+
barcode
.
getBarcode
()
+
"]查找空位"
);
StoragePos
pos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
,
lastPosId
);
StoragePos
pos
=
storagePosManager
.
getEmptyPosByStorage
(
storage
,
barcode
,
operatingPosIds
,
lastPosId
);
if
(
pos
!=
null
)
{
if
(
pos
!=
null
)
{
if
(
isSameSize
(
barcode
,
pos
)){
if
(
isSameSize
(
barcode
,
pos
)){
...
@@ -1350,31 +1351,45 @@ public class TaskService {
...
@@ -1350,31 +1351,45 @@ public class TaskService {
}
}
public
List
<
Barcode
>
barcodeListByCheckOutType
(
CHECKOUT_TYPE
checkoutType
,
List
<
Barcode
>
barcodeList
)
{
public
List
<
Barcode
>
barcodeListByCheckOutType
(
CHECKOUT_TYPE
checkoutType
,
List
<
Barcode
>
barcodeList
)
{
//按时间进行排序
// 处理barcodeList为null的情况
if
(
CHECKOUT_TYPE
.
EXPIRE_FIRST
.
equals
(
checkoutType
))
{
//先过期先出
if
(
barcodeList
==
null
)
{
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getExpireDate
,
Comparator
.
naturalOrder
())
return
Collections
.
emptyList
();
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())).
collect
(
Collectors
.
toList
());
}
}
else
if
(
CHECKOUT_TYPE
.
FIFO
.
equals
(
checkoutType
))
{
//严格的先进先出
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())
// 使用Comparator.nullsFirst或nullsLast处理可能的null值
.
thenComparing
(
Barcode:
:
getUsedCount
)).
collect
(
Collectors
.
toList
());
Comparator
<
Barcode
>
comparator
=
null
;
}
else
if
(
CHECKOUT_TYPE
.
USED_FIRST
.
equals
(
checkoutType
))
{
//尾料优先
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getAmount
)
if
(
CHECKOUT_TYPE
.
EXPIRE_FIRST
.
equals
(
checkoutType
))
{
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())).
collect
(
Collectors
.
toList
());
// 先过期先出
comparator
=
Comparator
.
comparing
(
Barcode:
:
getExpireDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()))
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()));
}
else
if
(
CHECKOUT_TYPE
.
FIFO
.
equals
(
checkoutType
))
{
// 严格的先进先出
comparator
=
Comparator
.
comparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()))
.
thenComparing
(
Barcode:
:
getUsedCount
);
}
else
if
(
CHECKOUT_TYPE
.
USED_FIRST
.
equals
(
checkoutType
))
{
// 尾料优先
comparator
=
Comparator
.
comparing
(
Barcode:
:
getAmount
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()))
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()));
}
else
if
(
CHECKOUT_TYPE
.
PRODUCE_DATE
.
equals
(
checkoutType
))
{
}
else
if
(
CHECKOUT_TYPE
.
PRODUCE_DATE
.
equals
(
checkoutType
))
{
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getProduceDate
,
Comparator
.
naturalOrder
(
))
comparator
=
Comparator
.
comparing
(
Barcode:
:
getProduceDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
))
.
thenComparing
(
Barcode:
:
getAmount
)
.
thenComparing
(
Barcode:
:
getAmount
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
())
)
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())).
collect
(
Collectors
.
toList
(
));
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
));
}
else
if
(
CHECKOUT_TYPE
.
BATCH_FIRST
.
equals
(
checkoutType
))
{
}
else
if
(
CHECKOUT_TYPE
.
BATCH_FIRST
.
equals
(
checkoutType
))
{
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getBatch
,
Comparator
.
naturalOrder
(
))
comparator
=
Comparator
.
comparing
(
Barcode:
:
getBatch
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
))
.
thenComparing
(
Barcode:
:
getProduceDate
,
Comparator
.
naturalOrder
(
))
.
thenComparing
(
Barcode:
:
getProduceDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
))
.
thenComparing
(
Barcode:
:
getAmount
)
.
thenComparing
(
Barcode:
:
getAmount
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
())
)
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())).
collect
(
Collectors
.
toList
(
));
.
thenComparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
));
}
else
{
//效率优先
}
else
{
barcodeList
=
barcodeList
.
stream
().
sorted
(
Comparator
.
comparing
(
Barcode:
:
getPutInDate
,
Comparator
.
naturalOrder
())
// 效率优先
.
thenComparing
(
Barcode:
:
getCreateDate
))
comparator
=
Comparator
.
comparing
(
Barcode:
:
getPutInDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
))
.
collect
(
Collectors
.
toList
(
));
.
thenComparing
(
Barcode:
:
getCreateDate
,
Comparator
.
nullsFirst
(
Comparator
.
naturalOrder
()
));
}
}
return
barcodeList
;
return
barcodeList
.
stream
()
.
filter
(
Objects:
:
nonNull
)
// 过滤掉可能的null元素
.
sorted
(
comparator
)
.
collect
(
Collectors
.
toList
());
}
}
public
void
moveTaskToFinished
(
DataLog
task
)
{
public
void
moveTaskToFinished
(
DataLog
task
)
{
...
...
src/main/java/com/neotel/smfcore/custom/france1588/bean/XlcTask.java
0 → 100644
查看文件 @
48f673d
package
com
.
neotel
.
smfcore
.
custom
.
france1588
.
bean
;
import
lombok.Data
;
import
java.util.Date
;
@Data
public
class
XlcTask
{
private
String
taskId
;
private
String
barcode
;
private
int
type
;
private
String
toloc
;
private
String
posName
;
private
String
status
;
private
Date
createDate
;
}
src/main/java/com/neotel/smfcore/custom/france1588/controller/Device1588Controller.java
0 → 100644
查看文件 @
48f673d
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/custom/france1588/enums/TaskLoc.java
0 → 100644
查看文件 @
48f673d
package
com
.
neotel
.
smfcore
.
custom
.
france1588
.
enums
;
public
class
TaskLoc
{
public
static
final
String
BOX_TASK_IN
=
"BOX_TASK_IN"
;
public
static
final
String
BOX_TASK_OUT
=
"BOX_TASK_OUT"
;
}
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages.properties
查看文件 @
48f673d
...
@@ -435,3 +435,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -435,3 +435,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5E93
\u
4F4D[{1}]
\u
4E2D,
\u
8BF7
\u5148\u
53D6
\u
51FA
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5E93
\u
4F4D[{1}]
\u
4E2D,
\u
8BF7
\u5148\u
53D6
\u
51FA
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6570\u
91CF
\u
5E94
\u
4E3A[{0}]
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6570\u
91CF
\u
5E94
\u
4E3A[{0}]
smfcode.virtual.enter
=
\u
8BF7
\u
626B
\u
63CF
\u6216\u
8F93
\u5165\u6761\u7801\u
540E
\u6309\u
56DE
\u
8F66
\u
786E
\u
8BA4
smfcode.virtual.enter
=
\u
8BF7
\u
626B
\u
63CF
\u6216\u
8F93
\u5165\u6761\u7801\u
540E
\u6309\u
56DE
\u
8F66
\u
786E
\u
8BA4
smfcore.box.findFail
=
\u
672A
\u
627E
\u5230\u
53EF
\u
4EE5
\u
51FA
\u
5E93
\u7684\u6599\u
7BB1
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_de_DE.properties
查看文件 @
48f673d
...
@@ -425,3 +425,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -425,3 +425,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}] befindet sich bereits im Lagerplatz [{1}]. Bitte entnehmen Sie es zuerst
smfcore.virtual.boxInPos
=
[{0}] befindet sich bereits im Lagerplatz [{1}]. Bitte entnehmen Sie es zuerst
smfcore.virtual.quantityError
=
Die zu entnehmende Menge sollte [{0}] betragen
smfcore.virtual.quantityError
=
Die zu entnehmende Menge sollte [{0}] betragen
smfcode.virtual.enter
=
Bitte scannen Sie den Barcode oder geben Sie ihn ein und best
\u
00E4tigen Sie mit Enter
smfcode.virtual.enter
=
Bitte scannen Sie den Barcode oder geben Sie ihn ein und best
\u
00E4tigen Sie mit Enter
smfcore.box.findFail
=
Kein verf
\u
00FCgbarer Beh
\u
00E4lter f
\u
00FCr den Ausgang gefunden
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_en_US.properties
查看文件 @
48f673d
...
@@ -426,3 +426,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -426,3 +426,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}] is already in location [{1}]. Please remove it first
smfcore.virtual.boxInPos
=
[{0}] is already in location [{1}]. Please remove it first
smfcore.virtual.quantityError
=
The quantity to be removed should be [{0}]
smfcore.virtual.quantityError
=
The quantity to be removed should be [{0}]
smfcode.virtual.enter
=
Please scan or enter the barcode, then press Enter
smfcode.virtual.enter
=
Please scan or enter the barcode, then press Enter
smfcore.box.findFail
=
No available bin found for outbound
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_fr_FR.properties
查看文件 @
48f673d
...
@@ -425,3 +425,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -425,3 +425,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}] est d
\u
00E9j
\u
00E0 dans l'emplacement [{1}]. Veuillez d'abord le retirer
smfcore.virtual.boxInPos
=
[{0}] est d
\u
00E9j
\u
00E0 dans l'emplacement [{1}]. Veuillez d'abord le retirer
smfcore.virtual.quantityError
=
La quantit
\u
00E9
\u
00E0 retirer doit
\u
00EAtre [{0}]
smfcore.virtual.quantityError
=
La quantit
\u
00E9
\u
00E0 retirer doit
\u
00EAtre [{0}]
smfcode.virtual.enter
=
Veuillez scanner ou saisir le code-barres, puis appuyer sur Entr
\u
00E9e
smfcode.virtual.enter
=
Veuillez scanner ou saisir le code-barres, puis appuyer sur Entr
\u
00E9e
smfcore.box.findFail
=
Aucun bac disponible trouv
\u
00E9 pour la sortie
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
48f673d
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}]
\u
306F
\u
65E2
\u
306B
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3 [{1}]
\u
306B
\u3042\u
308A
\u
307E
\u3059\u3002\u5148\u
306B
\u
53D6
\u
308A
\u
51FA
\u3057\u3066\u
304F
\u3060\u3055\u3044
smfcore.virtual.boxInPos
=
[{0}]
\u
306F
\u
65E2
\u
306B
\u
30ED
\u
30B1
\u
30FC
\u
30B7
\u
30E7
\u
30F3 [{1}]
\u
306B
\u3042\u
308A
\u
307E
\u3059\u3002\u5148\u
306B
\u
53D6
\u
308A
\u
51FA
\u3057\u3066\u
304F
\u3060\u3055\u3044
smfcore.virtual.quantityError
=
\u
53D6
\u
308A
\u
51FA
\u3057\u6570\u
91CF
\u
306F[{0}]
\u3067\u3042\u
308B
\u
5FC5
\u8981\u
304C
\u3042\u
308A
\u
307E
\u3059
smfcore.virtual.quantityError
=
\u
53D6
\u
308A
\u
51FA
\u3057\u6570\u
91CF
\u
306F[{0}]
\u3067\u3042\u
308B
\u
5FC5
\u8981\u
304C
\u3042\u
308A
\u
307E
\u3059
smfcode.virtual.enter
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3092\u
30B9
\u
30AD
\u
30E3
\u
30F3
\u3001\u
307E
\u
305F
\u
306F
\u5165\u
529B
\u
5F8C
\u3001
Enter
\u
30AD
\u
30FC
\u3092\u
62BC
\u3057\u3066\u
304F
\u3060\u3055\u3044
smfcode.virtual.enter
=
\u
30D0
\u
30FC
\u
30B3
\u
30FC
\u
30C9
\u3092\u
30B9
\u
30AD
\u
30E3
\u
30F3
\u3001\u
307E
\u
305F
\u
306F
\u5165\u
529B
\u
5F8C
\u3001
Enter
\u
30AD
\u
30FC
\u3092\u
62BC
\u3057\u3066\u
304F
\u3060\u3055\u3044
smfcore.box.findFail
=
\u
51FA
\u
5EAB
\u
53EF
\u
80FD
\u
306A
\u
7BB1
\u
304C
\u
898B
\u3064\u
304B
\u
308A
\u
307E
\u
305B
\u3093
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
48f673d
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5E93
\u
4F4D[{1}]
\u
4E2D,
\u
8BF7
\u5148\u
53D6
\u
51FA
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5E93
\u
4F4D[{1}]
\u
4E2D,
\u
8BF7
\u5148\u
53D6
\u
51FA
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6570\u
91CF
\u
5E94
\u
4E3A[{0}]
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6570\u
91CF
\u
5E94
\u
4E3A[{0}]
smfcode.virtual.enter
=
\u
8BF7
\u
626B
\u
63CF
\u6216\u
8F93
\u5165\u6761\u7801\u
540E
\u6309\u
56DE
\u
8F66
\u
786E
\u
8BA4
smfcode.virtual.enter
=
\u
8BF7
\u
626B
\u
63CF
\u6216\u
8F93
\u5165\u6761\u7801\u
540E
\u6309\u
56DE
\u
8F66
\u
786E
\u
8BA4
smfcore.box.findFail
=
\u
672A
\u
627E
\u5230\u
53EF
\u
4EE5
\u
51FA
\u
5E93
\u7684\u6599\u
7BB1
\ No newline at end of file
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
48f673d
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
...
@@ -422,3 +422,4 @@ smfcore.equipment.view.ncgroup=Neo Counter
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5EAB
\u
4F4D[{1}]
\u
4E2D,
\u
8ACB
\u5148\u
53D6
\u
51FA
smfcore.virtual.boxInPos
=
[{0}]
\u
5DF2
\u5728\u
5EAB
\u
4F4D[{1}]
\u
4E2D,
\u
8ACB
\u5148\u
53D6
\u
51FA
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6578\u
91CF
\u
61C9
\u
70BA[{0}]
smfcore.virtual.quantityError
=
\u
53D6
\u
51FA
\u6578\u
91CF
\u
61C9
\u
70BA[{0}]
smfcode.virtual.enter
=
\u
8ACB
\u6383\u
63CF
\u6216\u
8F38
\u5165\u
689D
\u
78BC
\u
5F8C
\u6309\u
56DE
\u
8ECA
\u
78BA
\u
8A8D
smfcode.virtual.enter
=
\u
8ACB
\u6383\u
63CF
\u6216\u
8F38
\u5165\u
689D
\u
78BC
\u
5F8C
\u6309\u
56DE
\u
8ECA
\u
78BA
\u
8A8D
smfcore.box.findFail
=
\u
672A
\u
627E
\u5230\u
53EF
\u
4EE5
\u
51FA
\u
5EAB
\u7684\u6599\u
7BB1
\ No newline at end of file
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论