Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit bb3bf610
由
LN
编写于
2023-05-15 14:14:07 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
盘点功能修改,增加盘点处理操作
1 个父辈
76a758e3
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
192 行增加
和
55 行删除
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
src/main/java/com/neotel/smfcore/core/selfAudit/enums/SELFAUDIT_STATUS.java
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditController.java
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditDeviceController.java
src/main/java/com/neotel/smfcore/core/selfAudit/rest/dto/SelfAuditItemDto.java
src/main/java/com/neotel/smfcore/core/selfAudit/service/po/SelfAuditItem.java
src/main/java/com/neotel/smfcore/core/selfAudit/util/SelfAuditUtil.java
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
src/main/resources/messages.properties
src/main/resources/messages_en_US.properties
src/main/resources/messages_ja_JP.properties
src/main/resources/messages_zh_CN.properties
src/main/resources/messages_zh_TW.properties
src/main/java/com/neotel/smfcore/core/device/handler/impl/BaseDeviceHandler.java
查看文件 @
bb3bf61
...
...
@@ -103,7 +103,7 @@ public class BaseDeviceHandler implements IDeviceHandler {
@Autowired
protected
IComponentManager
componentManager
;
@Autowired
private
ISelfAuditManager
selfAuditManager
;
private
SelfAuditUtil
selfAuditUtil
;
@Autowired
private
IInOutDataManager
inOutDataManager
;
...
...
@@ -183,25 +183,20 @@ public class BaseDeviceHandler implements IDeviceHandler {
protected
StatusBean
handleSelfAudit
(
StatusBean
statusBean
)
{
try
{
String
batchNo
=
dataCache
.
getCache
(
Constants
.
CACHE_SELFAUDIT_BATCHNO
);
if
(
ObjectUtil
.
isNotEmpty
(
batchNo
))
{
//盘点是否暂停
SelfAudit
selfAudit
=
SelfAuditUtil
.
getSelfAudit
(
batchNo
);
if
(
selfAudit
==
null
)
{
selfAudit
=
selfAuditManager
.
findByBatchNo
(
batchNo
);
if
(
selfAudit
!=
null
){
SelfAuditUtil
.
updateShelfAudit
(
selfAudit
);
}
}
if
(
selfAudit
!=
null
)
{
Storage
storage
=
dataCache
.
getStorage
(
statusBean
.
getCid
());
if
(
storage
!=
null
&&
selfAudit
.
getStorageIds
().
contains
(
storage
.
getId
())){
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
NEW
.
name
())
||
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
EXECUTING
.
name
()))
{
statusBean
.
addData
(
"selfAudit"
,
batchNo
);
}
//盘点是否暂停
SelfAudit
selfAudit
=
selfAuditUtil
.
getCurrSelfAudit
();
if
(
selfAudit
!=
null
)
{
Storage
storage
=
dataCache
.
getStorage
(
statusBean
.
getCid
());
if
(
storage
!=
null
&&
selfAudit
.
getStorageIds
().
contains
(
storage
.
getId
()))
{
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
NEW
.
name
())
||
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
EXECUTING
.
name
()))
{
statusBean
.
addData
(
"selfAudit"
,
selfAudit
.
getBatchNo
());
}
//如果是已结束等待处理
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
END
.
name
()))
{
statusBean
.
addData
(
"selfAuditException"
,
"true"
);
}
}
}
}
catch
(
Exception
ex
)
{
...
...
src/main/java/com/neotel/smfcore/core/selfAudit/enums/SELFAUDIT_STATUS.java
查看文件 @
bb3bf61
...
...
@@ -20,7 +20,7 @@ public enum SELFAUDIT_STATUS {
FINISHED
,
/**
* 已结束,
未完成手动结束
* 已结束,
库位有异常,需要处理后完成
*/
END
;
...
...
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditController.java
查看文件 @
bb3bf61
此文件的差异被折叠,
点击展开。
src/main/java/com/neotel/smfcore/core/selfAudit/rest/SelfAuditDeviceController.java
查看文件 @
bb3bf61
...
...
@@ -50,23 +50,21 @@ public class SelfAuditDeviceController {
private
ISelfAuditItemManager
selfAuditItemManager
;
@Autowired
private
CodeResolve
codeResolve
;
@Autowired
private
SelfAuditUtil
selfAuditUtil
;
private
SelfAudit
getCurrObj
(){
private
SelfAudit
getCurrObj
()
{
//获取当前的盘点信息
String
batchNo
=
dataCache
.
getCache
(
Constants
.
CACHE_SELFAUDIT_BATCHNO
);
if
(
ObjectUtil
.
isNotEmpty
(
batchNo
))
{
SelfAudit
selfAudit
=
SelfAuditUtil
.
getSelfAudit
(
batchNo
);
if
(
selfAudit
==
null
)
{
selfAudit
=
selfAuditManager
.
findByBatchNo
(
batchNo
);
}
//如果已结束
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
END
.
name
())
||
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
FINISHED
.
name
()))
{
log
.
info
(
"从dataCache删除已完成的盘点批次号:"
+
batchNo
+
" "
);
dataCache
.
updateCache
(
Constants
.
CACHE_SELFAUDIT_BATCHNO
,
""
);
return
null
;
}
SelfAudit
selfAudit
=
selfAuditUtil
.
getCurrSelfAudit
();
if
(
selfAudit
!=
null
)
{
// //如果已结束
// if (selfAudit.getStatus().equals(SELFAUDIT_STATUS.FINISHED.name())) {
// log.info("从dataCache删除已完成的盘点批次号:" + selfAudit.getBatchNo() + " ");
// dataCache.updateCache(Constants.CACHE_SELFAUDIT_BATCHNO, "");
// return null;
// }
return
selfAudit
;
}
...
...
@@ -158,7 +156,7 @@ public class SelfAuditDeviceController {
}
if
(
findOk
){
selfAudit
.
setItems
(
newItems
);
S
elfAuditUtil
.
updateShelfAudit
(
selfAudit
);
s
elfAuditUtil
.
updateShelfAudit
(
selfAudit
);
return
ResultBean
.
newOkResult
(
"ok"
);
}
log
.
error
(
"盘点:posOutEnd:posName=["
+
posName
+
"]:未找到库位的盘点信息"
);
...
...
@@ -238,7 +236,13 @@ public class SelfAuditDeviceController {
}
item
.
setActualBarcode
(
actualBarcode
);
item
.
setItemStatus
(
2
);
//如果异常,改为3,否则改为2
if
(
barcode
.
equals
(
actualBarcode
)){
item
.
setItemStatus
(
2
);
}
else
{
item
.
setItemStatus
(
3
);
}
selfAuditItemManager
.
save
(
item
);
}
newItems
.
add
(
item
);
...
...
@@ -247,12 +251,27 @@ public class SelfAuditDeviceController {
selfAudit
.
setItems
(
newItems
);
selfAudit
.
setEndItemNum
(
selfAudit
.
getEndItemNum
()+
1
);
if
(
selfAudit
.
getEndItemNum
()>=
selfAudit
.
getTotalItemNum
()){
selfAudit
.
setStatus
(
SELFAUDIT_STATUS
.
FINISHED
.
name
());
log
.
info
(
" 盘点["
+
selfAudit
.
getBatchNo
()
+
"] 已完成库位数["
+
selfAudit
.
getEndItemNum
()
+
"]总库位数["
+
selfAudit
.
getTotalItemNum
()
+
"],更改盘点状态为已完成"
);
boolean
hasE
=
false
;
//判断是否有异常
for
(
SelfAuditItem
item
:
newItems
)
{
if
(
item
.
getItemStatus
()==
3
){
hasE
=
true
;
break
;
}
}
if
(
hasE
){
selfAudit
.
setStatus
(
SELFAUDIT_STATUS
.
END
.
name
());
log
.
info
(
" 盘点["
+
selfAudit
.
getBatchNo
()
+
"] 已完成库位数["
+
selfAudit
.
getEndItemNum
()
+
"]总库位数["
+
selfAudit
.
getTotalItemNum
()
+
"],存在异常库位,更改盘点状态为完成,等待处理异常库位"
);
}
else
{
selfAudit
.
setStatus
(
SELFAUDIT_STATUS
.
FINISHED
.
name
());
log
.
info
(
" 盘点["
+
selfAudit
.
getBatchNo
()
+
"] 已完成库位数["
+
selfAudit
.
getEndItemNum
()
+
"]总库位数["
+
selfAudit
.
getTotalItemNum
()
+
"],更改盘点状态为已结束"
);
}
}
selfAuditManager
.
save
(
selfAudit
);
S
elfAuditUtil
.
updateShelfAudit
(
selfAudit
);
//
selfAuditManager.save(selfAudit);
s
elfAuditUtil
.
updateShelfAudit
(
selfAudit
);
return
ResultBean
.
newOkResult
(
"ok"
);
}
log
.
info
(
"盘点:posSelfAuditEnd:posName=["
+
posName
+
"],barcode=["
+
barcode
+
"],actualBarcode=["
+
actualBarcode
+
"]:未找到库位的盘点信息"
);
...
...
src/main/java/com/neotel/smfcore/core/selfAudit/rest/dto/SelfAuditItemDto.java
查看文件 @
bb3bf61
...
...
@@ -29,6 +29,6 @@ public class SelfAuditItemDto implements Serializable {
@ApiModelProperty
(
"实际条码"
)
private
String
actualBarcode
;
@ApiModelProperty
(
"
0=等待中,1=出库完成,2=盘点完成
"
)
@ApiModelProperty
(
"
盘点状态 0=等待中,1=出库完成,2=入库完成,3=数据异常待处理,4=异常已处理
"
)
private
int
itemStatus
=
0
;
}
src/main/java/com/neotel/smfcore/core/selfAudit/service/po/SelfAuditItem.java
查看文件 @
bb3bf61
...
...
@@ -46,7 +46,7 @@ public class SelfAuditItem extends BasePo implements Serializable {
*/
private
String
actualBarcode
;
/**
* 盘点状态 0=等待中,1=出库完成,2=
盘点完成
* 盘点状态 0=等待中,1=出库完成,2=
入库完成,3=数据异常待处理,4=异常已处理
*/
private
int
itemStatus
=
0
;
...
...
src/main/java/com/neotel/smfcore/core/selfAudit/util/SelfAuditUtil.java
查看文件 @
bb3bf61
package
com
.
neotel
.
smfcore
.
core
.
selfAudit
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.selfAudit.enums.SELFAUDIT_STATUS
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditItemManager
;
import
com.neotel.smfcore.core.selfAudit.service.manager.ISelfAuditManager
;
import
com.neotel.smfcore.core.selfAudit.service.po.SelfAudit
;
import
com.neotel.smfcore.core.selfAudit.service.po.SelfAuditItem
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.Date
;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.*
;
import
java.util.concurrent.ConcurrentHashMap
;
@Slf4j
@Service
public
class
SelfAuditUtil
{
@Autowired
private
DataCache
dataCache
;
@Autowired
private
ISelfAuditManager
selfAuditManager
;
@Autowired
private
ISelfAuditItemManager
selfAuditItemManager
;
public
static
String
createBatchNo
()
{
Date
date
=
new
Date
();
String
dateStr
=
DateUtil
.
toDateString
(
date
,
"yyyyMMddHHmm"
);
return
"NO"
+
dateStr
;
}
private
static
Map
<
String
,
SelfAudit
>
selfAuditMap
=
new
ConcurrentHashMap
<>();
private
Map
<
String
,
SelfAudit
>
selfAuditMap
=
new
ConcurrentHashMap
<>();
public
static
SelfAudit
getSelfAudit
(
String
batchNo
){
if
(
selfAuditMap
==
null
){
selfAuditMap
=
new
HashMap
<>();
public
SelfAudit
getSelfAudit
(
String
batchNo
)
{
if
(
selfAuditMap
==
null
)
{
selfAuditMap
=
new
HashMap
<>();
}
SelfAudit
selfAudit
=
selfAuditMap
.
get
(
batchNo
);
if
(
selfAudit
==
null
)
{
selfAudit
=
selfAuditManager
.
findByBatchNo
(
batchNo
);
if
(
selfAudit
!=
null
)
{
updateCache
(
selfAudit
);
}
}
return
selfAuditMap
.
get
(
batchNo
);
return
selfAudit
;
}
/**
* 更新数据库,更新缓存
* @param selfAudit
*/
public
void
updateShelfAudit
(
SelfAudit
selfAudit
)
{
selfAuditManager
.
save
(
selfAudit
);
selfAuditMap
.
put
(
selfAudit
.
getBatchNo
(),
selfAudit
);
}
/**
* 更新缓存
* @param selfAudit
*/
public
void
updateCache
(
SelfAudit
selfAudit
)
{
selfAuditMap
.
put
(
selfAudit
.
getBatchNo
(),
selfAudit
);
}
public
SelfAudit
getCurrSelfAudit
()
{
String
batchNo
=
dataCache
.
getCache
(
Constants
.
CACHE_SELFAUDIT_BATCHNO
);
if
(
ObjectUtil
.
isNotEmpty
(
batchNo
))
{
SelfAudit
selfAudit
=
getSelfAudit
(
batchNo
);
if
(
selfAudit
!=
null
)
{
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
FINISHED
.
name
()))
{
log
.
info
(
"从dataCache删除已完成的盘点批次号:"
+
selfAudit
.
getBatchNo
()
+
" "
);
dataCache
.
updateCache
(
Constants
.
CACHE_SELFAUDIT_BATCHNO
,
""
);
return
null
;
}
}
return
selfAudit
;
public
static
void
updateShelfAudit
(
SelfAudit
selfAudit
){
selfAuditMap
.
put
(
selfAudit
.
getBatchNo
(),
selfAudit
)
;
}
return
null
;
}
public
void
onTaskStatusChange
(
DataLog
task
)
{
try
{
//只有出库任务才需要处理
if
(
task
.
isFinished
()
&&
task
.
isCheckOutTask
())
{
finishedOutTask
(
task
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"更新判断任务状态出错"
,
e
);
}
}
private
void
finishedOutTask
(
DataLog
task
)
{
try
{
//盘点是否暂停
SelfAudit
selfAudit
=
getCurrSelfAudit
();
if
(
selfAudit
!=
null
)
{
//如果是已结束等待处理
if
(
selfAudit
.
getStatus
().
equals
(
SELFAUDIT_STATUS
.
END
.
name
()))
{
String
posName
=
task
.
getPosName
();
//自动生成出库任务
List
<
SelfAuditItem
>
newItems
=
new
ArrayList
<>();
boolean
findOk
=
false
;
for
(
SelfAuditItem
item
:
selfAudit
.
getItems
())
{
if
(
item
.
getItemStatus
()
==
3
&&
item
.
getPosName
().
equals
(
posName
))
{
//判断是否有异常的料
item
.
setItemStatus
(
4
);
selfAuditItemManager
.
save
(
item
);
log
.
info
(
"处理盘点批次【"
+
selfAudit
.
getBatchNo
()
+
"】, 仓位【"
+
posName
+
"】 出库任务执行完成,更改状态为4"
);
findOk
=
true
;
}
newItems
.
add
(
item
);
}
//判断是否完成
if
(
findOk
)
{
selfAudit
.
setItems
(
newItems
);
//判断是否有异常
for
(
SelfAuditItem
item
:
newItems
)
{
if
(
item
.
getItemStatus
()
==
3
)
{
return
;
}
}
selfAudit
.
setStatus
(
SELFAUDIT_STATUS
.
FINISHED
.
name
());
log
.
info
(
" 盘点["
+
selfAudit
.
getBatchNo
()
+
"] 已全部处理完成 更改盘点状态为已结束"
);
// selfAuditManager.save(selfAudit);
updateShelfAudit
(
selfAudit
);
}
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"handleSelfAudit error:"
+
ex
.
getMessage
());
}
}
}
src/main/java/com/neotel/smfcore/core/system/util/TaskService.java
查看文件 @
bb3bf61
...
...
@@ -19,6 +19,7 @@ import com.neotel.smfcore.core.device.util.DataCache;
import
com.neotel.smfcore.core.message.util.DeviceMessageUtil
;
import
com.neotel.smfcore.core.order.LiteOrderCache
;
import
com.neotel.smfcore.core.order.service.po.LiteOrder
;
import
com.neotel.smfcore.core.selfAudit.util.SelfAuditUtil
;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.rest.dto.TacticsOutDto
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
...
...
@@ -51,6 +52,8 @@ public class TaskService {
@Autowired
protected
LiteOrderCache
liteOrderCache
;
@Autowired
protected
SelfAuditUtil
selfAuditUtil
;
@Autowired
private
SmfApi
smfApi
;
...
...
@@ -152,6 +155,7 @@ public class TaskService {
private
void
tiggerTaskChangeListener
(
DataLog
task
)
{
liteOrderCache
.
onTaskStatusChange
(
task
);
smfApi
.
onTaskStatusChange
(
task
);
selfAuditUtil
.
onTaskStatusChange
(
task
);
}
/**
...
...
src/main/resources/messages.properties
查看文件 @
bb3bf61
...
...
@@ -342,6 +342,7 @@ smfcore.selfAudit.pause=\u76D8\u70B9{0}\u5DF2\u6682\u505C
smfcore.shelf.error.orderError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u
5DE5
\u5355
[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.shelf.error.storageError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u6599\u
67B6[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.selfAudit.noPos
=
\u
76D8
\u
70B9{0}
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
53F7
smfcore.selfAudit.hasOutTask
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
#smfclient.nlp.onlyOneTray=\u4E0D\u53EF\u540C\u65F6\u653E\u5165\u591A\u76D8\u7269\u6599:{0}
#smfclient.nlp.cannotFindPos={0}\u672A\u627E\u5230\u5E93\u4F4D:{1}
#smfclient.nlp.inputOk={0}\u5165\u5E93\u5230{1}\u6210\u529F
...
...
src/main/resources/messages_en_US.properties
查看文件 @
bb3bf61
...
...
@@ -340,4 +340,5 @@ smfcore.selfAudit.notFind=self audit is not found
smfcore.selfAudit.pause
=
self audit {0} has Paused
smfcore.shelf.error.orderError
=
Task does not match the assigned work order [{0}]
smfcore.shelf.error.storageError
=
Task does not match the specified shelf [{0}]
smfcore.selfAudit.noPos
=
Self Audit{0}No depot number found
\ No newline at end of file
smfcore.selfAudit.noPos
=
Self Audit{0}No depot number found
smfcore.selfAudit.hasOutTask
=
The location [{0}] already has a release task
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
bb3bf61
...
...
@@ -337,4 +337,5 @@ smfcore.selfAudit.notFind=\u30A4\u30F3\u30D9\u30F3\u30C8\u30EA\u60C5\u5831\u304C
smfcore.selfAudit.pause=
\u
30BB
\u
30EB
\u
30D5
\u
30C6
\u
30B9
\u
30C8{0}
\u
304C
\u
4E2D
\u
65AD
\u3055\u
308C
\u
307E
\u3057\u
305F
smfcore.shelf.error.orderError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u
5DE5
\u5355
[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.shelf.error.storageError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u6599\u
67B6[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.selfAudit.noPos
=
\u
76D8
\u
70B9{0}
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
53F7
\ No newline at end of file
smfcore.selfAudit.noPos
=
\u
76D8
\u
70B9{0}
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
53F7
smfcore.selfAudit.hasOutTask
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
bb3bf61
...
...
@@ -337,4 +337,5 @@ smfcore.selfAudit.notFind=\u672A\u627E\u5230\u76D8\u70B9\u4FE1\u606F
smfcore.selfAudit.pause
=
\u
76D8
\u
70B9{0}
\u
5DF2
\u6682\u
505C
smfcore.shelf.error.orderError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u
5DE5
\u5355
[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.shelf.error.storageError
=
\u
4EFB
\u
52A1
\u
4E0E
\u6307\u
5B9A
\u6599\u
67B6[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.selfAudit.noPos
=
\u
76D8
\u
70B9{0}
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
53F7
\ No newline at end of file
smfcore.selfAudit.noPos
=
\u
76D8
\u
70B9{0}
\u
672A
\u
627E
\u5230\u
5E93
\u
4F4D
\u
53F7
smfcore.selfAudit.hasOutTask
=
\u
5E93
\u
4F4D[{0}]
\u
5DF2
\u6709\u
51FA
\u
5E93
\u
4EFB
\u
52A1
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
bb3bf61
...
...
@@ -338,4 +338,5 @@ smfcore.selfAudit.notFind=\u672A\u627E\u5230\u76E4\u9EDE\u4FE1\u606F
smfcore.selfAudit.pause
=
\u
76E4
\u
9EDE{0}
\u
5DF2
\u
66AB
\u
505C
smfcore.shelf.error.orderError
=
\u
4EFB
\u
52D9
\u8207\u6307\u
5B9A
\u
5DE5
\u
55AE[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.shelf.error.storageError
=
\u
4EFB
\u
52D9
\u8207\u6307\u
5B9A
\u6599\u
67B6[{0}]
\u
4E0D
\u
4E00
\u
81F4
smfcore.selfAudit.noPos
=
\u
76E4
\u
9EDE{0}
\u
672A
\u
627E
\u5230\u
5EAB
\u
4F4D
\u
865F
\ No newline at end of file
smfcore.selfAudit.noPos
=
\u
76E4
\u
9EDE{0}
\u
672A
\u
627E
\u5230\u
5EAB
\u
4F4D
\u
865F
smfcore.selfAudit.hasOutTask
=
\u
5EAB
\u
4F4D[{0}]
\u
5DF2
\u6709\u
51FA
\u
5EAB
\u
4EFB
\u
52D9
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论