Index: ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java =================================================================== diff -u -r28815 -r28851 --- ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 28815) +++ ssts-returngoods/src/main/java/com/forgon/disinfectsystem/returngoodsrecord/service/ReturnGoodsRecordManagerImpl.java (.../ReturnGoodsRecordManagerImpl.java) (revision 28851) @@ -542,8 +542,15 @@ objectDao.update(expensiveDisposablegoods.getDisposableGoodsBatchStock()); objectDao.update(expensiveDisposablegoods.getDisposableGoodsBatchStock().getDiposableGoods());*/ //调整后的库存调整代码 - sourceBatchStock.setStorage(sourceBatchStock.getStorage() - 1); - sourceDgStock.setAmount(sourceDgStock.getAmount() - 1); + //高值耗材退货前,如果所属仓库不为其所在科室下的仓库时,源库存数量不进行调整 + if(sourceBatchStock != null && sourceBatchStock.getWarehouseID() != null + && sourceBatchStock.getWarehouseID().equals(invoice.getWarehouseID())){ + sourceBatchStock.setStorage(sourceBatchStock.getStorage() - 1); + } + if(sourceDgStock != null && sourceDgStock.getWarehouseID() != null + && sourceDgStock.getWarehouseID().equals(invoice.getWarehouseID())){ + sourceDgStock.setAmount(sourceDgStock.getAmount() - 1); + } targetBatchStock.setStorage(targetBatchStock.getStorage() + 1); targetDgStock.setAmount(targetDgStock.getAmount() + 1); objectDao.saveOrUpdate(sourceBatchStock); @@ -556,6 +563,7 @@ //修改高值耗材的仓库 expensiveDisposablegoods.setWarehouseID(targetWarehouseID); expensiveDisposablegoods.setWarehouseName(targetBatchStock.getWarehouseName()); + objectDao.saveOrUpdate(expensiveDisposablegoods); //库存调整记录(高值耗材库存变动记录) List result = new ArrayList(); @@ -950,7 +958,8 @@ returnMsg.put("success", true); returnMsg.put("zeroStockBatch", convertToPrintInfo(zeroStockBatch)); if(true){ - //throw new RuntimeException("速度测试!"); + appLogManager.saveLog(AcegiHelper.getLoginUser(), "退货模块", Log.TYPE_ADD, "退货成功."); +// throw new RuntimeException("速度测试!"); } return returnMsg; }