Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java =================================================================== diff -u -r26212 -r26275 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 26212) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/dwr/table/DiposableGoodsTableManager.java (.../DiposableGoodsTableManager.java) (revision 26275) @@ -40,6 +40,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.datasynchronization.HisMaterialType; import com.forgon.disinfectsystem.entity.basedatamanager.supplier.Certificate; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; +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; @@ -273,7 +274,7 @@ Map sqlWhereParamMap = gridManager .getParamFromView(parameterMap); String type = sqlWhereParamMap.get("type"); - String sql = "where 1=1 and po.storage > 0"; + String sql = "where warehouseID in (select id from "+ WareHouse.class.getSimpleName() +" where orgUnitCode='"+ AcegiHelper.getCurrentOrgUnitCode() +"') and po.storage > 0"; // 默认告警日期为30天 Integer disposableGoodsWarningDate = 30; @@ -321,6 +322,7 @@ JSONObject obj = JSONObject.fromObject(json); //获得rows的json数组 net.sf.json.JSONArray rows = obj.optJSONArray("rows"); + String currentOrgunitCode = AcegiHelper.getCurrentOrgUnitCode(); for (Object object : rows) { JSONObject jsonObj = (JSONObject) object; //获得rows中的diposableGoods json对象 @@ -329,7 +331,14 @@ List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocks(Long.valueOf(disposableGoodsId), expdateType); int expDateAmount = 0; for (DisposableGoodsBatchStock disposableGoodsBatchStock : DisposableGoodsBatchStocks) { - expDateAmount += disposableGoodsBatchStock.getStorage(); + //只有同科室下的仓库的库存才能相加 + if(DatabaseUtil.isPoIdValid(disposableGoodsBatchStock.getWarehouseID())){ + WareHouse warehouse = + wareHouseManager.getWareHouseById(disposableGoodsBatchStock.getWarehouseID()); + if(warehouse != null && StringUtils.equals(warehouse.getOrgUnitCode(), currentOrgunitCode)){ + expDateAmount += disposableGoodsBatchStock.getStorage(); + } + } } //校正总数 diposableGoods.put("amount", expDateAmount); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r26032 -r26275 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 26032) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 26275) @@ -1499,7 +1499,19 @@ if (StringUtils.isNotBlank(disposableGoodsID) && disposableGoodsID.equals("0") == false) {// 初始化加载的数据 try { List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocks(Long.valueOf(disposableGoodsID), expdateType); - String jsonString = JSONUtil.toJSONString(DisposableGoodsBatchStocks, true); + List list = new ArrayList(); + String currentOrgunitCode = AcegiHelper.getCurrentOrgUnitCode(); + for (DisposableGoodsBatchStock disposableGoodsBatchStock : DisposableGoodsBatchStocks) { + //只有同科室下的仓库的库存才能相加 + if(DatabaseUtil.isPoIdValid(disposableGoodsBatchStock.getWarehouseID())){ + WareHouse warehouse = + wareHouseManager.getWareHouseById(disposableGoodsBatchStock.getWarehouseID()); + if(warehouse != null && StringUtils.equals(warehouse.getOrgUnitCode(), currentOrgunitCode)){ + list.add(disposableGoodsBatchStock); + } + } + } + String jsonString = JSONUtil.toJSONString(list, true); StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); StrutsParamUtils.getResponse().getWriter().println(jsonString); } catch (Exception e) { @@ -1524,8 +1536,16 @@ } List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocks(Long.valueOf(id), expdateType); int expDateAmount = 0; + String currentOrgunitCode = AcegiHelper.getCurrentOrgUnitCode(); for (DisposableGoodsBatchStock disposableGoodsBatchStock : DisposableGoodsBatchStocks) { - expDateAmount += disposableGoodsBatchStock.getStorage(); + //只有同科室下的仓库的库存才能相加 + if(DatabaseUtil.isPoIdValid(disposableGoodsBatchStock.getWarehouseID())){ + WareHouse warehouse = + wareHouseManager.getWareHouseById(disposableGoodsBatchStock.getWarehouseID()); + if(warehouse != null && StringUtils.equals(warehouse.getOrgUnitCode(), currentOrgunitCode)){ + expDateAmount += disposableGoodsBatchStock.getStorage(); + } + } } Map data = new HashMap(); data.put("id", diposableGoods.getId()); Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java =================================================================== diff -u -r26204 -r26275 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 26204) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemwarning/service/SystemWarningManagerImpl.java (.../SystemWarningManagerImpl.java) (revision 26275) @@ -32,6 +32,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.supplier.Supplier; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.disinfectsystem.entity.recall.RecallRecord; import com.forgon.disinfectsystem.entity.recall.RecallRecordItem; import com.forgon.disinfectsystem.entity.systemwarning.SystemWarningItemVO; @@ -138,7 +139,8 @@ String warningDate = simpleDateFormat.format(calendar.getTime()); // 一级供应室才能看到 if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM) { - String sql = " where po.storage > 0 and po.expDate between " + String sql = " where warehouseID in (select id from "+ WareHouse.class.getSimpleName() +" where orgUnitCode='"+ AcegiHelper.getCurrentOrgUnitCode() +"') " + + " and po.storage > 0 and po.expDate between " + dateQueryAdapter.dateAdapter(currentDate) + " and " + dateQueryAdapter.dateAdapter(warningDate); int goodsAmount = objectDao.countObjectBySql(DisposableGoodsBatchStock.class.getSimpleName(),sql); @@ -156,8 +158,8 @@ // 只有一级供应室才能看到 if (supplyRoomType == SupplyRoomConfig.SUPPLYROOM_TYPE_FIRST_SUPPLYROOM) { String date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); - String sql = " where po.storage > 0 and po.expDate < " - + dateQueryAdapter.dateAdapter(date); + String sql = " where warehouseID in (select id from "+ WareHouse.class.getSimpleName() +" where orgUnitCode='"+ AcegiHelper.getCurrentOrgUnitCode() +"') " + + " and po.storage > 0 and po.expDate < " + dateQueryAdapter.dateAdapter(date); int goodsAmount = objectDao.countObjectBySql(DisposableGoodsBatchStock.class.getSimpleName(),sql); return goodsAmount; }