Index: ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java =================================================================== diff -u -r12728 -r12928 --- ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java (.../StockTakeRecordManagerImpl.java) (revision 12728) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/service/StockTakeRecordManagerImpl.java (.../StockTakeRecordManagerImpl.java) (revision 12928) @@ -140,20 +140,9 @@ if(StringUtils.isNotBlank(id)){ StockTakeRecord record = (StockTakeRecord)objectDao.getByProperty(StockTakeRecord.class.getSimpleName(), "id", Long.valueOf(id)); StockTakeRecord lastRecord = null; - if(record!=null && StringUtils.isNotBlank(record.getStockYearMonth())){ - Calendar calendar = Calendar.getInstance(); - try { - calendar.setTime(new SimpleDateFormat("yyyy-MM").parse(record.getStockYearMonth())); - } catch (ParseException e) { - e.printStackTrace(); - } - calendar.add(Calendar.MONTH, -1); - String date = new SimpleDateFormat("yyyy-MM").format(calendar.getTime()); - String sql = " where po.stockYearMonth = '"+date+"'"; - List recordList = getStockTakeRecordBySql(sql); - if(recordList != null && recordList.size() > 0 ){ - lastRecord = recordList.get(0); - } + if(record != null){ + String sql = "where po.warehouseId = " + record.getWarehouseId() + " and id < " + record.getId() + " order by id desc"; + lastRecord = (StockTakeRecord)objectDao.getBySql(StockTakeRecord.class.getSimpleName(), sql); } createGoodsDetail(record,lastRecord,ops); } @@ -717,12 +706,14 @@ godownEntrySql = " where po.diposableGoods.name = '"+goods.getName() +"' and po.diposableGoods.specification is null and " + "po.godownEntry.time between " + startDate + " and " + endDate + " " + - " and po.godownEntry.type ='"+GodownEntry.TYPE_IN+"'"; + " and po.godownEntry.type ='"+GodownEntry.TYPE_IN+"' and po.godownEntry.warehouseID = " + + currentRecord.getWarehouseId(); }else{ godownEntrySql = " where po.diposableGoods.name = '"+goods.getName() +"' and po.diposableGoods.specification = '"+goods.getSpecification()+"' and " + "po.godownEntry.time between " + startDate + " and " + endDate + " " + - " and po.godownEntry.type ='"+GodownEntry.TYPE_IN+"'"; + " and po.godownEntry.type ='"+GodownEntry.TYPE_IN+"' and po.godownEntry.warehouseID = " + + currentRecord.getWarehouseId(); } List entryItems = getGodownEntryItemBySql(godownEntrySql); Long amount = 0L; @@ -740,12 +731,14 @@ godownEntryOutSql = " where po.diposableGoods.name = '"+goods.getName() +"' and po.diposableGoods.specification is null and " + "po.godownEntry.time between " + startDate + " and " + endDate + " " + - " and po.godownEntry.type ='"+GodownEntry.TYPE_OUT+"'"; + " and po.godownEntry.type ='"+GodownEntry.TYPE_OUT+"' and po.godownEntry.warehouseID = " + + currentRecord.getWarehouseId(); }else{ godownEntryOutSql = " where po.diposableGoods.name = '"+goods.getName() +"' and po.diposableGoods.specification = '"+goods.getSpecification()+"' and " + "po.godownEntry.time between " + startDate + " and " + endDate + " " + - " and po.godownEntry.type ='"+GodownEntry.TYPE_OUT+"'"; + " and po.godownEntry.type ='"+GodownEntry.TYPE_OUT+"' and po.godownEntry.warehouseID = " + + currentRecord.getWarehouseId(); } List entryOutItems = getGodownEntryItemBySql(godownEntryOutSql); for (GodownEntryItem godownEntryItem : entryOutItems) { Index: ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/dwr/table/StockTakeRecordTableManager.java =================================================================== diff -u -r12331 -r12928 --- ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/dwr/table/StockTakeRecordTableManager.java (.../StockTakeRecordTableManager.java) (revision 12331) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakerecordmanager/dwr/table/StockTakeRecordTableManager.java (.../StockTakeRecordTableManager.java) (revision 12928) @@ -3,13 +3,13 @@ */ package com.forgon.disinfectsystem.stocktakerecordmanager.dwr.table; -import java.io.OutputStream; import java.util.List; import java.util.Map; - import org.apache.commons.lang.StringUtils; - import com.forgon.component.grid.GridManager; +import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.stocktakerecordmanager.StockTakeRecord; import com.forgon.disinfectsystem.stocktakerecordmanager.service.StockTakeRecordManager; @@ -23,6 +23,12 @@ private GridManager gridManager; private StockTakeRecordManager stockTakeRecordManager; + + private WareHouseManager wareHouseManager; + + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } public void setStockTakeRecordManager( StockTakeRecordManager stockTakeRecordManager) { @@ -35,8 +41,11 @@ public String findStockTakeRecordList( Map> parameterListMap) { + String orgUnitCode = AcegiHelper.getLoginUser().getOrgUnitCodingFromSupplyRoomConfig(); + WareHouse warehouse = wareHouseManager.getDefaultWareHouseByUnitCode(orgUnitCode); + String sql = "where po.warehouseId = " + warehouse.getId(); return gridManager.renderGrid(parameterListMap, - StockTakeRecord.class.getSimpleName(), "", + StockTakeRecord.class.getSimpleName(), sql, new String[] { "diposableGoods" }); }