Index: ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java =================================================================== diff -u -r12928 -r12970 --- ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java (.../StockTakeRecordManagerImpl.java) (revision 12928) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java (.../StockTakeRecordManagerImpl.java) (revision 12970) @@ -33,13 +33,15 @@ import com.forgon.directory.model.OrgUnit; import com.forgon.directory.service.OrgUnitManager; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsBatchStock; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntryItem; import com.forgon.disinfectsystem.entity.assestmanagement.IdentificationOfDisposableGoods; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.receiverecord.ReceiveRecord; import com.forgon.disinfectsystem.entity.receiverecord.ReceiveRecordItem; import com.forgon.disinfectsystem.entity.stocktakerecordmanager.MonthGoodsDetailVo; @@ -83,6 +85,12 @@ private SettlementWriteBackManager settlementWriteBackManager; + private WareHouseManager wareHouseManager; + + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + public void setSettlementWriteBackManager( SettlementWriteBackManager settlementWriteBackManager) { this.settlementWriteBackManager = settlementWriteBackManager; @@ -176,16 +184,19 @@ for (int i = 0; i < types.size(); i++) { typeMap.put(types.get(i), i); } + String orgUnitCoding = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); + WareHouse warehouse = wareHouseManager.getDefaultWareHouseByUnitCode(orgUnitCoding); //一个月只能一条数据 - String replaceSql = " where po.stockYearMonth = '"+month+"'"; + String replaceSql = " where po.stockYearMonth = '" + month + "' and po.warehouseId = "+warehouse.getId(); List records = getStockTakeRecordBySql(replaceSql); if(records != null && records.size() > 0){ for (StockTakeRecord stockTakeRecord : records) { objectDao.delete(stockTakeRecord); } } + @SuppressWarnings("unchecked") - List diposableGoodsStockList = objectDao.findBySql(DisposableGoodsStock.class.getSimpleName(), " order by po.externalCode asc"); + List diposableGoodsStockList = objectDao.findBySql(DisposableGoodsStock.class.getSimpleName(), " where po.warehouseID = "+warehouse.getId()+" order by po.externalCode asc"); int totalAmount = 0; double totalPrice = 0.00; if(diposableGoodsStockList != null && diposableGoodsStockList.size() > 0){ @@ -257,6 +268,7 @@ record.setAmount(Long.valueOf(totalAmount)); record.setTotalPrice(totalPrice); record.setDiposableGoods(list); + record.setWarehouseId(warehouse.getId()); objectDao.saveOrUpdate(record); if (ops != null){