Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
smf-core
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 8c207d54
由
zshaohui
编写于
2023-12-07 09:44:07 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
根据条码内容测试条码规则
1 个父辈
4f6e99af
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
34 行增加
和
2 行删除
src/main/java/com/neotel/smfcore/core/barcode/bean/BarcodeRule.java
src/main/java/com/neotel/smfcore/core/barcode/rest/BarcodeController.java
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
src/main/java/com/neotel/smfcore/core/barcode/bean/BarcodeRule.java
查看文件 @
8c207d5
...
@@ -841,8 +841,8 @@ public class BarcodeRule {
...
@@ -841,8 +841,8 @@ public class BarcodeRule {
rule
=
"EXPDATEyyMMdd[12:0:-1]|BATCH[2:0:-1]|QTY[2:0:-1]|RI[2:0:-1]|PN[1:0:-1]|MPN[-1:0:2]"
;
rule
=
"EXPDATEyyMMdd[12:0:-1]|BATCH[2:0:-1]|QTY[2:0:-1]|RI[2:0:-1]|PN[1:0:-1]|MPN[-1:0:2]"
;
// rule="PN[1:0:-1]|BATCH[2:0:-1]|LOT[2:0:-1]|QTY[2_7Q:0:-1]|RI[1:0:-1]|SP[3:0:-1]|PRODATEyyyyMMdd[2:0:-1]|xxx";
// rule="PN[1:0:-1]|BATCH[2:0:-1]|LOT[2:0:-1]|QTY[2_7Q:0:-1]|RI[1:0:-1]|SP[3:0:-1]|PRODATEyyyyMMdd[2:0:-1]|xxx";
codeStr
=
"
L00002019090199951797;E2019-09-01 0365;B8C.R2003.V81506072019090103000;R506072019102200356
"
;
codeStr
=
"
41000100883,2329,38M0540150,4341,1,710032329883000188
"
;
rule
=
"
BATCH;PRODATEyyyy-MM-dd[1:10:-1];QTY[27:4:-1]SP[13:5:-1]PN[1:12:-1];RI
"
;
rule
=
"
RI,PRODATEyyWW,PN,QTY,MSL,BATCH
"
;
BarcodeRule
br
=
BarcodeRule
.
newRule
(
rule
);
BarcodeRule
br
=
BarcodeRule
.
newRule
(
rule
);
Barcode
b
=
br
.
toCodeBean
(
codeStr
).
getBarcode
();
Barcode
b
=
br
.
toCodeBean
(
codeStr
).
getBarcode
();
if
(
b
!=
null
){
if
(
b
!=
null
){
...
...
src/main/java/com/neotel/smfcore/core/barcode/rest/BarcodeController.java
查看文件 @
8c207d5
...
@@ -8,12 +8,14 @@ import com.neotel.smfcore.common.exception.ValidateException;
...
@@ -8,12 +8,14 @@ import com.neotel.smfcore.common.exception.ValidateException;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.FileUtil
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.common.utils.QueryHelp
;
import
com.neotel.smfcore.core.barcode.bean.BarcodeRule
;
import
com.neotel.smfcore.core.barcode.bean.BarcodeRule
;
import
com.neotel.smfcore.core.barcode.bean.CodeBean
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeRuleDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.dto.BarcodeRuleDto
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.BarcodeMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.mapstruct.BarcodeMapper
;
import
com.neotel.smfcore.core.barcode.rest.bean.query.BarcodeQueryCriteria
;
import
com.neotel.smfcore.core.barcode.rest.bean.query.BarcodeQueryCriteria
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.manager.IBarcodeManager
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.service.po.Barcode
;
import
com.neotel.smfcore.core.barcode.utils.CodeResolve
;
import
com.neotel.smfcore.core.barcode.utils.QrcodeUtils
;
import
com.neotel.smfcore.core.barcode.utils.QrcodeUtils
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.device.util.DataCache
;
import
com.neotel.smfcore.core.system.service.po.Settings
;
import
com.neotel.smfcore.core.system.service.po.Settings
;
...
@@ -59,6 +61,9 @@ public class BarcodeController {
...
@@ -59,6 +61,9 @@ public class BarcodeController {
@Autowired
@Autowired
private
final
FileProperties
properties
;
private
final
FileProperties
properties
;
@Autowired
private
CodeResolve
codeResolve
;
@ApiOperation
(
"导出条码数据"
)
@ApiOperation
(
"导出条码数据"
)
@GetMapping
(
value
=
"/download"
)
@GetMapping
(
value
=
"/download"
)
public
void
download
(
HttpServletResponse
response
,
BarcodeQueryCriteria
criteria
)
throws
Exception
{
public
void
download
(
HttpServletResponse
response
,
BarcodeQueryCriteria
criteria
)
throws
Exception
{
...
@@ -184,12 +189,34 @@ public class BarcodeController {
...
@@ -184,12 +189,34 @@ public class BarcodeController {
@ApiOperation
(
"根据条码信息获取条码规则"
)
@ApiOperation
(
"根据条码信息获取条码规则"
)
@PostMapping
(
value
=
"getBarcodeRule"
)
@PostMapping
(
value
=
"getBarcodeRule"
)
@AnonymousAccess
public
ResultBean
getBarcodeRule
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
public
ResultBean
getBarcodeRule
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
String
ruleStr
=
BarcodeRule
.
toCodeRule
(
paramMap
.
get
(
"codeStr"
),
paramMap
);
String
ruleStr
=
BarcodeRule
.
toCodeRule
(
paramMap
.
get
(
"codeStr"
),
paramMap
);
return
ResultBean
.
newOkResult
(
ruleStr
);
return
ResultBean
.
newOkResult
(
ruleStr
);
}
}
@ApiOperation
(
"获取条码内容"
)
@PostMapping
(
"/getBarCodeInfo"
)
@AnonymousAccess
public
ResultBean
getBarCodeInfo
(
@RequestBody
Map
<
String
,
String
>
paramMap
)
{
//获取条码内容
String
codeStr
=
paramMap
.
get
(
"code"
);
List
<
BarcodeRule
>
barcodeRuleList
=
codeResolve
.
getBarcodeRuleList
();
if
(
barcodeRuleList
!=
null
&&
!
barcodeRuleList
.
isEmpty
())
{
for
(
BarcodeRule
barcodeRule
:
barcodeRuleList
)
{
CodeBean
codeBean
=
barcodeRule
.
toCodeBean
(
codeStr
);
if
(
codeBean
.
getBarcode
()
!=
null
)
{
return
ResultBean
.
newOkResult
(
codeBean
.
getBarcode
());
}
}
}
else
{
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.error.barcode.noRules"
,
"解析规则未定义"
);
}
return
ResultBean
.
newErrorResult
(
1
,
"smfcore.error.barcode.invalid"
,
"未找到有效条码"
);
}
protected
String
handleBarcode
(
String
fileURL
)
throws
Exception
{
protected
String
handleBarcode
(
String
fileURL
)
throws
Exception
{
log
.
info
(
"开始读取文件:"
+
fileURL
);
log
.
info
(
"开始读取文件:"
+
fileURL
);
CsvReader
csvRead
=
CsvReader
.
newReader
(
fileURL
,
"条码"
,
"RI"
);
CsvReader
csvRead
=
CsvReader
.
newReader
(
fileURL
,
"条码"
,
"RI"
);
...
...
src/main/java/com/neotel/smfcore/core/barcode/utils/CodeResolve.java
查看文件 @
8c207d5
...
@@ -47,6 +47,11 @@ public class CodeResolve {
...
@@ -47,6 +47,11 @@ public class CodeResolve {
}
}
}
}
}
}
public
List
<
BarcodeRule
>
getBarcodeRuleList
(){
return
barcodeRuleList
;
}
public
void
updateExpiresDay
(
Integer
expiresDay
){
public
void
updateExpiresDay
(
Integer
expiresDay
){
defaultExpiresDay
=
expiresDay
;
defaultExpiresDay
=
expiresDay
;
}
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论