Commit 37daa1b1 sunke

扫到多个有效条码问题修正

1 个父辈 1cef020c
......@@ -41,7 +41,7 @@ public class ReelNumModifyController extends BaseController {
*/
@RequestMapping(value = "/service/store/modifyReelNum")
@ResponseBody
public String addFeederTask(HttpServletRequest request) {
public String modifyReelNum(HttpServletRequest request) {
String barcode = request.getParameter("code");
String num = request.getParameter("num");
if(Strings.isNullOrEmpty(num)){
......@@ -49,8 +49,7 @@ public class ReelNumModifyController extends BaseController {
}
try{
int amount = Integer.valueOf(num);
CodeBean codeBean = dataCache.resolveSingleCode(barcode);
Barcode br = codeBean.getBarcode();
Barcode br = dataCache.resolveOneValideBarcode(barcode);
if(br != null){
log.info("更新条码["+br.getBarcode()+"]的数量["+br.getAmount()+"]为:"+amount);
br.setAmount(amount);
......@@ -62,9 +61,10 @@ public class ReelNumModifyController extends BaseController {
storagePosManager.save(pos);
log.info("更新库位["+pos.getPosName()+"]中条码数量为:" + amount);
}
}else{
throw new ValidateException(codeBean.getError());
}
// else{
// throw new ValidateException(codeBean.getError());
// }
}catch (ValidateException ve){
return ve.getMessage();
......
......@@ -423,45 +423,20 @@ public class DataCache{
}
public Collection<CodeBean> resolveCodeStr(String codeStr){
Map<String, CodeBean> codeBeanMap = Maps.newHashMap();
List<CodeBean> codeBeans = Lists.newArrayList();
if(!Strings.isNullOrEmpty(codeStr)){
//双##号分割多个二维码
String[] barcodeItemStrs = codeStr.split("##");
//需要检查partNumber 是否一致
Multiset<String> partNumberMultiset = HashMultiset.create();
//含有最多的 partNumber
String mostPartNumber = "";
List<CodeBean> codeBeans = Lists.newArrayList();
for (String barcodeItemStr : barcodeItemStrs){
CodeBean codeBean = resolveSingleCode(barcodeItemStr);
if(codeBean == null){
continue;
}
codeBeans.add(codeBean);
//统计非夹具的 partNubmer
if(codeBean.isValid() && !codeBean.isFixtureCode()){
String partNumber = codeBean.getBarcode().getPartNumber();
partNumberMultiset.add(partNumber);
if(partNumberMultiset.count(partNumber) > partNumberMultiset.count(mostPartNumber) ){
mostPartNumber = partNumber;
}
}
}
for (CodeBean codeBean : codeBeans) {
if(codeBean.isValid() && !codeBean.isFixtureCode()){
//非夹具的 partNumber 不一致
if(!mostPartNumber.equals(codeBean.getBarcode().getPartNumber())){
codeBean.setError("PartNumber不一致");
}
}
codeBeanMap.put(codeBean.getCodeStr(), codeBean);
}
}
return codeBeanMap.values();
return codeBeans;
}
/**
......
......@@ -629,7 +629,13 @@ public class StorageDataController extends BaseController {
@ResponseBody
public CodeBean resolveBarcode(HttpServletRequest request) {
String code = request.getParameter("code");
CodeBean codeBean = dataCache.resolveSingleCode(code);
CodeBean codeBean = new CodeBean();
try {
Barcode barcode = dataCache.resolveOneValideBarcode(code);
codeBean.setBarcode(barcode);
} catch (ValidateException e) {
codeBean.setError(e.getMessage());
}
return codeBean;
}
......
......@@ -261,21 +261,21 @@
}
focusCodeInput();
jQuery(document).ready(function () {
var codeValue = "";
//提交表单
$("#form").submit(function(){
var modifyNum = $("#modifyNum").val();
$.post("${ctx}/service/store/modifyReelNum", {code: codeValue, num: modifyNum}, function (data) {
if (data == '') {
printSuccessMessage('保存成功');
} else {
printErrorMessage(data);
}
$("#scan-code").focus();
});
return false;
});
<%--var codeValue = "";--%>
<%--//提交表单--%>
<%--$("#form").submit(function(){--%>
<%--var modifyNum = $("#modifyNum").val();--%>
<%--$.post("${ctx}/service/store/modifyReelNum", {code: codeValue, num: modifyNum}, function (data) {--%>
<%--if (data == '') {--%>
<%--printSuccessMessage('保存成功');--%>
<%--} else {--%>
<%--printErrorMessage(data);--%>
<%--}--%>
<%--$("#scan-code").focus();--%>
<%--});--%>
<%--return false;--%>
<%--});--%>
$("#scan-code").change(function () {
$("#code-errors").text("");
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!