Commit 34f8cb99 LN
2 个父辈 8a0723d0 be6a8077
......@@ -816,15 +816,19 @@ public class BarcodeRule {
// rule ="BATCH;PRODATEyyyy-MM-dd[1:10:-1]EXPD[-1:-4:-1];PN[1:12:-1]SP[13:5:-1]QTY[-1:-5:-1];RI";
// codeStr = "L00002019090199951797;E2019-09-01 0365;B8C.R2003.V81506072019090103000;R506072019102200356";
// Map<String,String> filedMap = new HashMap<>();
// filedMap.put("RI","R506072019102200356");
// filedMap.put("PN","8C.R2003.V81");
// filedMap.put("BATCH","L00002019090199951797");
// filedMap.put("SP","50607");
// filedMap.put("QTY","3000");
// filedMap.put("PRODATEyyyy-MM-dd","2019-09-01");
// filedMap.put("EXPD","0365");
// System.out.println("====="+toCodeRule(codeStr,filedMap));
codeStr = "[PN]1223456789[UID]123456789qsdf[QTY]5000";
Map<String,String> filedMap = new HashMap<>();
filedMap.put("RI","123456789qsdf");
filedMap.put("PN","1223456789");
//filedMap.put("BATCH","L00002019090199951797");
//filedMap.put("SP","50607");
filedMap.put("QTY","5000");
//filedMap.put("PRODATEyyyy-MM-dd","2019-09-01");
//filedMap.put("EXPD","0365");
//rule = toCodeRule(codeStr,filedMap);
//BarcodeRule barcodeRule = BarcodeRule.newRule(rule);
//CodeBean bean = barcodeRule.toCodeBean(codeStr);
//System.out.println("====="+bean);
// codeStr = "=1+0x0-13x12=SU100PM0JPR";
// rule = "PN[-1_SU:2:-1][RI]";
......@@ -843,6 +847,8 @@ public class BarcodeRule {
codeStr = "41000100883,2329,38M0540150,4341,1,710032329883000188";
rule = "RI,PRODATEyyWW,PN,QTY,MSL,BATCH";
codeStr = "GW00001";
rule = "PN[-1:2:-1]RI[-1:0:-1]";
BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode();
if(b != null){
......@@ -887,7 +893,8 @@ public class BarcodeRule {
String separator = findSeparator(codeStr);
String[] codeArr = new String[]{codeStr};
if(!Strings.isNullOrEmpty(separator)){
codeArr = codeStr.split(separator);
String regexSeparator = toRegexStr(separator);
codeArr = codeStr.split(regexSeparator);
}
String[] ruleArr = new String[codeArr.length];
for (String fieldName : fieldValueMap.keySet()) {
......@@ -936,8 +943,10 @@ public class BarcodeRule {
if(!Character.isLetterOrDigit(c)){
//不是字母和数字才可以作为分割符
String separator = toRegexStr(c + "");
separator = c + "";
if(trySeparator.indexOf(c) == -1){
String[] ss = str.split(separator,-1);
String regexSeparator = toRegexStr(c + "");
String[] ss = str.split(regexSeparator,-1);
if(ss.length > tempArr.length){
trySeparator = c + trySeparator;
result =separator;
......
......@@ -76,10 +76,8 @@ public class CodeResolve {
public CodeBean resolveSingleCode(String barcodeItemStr,int type){
if(barcodeRuleList == null || barcodeRuleList.isEmpty()){
CodeBean codeBean = new CodeBean();
codeBean.setBarcode(null);
CodeBean codeBean = BarcodeRule.splitCodeAndSize(barcodeItemStr);
codeBean.setError("smfcore.error.barcode.noRules", "解析规则未定义");
codeBean.setCodeStr(barcodeItemStr);
return codeBean;
}
......
......@@ -75,7 +75,7 @@ public class NeotelApi extends BaseSmfApiListener {
public void outTaskStatusChange(String outNotifyUrl, DataLog task) {
String requestParams = "";
String responseInfo = "";
if (task.isFinished()) {
if (task.isFinished() || task.isEnd()) {
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("reelId", task.getBarcode());
paramMap.put("partNum", task.getPartNumber());
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!