Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java =================================================================== diff -u -r30434 -r30720 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 30434) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/action/DiposableGoodsAction.java (.../DiposableGoodsAction.java) (revision 30720) @@ -1611,20 +1611,18 @@ List idList = Arrays.asList(idArr); if(CollectionUtils.isNotEmpty(idList)){ try { - List DisposableGoodsBatchStocks = diposableGoodsManager.getExpdateDisposableGoodsBatchStocksByIdList(idList, expdateType); - 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); - } + List list = diposableGoodsManager.getExpdateDisposableGoodsBatchStocksByIdList(idList, expdateType, currentOrgunitCode); + JSONArray jsonArr = new JSONArray(); + if(CollectionUtils.isNotEmpty(list)){ + for (DisposableGoodsBatchStock stock : list) { + stock.setIdentifications(null); + stock.getDiposableGoods().setGoodsBatchs(null); + JSONObject obj = JSONObject.fromObject(stock); + obj.put("expDate", stock.getExpDateStr()); + jsonArr.add(obj); } } - JSONArray jsonArr = JSONUtil.toJSONArray(list); JSONObject itemsList = new JSONObject(); itemsList.put("itemsList", jsonArr); JSONObject jsonObj = JSONUtil.buildJsonObject(true, itemsList); Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java =================================================================== diff -u -r30519 -r30720 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 30519) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManagerImpl.java (.../DiposableGoodsManagerImpl.java) (revision 30720) @@ -3334,17 +3334,20 @@ @Override public List getExpdateDisposableGoodsBatchStocksByIdList( - List idList, String expdateType) { + List idList, String expdateType, String currentOrgUnitCode) { if(CollectionUtils.isEmpty(idList)){ return null; } + if(StringUtils.isBlank(currentOrgUnitCode)){ + currentOrgUnitCode = AcegiHelper.getCurrentOrgUnitCode(); + } Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.add(Calendar.DAY_OF_YEAR, 30);// 默认告警日期为30天 String warningDate = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime()); String currentDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date()); //sql语句 - String sql = String.format(" where po.storage > 0 and %s ",SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.disposableGoodsId", idList)); + String sql = String.format(" where po.warehouseID in (select id from "+ WareHouse.class.getSimpleName() +" where orgUnitCode='" + currentOrgUnitCode + "') and po.storage > 0 and %s ",SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.disposableGoodsId", idList)); switch (expdateType) { case SystemWarningItemVO.WARNING_TYPE_DIPOSABLEGOODS: sql += " and po.expDate between " Index: ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java =================================================================== diff -u -r29375 -r30720 --- ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 29375) +++ ssts-diposablegoods/src/main/java/com/forgon/disinfectsystem/diposablegoods/service/DiposableGoodsManager.java (.../DiposableGoodsManager.java) (revision 30720) @@ -342,10 +342,11 @@ * 根据一次性物品id获取多个物品的批次库存信息 * @param idList * @param expdateType + * @param currentOrgunitCode * @return */ public List getExpdateDisposableGoodsBatchStocksByIdList( - List idList, String expdateType); + List idList, String expdateType, String currentOrgunitCode); /** * 根据一次性物品定义和发货状态查找发货单(GDSZYY-15)