Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 3c3a14ea
由
LN
编写于
2023-08-10 13:46:24 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
1.根据配置的过期时间设置条码过期时间
1 个父辈
25d7b121
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
50 行增加
和
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/util/DataCache.java
src/main/java/com/neotel/smfcore/common/utils/Constants.java
查看文件 @
3c3a14e
...
...
@@ -169,6 +169,7 @@ public class Constants {
public
static
final
String
CACHE_SAME_BARCODE_SETTINGS
=
"CACHE_sameBarcode_settings"
;
public
static
final
String
CHCHE_ExpirationDateConfig
=
"micron_expiration_config"
;
/**
* 当前入库信息:
*/
...
...
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
3c3a14e
...
...
@@ -16,9 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.yaml.snakeyaml.comments.CommentType
;
import
java.util.Collection
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.*
;
/**
* Created by sunke on 2021/7/13.
...
...
@@ -36,7 +34,7 @@ public class CodeResolve {
private
List
<
BarcodeRule
>
barcodeRuleList
;
private
Integer
defaultExpiresDay
=
0
;
Map
<
String
,
Integer
>
configMap
=
new
HashMap
<>();
public
void
updateBarcodeRuleList
(
List
<
String
>
ruleList
){
barcodeRuleList
=
Lists
.
newArrayList
();
...
...
@@ -50,10 +48,43 @@ public class CodeResolve {
defaultExpiresDay
=
expiresDay
;
}
public
void
updateConfigMap
(
Map
<
String
,
Integer
>
map
){
this
.
configMap
=
map
;
}
public
CodeBean
resolveSingleCode
(
String
barcodeItemStr
){
return
resolveSingleCode
(
barcodeItemStr
,
COMPONENT_TYPE
.
COMPONENT
);
}
public
int
getTargetValid
(
String
pn
,
int
validDay
)
{
try
{
if
(
validDay
>
0
)
{
return
validDay
;
}
int
year
=
0
;
if
(
configMap
!=
null
)
for
(
String
key
:
configMap
.
keySet
())
{
if
(
pn
.
startsWith
(
key
))
{
year
=
configMap
.
get
(
key
);
break
;
}
}
if
(
year
>
0
)
{
return
year
*
365
;
}
if
(
defaultExpiresDay
!=
null
&&
defaultExpiresDay
>
0
)
{
return
defaultExpiresDay
;
}
}
catch
(
Exception
ex
)
{
log
.
error
(
" getTargetValid ["
+
validDay
+
"] 出错:"
+
ex
.
toString
());
}
return
0
;
}
/**
* 解析条码为单个 Barcode,自动保存到数据库
*/
...
...
@@ -160,9 +191,10 @@ public class CodeResolve {
setSize
=
true
;
}
}
if
(
validDay
<=
0
&&
defaultExpiresDay
!=
null
&&
defaultExpiresDay
>
0
){
validDay
=
defaultExpiresDay
;
}
// if(validDay<=0&& defaultExpiresDay!=null&&defaultExpiresDay>0){
// validDay=defaultExpiresDay;
// }
validDay
=
getTargetValid
(
barcode
.
getPartNumber
(),
validDay
);
if
((!
setSize
)&&
codeBeanFromRule
.
hasReelSizeInfo
()){
//如果客户端传入的有尺寸,但尺寸不一致,使用上传上来的尺寸
if
(
barcode
.
getHeight
()
!=
codeBeanFromRule
.
getReelHeight
()
||
barcode
.
getPlateSize
()
!=
codeBeanFromRule
.
getReelWidth
()){
...
...
@@ -295,9 +327,10 @@ public class CodeResolve {
Date
produceDate
=
barcodeFromRule
.
getProduceDate
();
if
(
produceDate
!=
null
&&
barcodeFromRule
.
getExpireDate
()
==
null
){
int
validDay
=
component
.
getValidDay
();
if
(
validDay
<=
0
&&
defaultExpiresDay
!=
null
&&
defaultExpiresDay
>
0
){
validDay
=
defaultExpiresDay
;
}
// if(validDay<=0&& defaultExpiresDay!=null&&defaultExpiresDay>0){
// validDay=defaultExpiresDay;
// }
validDay
=
getTargetValid
(
component
.
getPartNumber
(),
validDay
);
if
(
validDay
>
0
){
log
.
info
(
"设置"
+
barcodeFromRule
.
getBarcode
()+
"的过期时间"
);
Date
expireDate
=
DateUtil
.
addDays
(
produceDate
,
validDay
);
...
...
src/main/java/com/neotel/smfcore/core/device/util/DataCache.java
查看文件 @
3c3a14e
...
...
@@ -114,6 +114,9 @@ public class DataCache {
initCacheItem
();
Integer
expireDay
=
getCache
(
Constants
.
CACHE_ExpiresDay
);
codeResolve
.
updateExpiresDay
(
expireDay
);
Map
<
String
,
Integer
>
conMap
=
getCache
(
Constants
.
CHCHE_ExpirationDateConfig
);
codeResolve
.
updateConfigMap
(
conMap
);
}
private
void
initCacheItem
()
{
...
...
@@ -175,6 +178,9 @@ public class DataCache {
if
(
cacheKey
.
equals
(
Constants
.
CACHE_ExpiresDay
))
{
codeResolve
.
updateExpiresDay
((
Integer
)
value
);
}
if
(
cacheKey
.
equals
(
Constants
.
CHCHE_ExpirationDateConfig
)){
codeResolve
.
updateConfigMap
((
Map
<
String
,
Integer
>)
value
);
}
log
.
info
(
"updateCache ["
+
cacheKey
+
"]=["
+
value
+
"]"
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论