Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit e62df9ab
由
LN
编写于
2025-04-27 09:14:45 +0800
浏览文件
选项
浏览文件
标签
下载
差异文件
Merge remote-tracking branch 'origin/master'
2 个父辈
8b422179
5976bc29
隐藏空白字符变更
内嵌
并排
正在显示
15 个修改的文件
包含
126 行增加
和
10 行删除
src/main/java/com/neotel/smfcore/common/init/MenuInit.java
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
src/main/java/com/neotel/smfcore/core/message/enums/MessageType.java
src/main/java/com/neotel/smfcore/core/message/rest/MessageController.java
src/main/java/com/neotel/smfcore/core/message/rest/bean/query/MessageCriteria.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/storage/rest/MaterialController.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/init/MenuInit.java
查看文件 @
e62df9a
...
...
@@ -196,6 +196,7 @@ public class MenuInit {
Menu
pMenuLog
=
Menu
.
CreatePMenu
(
"日志管理"
,
8
,
"log"
,
"log"
,
null
);
addDefaultFunctionMenu
(
61
,
pMenuLog
,
"物料日志"
,
"taskLog"
,
"neolight/taskLog/index"
,
"education"
,
DEFAULT_SHOW_MENU
);
addDefaultFunctionMenu
(
62
,
pMenuLog
,
"消息查询"
,
"message"
,
"neolight/message/index"
,
"messagefind"
,
DEFAULT_SHOW_MENU
);
addDefaultFunctionMenu
(
63
,
pMenuLog
,
"日志监控"
,
"logMonitor"
,
"neolight/logMonitor/index"
,
"messagefind"
);
//暂未找到页面
// addDefaultFunctionMenu(63, pMenuLog, "接口异常", "interfaceException", "neolight/interfaceException/index", "messagefind");
...
...
src/main/java/com/neotel/smfcore/core/device/bean/StatusBean.java
查看文件 @
e62df9a
...
...
@@ -763,6 +763,9 @@ public class StatusBean {
}
else
if
(
msg
.
startsWith
(
"W="
))
{
msgType
=
MessageType
.
WARNING
.
name
();
msg
=
msg
.
substring
(
2
);
}
else
if
(
msg
.
startsWith
(
"C="
)){
msgType
=
MessageType
.
CRITICAL
.
name
();
msg
=
msg
.
substring
(
2
);
}
if
(
msgArray
.
length
==
1
)
{
...
...
src/main/java/com/neotel/smfcore/core/message/enums/MessageType.java
查看文件 @
e62df9a
...
...
@@ -25,4 +25,9 @@ public enum MessageType {
* 4 显示数据,仅显示不保存
*/
SHOW
,
/**
* 5 需要人员立即操作的
*/
CRITICAL
}
src/main/java/com/neotel/smfcore/core/message/rest/MessageController.java
查看文件 @
e62df9a
package
com
.
neotel
.
smfcore
.
core
.
message
.
rest
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.neotel.smfcore.common.base.IExcelDownLoad
;
import
com.neotel.smfcore.common.bean.BetweenData
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
...
...
@@ -32,9 +36,7 @@ import javax.servlet.http.HttpServletResponse;
import
java.io.IOException
;
import
java.text.DateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.*
;
@Slf4j
@RestController
...
...
@@ -89,6 +91,8 @@ public class MessageController {
return
getMsgReportList
(
criteria
,
request
.
getLocale
());
}
private
List
<
MsgCountDto
>
getMsgReportList
(
MessageCriteria
criteria
,
Locale
locale
)
{
Criteria
c
=
Criteria
.
where
(
"type"
).
is
(
"ERROR"
);
if
(
ObjectUtil
.
isNotEmpty
(
criteria
.
getDeviceName
()))
{
...
...
@@ -147,5 +151,43 @@ public class MessageController {
log
.
info
(
"msgReportCount 导出完成"
);
}
@ApiOperation
(
"根据type汇总总数量"
)
@GetMapping
(
"/typeTotalByDate"
)
@AnonymousAccess
public
ResultBean
typeTotalByDate
(
MessageCriteria
criteria
)
{
//默认取7天的,如果客户端传的有,就用客户端的
Date
endDate
=
new
Date
();
Date
startDate
=
DateUtil
.
offsetDay
(
endDate
,
-
7
);
BetweenData
<
Date
>
updateDate
=
criteria
.
getUpdateDate
();
if
(
updateDate
!=
null
&&
!
updateDate
.
isEmpty
())
{
Date
from
=
updateDate
.
getFrom
();
Date
to
=
updateDate
.
getTo
();
if
(
from
!=
null
)
{
startDate
=
from
;
}
if
(
to
!=
null
)
{
endDate
=
to
;
}
}
//只需要返回type 去统计数据
String
field
=
"type"
;
List
<
Message
>
messageList
=
messageManager
.
findByUpdateAndFileds
(
startDate
,
endDate
,
field
);
Map
<
String
,
Integer
>
resultMap
=
Maps
.
newConcurrentMap
();
if
(
messageList
!=
null
&&
!
messageList
.
isEmpty
())
{
for
(
Message
message
:
messageList
)
{
String
type
=
message
.
getType
();
Integer
count
=
resultMap
.
get
(
type
);
if
(
count
==
null
)
{
count
=
0
;
}
resultMap
.
put
(
type
,
count
+
1
);
}
}
return
ResultBean
.
newOkResult
(
resultMap
);
}
}
src/main/java/com/neotel/smfcore/core/message/rest/bean/query/MessageCriteria.java
查看文件 @
e62df9a
...
...
@@ -7,6 +7,7 @@ import lombok.Data;
import
org.springframework.format.annotation.DateTimeFormat
;
import
java.util.Date
;
import
java.util.List
;
@Data
public
class
MessageCriteria
{
...
...
@@ -18,7 +19,7 @@ public class MessageCriteria {
private
BetweenData
<
Date
>
createDate
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
BETWEEN
,
propName
=
"updateDate"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd"
)
@DateTimeFormat
(
pattern
=
"yyyy-MM-dd
HH:mm:ss
"
)
private
BetweenData
<
Date
>
updateDate
;
@QueryCondition
...
...
@@ -36,4 +37,8 @@ public class MessageCriteria {
@QueryCondition
@ApiModelProperty
(
"类型"
)
private
String
type
;
@QueryCondition
(
type
=
QueryCondition
.
Type
.
IN
,
propName
=
"type"
)
@ApiModelProperty
(
"多个类型"
)
private
List
<
String
>
typeList
;
}
src/main/java/com/neotel/smfcore/core/message/service/manager/IMessageManager.java
查看文件 @
e62df9a
...
...
@@ -7,6 +7,7 @@ import org.springframework.data.mongodb.core.query.Criteria;
import
org.springframework.data.mongodb.core.query.Query
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Locale
;
...
...
@@ -18,4 +19,6 @@ public interface IMessageManager extends IBaseManager<Message> {
Message
findOne
(
Query
query
);
List
<
MsgCountDto
>
getMsgCountList
(
Criteria
criteria
);
List
<
Message
>
findByUpdateAndFileds
(
Date
startDate
,
Date
endDate
,
String
field
);
}
src/main/java/com/neotel/smfcore/core/message/service/manager/impl/MessageManagerImpl.java
查看文件 @
e62df9a
...
...
@@ -131,6 +131,15 @@ public class MessageManagerImpl implements IMessageManager {
return
messageDao
.
getMsgCountList
(
criteria
)
;
}
@Override
public
List
<
Message
>
findByUpdateAndFileds
(
Date
startDate
,
Date
endDate
,
String
field
)
{
Query
q
=
new
Query
();
Criteria
c
=
Criteria
.
where
(
"updateDate"
).
gte
(
startDate
).
lt
(
endDate
);
q
.
addCriteria
(
c
);
q
.
fields
().
include
(
field
);
return
messageDao
.
findByQuery
(
q
);
}
@Data
private
class
MsgDeviceName
{
private
String
deviceName
;
...
...
src/main/java/com/neotel/smfcore/core/storage/rest/MaterialController.java
查看文件 @
e62df9a
package
com
.
neotel
.
smfcore
.
core
.
storage
.
rest
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.base.Strings
;
import
com.google.common.collect.Lists
;
import
com.neotel.smfcore.common.bean.PageData
;
import
com.neotel.smfcore.common.bean.ResultBean
;
import
com.neotel.smfcore.common.exception.ApiException
;
import
com.neotel.smfcore.common.exception.ValidateException
;
import
com.neotel.smfcore.common.utils.*
;
import
com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.device.enums.OP
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.language.util.MessageUtils
;
import
com.neotel.smfcore.core.storage.bean.InventoryItem
;
import
com.neotel.smfcore.core.storage.enums.CHECKOUT_TYPE
;
import
com.neotel.smfcore.core.storage.rest.dto.*
;
import
com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper
;
import
com.neotel.smfcore.core.storage.rest.mapstruct.StoragePosMapper
;
...
...
@@ -77,6 +82,9 @@ public class MaterialController {
@Autowired
private
final
IGroupManager
groupManager
;
@Autowired
private
CodeResolve
codeResolve
;
@ApiOperation
(
"导出库存列表"
)
@GetMapping
(
value
=
"/inventory/download"
)
@PreAuthorize
(
"@el.check('tacticsOuput')"
)
...
...
@@ -388,4 +396,37 @@ public class MaterialController {
}
}
@ApiOperation
(
"扫描空盘直接出库"
)
@RequestMapping
(
"/scanEmptyPallet"
)
public
ResultBean
scanEmptyPallet
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
code
=
paramMap
.
get
(
"code"
);
log
.
info
(
"扫描空盘直接出库,信息为:"
+
code
);
if
(
StringUtils
.
isEmpty
(
code
))
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.valueCanotNull"
,
"{0}不能为空"
,
new
String
[]{
"code"
});
}
Barcode
barcode
=
codeResolve
.
resolveOneValideBarcode
(
"=1x1="
+
code
);
if
(
barcode
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.error.barcode.noValidCode"
,
"无效的条码"
);
}
List
<
String
>
availableStorageIds
=
dataCache
.
getAvailableStorageIds
();
String
partNumber
=
barcode
.
getPartNumber
();
Collection
<
String
>
excludePosIds
=
taskService
.
excludePosIds
();
CHECKOUT_TYPE
checkOutType
=
dataCache
.
getCheckOutType
();
StoragePos
pos
=
storagePosManager
.
findPartNumberInStorages
(
availableStorageIds
,
partNumber
,
excludePosIds
,
checkOutType
);
if
(
pos
==
null
)
{
return
ResultBean
.
newErrorResult
(-
1
,
"smfcore.label.noReel"
,
"未找到可出库的物料"
);
}
log
.
info
(
"扫描空盘出库,对应的partNumber为:"
+
barcode
.
getPartNumber
()
+
",对应的库位:"
+
pos
.
getPosName
()
+
",进行出库"
);
Storage
storage
=
dataCache
.
getStorageById
(
pos
.
getStorageId
());
DataLog
task
=
new
DataLog
(
storage
,
pos
.
getBarcode
(),
pos
);
task
.
setType
(
OP
.
CHECKOUT
);
task
.
setOperator
(
SecurityUtils
.
getCurrentUsername
());
task
.
setSingleOut
(
true
);
task
.
setSourceId
(
null
);
task
.
setSourceName
(
"PN"
);
taskService
.
addTaskToExecute
(
task
);
return
ResultBean
.
newOkResult
(
""
);
}
}
src/main/resources/messages.properties
查看文件 @
e62df9a
...
...
@@ -420,4 +420,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
5FD7
\u
76D1
\u
63A7
\ No newline at end of file
src/main/resources/messages_de_DE.properties
查看文件 @
e62df9a
...
...
@@ -410,4 +410,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Log-
\u
00DCberwachung
\ No newline at end of file
src/main/resources/messages_en_US.properties
查看文件 @
e62df9a
...
...
@@ -411,4 +411,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Log Monitoring
\ No newline at end of file
src/main/resources/messages_fr_FR.properties
查看文件 @
e62df9a
...
...
@@ -410,4 +410,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
Surveillance des Journaux
\ No newline at end of file
src/main/resources/messages_ja_JP.properties
查看文件 @
e62df9a
...
...
@@ -408,3 +408,4 @@ smfcore.language.displayLanName.en-US=EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
30ED
\u
30B0
\u
76E3
\u8996
\ No newline at end of file
src/main/resources/messages_zh_CN.properties
查看文件 @
e62df9a
...
...
@@ -407,4 +407,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
5FD7
\u
76D1
\u
63A7
\ No newline at end of file
src/main/resources/messages_zh_TW.properties
查看文件 @
e62df9a
...
...
@@ -407,4 +407,5 @@ smfcore.language.displayLanName.zh-TW=\u7E41\u4F53
smfcore.language.displayLanName.en-
US
=
EN
smfcore.language.displayLanName.ja-
JP
=
\u
65E5
\u
672C
\u
8A9E
smfcore.language.displayLanName.fr-
FR
=
Fran
\u
00E7ais
smfcore.language.displayLanName.de-
DE
=
Deutsch
\ No newline at end of file
smfcore.language.displayLanName.de-
DE
=
Deutsch
smfcore.logMonitor
=
\u
65E5
\u
8A8C
\u
76E3
\u
63A7
\ No newline at end of file
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论