Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java =================================================================== diff -u -r12769 -r12913 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java (.../GodownEntryTableManager.java) (revision 12769) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/GodownEntryTableManager.java (.../GodownEntryTableManager.java) (revision 12913) @@ -2,14 +2,19 @@ import java.util.List; import java.util.Map; +import java.util.Set; +import java.util.stream.Collectors; import org.apache.commons.lang.StringUtils; import com.forgon.component.grid.GridManager; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.disinfectsystem.basedatamanager.warehouse.service.WareHouseManager; import com.forgon.disinfectsystem.diposablegoods.service.DiposableGoodsManager; import com.forgon.disinfectsystem.entity.assestmanagement.GodownEntry; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.vo.PriceAmount; +import com.forgon.tools.util.SqlUtils; public class GodownEntryTableManager { @@ -18,6 +23,8 @@ private DateQueryAdapter dateQueryAdapter; private DiposableGoodsManager diposableGoodsManager; + + private WareHouseManager wareHouseManager; public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { this.dateQueryAdapter = dateQueryAdapter; @@ -31,7 +38,23 @@ DiposableGoodsManager diposableGoodsManager) { this.diposableGoodsManager = diposableGoodsManager; } + 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 @@ -80,7 +103,7 @@ endDate += " 23:59:59"; sql += " and po.time <= " + dateQueryAdapter.dateAdapter(endDate); } - + sql += " and " + getCurrentUserTableConditionSql(); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" }); @@ -96,6 +119,7 @@ Map> parameterMap) { String sql = "where po.type='" + GodownEntry.TYPE_OUT + "' and (po.sourceId is null or po.sourceId = 0)"; + sql += " and " + getCurrentUserTableConditionSql(); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" }); @@ -108,6 +132,7 @@ public String findAppropriationTableList( Map> parameterMap){ String sql = "where po.type='" + GodownEntry.TYPE_APPROPRIATE + "'"; + sql += " and " + getCurrentUserTableConditionSql(); return gridManager.renderGrid(parameterMap, GodownEntry.class.getSimpleName(), sql, new String[] { "itemsList" });