Index: ssts-web/src/main/java/com/forgon/disinfectsystem/systemexamination/action/DisposableGoodsStockExaminationAction.java =================================================================== diff -u -r29377 -r29391 --- ssts-web/src/main/java/com/forgon/disinfectsystem/systemexamination/action/DisposableGoodsStockExaminationAction.java (.../DisposableGoodsStockExaminationAction.java) (revision 29377) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/systemexamination/action/DisposableGoodsStockExaminationAction.java (.../DisposableGoodsStockExaminationAction.java) (revision 29391) @@ -78,11 +78,19 @@ @SuppressWarnings("unchecked") public void disposableGoodsStockExamination(){ JSONArray data = new JSONArray(); + int disposableGoodsAmount = 0; + int disposableGoodsBatchAmount = 0; + int disposableGoodsIdentificationAmount = 0; + int type1Amount = 0; + int type2Amount = 0; + int type3Amount = 0; + //一次性物品定义 String disposableGoodsHql = String.format(" po.goodsType = '%s' order by po.sequence ", DisposableGoods.TYPE_DIPOSABLEGOODS); List disposableGoodsList = diposableGoodsManager.getByHql(disposableGoodsHql); if(CollectionUtils.isNotEmpty(disposableGoodsList)){ + disposableGoodsAmount = disposableGoodsList.size(); Map idToDisposableGoodsMap = new LinkedHashMap(); for (DisposableGoods disposableGoods : disposableGoodsList) { idToDisposableGoodsMap.put(disposableGoods.getId(), disposableGoods); @@ -104,30 +112,43 @@ //一次性物品批次 List disposableGoodsBatchList = objectDao.findAllObjects(DisposableGoodsBatch.class.getSimpleName()); Map idToDisposableGoodsBatchMap = new HashMap(); - for (DisposableGoodsBatch disposableGoodsBatch : disposableGoodsBatchList) { - idToDisposableGoodsBatchMap.put(disposableGoodsBatch.getId(), disposableGoodsBatch); + if(CollectionUtils.isNotEmpty(disposableGoodsBatchList)){ + disposableGoodsBatchAmount = disposableGoodsBatchList.size(); + for (DisposableGoodsBatch disposableGoodsBatch : disposableGoodsBatchList) { + idToDisposableGoodsBatchMap.put(disposableGoodsBatch.getId(), disposableGoodsBatch); + } } //一次性物品批次库存 List disposableGoodsBatchStockList = objectDao.findAllObjects(DisposableGoodsBatchStock.class.getSimpleName()); Map> disposableGoodsStockIdToBatchStockMap = new HashMap>(); - for (DisposableGoodsBatchStock disposableGoodsBatchStock : disposableGoodsBatchStockList) { - List list = disposableGoodsStockIdToBatchStockMap.get(disposableGoodsBatchStock.getDisposableGoodsStockId()); - if(list == null){ - list = new ArrayList(); + if(CollectionUtils.isNotEmpty(disposableGoodsBatchStockList)){ + for (DisposableGoodsBatchStock disposableGoodsBatchStock : disposableGoodsBatchStockList) { + List list = disposableGoodsStockIdToBatchStockMap.get(disposableGoodsBatchStock.getDisposableGoodsStockId()); + if(list == null){ + list = new ArrayList(); + } + list.add(disposableGoodsBatchStock); + disposableGoodsStockIdToBatchStockMap.put(disposableGoodsBatchStock.getDisposableGoodsStockId(), list); } - list.add(disposableGoodsBatchStock); - disposableGoodsStockIdToBatchStockMap.put(disposableGoodsBatchStock.getDisposableGoodsStockId(), list); } //一次性物品标识号 List identifications = objectDao.findAllObjects(DisposableGoodsIdentification.class.getSimpleName()); Map> disposableGoodsBatchStockIdToIDMap = new HashMap>(); - for (DisposableGoodsIdentification disposableGoodsIdentification : identifications) { - List list = disposableGoodsBatchStockIdToIDMap.get(disposableGoodsIdentification.getDisposableGoodsStockID()); - if(list == null){ - list = new ArrayList(); + if(CollectionUtils.isNotEmpty(identifications)){ + disposableGoodsIdentificationAmount = identifications.size(); + String sql = String.format("select po, r from %s po left join po.identifications r ", DisposableGoodsBatchStock.class.getSimpleName()); + List resultList = objectDao.findByHql(sql); + for (int i=0; i list = disposableGoodsBatchStockIdToIDMap.get(batchStock.getId()); + if(list == null){ + list = new ArrayList(); + } + list.add(identification); + disposableGoodsBatchStockIdToIDMap.put(batchStock.getId(), list); } - list.add(disposableGoodsIdentification); - disposableGoodsBatchStockIdToIDMap.put(disposableGoodsIdentification.getDisposableGoodsStockID(), list); } // 异常情况1检查 @@ -162,6 +183,7 @@ data1.add(json); } } + type1Amount = data1.size(); } // 异常情况2\异常情况3的检查(异常情况1的一次性物品不检查) @@ -170,6 +192,11 @@ String type = DisposableGoodsStockExaminationAction.NORMAL; List disposableGoodsStockList1 = disposableGoodsIdToStockMap.get(disposableGoods.getId()); type = checkDisposableGoodsStock(disposableGoodsStockList1, disposableGoodsStockIdToBatchStockMap, disposableGoodsBatchStockIdToIDMap); + if(StringUtils.equals(type, STOCKNOTEQUALBATCHSTOCK)){ + type2Amount++; + }else if(StringUtils.equals(type, BATCHSTOCKNOTEQUALIDSTOCK)){ + type3Amount++; + } JSONObject json = bulidDisposableGoodsJson(disposableGoods, disposableGoodsStockList1, type, disposableGoodsStockIdToBatchStockMap, disposableGoodsBatchStockIdToIDMap); if(json != null){ data.add(json); @@ -178,6 +205,14 @@ data.addAll(data1); } JSONObject result = JSONUtil.buildJsonObject(true, data); + result.put("disposableGoodsAmount", disposableGoodsAmount); + result.put("disposableGoodsBatchAmount", disposableGoodsBatchAmount); + result.put("disposableGoodsIdentificationAmount", disposableGoodsIdentificationAmount); + + result.put("type1Amount", type1Amount); + result.put("type2Amount", type2Amount); + result.put("type3Amount", type3Amount); + result.put("typeAmount", type1Amount+type2Amount+type3Amount); StrutsResponseUtils.output(result); }