Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r36327 -r36329 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 36327) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 36329) @@ -655,7 +655,7 @@ sqls.append("update TaskGroup set departName = '" + newOrgName + "' where departCode = '" + orgCoding + "';"); //WareHouse(仓库) - sqls.append("update WareHouse set orgUnitName = '" + newOrgName + "', name = '" + oldOrgName + "+仓库' where orgUnitCode = '" + orgCoding + "';"); + sqls.append("update WareHouse set orgUnitName = '" + newOrgName + "', name = '" + newOrgName + "仓库' where orgUnitCode = '" + orgCoding + "';"); //器械包信息模块的所属仓库也要联动修改(HZSRMYY-51) //sqls.append("update TousseInstance set wareHouseName = (select name from WareHouse where WareHouse.id = TousseInstance.wareHouseId) where wareHouseId in (select id from WareHouse where orgUnitCode = '" + orgCoding + "');"); Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r36327 -r36329 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 36327) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 36329) @@ -92,6 +92,7 @@ import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ForgonDateUtils; +import com.forgon.tools.util.SqlUtils; import com.google.common.collect.Maps; /** @@ -715,26 +716,28 @@ endIndex = rowCount; } + String containerName = getContainerNameByBasketBarcode(basketBarcode); List baskets = reviewedBasketManager.getReviewedBasketsByBasketBarcode(basketBarcode, pageNow, pageSize); boolean flag = true; if(baskets != null){ + List basketTousseInstanceList = getBasketTousseInstanceList(baskets); + Map> basketTousseInstanceMap = getBasketTousseInstanceMap(basketTousseInstanceList); + Map departCodeAndNameMap = tousseInstanceManager.loadDepartCodeAndNameMap(basketTousseInstanceList); for (ReviewedBasket basket : baskets) { - String sql = "where po.reviewBasket_id = " + basket.getId(); - List instances = tousseInstanceManager.getTousseInstanceBySql(sql); + List instances = basketTousseInstanceMap.get(basket.getId()); int totalAmount = 0; if(instances != null){ totalAmount = instances.size(); } JSONObject basketObj = new JSONObject(); - basketObj.put("objName", getContainerNameByBasketBarcode(basketBarcode)); + basketObj.put("objName", containerName); basketObj.put("amount", totalAmount); basketObj.put("objBarcode", basketBarcode); basketObj.put("leaf", false); JSONArray children = new JSONArray(); if(instances != null){ - Map departCodeAndNameMap = tousseInstanceManager.loadDepartCodeAndNameMap(instances); for (TousseInstance instance : instances) { JSONObject obj = new JSONObject(); @@ -769,6 +772,46 @@ } /** + * 根据篮筐查询器械包实例 + * @param baskets + * @return + */ + private List getBasketTousseInstanceList(List baskets) { + List basketTousseInstanceList = new ArrayList(); + if(CollectionUtils.isEmpty(baskets)){ + return basketTousseInstanceList; + } + List reviewedBasketIdList = new ArrayList(); + for (ReviewedBasket reviewedBasket : baskets) { + reviewedBasketIdList.add(reviewedBasket.getId()); + } + String sql = "where " + SqlUtils.getNonStringFieldInLargeCollectionsPredicate("po.reviewBasket_id", reviewedBasketIdList); + return tousseInstanceManager.getTousseInstanceBySql(sql); + } + + /** + * 篮筐id和器械包实例的map + * @param basketTousseInstanceList + * @return + */ + private Map> getBasketTousseInstanceMap(List basketTousseInstanceList) { + Map> basketTousseInstanceMap = new HashMap>(); + if(CollectionUtils.isEmpty(basketTousseInstanceList)){ + return basketTousseInstanceMap; + } + for (TousseInstance tousseInstance : basketTousseInstanceList) { + Long reviewBasket_id = tousseInstance.getReviewBasket_id(); + List tousseInstanceList = basketTousseInstanceMap.get(reviewBasket_id); + if(tousseInstanceList == null){ + tousseInstanceList = new ArrayList(); + } + tousseInstanceList.add(tousseInstance); + basketTousseInstanceMap.put(reviewBasket_id, tousseInstanceList); + } + return basketTousseInstanceMap; + } + + /** * @param basketBarcode * 2014-7-9 * forgonvoid