Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 54168d12
由
LN
编写于
2022-01-29 14:46:17 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
增加MIMO料仓界面及相关操作
1 个父辈
ca77b59a
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
240 行增加
和
136 行删除
pom.xml
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/LineBoxHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/MimoBoxHandler.java
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
src/main/java/com/neotel/smfcore/core/language/util/MessageService.java
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.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
pom.xml
查看文件 @
54168d1
...
...
@@ -25,7 +25,7 @@
<hutool.version>
5.3.4
</hutool.version>
<fastjson.version>
1.2.70
</fastjson.version>
<swagger.version>
2.9.2
</swagger.version>
<log4j2.version>
2.1
6
.0
</log4j2.version>
<log4j2.version>
2.1
7
.0
</log4j2.version>
</properties>
<profiles>
<profile>
...
...
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
54168d1
package
com
.
neotel
.
smfcore
.
core
.
device
.
bean
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.base.Strings
;
import
com.neotel.smfcore.core.device.enums.BOX_STATUS
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.system.service.po.AlarmInfo
;
import
lombok.Data
;
import
lombok.ToString
;
import
java.util.*
;
...
...
@@ -16,6 +19,7 @@ import java.util.*;
4,电钢报警,1=上下电钢,
*/
@ToString
@Data
public
class
StatusBean
{
/// <summary>
...
...
@@ -31,6 +35,10 @@ public class StatusBean {
/// 操作码(0无操作(发送料仓状态给服务器),1扫码入库(扫码成功后发送给服务器),2 出库(服务器发送) )
/// </summary>
private
int
op
;
/**
*客户端IP
*/
private
String
clientIp
;
/// <summary>
/// 操作相关数据,
/// op=1时,客户端发送 code 二维码给服务器,服务器返回时有:posId库位编号,plateW:料盘宽度,plateH:料盘高度
...
...
@@ -67,6 +75,11 @@ public class StatusBean {
* 英文提示消息
*/
public
String
msgEn
=
""
;
public
String
msgCode
=
""
;
public
String
[]
msgParam
;
/// <summary>
/// 包含的多个 BOX 的状态信息
/// </summary>
...
...
@@ -271,90 +284,98 @@ public class StatusBean {
return
System
.
currentTimeMillis
()
-
lastSaveTime
>=
5
*
60
*
1000
;
}
public
long
getLastSaveTime
()
{
return
lastSaveTime
;
}
public
void
setLastSaveTime
(
long
lastSaveTime
)
{
this
.
lastSaveTime
=
lastSaveTime
;
}
public
long
getTime
()
{
return
time
;
}
public
void
setTime
(
long
time
)
{
this
.
time
=
time
;
}
public
String
getCid
()
{
return
cid
;
}
public
void
setCid
(
String
cid
)
{
this
.
cid
=
cid
;
}
public
int
getSeq
()
{
return
seq
;
}
public
void
setSeq
(
int
seq
)
{
this
.
seq
=
seq
;
}
public
int
getOp
()
{
return
op
;
}
public
void
setOp
(
int
op
)
{
this
.
op
=
op
;
}
public
Map
<
String
,
String
>
getData
()
{
return
data
;
}
public
void
setData
(
Map
<
String
,
String
>
data
)
{
this
.
data
=
data
;
}
public
int
getStatus
()
{
return
status
;
}
public
void
setStatus
(
int
status
)
{
this
.
status
=
status
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
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
<
String
,
BoxStatusBean
>
getBoxStatus
()
{
return
boxStatus
;
}
// public long getLastSaveTime() {
// return lastSaveTime;
// }
//
// public void setLastSaveTime(long lastSaveTime) {
// this.lastSaveTime = lastSaveTime;
// }
//
// public long getTime() {
// return time;
// }
//
// public void setTime(long time) {
// this.time = time;
// }
//
// public String getCid() {
// return cid;
// }
//
// public void setCid(String cid) {
// this.cid = cid;
// }
//
// public int getSeq() {
// return seq;
// }
//
// public void setSeq(int seq) {
// this.seq = seq;
// }
//
// public int getOp() {
// return op;
// }
//
// public void setOp(int op) {
// this.op = op;
// }
//
// public Map<String, String> getData() {
// return data;
// }
//
// public void setData(Map<String, String> data) {
// this.data = data;
// }
//
// public int getStatus() {
// return status;
// }
//
// public void setStatus(int status) {
// this.status = status;
// }
//
// public String getMsg() {
// return msg;
// }
//
// public void setMsg(String msg) {
// this.msg = msg;
// }
//
// public String getClientIp() {
// return clientIp;
// }
//
// public void setClientIp(String clientIp) {
// this.clientIp = clientIp;
// }
public
void
setBoxStatus
(
Map
<
String
,
BoxStatusBean
>
boxStatus
)
{
this
.
boxStatus
=
boxStatus
;
}
// 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<String, BoxStatusBean> getBoxStatus() {
// return boxStatus;
// }
//
// public void setBoxStatus(Map<String, BoxStatusBean> boxStatus) {
// this.boxStatus = boxStatus;
// }
public
boolean
isAvailable
(){
if
(!
timeOut
()){
...
...
@@ -440,21 +461,21 @@ public class StatusBean {
// }
// }
public
String
getMsgEn
()
{
return
msgEn
;
}
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 getMsgEn() {
//
return msgEn;
//
}
//
//
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"
);
...
...
@@ -463,4 +484,19 @@ public class StatusBean {
}
return
doorReelSignal
;
}
public
String
getShowMsg
(
Locale
locale
){
//提示信息国际化
if
(
ObjectUtil
.
isEmpty
(
getMsgCode
())||
ObjectUtil
.
isEmpty
(
getMsgEn
())
){
return
this
.
msg
;
}
else
{
String
code
=
this
.
msgCode
;
if
(!
code
.
startsWith
(
MessageUtils
.
smfcore
)){
code
=
MessageUtils
.
smfcore
+
"."
+
this
.
msgCode
;
}
String
newMsg
=
MessageUtils
.
getText
(
code
,
getMsgParam
(),
locale
,
getMsg
());
return
newMsg
;
}
}
}
src/main/java/com/neotel/smfcore/core/device/handler/impl/LineBoxHandler.java
查看文件 @
54168d1
...
...
@@ -24,6 +24,7 @@ public class LineBoxHandler extends BaseDeviceHandler {
log
.
error
(
"料仓cid: ["
+
cid
+
"]不存在"
);
return
null
;
}
statusBean
.
setClientIp
(
request
.
getRemoteHost
());
handleMsg
(
statusBean
);
statusBean
=
saveAlarmAndHumidity
(
statusBean
);
statusBean
=
handleInOutFinished
(
statusBean
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/MimoBoxHandler.java
查看文件 @
54168d1
package
com
.
neotel
.
smfcore
.
core
.
device
.
handler
.
impl
;
import
com.google.common.base.Strings
;
import
com.neotel.smfcore.common.utils.StorageConstants
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.core.device.api.IOpAuthApi
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.enums.BOX_STATUS
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.enums.OP_STATUS
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.service.po.DataLog
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Collection
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
/**
* Created by sunke on 2021/7/12.
...
...
@@ -40,7 +32,11 @@ public class MimoBoxHandler extends BaseDeviceHandler {
log
.
error
(
"料仓cid: ["
+
cid
+
"]不存在"
);
return
null
;
}
statusBean
.
setClientIp
(
request
.
getRemoteHost
());
handleMsg
(
statusBean
);
// if(ObjectUtil.isNotEmpty(statusBean.getMsg())){
// log.info("cid["+cid+"],msgCode["+statusBean.getMsgCode()+"],msg["+statusBean.getMsg()+"]");
// }
statusBean
=
saveAlarmAndHumidity
(
statusBean
);
statusBean
=
handleInOutFinished
(
statusBean
);
StatusBean
humidityResult
=
handleHumidity
(
statusBean
);
...
...
src/main/java/com/neotel/smfcore/core/kanban/rest/BoxKanbanController.java
查看文件 @
54168d1
...
...
@@ -17,9 +17,7 @@ import com.neotel.smfcore.core.device.util.DataCache;
import
com.neotel.smfcore.core.kanban.rest.bean.dto.*
;
import
com.neotel.smfcore.core.kanban.rest.bean.mapstruct.BoxTaskMapper
;
import
com.neotel.smfcore.core.kanban.rest.bean.query.BoxTaskQueryCriter
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.manager.impl.StoragePosManagerImpl
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.service.manager.impl.DataLogManagerImpl
;
...
...
@@ -78,7 +76,7 @@ public class BoxKanbanController {
@ApiOperation
(
"获取看板数据"
)
@GetMapping
@PreAuthorize
(
"@el.check('boxkanban:info')"
)
public
BoxKanbanDto
info
()
{
public
BoxKanbanDto
info
(
HttpServletRequest
servletRequest
)
{
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
BoxKanbanDto
boxKanbanDto
=
getKanBan
(
allTasks
);
...
...
@@ -106,7 +104,7 @@ public class BoxKanbanController {
if
(
storage
==
null
){
continue
;
}
boxStatusDtos
.
add
(
getBoxDto
(
storage
,
allTasks
));
boxStatusDtos
.
add
(
getBoxDto
(
storage
,
allTasks
,
servletRequest
.
getLocale
()
));
if
(
storage
.
isNLPShelf
()){
groupType
=
1
;
}
...
...
@@ -248,10 +246,13 @@ public class BoxKanbanController {
@ApiOperation
(
"料仓详情"
)
@GetMapping
(
"/boxView"
)
@PreAuthorize
(
"@el.check('boxkanban:boxView')"
)
public
BoxStatusDto
boxView
(
String
id
)
{
public
BoxStatusDto
boxView
(
String
id
,
HttpServletRequest
servletRequest
)
{
List
<
DataLog
>
allTasks
=
taskService
.
getAllTasks
();
Storage
storage
=
dataCache
.
getStorageById
(
id
);
BoxStatusDto
dto
=
getBoxDto
(
storage
,
allTasks
);
if
(
storage
==
null
)
{
throw
new
ValidateException
(
"smfcore.storage.error.notExist"
,
"未找到料仓{0}"
,
new
String
[]{
id
});
}
BoxStatusDto
dto
=
getBoxDto
(
storage
,
allTasks
,
servletRequest
.
getLocale
());
return
dto
;
}
...
...
@@ -408,7 +409,7 @@ public class BoxKanbanController {
return
kanbanDto
;
}
private
BoxStatusDto
getBoxDto
(
Storage
storage
,
List
<
DataLog
>
allTasks
)
{
private
BoxStatusDto
getBoxDto
(
Storage
storage
,
List
<
DataLog
>
allTasks
,
Locale
locale
)
{
int
inTask
=
0
;
int
outTask
=
0
;
for
(
DataLog
data
:
allTasks
)
{
...
...
@@ -438,6 +439,12 @@ public class BoxKanbanController {
}
else
{
if
(
bean
.
timeOut
())
{
boxDto
.
setOnLine
(
false
);
for
(
BoxStatusBean
boxStatus
:
bean
.
getBoxStatus
().
values
())
{
boxDto
.
setMsg
(
bean
.
getShowMsg
(
locale
));
boxDto
.
setBarcode
(
bean
.
getCode
());
boxDto
.
setPosName
(
bean
.
getPosId
());
break
;
}
}
else
{
boxDto
.
setOnLine
(
true
);
for
(
BoxStatusBean
boxStatus
:
bean
.
getBoxStatus
().
values
())
{
...
...
@@ -446,7 +453,7 @@ public class BoxKanbanController {
boxDto
.
setHumidity
(
humidity
);
boxDto
.
setTemperature
(
temperature
);
boxDto
.
setStatus
(
bean
.
getStatus
());
boxDto
.
setMsg
(
bean
.
get
Msg
(
));
boxDto
.
setMsg
(
bean
.
get
ShowMsg
(
locale
));
boxDto
.
setBarcode
(
bean
.
getCode
());
boxDto
.
setPosName
(
bean
.
getPosId
());
boxDto
.
setData
(
bean
.
getData
());
...
...
src/main/java/com/neotel/smfcore/core/language/util/MessageService.java
查看文件 @
54168d1
...
...
@@ -39,6 +39,7 @@ public class MessageService {
}
public
Map
<
String
,
Map
<
String
,
LanguageMsg
>>
loadMsgMap
()
{
int
hasCount
=
1
;
Map
<
String
,
Map
<
String
,
LanguageMsg
>>
resourceMap
=
new
HashMap
<>();
List
<
LanguageMsg
>
msgs
=
languageMsgManager
.
findByQuery
(
new
Query
());
for
(
LanguageMsg
msg
:
...
...
@@ -53,8 +54,16 @@ public class MessageService {
if
(
typeMap
==
null
){
typeMap
=
new
HashMap
<>();
}
typeMap
.
put
(
msg
.
getCode
(),
msg
);
resourceMap
.
put
(
msg
.
getType
(),
typeMap
);
if
(
typeMap
.
containsKey
(
msg
.
getCode
())){
String
delId
=
msg
.
getId
();
// log.info("资源创建时间["+typeMap.get(msg.getCode()).getCreateDate()+"]["+ msg.getCreateDate()+"]ID["+typeMap.get(msg.getCode()).getId()+"]["+ msg.getId()+"],code=["+msg.getCode()+"]已存在,["+hasCount+"]");
log
.
info
(
"资源 ID["
+
typeMap
.
get
(
msg
.
getCode
()).
getId
()+
"]["
+
msg
.
getId
()+
"],code=["
+
msg
.
getCode
()+
"]已存在,删除资源["
+
delId
+
"]["
+
hasCount
+
"]"
);
languageMsgManager
.
delete
(
msg
);
hasCount
++;
}
else
{
typeMap
.
put
(
msg
.
getCode
(),
msg
);
resourceMap
.
put
(
msg
.
getType
(),
typeMap
);
}
}
log
.
info
(
"loadMsgMap 共加载到"
+
msgs
.
size
()
+
"条Msg"
);
return
resourceMap
;
...
...
@@ -269,7 +278,11 @@ public class MessageService {
MessageUtils
.
updateMsg
(
msg
);
}
}
log
.
info
(
"导入资源["
+
orgFileName
+
"]["
+
type
+
"]["
+
lanCode
+
"],共["
+
proMap
.
size
()+
"]条数据,共更新["
+
updateLanguageList
.
size
()
+
"]条资源,新增["
+
newLanguageList
.
size
()
+
"]条资源"
);
if
(
updateLanguageList
.
size
()
>
0
||
newLanguageList
.
size
()>
0
){
log
.
info
(
"导入资源["
+
orgFileName
+
"]["
+
type
+
"]["
+
lanCode
+
"],共["
+
proMap
.
size
()+
"]条数据,共更新["
+
updateLanguageList
.
size
()
+
"]条资源,新增["
+
newLanguageList
.
size
()
+
"]条资源"
);
}
else
{
log
.
debug
(
"导入资源["
+
orgFileName
+
"]["
+
type
+
"]["
+
lanCode
+
"],共["
+
proMap
.
size
()+
"]条数据,共更新["
+
updateLanguageList
.
size
()
+
"]条资源,新增["
+
newLanguageList
.
size
()
+
"]条资源"
);
}
return
"ok"
;
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/StorageController.java
查看文件 @
54168d1
...
...
@@ -9,6 +9,7 @@ import com.neotel.smfcore.common.utils.FileUtil;
import
com.neotel.smfcore.common.utils.PointUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.SecurityUtils
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.storage.enums.DeviceType
;
import
com.neotel.smfcore.core.storage.rest.dto.StorageDto
;
...
...
@@ -21,6 +22,7 @@ import com.neotel.smfcore.core.storage.service.manager.IStorageManager;
import
com.neotel.smfcore.core.storage.service.manager.IStoragePosManager
;
import
com.neotel.smfcore.core.storage.service.po.Storage
;
import
com.neotel.smfcore.core.storage.service.po.StoragePos
;
import
com.neotel.smfcore.core.system.util.DevicesStatusUtil
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
com.neotel.smfcore.security.bean.FileProperties
;
import
com.neotel.smfcore.security.rest.bean.dto.RoleDto
;
...
...
@@ -88,23 +90,28 @@ public class StorageController {
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Storage
>
pages
=
storageManager
.
findByPage
(
query
,
pageable
);
List
<
StorageDto
>
StorageDtos
=
storageMapper
.
toDto
(
pages
.
getContent
());
for
(
int
i
=
0
;
i
<
StorageDtos
.
size
();
i
++){
String
groupId
=
""
;
if
(
StorageDtos
.
get
(
i
).
getGroupId
()!=
null
&&(!
StorageDtos
.
get
(
i
).
getGroupId
().
isEmpty
()))
{
groupId
=
StorageDtos
.
get
(
i
).
getGroupId
();
for
(
int
i
=
0
;
i
<
StorageDtos
.
size
();
i
++)
{
String
groupId
=
""
;
if
(
StorageDtos
.
get
(
i
).
getGroupId
()
!=
null
&&
(!
StorageDtos
.
get
(
i
).
getGroupId
().
isEmpty
()))
{
groupId
=
StorageDtos
.
get
(
i
).
getGroupId
();
}
Group
group
=
groupManager
.
get
(
groupId
);
if
(
group
!=
null
)
{
Group
group
=
groupManager
.
get
(
groupId
);
if
(
group
!=
null
)
{
StorageDtos
.
get
(
i
).
setGroupName
(
group
.
getGroupName
());
}
else
{
}
else
{
//此料仓未分组
StorageDtos
.
get
(
i
).
setGroupName
(
""
);
if
(!
StorageDtos
.
get
(
i
).
getGroupId
().
equals
(
""
))
{
storageManager
.
updateStorageGroup
(
StorageDtos
.
get
(
i
).
getId
(),
""
);
log
.
info
(
"料仓["
+
StorageDtos
.
get
(
i
).
getId
()+
"]["
+
StorageDtos
.
get
(
i
).
getName
()+
"]的组不存在,修改组为空"
);
if
(!
StorageDtos
.
get
(
i
).
getGroupId
().
equals
(
""
))
{
storageManager
.
updateStorageGroup
(
StorageDtos
.
get
(
i
).
getId
(),
""
);
log
.
info
(
"料仓["
+
StorageDtos
.
get
(
i
).
getId
()
+
"]["
+
StorageDtos
.
get
(
i
).
getName
()
+
"]的组不存在,修改组为空"
);
}
}
//获取设备状态,设置状态和当前任务信息
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
StorageDtos
.
get
(
i
).
getCid
());
if
(
bean
!=
null
&&
bean
.
getBoxStatus
()
!=
null
)
{
StorageDtos
.
get
(
i
).
setClientIp
(
bean
.
getClientIp
());
}
}
return
new
PageData
(
StorageDtos
,
pages
.
getTotalElements
());
}
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/dto/StorageDto.java
查看文件 @
54168d1
...
...
@@ -59,4 +59,7 @@ public class StorageDto implements Serializable {
@ApiModelProperty
(
"当前绑定的入库单名称"
)
private
String
inListName
=
""
;
@ApiModelProperty
(
"客户端IP"
)
private
String
clientIp
;
}
src/main/java/com/neotel/smfcore/core/system/util/DevicesStatusUtil.java
查看文件 @
54168d1
...
...
@@ -31,7 +31,17 @@ public class DevicesStatusUtil {
* 获取设备状态Bean
*/
public
static
StatusBean
getStatusBean
(
String
cid
)
{
return
statusMap
.
get
(
cid
);
StatusBean
statusBean
=
statusMap
.
get
(
cid
);
if
(
statusBean
!=
null
){
StatusBean
msgBean
=
clientMsgs
.
get
(
cid
);
if
(
msgBean
!=
null
){
statusBean
.
setMsg
(
msgBean
.
getMsg
());
statusBean
.
setMsgEn
(
msgBean
.
getMsgEn
());
statusBean
.
setMsgCode
(
msgBean
.
getMsgCode
());
statusBean
.
setMsgParam
(
msgBean
.
getMsgParam
());
}
}
return
statusBean
;
}
/**
...
...
@@ -44,7 +54,7 @@ public class DevicesStatusUtil {
/**
* 更新客户端发上来的消息(设备故障等消息)
*/
public
static
StatusBean
updateClientMsg
(
String
cid
,
String
clientMsg
,
String
clientMsgEn
)
{
public
static
StatusBean
updateClientMsg
(
String
cid
,
String
msgCode
,
String
clientMsg
,
String
clientMsgEn
,
String
[]
msgParam
)
{
if
(
clientMsg
==
null
)
{
clientMsg
=
""
;
clientMsgEn
=
""
;
...
...
@@ -52,6 +62,8 @@ public class DevicesStatusUtil {
StatusBean
statusBean
=
new
StatusBean
();
statusBean
.
setMsg
(
clientMsg
);
statusBean
.
setMsgEn
(
clientMsgEn
);
statusBean
.
setMsgCode
(
msgCode
);
statusBean
.
setMsgParam
(
msgParam
);
clientMsgs
.
put
(
cid
,
statusBean
);
return
statusBean
;
}
...
...
@@ -117,7 +129,7 @@ public class DevicesStatusUtil {
public
static
Map
<
String
,
String
>
getAndRemoveOp
(
String
cid
){
Map
<
String
,
String
>
opMap
=
storageOpMap
.
get
(
cid
);
if
(
opMap
!=
null
){
o
pMap
.
remove
(
cid
);
storageO
pMap
.
remove
(
cid
);
}
return
opMap
;
}
...
...
src/main/resources/messages.properties
查看文件 @
54168d1
...
...
@@ -173,3 +173,8 @@ smfcore.msg.noCid=\u64CD\u4F5C\u5931\u8D25\uFF0C\u672A\u627E\u5230cid
smfcore.inList
=
\u5165\u
5E93
\u5355
smfcore.inlist.ameExists
=
\u5165\u
5E93
\u5355
[{0}]
\u
5DF2
\u
5B58
\u5728
smfcore.inlist.uploadOK
=
\u5165\u
5E93
\u5355\u
4E0A
\u
4F20
\u6210\u
529F
smfcore.inlist.notFound
=
\u
672A
\u
627E
\u5230\u5165\u
5E93
\u5355
[{0}]
smfcore.inlist.listOk
=
\u5165\u
5E93
\u5355
[{0}]
\u
5DF2
\u
5B8C
\u6210
smfcore.inlist.setOk
=
\u
8BBE
\u
7F6E
\u6210\u
529F
smfcore.inlist.pnItemOk
=
\u5165\u
5E93
\u5355
[{0}]
\u7684\u7269\u6599
[{1}]
\u
5DF2
\u5165\u
5E93
\u
5B8C
\u6210
smfcore.inlist.noPn
=
\u5165\u
5E93
\u5355
[{0}]
\u
6CA1
\u6709\u7269\u6599
[{1}]
\u5165\u
5E93
\u9700\u
6C42
src/main/resources/messages_en_US.properties
查看文件 @
54168d1
...
...
@@ -171,4 +171,10 @@ smfcore.msg.ok=Operation successful
smfcore.msg.noCid
=
Operation failed, cid not found
smfcore.inList
=
InList
smfcore.inlist.ameExists
=
InList[{0}]already exist
smfcore.inlist.uploadOK
=
InList upload successful
\ No newline at end of file
smfcore.inlist.uploadOK
=
InList upload successful
smfcore.materialBox.qtyError
=
Please enter the correct quantity
smfcore.inlist.notFound
=
Entry slip not found [{0}]
smfcore.inlist.listOk
=
Inbound orders [{0}] completed
smfcore.inlist.setOk
=
Setup successful
smfcore.inlist.pnItemOk
=
The material [{1}] of the incoming order [{0}] has been entered into the warehouse
smfcore.inlist.noPn
=
Inbound order [{0}] has no material [{1}] inbound requirement
src/main/resources/messages_ja_JP.properties
查看文件 @
54168d1
...
...
@@ -171,4 +171,10 @@ smfcore.msg.ok=\u52D5\u4F5C\u78BA\u8A8D\u6E08\u307F
smfcore.msg.noCid
=
\u
64CD
\u
4F5C
\u
306B
\u5931\u6557\u3057\u
307E
\u3057\u
305F
\u3001
cid
\u
304C
\u
898B
\u3064\u
304B
\u
308A
\u
307E
\u
305B
\u3093
smfcore.inList=
\u
30A4
\u
30F3
\u
30D0
\u
30A6
\u
30F3
\u
30C9
\u
53D7
\u
6CE8
smfcore.inlist.ameExists
=
\u
53D7
\u
6CE8
\u6848\u
4EF6[{0}]
\u
306F
\u
65E2
\u
306B
\u
5B58
\u5728\u3059\u
308B
smfcore.inlist.uploadOK
=
\u
53D7
\u
4FE1
\u3057\u
305F
\u
6CE8
\u6587\u
306E
\u
30A2
\u
30C3
\u
30D7
\u
30ED
\u
30FC
\u
30C9
\u
306B
\u6210\u
529F
\ No newline at end of file
smfcore.inlist.uploadOK
=
\u
53D7
\u
4FE1
\u3057\u
305F
\u
6CE8
\u6587\u
306E
\u
30A2
\u
30C3
\u
30D7
\u
30ED
\u
30FC
\u
30C9
\u
306B
\u6210\u
529F
smfcore.materialBox.qtyError
=
\u
6B63
\u3057\u3044\u6570\u
91CF
\u3092\u5165\u
529B
\u3057\u3066\u
304F
\u3060\u3055\u3044
smfcore.inlist.notFound
=
\u
30A8
\u
30F3
\u
30C8
\u
30EA
\u
30B9
\u
30EA
\u
30C3
\u
30D7
\u
304C
\u
898B
\u3064\u
304B
\u
308A
\u
307E
\u
305B
\u3093
[{0}]
smfcore.inlist.listOk
=
\u
30A4
\u
30F3
\u
30D0
\u
30A6
\u
30F3
\u
30C9
\u
30AA
\u
30FC
\u
30C0
\u
30FC[{0}]
\u
5B8C
\u
4E86
smfcore.inlist.setOk
=
\u
30BB
\u
30C3
\u
30C8
\u
30A2
\u
30C3
\u
30D7
\u6210\u
529F
smfcore.inlist.pnItemOk
=
\u5165\u8377\u
30AA
\u
30FC
\u
30C0
\u
30FC[{0}]
\u
306E
\u6750\u6599
[{1}]
\u
304C
\u5009\u
5EAB
\u
306B
\u5165\u
5EAB
\u3055\u
308C
\u
307E
\u3057\u
305F
smfcore.inlist.noPn
=
\u
53D7
\u
6CE8
\u6848\u
4EF6[{0}]
\u
306B
\u6750\u6599
[{1}]
\u
306E
\u5165\u8377\u8981\u
4EF6
\u
304C
\u
306A
\u3044
src/main/resources/messages_zh_CN.properties
查看文件 @
54168d1
...
...
@@ -171,4 +171,10 @@ smfcore.msg.ok=\u64CD\u4F5C\u6210\u529F
smfcore.msg.noCid
=
\u
64CD
\u
4F5C
\u5931\u
8D25
\u
FF0C
\u
672A
\u
627E
\u5230
cid
smfcore.inList
=
\u5165\u
5E93
\u5355
smfcore.inlist.ameExists=
\u5165\u
5E93
\u5355
[{0}]
\u
5DF2
\u
5B58
\u5728
smfcore.inlist.uploadOK
=
\u5165\u
5E93
\u5355\u
4E0A
\u
4F20
\u6210\u
529F
\ No newline at end of file
smfcore.inlist.uploadOK
=
\u5165\u
5E93
\u5355\u
4E0A
\u
4F20
\u6210\u
529F
smfcore.materialBox.qtyError
=
\u
8BF7
\u
8F93
\u5165\u
6B63
\u
786E
\u7684\u6570\u
91CF
smfcore.inlist.notFound
=
\u
672A
\u
627E
\u5230\u5165\u
5E93
\u5355
[{0}]
smfcore.inlist.listOk
=
\u5165\u
5E93
\u5355
[{0}]
\u
5DF2
\u
5B8C
\u6210
smfcore.inlist.setOk
=
\u
8BBE
\u
7F6E
\u6210\u
529F
smfcore.inlist.pnItemOk
=
\u5165\u
5E93
\u5355
[{0}]
\u7684\u7269\u6599
[{1}]
\u
5DF2
\u5165\u
5E93
\u
5B8C
\u6210
smfcore.inlist.noPn
=
\u5165\u
5E93
\u5355
[{0}]
\u
6CA1
\u6709\u7269\u6599
[{1}]
\u5165\u
5E93
\u9700\u
6C42
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
54168d1
...
...
@@ -171,4 +171,10 @@ smfcore.msg.ok=\u64CD\u4F5C\u6210\u529F
smfcore.msg.noCid
=
\u
64CD
\u
4F5C
\u5931\u6557\u
FF0C
\u
672A
\u
627E
\u5230
cid
smfcore.inList
=
\u5165\u
5EAB
\u
55AE
smfcore.inlist.ameExists
=
\u5165\u
5EAB
\u
55AE[{0}]
\u
5DF2
\u
5B58
\u5728
smfcore.inlist.uploadOK
=
\u5165\u
5EAB
\u
55AE
\u
4E0A
\u
50B3
\u6210\u
529F
\ No newline at end of file
smfcore.inlist.uploadOK
=
\u5165\u
5EAB
\u
55AE
\u
4E0A
\u
50B3
\u6210\u
529F
smfcore.materialBox.qtyError
=
\u
8ACB
\u
8F38
\u5165\u
6B63
\u
78BA
\u7684\u6578\u
91CF
smfcore.inlist.notFound
=
\u
672A
\u
627E
\u5230\u5165\u
5EAB
\u
55AE[{0}]
smfcore.inlist.listOk
=
\u5165\u
5EAB
\u
55AE[{0}]
\u
5DF2
\u
5B8C
\u6210
smfcore.inlist.setOk
=
\u
8A2D
\u
7F6E
\u6210\u
529F
smfcore.inlist.pnItemOk
=
\u5165\u
5EAB
\u
55AE[{0}]
\u7684\u7269\u6599
[{1}]
\u
5DF2
\u5165\u
5EAB
\u
5B8C
\u6210
smfcore.inlist.noPn
=
\u5165\u
5EAB
\u
55AE[{0}]
\u
6C92
\u6709\u7269\u6599
[{1}]
\u5165\u
5EAB
\u9700\u
6C42
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论