Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r13537 -r13551 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13537) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 13551) @@ -1808,6 +1808,13 @@ SqlUtils.getStringFieldPredicate("po.status", ExpensiveDisposablegoods.STATUS_IN_WAREHOUSE)); return objectDao.findBySql(ExpensiveDisposablegoods.class.getSimpleName(),sql); } + public List getCurrentUserOrgUnitWarehouseExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId){ + String sql = String + .format(" where %s and %s and %s ",SqlUtils.getLongFieldPredicate("po.disposableGoodsID", disposableGoodsId), + SqlUtils.getStringFieldPredicate("po.status", ExpensiveDisposablegoods.STATUS_IN_WAREHOUSE), + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds())); + return objectDao.findBySql(ExpensiveDisposablegoods.class.getSimpleName(),sql); + } // 在新的事务中执行删除。 public void deleteDiposableGoodsById_TRANS_NEW(String id) { // TODO Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r13533 -r13551 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13533) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 13551) @@ -272,7 +272,7 @@ } List disposableGoodsBatchStockList = diposableGoodBatchStockManager - .getDisposableGoodsBatchStockByDisposableGoodsId(disposableGoods.getId().toString(), false); + .getCurrentUserOrgUnitWarehouseDisposableGoodsBatchStockByDisposableGoodsId(disposableGoods.getId().toString(), false); if (disposableGoodsBatchStockList == null) { continue; } @@ -324,7 +324,7 @@ if(disposableGoodsList != null){ for (DisposableGoods disposableGoods : disposableGoodsList) { if(disposableGoods.expensiveDiposablegoods()){// 高值耗材的打印 - List expensiveDisposablegoodsList = diposableGoodsManager.getExpensivediposablegoodsByDisposableGoodsId(disposableGoods.getId()); + List expensiveDisposablegoodsList = diposableGoodsManager.getCurrentUserOrgUnitWarehouseExpensivediposablegoodsByDisposableGoodsId(disposableGoods.getId()); if(expensiveDisposablegoodsList == null){ continue; } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r13519 -r13551 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 13519) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 13551) @@ -127,6 +127,7 @@ public List getExpensivediposablegoodsByDisposableGoodsBatchStockId(Long disposableGoodsBatchStockId); public List getExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId); + public List getCurrentUserOrgUnitWarehouseExpensivediposablegoodsByDisposableGoodsId(Long disposableGoodsId); // 在新的事务中执行删除。 public void deleteDiposableGoodsById_TRANS_NEW(String id); // 获取批次的可以退库的价格数量 Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java =================================================================== diff -u -r13424 -r13551 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 13424) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManager.java (.../DiposableGoodBatchStockManager.java) (revision 13551) @@ -44,6 +44,9 @@ public List getDisposableGoodsBatchStockByDisposableGoodsId( String disposableGoodsId, boolean selectAll); + + public List getCurrentUserOrgUnitWarehouseDisposableGoodsBatchStockByDisposableGoodsId( + String disposableGoodsId, boolean selectAll); /** * 根据一次性物品id查找一次性物品的批次库存 * @param id 一次性物品的id Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java =================================================================== diff -u -r13528 -r13551 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java (.../DiposableGoodBatchStockManagerImpl.java) (revision 13528) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodBatchStockManagerImpl.java (.../DiposableGoodBatchStockManagerImpl.java) (revision 13551) @@ -16,10 +16,11 @@ import com.forgon.databaseadapter.service.DateQueryAdapter; import com.forgon.disinfectsystem.barcode.service.BarcodeManager; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; -import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsIdentification; +import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.vo.DiposableGoodsStorageVo; import com.forgon.serialnumber.service.SerialNumManager; import com.forgon.tools.db.DatabaseUtil; @@ -51,10 +52,16 @@ private InitDbConnection dbConnection; + private WareHouseManager wareHouseManager; + public void setDbConnection(InitDbConnection dbConnection) { this.dbConnection = dbConnection; } + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + public void setSerialNumManager(SerialNumManager serialNumManager) { this.serialNumManager = serialNumManager; } @@ -197,6 +204,19 @@ String disposableGoodsId, boolean selectAll) { return getDisposableGoodsBatchStockByDisposableGoodsId(disposableGoodsId,null,selectAll); } + public List getCurrentUserOrgUnitWarehouseDisposableGoodsBatchStockByDisposableGoodsId( + String disposableGoodsId, boolean selectAll){ + if(StringUtils.isBlank(disposableGoodsId)){ + return null; + } + String sql = String.format(" where %s and %s ",SqlUtils.getNonStringFieldPredicate("po.disposableGoodsId", disposableGoodsId), + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds())); + if (!selectAll) { + sql += " and po.storage > 0"; + } + return objectDao.findBySql( + DisposableGoodsBatchStock.class.getSimpleName(), sql); + } @SuppressWarnings("unchecked") @Override public List getDisposableGoodsBatchStockByDisposableGoodsId(