Commit 37daa1b1 sunke

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

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