Index: ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java =================================================================== diff -u -r36577 -r36587 --- ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 36577) +++ ssts-recyclingrecord/src/main/java/com/forgon/disinfectsystem/recyclingrecord/service/RecyclingRecordManagerImpl.java (.../RecyclingRecordManagerImpl.java) (revision 36587) @@ -1450,16 +1450,16 @@ } } //移除空篮筐 - Set findIds = objectDao.getLongSet("select cb.id from " - + ClassifyBasket.class.getSimpleName() - +" cb join " - + ClassifiedItem.class.getSimpleName() - +" ci on ci.classifybasket_id=cb.id where ci.recyclingRecordId=" - +record.getId()); Iterator itr2 = baskets.iterator(); while(itr2.hasNext()){ - ClassifyBasket item = itr2.next(); - if(CollectionUtils.isEmpty(findIds) || !findIds.contains(item.getId())){ + boolean removeBasket = true; + for (ClassifiedItem ci : itr2.next().getClassfiedItems()) { + if (record.getId().equals(ci.getRecyclingRecordId())) { + removeBasket = false; + break; + } + } + if(removeBasket){ itr2.remove(); } }