Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java =================================================================== diff -u -r12880 -r12914 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12880) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12914) @@ -6,6 +6,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -371,4 +373,13 @@ } return null; } + + @Override + public Set getCurrentUserOrgUnitWarehouseIds() { + List warehouseList = getWareHouseListByCurrentOrgUnit(); + if(warehouseList != null && !warehouseList.isEmpty()){ + return warehouseList.stream().map(warehouse->warehouse.getId()).collect(Collectors.toSet()); + } + return null; + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java =================================================================== diff -u -r12880 -r12914 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12880) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12914) @@ -5,11 +5,14 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import net.sf.json.JSONObject; import com.forgon.directory.model.OrgUnit; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; +import com.forgon.tools.util.SqlUtils; /** * 仓库manager接口 @@ -103,4 +106,10 @@ * @return */ public JSONObject getCssdWareHouse(); + /** + * 获取登录用户当前科室下所有仓库的id + * @param sql + * @return + */ + public Set getCurrentUserOrgUnitWarehouseIds(); } Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java =================================================================== diff -u -r12912 -r12914 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 12912) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 12914) @@ -6,8 +6,6 @@ import java.util.Date; import java.util.List; import java.util.Map; -import java.util.Set; -import java.util.stream.Collectors; import org.apache.commons.lang.StringUtils; import org.directwebremoting.util.Logger; @@ -24,7 +22,6 @@ import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoodsStock; import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialType; -import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; import com.forgon.systemsetting.model.HttpOption; import com.forgon.systemsetting.service.HttpOptionManager; @@ -101,16 +98,12 @@ } else { sql += " and 1=1"; } - List warehouseList = wareHouseManager.getWareHouseListByCurrentOrgUnit(); - if(warehouseList != null && !warehouseList.isEmpty()){ - Set warehouseIds = warehouseList.stream().map(warehouse->warehouse.getId()).collect(Collectors.toSet()); - sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", warehouseIds); - } + sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); return gridManager.renderGrid(parameterMap, DisposableGoodsStock.class.getSimpleName(), sql, new String[] { "goodsBatchs" }); } - + public String findDisposableGoodsTableList( Map> parameterMap) { Map sqlWhereParamMap = gridManager Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java =================================================================== diff -u -r12913 -r12914 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java (.../GodownEntryTableManager.java) (revision 12913) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java (.../GodownEntryTableManager.java) (revision 12914) @@ -41,20 +41,7 @@ public void setWareHouseManager(WareHouseManager wareHouseManager) { this.wareHouseManager = wareHouseManager; } - /** - * 获取当前用户入\退库单及调拨单的过滤条件。如只能看自己科室下的仓库中的单据的过滤条件 - * @return - */ - private String getCurrentUserTableConditionSql(){ - List warehouseList = wareHouseManager.getWareHouseListByCurrentOrgUnit(); - Set warehouseIds = null; - if(warehouseList != null && !warehouseList.isEmpty()){ - warehouseIds = warehouseList.stream().map(warehouse->warehouse.getId()).collect(Collectors.toSet()); - } - return SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", warehouseIds); - } - /** * 入库单 * * @param parameterMap @@ -103,7 +90,7 @@ endDate += " 23:59:59"; sql += " and po.time <= " + dateQueryAdapter.dateAdapter(endDate); } - sql += " and " + getCurrentUserTableConditionSql(); + sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" }); @@ -119,7 +106,7 @@ Map> parameterMap) { String sql = "where po.type='" + GodownEntry.TYPE_OUT + "' and (po.sourceId is null or po.sourceId = 0)"; - sql += " and " + getCurrentUserTableConditionSql(); + sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" }); @@ -132,7 +119,7 @@ public String findAppropriationTableList( Map> parameterMap){ String sql = "where po.type='" + GodownEntry.TYPE_APPROPRIATE + "'"; - sql += " and " + getCurrentUserTableConditionSql(); + sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.warehouseID", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" }); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/dwr/table/StockTakeInfoTableManager.java =================================================================== diff -u -r12331 -r12914 --- ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/dwr/table/StockTakeInfoTableManager.java (.../StockTakeInfoTableManager.java) (revision 12331) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/stocktakemanager/dwr/table/StockTakeInfoTableManager.java (.../StockTakeInfoTableManager.java) (revision 12914) @@ -7,7 +7,9 @@ import java.util.Map; import com.forgon.component.grid.GridManager; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.entity.stocktakemanager.StockTakeInfo; +import com.forgon.tools.util.SqlUtils; /** * @author qjw @@ -17,16 +19,21 @@ public class StockTakeInfoTableManager { private GridManager gridManager; + private WareHouseManager wareHouseManager; public void setGridManager(GridManager gridManager) { this.gridManager = gridManager; } - + + public void setWareHouseManager(WareHouseManager wareHouseManager) { + this.wareHouseManager = wareHouseManager; + } + public String findStockTakeInfoList(Map> parameterListMap){ Map parameterMap = gridManager.getParamFromView(parameterListMap); String type = parameterMap.get("type"); String sql = "where po.type = '" + type + "'"; - + sql += " and " + SqlUtils.getNonStringFieldInCollectionsPredicate("po.wareHouseId", wareHouseManager.getCurrentUserOrgUnitWarehouseIds()); return gridManager.renderGrid(parameterListMap, StockTakeInfo.class.getSimpleName(), sql, new String[]{"stockTakeItems"}); } }