Commit f1bbd461 LN

入库单入库时需要验证数量是否超过目标数量

1 个父辈 ae3f2589
......@@ -304,7 +304,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
if (currentPos != null) {
//入库单验证
ResultBean resultBean= inListCache.inListValidate(currentStorage.getInListName(),barcode.getPartNumber() );
ResultBean resultBean= inListCache.inListValidate(currentStorage.getInListName(),barcode.getPartNumber() ,barcode.getAmount() );
if(!resultBean.isOkResult()){
return resultBean;
}
......@@ -337,7 +337,7 @@ public class NLShelfHandler extends BaseDeviceHandler {
}
} else {
//入库单验证
ResultBean resultBean= inListCache.inListValidate(currentStorage.getInListName(),barcode.getPartNumber() );
ResultBean resultBean= inListCache.inListValidate(currentStorage.getInListName(),barcode.getPartNumber(),barcode.getAmount() );
if(!resultBean.isOkResult()){
return resultBean;
}
......
......@@ -216,7 +216,7 @@ public class SingleInController {
throw new ValidateException("smfcore.valueCanotNull", "{0}不能为空", new String[]{"docName"});
}
//入库单验证
resultBean = inListCache.inListValidate(docName, barcode.getPartNumber());
resultBean = inListCache.inListValidate(docName, barcode.getPartNumber(),barcode.getAmount());
if (!resultBean.isOkResult()) {
return resultBean;
}
......
......@@ -121,7 +121,7 @@ public class InListCache {
}
public ResultBean inListValidate(String inListName, String pn) {
public ResultBean inListValidate(String inListName, String pn,int barcodeNum) {
if (ObjectUtil.isEmpty(inListName)) {
return ResultBean.newOkResult("");
}
......@@ -136,7 +136,13 @@ public class InListCache {
for (InListItem item : inList.getInListItems()
) {
if (item.getMaterialNo().equals(pn) ) {
if( item.getNum() > item.getInNum()){
if( item.getNum() > item.getInNum()) {
if(barcodeNum+item.getInNum()>item.getNum()){
log.error("inListValidate 验证失败: 入库单["+inListName+"] PN["+pn+"] 目标数量["+item.getNum()+"]已入数量["+item.getInNum()+"]条码数量["+barcodeNum+"],超出目标数量");
int num=item.getNum()-item.getInNum();
return ResultBean.newErrorResult(1,"smfcore.inlist.pnNum","入库单[{0}]的物料[{1}]可入数量为[{2}]",new String[]{inListName,pn,num+""} );
}
return ResultBean.newOkResult("");
}else{
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!