Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r14574 -r14575 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14574) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 14575) @@ -531,7 +531,7 @@ } private void setClassifyBaskets(JSONArray tousseJson, - Map tdMap, RecyclingRecord record) { + Map tdMap, RecyclingRecord record,Map containerMap) { List baskets = record.getClassifyBaskets(); if(baskets == null){ @@ -561,7 +561,7 @@ if (basket == null) { basket = new ClassifyBasket(); basket.setContainerBarcode(basketBarcode); - Container container = containerManager.getContainerByBarcode(basketBarcode); + Container container = getContainerByBarcode(containerMap, basketBarcode); if(container == null){ throw new RuntimeException(basketBarcode+",未找到相应的篮筐!"); } @@ -712,7 +712,9 @@ @Override public void saveOrUpdate(RecyclingRecord record,JSONObject params) { + Map idToTDMap = new HashMap(); + Map containerMap = new HashMap(); //放入篮筐的物品 JSONArray basketItemJson = params.getJSONArray("tousseJson"); //未入篮筐删掉的物品 @@ -742,13 +744,13 @@ updateInvoicePlan(record, tousseItemJson, deleteTousseItems, idToTDMap, errors, damages, basketItemJson, urgentTousseItems,isForeignTousseApplication); //设置篮筐及篮筐内物品 - setClassifyBaskets(basketItemJson,idToTDMap,record); + setClassifyBaskets(basketItemJson,idToTDMap,record,containerMap); //设置回收物品 setRecylingItems(record, tousseItemJson,idToTDMap,urgentTousseItems); //设置回收误差、器械报损 setErrorAndDamage(record,errors,damages,confirmation); //设置装配任务 - setPackingTask(record,tousseItemJson,idToTDMap,confirmation,urgentTousseItems,isForeignTousseApplication); + setPackingTask(record,tousseItemJson,idToTDMap,confirmation,urgentTousseItems,isForeignTousseApplication,containerMap); //更新借物单状态 updateBorrowApplication(record,tousseItemJson); // 更新科室二级库存 @@ -904,7 +906,7 @@ private void setPackingTask(RecyclingRecord recyclingRecord, List itemJsonList, Map idToTDMap, boolean confirmation, - JSONArray urgentTousseItems,boolean isForeignTousseApplication) { + JSONArray urgentTousseItems,boolean isForeignTousseApplication,Map containerBarcodeMap) { if(isForeignTousseApplication){ InvoicePlan invoicePlan = recyclingRecord.getRecyclingApplication(); @@ -914,7 +916,6 @@ } } } - Map containerMap = new HashMap(); for (JSONObject json : itemJsonList) { @@ -931,7 +932,7 @@ String basketName = ""; if(barcodeArray.length > 0){ for (String barcodStr : barcodeArray) { - Container container = getContainerByBarcode(containerMap, barcodStr); + Container container = getContainerByBarcode(containerBarcodeMap, barcodStr); if(StringUtils.isNotBlank(basketName)){ basketName += ";"; }