Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r17797 -r17801 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 17797) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 17801) @@ -1469,23 +1469,13 @@ //回收换筐后,可能出现这种情况,由于打印的地方有限制数量为0的数据不打印,所以此处暂时注释 //appItem.setIsPrinted(true); } - TousseDefinition td = getTousseDefinition(idToTDMap,appItem.getTousseDefinitionId()); - if(td != null){ - //需要重新设置价格和小计价格.可能数量发生了改变(包括材料数量和回收数量) - Double price = td.getPrice(); - if(td.isDisinfection()){ - //消毒物品取材料的消毒价格之和 - price = tousseDefinitionManager.getDisinfectGoodsTotalPrice(td); - } - appItem.setPrice(price); -// appItem.setRowPrice(MathTools.mul(amount, price).doubleValue()); - } //外来器械二次回收 if(!application.isSecondRecycleForForeignTousse()){ appItem.setRecyclingAmount(currentAmount); } if(SupplyRoomConfig.INVOICE_ORIGIN_RECYCLING.equals(invoiceOrigin)){ + TousseDefinition td = getTousseDefinition(idToTDMap,appItem.getTousseDefinitionId()); //不装配不追溯物品 if (amount != 0) { newUnPackingTousseInstanceOrDisinfectGoodsDefinition( @@ -1494,6 +1484,21 @@ } } } + for(Map.Entry entry : appTousseItemMap.entrySet()){ + TousseItem appItem = entry.getValue(); + TousseDefinition td = getTousseDefinition(idToTDMap,appItem.getTousseDefinitionId()); + if(td != null){ + //需要重新设置价格和小计价格.可能数量发生了改变(包括材料数量和回收数量) + Double price = td.getPrice(); + if(td.isDisinfection()){ + //消毒物品取材料的消毒价格之和 + price = tousseDefinitionManager.getDisinfectGoodsTotalPrice(td); + } + appItem.setPrice(price); +// appItem.setRowPrice(MathTools.mul(amount, price).doubleValue()); + } + } + //未入篮筐直接删除的物品 if(deleteTousseItems != null){ for(int i=0;i