Commit 8c207d54 zshaohui

根据条码内容测试条码规则

1 个父辈 4f6e99af
......@@ -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="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";
rule = "BATCH;PRODATEyyyy-MM-dd[1:10:-1];QTY[27:4:-1]SP[13:5:-1]PN[1:12:-1];RI";
codeStr = "41000100883,2329,38M0540150,4341,1,710032329883000188";
rule = "RI,PRODATEyyWW,PN,QTY,MSL,BATCH";
BarcodeRule br = BarcodeRule.newRule(rule);
Barcode b = br.toCodeBean(codeStr).getBarcode();
if(b != null){
......
......@@ -8,12 +8,14 @@ import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.FileUtil;
import com.neotel.smfcore.common.utils.QueryHelp;
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.BarcodeRuleDto;
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.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.barcode.utils.QrcodeUtils;
import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.system.service.po.Settings;
......@@ -59,6 +61,9 @@ public class BarcodeController {
@Autowired
private final FileProperties properties;
@Autowired
private CodeResolve codeResolve;
@ApiOperation("导出条码数据")
@GetMapping(value = "/download")
public void download(HttpServletResponse response, BarcodeQueryCriteria criteria) throws Exception {
......@@ -184,12 +189,34 @@ public class BarcodeController {
@ApiOperation("根据条码信息获取条码规则")
@PostMapping(value = "getBarcodeRule")
@AnonymousAccess
public ResultBean getBarcodeRule(@RequestBody Map<String, String> paramMap) {
String ruleStr = BarcodeRule.toCodeRule(paramMap.get("codeStr"), paramMap);
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 {
log.info("开始读取文件:" + fileURL);
CsvReader csvRead =CsvReader.newReader(fileURL,"条码","RI");
......
......@@ -47,6 +47,11 @@ public class CodeResolve {
}
}
}
public List<BarcodeRule> getBarcodeRuleList(){
return barcodeRuleList;
}
public void updateExpiresDay(Integer expiresDay){
defaultExpiresDay=expiresDay;
}
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!