Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit ab0a8019
由
LN
编写于
2023-02-16 14:24:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.系统设置增加:过期天数,容量预警。
1 个父辈
2c7afc6d
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
65 行增加
和
10 行删除
src/main/java/com/neotel/smfcore/common/utils/Constants.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
src/main/java/com/neotel/smfcore/core/device/handler/impl/ThirdBoxHandler.java
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
src/main/java/com/neotel/smfcore/core/system/rest/SettingsController.java
src/main/java/com/neotel/smfcore/core/system/rest/bean/dto/SysSettingsDto.java
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
src/main/java/com/neotel/smfcore/custom/micron1053/bean/dto/SBDHViewDto.java
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronStatusController.java
src/main/java/com/neotel/smfcore/common/utils/Constants.java
查看文件 @
ab0a801
...
@@ -107,6 +107,15 @@ public class Constants {
...
@@ -107,6 +107,15 @@ public class Constants {
* 呆滞天数
* 呆滞天数
*/
*/
public
static
final
String
CACHE_SluggishDay
=
"sluggishDay"
;
public
static
final
String
CACHE_SluggishDay
=
"sluggishDay"
;
/**
* 过期天数
*/
public
static
final
String
CACHE_ExpiresDay
=
"expiresDay"
;
/**
* 容量预警
*/
public
static
final
String
CACHE_CapacityWarn
=
"capacityWarn"
;
//
//
// /**
// /**
// * 停止定时器任务
// * 停止定时器任务
...
...
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
ab0a801
...
@@ -35,6 +35,9 @@ public class CodeResolve {
...
@@ -35,6 +35,9 @@ public class CodeResolve {
private
List
<
BarcodeRule
>
barcodeRuleList
;
private
List
<
BarcodeRule
>
barcodeRuleList
;
private
Integer
defaultExpiresDay
=
0
;
public
void
updateBarcodeRuleList
(
List
<
String
>
ruleList
){
public
void
updateBarcodeRuleList
(
List
<
String
>
ruleList
){
barcodeRuleList
=
Lists
.
newArrayList
();
barcodeRuleList
=
Lists
.
newArrayList
();
for
(
String
codeRule
:
ruleList
){
for
(
String
codeRule
:
ruleList
){
...
@@ -43,6 +46,10 @@ public class CodeResolve {
...
@@ -43,6 +46,10 @@ public class CodeResolve {
}
}
}
}
}
}
public
void
updateExpiresDay
(
Integer
expiresDay
){
defaultExpiresDay
=
expiresDay
;
}
public
CodeBean
resolveSingleCode
(
String
barcodeItemStr
){
public
CodeBean
resolveSingleCode
(
String
barcodeItemStr
){
return
resolveSingleCode
(
barcodeItemStr
,
COMPONENT_TYPE
.
COMPONENT
);
return
resolveSingleCode
(
barcodeItemStr
,
COMPONENT_TYPE
.
COMPONENT
);
...
@@ -88,6 +95,10 @@ public class CodeResolve {
...
@@ -88,6 +95,10 @@ public class CodeResolve {
boolean
setSize
=
false
;
boolean
setSize
=
false
;
Component
component
=
componentManager
.
findByPartNumberAndProvider
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
Component
component
=
componentManager
.
findByPartNumberAndProvider
(
barcode
.
getPartNumber
(),
barcode
.
getProvider
());
int
validDay
=
0
;
int
validDay
=
0
;
if
(
defaultExpiresDay
!=
null
&&
defaultExpiresDay
>
0
){
validDay
=
defaultExpiresDay
;
}
if
(
component
!=
null
)
{
if
(
component
!=
null
)
{
validDay
=
component
.
getValidDay
();
validDay
=
component
.
getValidDay
();
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
codeBeanFromRule
.
setShowImg
(
component
.
getShowImg
());
...
...
src/main/java/com/neotel/smfcore/core/device/enums/OP_STATUS.java
查看文件 @
ab0a801
...
@@ -40,10 +40,10 @@ public enum OP_STATUS {
...
@@ -40,10 +40,10 @@ public enum OP_STATUS {
*/
*/
END
,
END
,
/**
//
/**
* 已从仓位中取出
//
* 已从仓位中取出
*/
//
*/
OUTBOX
,
//
OUTBOX,
/**
/**
* 在线体上
* 在线体上
*/
*/
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/RobotBoxHandler.java
查看文件 @
ab0a801
...
@@ -177,7 +177,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -177,7 +177,7 @@ public class RobotBoxHandler extends BaseDeviceHandler {
}
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
,
OP_STATUS
.
OUT_BOX
);
}
else
if
(
BOX_STATUS
.
OUT_END
==
status
)
{
//出库完成(放到仓门口
}
else
if
(
BOX_STATUS
.
OUT_END
==
status
)
{
//出库完成(放到仓门口
//更改出库状态为OUT_DOOR
//更改出库状态为OUT_DOOR
List
<
DataLog
>
finishedTasks
=
taskService
.
getFinishedTasks
();
List
<
DataLog
>
finishedTasks
=
taskService
.
getFinishedTasks
();
...
@@ -234,6 +234,9 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -234,6 +234,9 @@ public class RobotBoxHandler extends BaseDeviceHandler {
String
lastPosId
=
""
;
String
lastPosId
=
""
;
String
lineMsg
=
""
;
String
lineMsg
=
""
;
log
.
info
(
"流水线["
+
cids
+
"]获取["
+
code
+
"]的入库库位"
);
log
.
info
(
"流水线["
+
cids
+
"]获取["
+
code
+
"]的入库库位"
);
if
(
ObjectUtil
.
isEmpty
(
cids
)){
cids
=
""
;
}
String
[]
cidArray
=
cids
.
split
(
","
);
String
[]
cidArray
=
cids
.
split
(
","
);
Map
<
String
,
Object
>
resultMap
=
Maps
.
newHashMap
();
Map
<
String
,
Object
>
resultMap
=
Maps
.
newHashMap
();
String
okMsg
=
""
;
String
okMsg
=
""
;
...
@@ -353,11 +356,12 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -353,11 +356,12 @@ public class RobotBoxHandler extends BaseDeviceHandler {
Collection
<
DataLog
>
tasks
=
taskService
.
getAllTasks
();
Collection
<
DataLog
>
tasks
=
taskService
.
getAllTasks
();
for
(
DataLog
task
:
tasks
)
{
for
(
DataLog
task
:
tasks
)
{
if
(
task
.
isCheckOutTask
()
&&
task
.
getStorageId
().
equals
(
pos
.
getStorageId
()))
{
if
(
task
.
isCheckOutTask
()
&&
task
.
getStorageId
().
equals
(
pos
.
getStorageId
()))
{
if
(
!
task
.
isFinished
()
&&
!
task
.
isInRobot
()
)
{
if
(
(!
task
.
isFinished
())
&&
(!
task
.
isInRobot
())&&(!
task
.
isInLine
())
)
{
errorMsg
=
"库位["
+
pos
.
getPosName
()
+
"]所在料仓有出库任务,暂停入库"
;
errorMsg
=
"库位["
+
pos
.
getPosName
()
+
"]所在料仓有出库任务,暂停入库"
;
lineMsg
=
errorMsg
;
lineMsg
=
errorMsg
;
resultMap
.
put
(
"result"
,
"99"
);
resultMap
.
put
(
"result"
,
"99"
);
resultMap
.
put
(
"msg"
,
errorMsg
);
resultMap
.
put
(
"msg"
,
errorMsg
);
log
.
info
(
"["
+
barcode
.
getBarcode
()
+
"]分到库位["
+
pos
.
getPosName
()
+
"]所在料仓有出库任务,暂停入库"
);
return
resultMap
;
return
resultMap
;
}
}
}
}
...
@@ -460,10 +464,12 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -460,10 +464,12 @@ public class RobotBoxHandler extends BaseDeviceHandler {
}
}
}
}
if
(
opTask
==
null
)
{
if
(
opTask
==
null
)
{
log
.
info
(
" taskId["
+
taskId
+
"],料盘["
+
barcode
+
"]更新位置指令["
+
statusStr
+
"]="
+
locInfo
+
",失败:任务不存在"
);
return
ResultBean
.
newErrorResult
(
301
,
"smfcore.task.notExist"
,
"任务不存在"
);
return
ResultBean
.
newErrorResult
(
301
,
"smfcore.task.notExist"
,
"任务不存在"
);
}
}
if
(
opTask
.
isFinished
())
{
if
(
opTask
.
isFinished
())
{
log
.
info
(
" taskId["
+
taskId
+
"],料盘["
+
barcode
+
"]更新位置指令["
+
statusStr
+
"]="
+
locInfo
+
",失败:任务已完成"
);
return
ResultBean
.
newErrorResult
(
302
,
"smfcore.task.hasEnd"
,
"任务已完成"
);
return
ResultBean
.
newErrorResult
(
302
,
"smfcore.task.hasEnd"
,
"任务已完成"
);
}
}
...
@@ -471,7 +477,8 @@ public class RobotBoxHandler extends BaseDeviceHandler {
...
@@ -471,7 +477,8 @@ public class RobotBoxHandler extends BaseDeviceHandler {
// return ResultBean.newErrorResult(303, "smfcore.task.hasCancel", "更新状态时{0}的出库任务[{1}]已被取消", new String[]{opTask.getBarcode(), opTask.getId()});
// return ResultBean.newErrorResult(303, "smfcore.task.hasCancel", "更新状态时{0}的出库任务[{1}]已被取消", new String[]{opTask.getBarcode(), opTask.getId()});
// }
// }
statusStr
=
statusStr
.
toUpperCase
();
statusStr
=
statusStr
.
toUpperCase
();
log
.
info
(
"更新料盘["
+
barcode
+
"]的任务状态["
+
opTask
.
getStatus
()
+
"="
+
opTask
.
getLocInfo
()
+
"]为["
+
statusStr
+
"="
+
locInfo
+
"]"
);
String
inouType
=
opTask
.
isCheckOutTask
()?
"出库"
:
"入库"
;
log
.
info
(
"更新料盘["
+
barcode
+
"]的["
+
inouType
+
"]任务状态["
+
opTask
.
getStatus
()
+
"="
+
opTask
.
getLocInfo
()
+
"]为["
+
statusStr
+
"="
+
locInfo
+
"]"
);
opTask
.
setStatus
(
statusStr
);
opTask
.
setStatus
(
statusStr
);
opTask
.
setLocInfo
(
locInfo
);
opTask
.
setLocInfo
(
locInfo
);
...
...
src/main/java/com/neotel/smfcore/core/device/handler/impl/ThirdBoxHandler.java
查看文件 @
ab0a801
...
@@ -168,7 +168,7 @@ public class ThirdBoxHandler extends BaseDeviceHandler{
...
@@ -168,7 +168,7 @@ public class ThirdBoxHandler extends BaseDeviceHandler{
try
{
try
{
//麦康尼料仓不发OUT_FINISHED,收到OutEnd的时候处理
//麦康尼料仓不发OUT_FINISHED,收到OutEnd的时候处理
finishedOutPos
(
statusBean
.
getCid
(),
posName
,
barcode
,
executeTime
);
finishedOutPos
(
statusBean
.
getCid
(),
posName
,
barcode
,
executeTime
,
OP_STATUS
.
OUT_BOX
);
}
catch
(
Exception
ex
){
}
catch
(
Exception
ex
){
}
}
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
ab0a801
...
@@ -104,6 +104,8 @@ public class DataCache {
...
@@ -104,6 +104,8 @@ public class DataCache {
@PostConstruct
@PostConstruct
public
void
initialize
()
{
public
void
initialize
()
{
settings
=
getSettings
();
settings
=
getSettings
();
Integer
caWarn
=
getCache
(
Constants
.
CACHE_CapacityWarn
);
codeResolve
.
updateExpiresDay
(
caWarn
);
initCacheItem
();
initCacheItem
();
}
}
...
@@ -163,6 +165,9 @@ public class DataCache {
...
@@ -163,6 +165,9 @@ public class DataCache {
List
<
String
>
ruleList
=
(
List
<
String
>)
value
;
List
<
String
>
ruleList
=
(
List
<
String
>)
value
;
codeResolve
.
updateBarcodeRuleList
(
ruleList
);
codeResolve
.
updateBarcodeRuleList
(
ruleList
);
}
}
if
(
cacheKey
.
equals
(
Constants
.
CACHE_ExpiresDay
)){
codeResolve
.
updateExpiresDay
((
Integer
)
value
);
}
log
.
info
(
"updateCache ["
+
cacheKey
+
"]=["
+
value
+
"]"
);
log
.
info
(
"updateCache ["
+
cacheKey
+
"]=["
+
value
+
"]"
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/rest/SettingsController.java
查看文件 @
ab0a801
...
@@ -72,10 +72,14 @@ public class SettingsController {
...
@@ -72,10 +72,14 @@ public class SettingsController {
boolean
stopOut
=
dataCache
.
getCache
(
Constants
.
CACHE_StopOut
);
boolean
stopOut
=
dataCache
.
getCache
(
Constants
.
CACHE_StopOut
);
boolean
startJob
=
dataCache
.
getCache
(
Constants
.
CACHE_StartJob
);
boolean
startJob
=
dataCache
.
getCache
(
Constants
.
CACHE_StartJob
);
Integer
sluggishDay
=
dataCache
.
getCache
(
Constants
.
CACHE_SluggishDay
);
Integer
sluggishDay
=
dataCache
.
getCache
(
Constants
.
CACHE_SluggishDay
);
Integer
expiresDay
=
dataCache
.
getCache
(
Constants
.
CACHE_ExpiresDay
);
Integer
caWarn
=
dataCache
.
getCache
(
Constants
.
CACHE_CapacityWarn
);
SysSettingsDto
dto
=
new
SysSettingsDto
();
SysSettingsDto
dto
=
new
SysSettingsDto
();
dto
.
setStartJob
(
startJob
);
dto
.
setStartJob
(
startJob
);
dto
.
setStopOut
(
stopOut
);
dto
.
setStopOut
(
stopOut
);
dto
.
setSluggishDay
(
sluggishDay
);
dto
.
setSluggishDay
(
sluggishDay
);
dto
.
setExpiresDay
(
expiresDay
);
dto
.
setCapacityWarn
(
caWarn
);
return
dto
;
return
dto
;
}
}
...
@@ -86,7 +90,10 @@ public class SettingsController {
...
@@ -86,7 +90,10 @@ public class SettingsController {
dataCache
.
updateCache
(
Constants
.
CACHE_StopOut
,
sysSettingsDto
.
isStopOut
());
dataCache
.
updateCache
(
Constants
.
CACHE_StopOut
,
sysSettingsDto
.
isStopOut
());
dataCache
.
updateCache
(
Constants
.
CACHE_StartJob
,
sysSettingsDto
.
isStartJob
());
dataCache
.
updateCache
(
Constants
.
CACHE_StartJob
,
sysSettingsDto
.
isStartJob
());
dataCache
.
updateCache
(
Constants
.
CACHE_SluggishDay
,
sysSettingsDto
.
getSluggishDay
());
dataCache
.
updateCache
(
Constants
.
CACHE_SluggishDay
,
sysSettingsDto
.
getSluggishDay
());
log
.
info
(
"更改系统设置:stopout="
+
sysSettingsDto
.
isStopOut
()
+
",stopjob="
+
sysSettingsDto
.
isStartJob
()+
",sluggishDay="
+
sysSettingsDto
.
getSluggishDay
());
dataCache
.
updateCache
(
Constants
.
CACHE_ExpiresDay
,
sysSettingsDto
.
getExpiresDay
());
dataCache
.
updateCache
(
Constants
.
CACHE_CapacityWarn
,
sysSettingsDto
.
getCapacityWarn
());
log
.
info
(
"更改系统设置:stopout="
+
sysSettingsDto
.
isStopOut
()
+
",stopjob="
+
sysSettingsDto
.
isStartJob
()+
",sluggishDay="
+
sysSettingsDto
.
getSluggishDay
()
+
",expiresDay="
+
sysSettingsDto
.
getExpiresDay
()+
",capacityWarn="
+
sysSettingsDto
.
getCapacityWarn
());
return
ResultBean
.
newOkResult
(
"保存成功"
);
return
ResultBean
.
newOkResult
(
"保存成功"
);
}
}
...
...
src/main/java/com/neotel/smfcore/core/system/rest/bean/dto/SysSettingsDto.java
查看文件 @
ab0a801
...
@@ -18,4 +18,10 @@ public class SysSettingsDto implements Serializable {
...
@@ -18,4 +18,10 @@ public class SysSettingsDto implements Serializable {
@ApiModelProperty
(
"呆滞天数"
)
@ApiModelProperty
(
"呆滞天数"
)
private
Integer
sluggishDay
=
0
;
private
Integer
sluggishDay
=
0
;
@ApiModelProperty
(
"过期天数"
)
private
Integer
expiresDay
=
0
;
@ApiModelProperty
(
"容量预警"
)
private
Integer
capacityWarn
=
0
;
}
}
src/main/java/com/neotel/smfcore/core/system/service/po/DataLog.java
查看文件 @
ab0a801
...
@@ -267,12 +267,15 @@ public class DataLog extends BasePo implements Serializable {
...
@@ -267,12 +267,15 @@ public class DataLog extends BasePo implements Serializable {
}
}
public
boolean
isOutBox
(){
public
boolean
isOutBox
(){
return
OP_STATUS
.
OUTBOX
.
name
().
equals
(
status
);
return
OP_STATUS
.
OUT
_
BOX
.
name
().
equals
(
status
);
}
}
public
boolean
isInRobot
(){
public
boolean
isInRobot
(){
return
OP_STATUS
.
INROBOT
.
name
().
equals
(
status
);
return
OP_STATUS
.
INROBOT
.
name
().
equals
(
status
);
}
}
public
boolean
isInLine
(){
return
OP_STATUS
.
INLINE
.
name
().
equals
(
status
);
}
public
boolean
isBoxdoor
(){
public
boolean
isBoxdoor
(){
return
OP_STATUS
.
BOXDOOR
.
name
().
equals
(
status
)
||
OP_STATUS
.
BOXDOOR_NOREEL
.
equals
(
status
);
return
OP_STATUS
.
BOXDOOR
.
name
().
equals
(
status
)
||
OP_STATUS
.
BOXDOOR_NOREEL
.
equals
(
status
);
}
}
...
...
src/main/java/com/neotel/smfcore/custom/micron1053/bean/dto/SBDHViewDto.java
查看文件 @
ab0a801
...
@@ -38,4 +38,8 @@ public class SBDHViewDto implements Serializable {
...
@@ -38,4 +38,8 @@ public class SBDHViewDto implements Serializable {
@ApiModelProperty
(
"出入库报表"
)
@ApiModelProperty
(
"出入库报表"
)
private
List
<
ChartItem
>
chartItems
;
private
List
<
ChartItem
>
chartItems
;
@ApiModelProperty
(
"容量预警"
)
private
Integer
capacityWarn
=
0
;
}
}
src/main/java/com/neotel/smfcore/custom/micron1053/controller/MicronStatusController.java
查看文件 @
ab0a801
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
controller
;
package
com
.
neotel
.
smfcore
.
custom
.
micron1053
.
controller
;
import
cn.hutool.core.util.ObjectUtil
;
import
cn.hutool.core.util.ObjectUtil
;
import
com.neotel.smfcore.common.utils.Constants
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.common.utils.DateUtil
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.BoxStatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
import
com.neotel.smfcore.core.device.bean.StatusBean
;
...
@@ -196,6 +197,8 @@ public class MicronStatusController {
...
@@ -196,6 +197,8 @@ public class MicronStatusController {
dto
.
setChartItems
(
chartItemMap
.
values
().
stream
().
collect
(
Collectors
.
toList
()));
dto
.
setChartItems
(
chartItemMap
.
values
().
stream
().
collect
(
Collectors
.
toList
()));
dto
.
setTodayCounts
(
todayCounts
);
dto
.
setTodayCounts
(
todayCounts
);
Integer
caWarn
=
dataCache
.
getCache
(
Constants
.
CACHE_CapacityWarn
);
dto
.
setCapacityWarn
(
caWarn
);
return
dto
;
return
dto
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论