Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r35255 -r35359 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 35255) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 35359) @@ -3364,16 +3364,18 @@ //类型为高值耗材的不处理 if(DatabaseUtil.isSqlServer(dbConnection.getDatabase())){ sql = String.format("select dgs.id disposableGoodsStockId,dg.ttsName,dg.name showTousseName,dg.id,dg.applicationSpecification,dg.specification,dg.barcode,dg.referencePrice,dgs.amount,%s storage from %s dg " - + " join %s dgs on dg.id=dgs.disposableGoodsID" - + " where dg.goodsType='%s' and dgs.warehouseID= %s and %s ",queryValidBatchStorage + + " left join %s dgs on dg.id=dgs.disposableGoodsID and dgs.warehouseID=" + + wareHouseId + + " where dg.goodsType='%s' and %s ",queryValidBatchStorage , DisposableGoods.class.getSimpleName(),DisposableGoodsStock.class.getSimpleName(),DisposableGoods.TYPE_DIPOSABLEGOODS - ,wareHouseId,SqlUtils.getStringFieldInLargeCollectionsPredicate("dg.id", amountAndIdsMap.keySet()));; + ,SqlUtils.getStringFieldInLargeCollectionsPredicate("dg.id", amountAndIdsMap.keySet()));; }else if(DatabaseUtil.isOracle(dbConnection.getDatabase())){ sql = String.format("select dgs.id disposableGoodsStockId,dg.ttsName,dg.applicationSpecification,dg.specification,dg.name showTousseName,dg.id,dg.barcode,dg.referencePrice,(case when dg.specification is null then dg.name else dg.name || '[' || dg.specification || ']' end) name,dgs.amount,%s storage from %s dg " - + " join %s dgs on dg.id=dgs.disposableGoodsID" - + " where dg.goodsType='%s' and dgs.warehouseID= %s and %s ",queryValidBatchStorage + + " left join %s dgs on dg.id=dgs.disposableGoodsID and dgs.warehouseID=" + + wareHouseId + + " where dg.goodsType='%s' and %s ",queryValidBatchStorage , DisposableGoods.class.getSimpleName(),DisposableGoodsStock.class.getSimpleName(),DisposableGoods.TYPE_DIPOSABLEGOODS - ,wareHouseId,SqlUtils.getStringFieldInLargeCollectionsPredicate("dg.id", amountAndIdsMap.keySet()));; + ,SqlUtils.getStringFieldInLargeCollectionsPredicate("dg.id", amountAndIdsMap.keySet()));; } ResultSet rs = null; JSONArray objArray = new JSONArray();