Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 37f6729e
由
LN
编写于
2023-03-09 16:11:36 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1053:1.Status页面SDBH分开显示。2.增加查询库位是否有料或物料是否在库位中接口。3.报表:料盘日志,Utilization ,ERROR log
1 个父辈
c7abff62
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
307 行增加
和
6 行删除
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
src/main/java/com/neotel/smfcore/core/materialLog/rest/MaterialLogController.java
src/main/java/com/neotel/smfcore/core/materialLog/rest/dto/MaterialLogDto.java
src/main/java/com/neotel/smfcore/core/materialLog/rest/mapstruct/MaterialLogMapper.java
src/main/java/com/neotel/smfcore/core/materialLog/rest/query/MaterialLogCriteria.java
src/main/java/com/neotel/smfcore/core/message/rest/MessageController.java
src/main/java/com/neotel/smfcore/core/message/rest/bean/dto/MsgCountDto.java
src/main/java/com/neotel/smfcore/core/message/service/dao/IMessageDao.java
src/main/java/com/neotel/smfcore/core/message/service/dao/impl/MessageDaoImpl.java
src/main/java/com/neotel/smfcore/core/message/service/manager/IMessageManager.java
src/main/java/com/neotel/smfcore/core/message/service/manager/impl/MessageManagerImpl.java
src/main/java/com/neotel/smfcore/core/message/util/DeviceMessageUtil.java
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronReportController.java
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronStatusController.java
src/main/java/com/neotel/smfcore/core/device/rest/DeviceController.java
查看文件 @
37f6729
...
...
@@ -585,4 +585,43 @@ public class DeviceController {
}
return
ResultBean
.
newOkResult
(
""
);
}
@ApiOperation
(
"查询库位是否有料或物料是否在库位中"
)
@RequestMapping
(
value
=
"/service/store/posQuery"
)
@ResponseBody
@AnonymousAccess
public
ResultBean
queryPos
(
HttpServletRequest
request
)
{
String
posName
=
request
.
getParameter
(
"posName"
);
String
barcode
=
request
.
getParameter
(
"barcode"
);
//参数:发送posName 或 barcode
//返回code=0,有料或在库位中,data中返回 posName,barcode,plateW,plateH
//返回code=101: 未找到库位号
//返回code=102:条码未找到库位
//返回code=100:库位中无料
StoragePos
pos
=
null
;
if
(
ObjectUtil
.
isNotEmpty
(
posName
))
{
//查询库位中是否有料
pos
=
storagePosManager
.
getByPosName
(
posName
);
if
(
pos
==
null
)
{
return
ResultBean
.
newErrorResult
(
101
,
"smfcore.queryPos.cannotFind"
,
"cannot find posName ["
+
posName
+
"]"
,
new
String
[]{
posName
});
}
else
if
(
pos
.
getBarcode
()
==
null
)
{
return
ResultBean
.
newErrorResult
(
100
,
"smfcore.queryPos.posIsEmpty"
,
"["
+
posName
+
"] is empty"
,
new
String
[]{
posName
});
}
}
else
if
(
ObjectUtil
.
isNotEmpty
(
barcode
))
{
pos
=
storagePosManager
.
getByBarcode
(
barcode
);
if
(
pos
==
null
)
{
return
ResultBean
.
newErrorResult
(
102
,
"smfcore.queryPos.cannotFindBarcode"
,
"cannot find barcode ["
+
barcode
+
"] In storage"
,
new
String
[]{
barcode
});
}
}
else
{
return
ResultBean
.
newErrorResult
(
101
,
"smfcore.queryPos.cannotFind"
,
"cannot find posName ["
+
posName
+
"]"
,
new
String
[]{
posName
});
}
Map
<
String
,
String
>
data
=
new
HashMap
<>();
data
.
put
(
"posName"
,
pos
.
getPosName
());
data
.
put
(
"barcode"
,
pos
.
getBarcode
().
getBarcode
());
data
.
put
(
"plateW"
,
pos
.
getBarcode
().
getPlateSize
()
+
""
);
data
.
put
(
"plateH"
,
pos
.
getBarcode
().
getHeight
()
+
""
);
return
ResultBean
.
newOkResult
(
data
);
}
}
src/main/java/com/neotel/smfcore/core/materialLog/rest/MaterialLogController.java
0 → 100644
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
materialLog
.
rest
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.materialLog.rest.dto.MaterialLogDto
;
import
com.neotel.smfcore.core.materialLog.rest.mapstruct.MaterialLogMapper
;
import
com.neotel.smfcore.core.materialLog.rest.query.MaterialLogCriteria
;
import
com.neotel.smfcore.core.materialLog.service.manager.IMaterialLogManager
;
import
com.neotel.smfcore.core.materialLog.service.po.MaterialLog
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Pageable
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.util.List
;
@Slf4j
@Api
(
tags
=
"1053:料盘日志"
)
@RestController
@RequestMapping
(
"/api/materialLog"
)
@RequiredArgsConstructor
public
class
MaterialLogController
{
@Autowired
private
IMaterialLogManager
materialLogManager
;
@Autowired
private
MaterialLogMapper
materialLogMapper
;
@ApiOperation
(
"查询料盘日志"
)
@GetMapping
public
PageData
<
MaterialLogDto
>
query
(
MaterialLogCriteria
criteria
,
Pageable
pageable
)
{
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
MaterialLog
>
pages
=
materialLogManager
.
findByPage
(
query
,
pageable
);
List
<
MaterialLogDto
>
logDtos
=
materialLogMapper
.
toDto
(
pages
.
getContent
());
return
new
PageData
(
logDtos
,
pages
.
getTotalElements
());
}
}
src/main/java/com/neotel/smfcore/core/materialLog/rest/dto/MaterialLogDto.java
0 → 100644
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
materialLog
.
rest
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
MaterialLogDto
implements
Serializable
{
@ApiModelProperty
(
"条码编号"
)
private
String
barcode
;
@ApiModelProperty
(
"库位号"
)
private
String
posName
;
@ApiModelProperty
(
"类型:入库OP.PUT_IN,出库OP.CHECKOUT"
)
private
int
type
;
@ApiModelProperty
(
"状态:OP_STATUS"
)
private
String
status
;
@ApiModelProperty
(
"位置信息,如料架编号,托盘编号,移栽编号,皮带线编号,机器人编号等"
)
private
String
locInfo
=
""
;
}
src/main/java/com/neotel/smfcore/core/materialLog/rest/mapstruct/MaterialLogMapper.java
0 → 100644
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
materialLog
.
rest
.
mapstruct
;
import
com.neotel.smfcore.common.base.BaseMapper
;
import
com.neotel.smfcore.core.materialLog.rest.dto.MaterialLogDto
;
import
com.neotel.smfcore.core.materialLog.service.po.MaterialLog
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.ReportingPolicy
;
@Mapper
(
componentModel
=
"spring"
,
unmappedTargetPolicy
=
ReportingPolicy
.
IGNORE
)
public
interface
MaterialLogMapper
extends
BaseMapper
<
MaterialLogDto
,
MaterialLog
>
{
}
src/main/java/com/neotel/smfcore/core/materialLog/rest/query/MaterialLogCriteria.java
0 → 100644
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
materialLog
.
rest
.
query
;
import
com.neotel.smfcore.common.annotation.QueryCondition
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
io.swagger.annotations.ApiModelProperty
;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
public
class
MaterialLogCriteria
{
@QueryCondition
(
blurry
=
"barcode,posName,locInfo"
)
private
String
blurry
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
private
BetweenData
<
Date
>
createDate
;
@QueryCondition
(
blurry
=
"barcode"
)
private
String
barcode
;
@QueryCondition
(
blurry
=
"posName"
)
private
String
posName
;
@ApiModelProperty
(
"status"
)
@QueryCondition
(
blurry
=
"status"
)
private
String
status
;
}
src/main/java/com/neotel/smfcore/core/message/rest/MessageController.java
查看文件 @
37f6729
...
...
@@ -5,10 +5,12 @@ import com.neotel.smfcore.common.bean.PageData;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MessageDto
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MsgCountDto
;
import
com.neotel.smfcore.core.message.rest.bean.mapstruct.MessageMapper
;
import
com.neotel.smfcore.core.message.rest.bean.query.MessageCriteria
;
import
com.neotel.smfcore.core.message.service.manager.IMessageManager
;
import
com.neotel.smfcore.core.message.service.po.Message
;
import
com.neotel.smfcore.security.annotation.AnonymousAccess
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.RequiredArgsConstructor
;
...
...
@@ -70,4 +72,33 @@ public class MessageController {
List
<
String
>
typeList
=
messageManager
.
findDeviceNameList
();
return
typeList
;
}
@ApiOperation
(
"消息统计,根据模块名统计"
)
@GetMapping
(
value
=
"/msgCount"
)
@AnonymousAccess
public
List
<
MsgCountDto
>
msgCount
(
MessageCriteria
criteria
,
HttpServletRequest
request
)
{
// Query query = QueryHelp.getQuery(criteria);
Criteria
c
=
Criteria
.
where
(
"type"
).
is
(
"ERROR"
);
if
(
ObjectUtil
.
isNotEmpty
(
criteria
.
getDeviceName
()))
{
c
.
and
(
"deviceName"
).
is
(
criteria
.
getDeviceName
());
}
if
(
criteria
.
getCreateDate
()
!=
null
&&
criteria
.
getCreateDate
().
getFrom
()
!=
null
)
{
c
.
and
(
"createDate"
).
gte
(
criteria
.
getCreateDate
().
getFrom
());
}
if
(
criteria
.
getCreateDate
()
!=
null
&&
criteria
.
getCreateDate
().
getTo
()
!=
null
)
{
c
.
and
(
"createDate"
).
lte
(
criteria
.
getCreateDate
().
getTo
());
}
List
<
MsgCountDto
>
list
=
messageManager
.
getMsgCountList
(
c
);
// List<MessageDto> dtos=messageMapper.toDto(list);
for
(
int
i
=
0
;
i
<
list
.
size
();
i
++)
{
if
(
ObjectUtil
.
isNotEmpty
(
list
.
get
(
i
).
getMsgCode
()))
{
list
.
get
(
i
).
setMsg
(
MessageUtils
.
getText
(
list
.
get
(
i
).
getMsgCode
(),
list
.
get
(
i
).
getMsgParams
(),
request
.
getLocale
(),
list
.
get
(
i
).
getId
()));
}
else
{
list
.
get
(
i
).
setMsg
(
list
.
get
(
i
).
getId
());
}
}
return
list
;
}
}
src/main/java/com/neotel/smfcore/core/message/rest/bean/dto/MsgCountDto.java
0 → 100644
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
message
.
rest
.
bean
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
MsgCountDto
implements
Serializable
{
@ApiModelProperty
(
value
=
"ID"
)
private
String
id
;
@ApiModelProperty
(
value
=
"消息字符串Code"
)
private
String
msgCode
;
@ApiModelProperty
(
value
=
"消息内容"
)
private
String
msg
;
@ApiModelProperty
(
value
=
"参数"
)
private
String
[]
msgParams
;
private
Integer
count
;
}
src/main/java/com/neotel/smfcore/core/message/service/dao/IMessageDao.java
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
message
.
service
.
dao
;
import
com.neotel.smfcore.common.base.IBaseDao
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MsgCountDto
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
java.util.List
;
public
interface
IMessageDao
extends
IBaseDao
{
List
<
MsgCountDto
>
getMsgCountList
(
Criteria
criteria
);
}
src/main/java/com/neotel/smfcore/core/message/service/dao/impl/MessageDaoImpl.java
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
message
.
service
.
dao
.
impl
;
import
com.neotel.smfcore.common.base.AbstractBaseDao
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MsgCountDto
;
import
com.neotel.smfcore.core.message.service.dao.IMessageDao
;
import
com.neotel.smfcore.core.message.service.po.Message
;
import
org.springframework.data.mongodb.core.aggregation.Aggregation
;
import
org.springframework.data.mongodb.core.aggregation.AggregationResults
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.stereotype.Service
;
import
java.util.List
;
@Service
public
class
MessageDaoImpl
extends
AbstractBaseDao
implements
IMessageDao
{
@Override
public
Class
getEntityClass
()
{
return
Message
.
class
;
}
@Override
public
List
<
MsgCountDto
>
getMsgCountList
(
Criteria
criteria
)
{
Aggregation
agg
=
Aggregation
.
newAggregation
(
Aggregation
.
match
(
criteria
),
Aggregation
.
group
(
"msg"
).
count
().
as
(
"count"
)
.
first
(
"msgCode"
).
as
(
"msgCode"
).
first
(
"msgParams"
).
as
(
"msgParams"
)
// Aggregation.project("count").and("msg").previousOperation()
);
AggregationResults
<
MsgCountDto
>
results
=
getMongoTemplate
().
aggregate
(
agg
,
getEntityClass
(),
MsgCountDto
.
class
);
return
results
.
getMappedResults
();
}
}
src/main/java/com/neotel/smfcore/core/message/service/manager/IMessageManager.java
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
message
.
service
.
manager
;
import
com.neotel.smfcore.common.base.IBaseManager
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MsgCountDto
;
import
com.neotel.smfcore.core.message.service.po.Message
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
javax.servlet.http.HttpServletResponse
;
...
...
@@ -14,4 +16,6 @@ public interface IMessageManager extends IBaseManager<Message> {
List
<
String
>
findDeviceNameList
();
Message
findOne
(
Query
query
);
List
<
MsgCountDto
>
getMsgCountList
(
Criteria
criteria
);
}
src/main/java/com/neotel/smfcore/core/message/service/manager/impl/MessageManagerImpl.java
查看文件 @
37f6729
...
...
@@ -9,6 +9,7 @@ import com.neotel.smfcore.core.language.service.nanager.impl.LanguageMsgManagerI
import
com.neotel.smfcore.core.language.service.po.LanguageMsg
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.message.enums.MessageType
;
import
com.neotel.smfcore.core.message.rest.bean.dto.MsgCountDto
;
import
com.neotel.smfcore.core.message.service.dao.IMessageDao
;
import
com.neotel.smfcore.core.message.service.manager.IMessageManager
;
import
com.neotel.smfcore.core.message.service.po.Message
;
...
...
@@ -125,6 +126,11 @@ public class MessageManagerImpl implements IMessageManager {
return
messageDao
.
findOne
(
query
);
}
@Override
public
List
<
MsgCountDto
>
getMsgCountList
(
Criteria
criteria
)
{
return
messageDao
.
getMsgCountList
(
criteria
)
;
}
@Data
private
class
MsgDeviceName
{
private
String
deviceName
;
...
...
src/main/java/com/neotel/smfcore/core/message/util/DeviceMessageUtil.java
查看文件 @
37f6729
package
com
.
neotel
.
smfcore
.
core
.
message
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.EquipmentCache
;
import
com.neotel.smfcore.core.equipment.service.po.Equipment
;
...
...
@@ -11,13 +12,19 @@ import com.neotel.smfcore.core.message.service.po.Message;
import
com.neotel.smfcore.core.message.util.bean.DeviceInfo
;
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
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.aggregation.ComparisonOperators
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.PostConstruct
;
import
java.util.Map
;
@Slf4j
@Component
public
class
DeviceMessageUtil
{
...
...
@@ -144,4 +151,41 @@ public class DeviceMessageUtil {
}
}
/**
* 服务器重启后,自动更新设备为离线
*/
@PostConstruct
public
static
void
processDeviceStatus
()
{
try
{
//获取所有料仓状态
Map
<
String
,
Storage
>
allStorages
=
dataCache
.
getAllStorage
();
String
[]
msgCodes
=
new
String
[]{
"smfcore.messages.online"
,
"smfcore.messages.offline"
};
for
(
Storage
storage
:
allStorages
.
values
())
{
Criteria
criteria
=
Criteria
.
where
(
"deviceId"
).
is
(
storage
.
getId
());
criteria
.
and
(
"msgCode"
).
in
(
msgCodes
);
Sort
sort
=
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"createDate"
);
Query
query
=
new
Query
(
criteria
);
query
.
with
(
sort
);
Message
message
=
messageManager
.
findOne
(
query
);
if
(
message
!=
null
)
{
if
(
message
.
getMsgCode
().
equals
(
"smfcore.messages.online"
))
{
//其实早已经离线
StatusBean
bean
=
DevicesStatusUtil
.
getStatusBean
(
storage
.
getCid
());
if
(
bean
==
null
)
{
DeviceMessageUtil
.
addOfflineMessage
(
storage
.
getCid
(),
""
);
log
.
info
(
"processDeviceStatus 添加设备["
+
storage
.
getCid
()
+
"]["
+
storage
.
getName
()
+
"]离线消息"
);
continue
;
}
}
}
}
}
catch
(
Exception
ex
)
{
log
.
error
(
"processDeviceStatus 出错:"
+
ex
.
getMessage
());
}
}
}
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronReportController.java
查看文件 @
37f6729
...
...
@@ -91,7 +91,25 @@ public class MicronReportController {
@AnonymousAccess
public
PageData
<
MessageDto
>
errorLog
(
MessageCriteria
criteria
,
Pageable
pageable
,
HttpServletRequest
request
){
criteria
.
setType
(
"error"
);
criteria
.
setType
(
"ERROR"
);
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Message
>
messagePageData
=
messageManager
.
findByPage
(
query
,
pageable
);
List
<
MessageDto
>
dtos
=
messageMapper
.
toDto
(
messagePageData
.
getContent
());
for
(
int
i
=
0
;
i
<
dtos
.
size
();
i
++)
{
if
(
ObjectUtil
.
isNotEmpty
(
dtos
.
get
(
i
).
getMsgCode
())){
dtos
.
get
(
i
).
setMsg
(
MessageUtils
.
getText
(
dtos
.
get
(
i
).
getMsgCode
(),
dtos
.
get
(
i
).
getMsgParams
(),
request
.
getLocale
(),
dtos
.
get
(
i
).
getMsg
()));
}
}
return
new
PageData
(
dtos
,
messagePageData
.
getTotalElements
());
}
@ApiOperation
(
"eventLog:事件列表"
)
@GetMapping
(
"/eventLog"
)
@AnonymousAccess
public
PageData
<
MessageDto
>
eventLog
(
MessageCriteria
criteria
,
Pageable
pageable
,
HttpServletRequest
request
){
criteria
.
setType
(
"INFO"
);
Query
query
=
QueryHelp
.
getQuery
(
criteria
);
PageData
<
Message
>
messagePageData
=
messageManager
.
findByPage
(
query
,
pageable
);
List
<
MessageDto
>
dtos
=
messageMapper
.
toDto
(
messagePageData
.
getContent
());
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronStatusController.java
查看文件 @
37f6729
...
...
@@ -97,9 +97,12 @@ public class MicronStatusController {
boxList
.
add
(
"M"
+
i
);
}
// SBDH1, SBDH2, SBDH3, SBSH1, SBSH2
boxList
.
add
(
"SBDH1"
);
boxList
.
add
(
"SBDH2"
);
boxList
.
add
(
"SBDH3"
);
boxList
.
add
(
"SBDH1-1"
);
boxList
.
add
(
"SBDH1-2"
);
boxList
.
add
(
"SBDH2-1"
);
boxList
.
add
(
"SBDH2-2"
);
boxList
.
add
(
"SBDH3-1"
);
boxList
.
add
(
"SBDH3-2"
);
boxList
.
add
(
"SBSH1"
);
boxList
.
add
(
"SBSH2"
);
// for (MicronEquipName name : MicronEquipName.sbBoxList()){
...
...
@@ -110,7 +113,7 @@ public class MicronStatusController {
boxList
)
{
//查找料仓
MicronEquipStatus
s
=
getBoxEquip
(
boxName
,
servletRequest
.
getLocale
());
dto
.
getStatusMap
().
put
(
s
.
getEquipName
(),
s
.
getStatus
());
dto
.
getStatusMap
().
put
(
s
.
getEquipName
()
.
replace
(
"-"
,
""
)
,
s
.
getStatus
());
if
(
s
.
getMsgList
()
!=
null
&&
s
.
getMsgList
().
size
()
>
0
)
{
allMsgList
.
addAll
(
s
.
getMsgList
());
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论