Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java =================================================================== diff -u -r13534 -r13589 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13534) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceManagerImpl.java (.../InvoiceManagerImpl.java) (revision 13589) @@ -31,6 +31,7 @@ import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.apache.log4j.Logger; import org.hibernate.LockMode; @@ -1330,6 +1331,11 @@ .getExpensiveDisposablegoodsByBarcodes(barcodesScanned); if (expensiveDisposablegoodsList != null) { for (ExpensiveDisposablegoods expensiveDisposablegoods : expensiveDisposablegoodsList) { + // 校验高值耗材的仓库是否和界面上选择的仓库一致 + Long expensiveDisposableGoodsWarehouseId = expensiveDisposablegoods.getWarehouseID(); + if(!StringUtils.equals(sourceWarehouseId, expensiveDisposableGoodsWarehouseId.toString())){ + throw new RuntimeException(String.format("条码为%s的高值耗材仓库和发货仓库不一致", expensiveDisposablegoods.getBarcode())); + } barcodeToExpensiveDisposablegoodsMap.put( expensiveDisposablegoods.getBarcode(), expensiveDisposablegoods);