Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r40677 -r40954 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 40677) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 40954) @@ -2696,7 +2696,7 @@ boolean enableSterilizerConsumptiveMaterialConsumptionFunction = CssdUtils.getSystemSetConfigByNameBool("enableSterilizerConsumptiveMaterialConsumptionFunction", false); if(enableScanSterilizationMonitoringPackage && !enableSterilizerConsumptiveMaterialConsumptionFunction){ - isNeedScanMonitoringTousse(sterilizationRecord); + isNeedScanMonitoringTousse(sterilizationRecord, allTousseInstanceOfRecord); } if(enableInstrumentLifeCycleTraceabilityManagement){ handleInstrumentInstance(addIdCardInstanceIDs, removeIdCardInstanceIDs, sterilizationRecord.getId()); @@ -3273,7 +3273,7 @@ * @param sterilizationRecord * @param tousseInstanceBarcodes */ - private void isNeedScanMonitoringTousse(SterilizationRecord sterilizationRecord) { + private void isNeedScanMonitoringTousse(SterilizationRecord sterilizationRecord, Collection allTousseInstances) { Sterilizer sr = sterilizerManager.getSterilizerByName(sterilizationRecord.getSterilizerName()); String monitorTousseDisplay = sr.getMonitorTousseDisplay(); @@ -3311,16 +3311,18 @@ } if (StringUtils.isNotBlank(monitorTousseDisplay)) { + if(allTousseInstances == null){ + allTousseInstances = CollectionUtils.emptyCollection(); + allTousseInstances = CollectionUtils.union(allTousseInstances, + tousseInstanceManager.getTousseInstancesOfSterilization_tousseInstance(sterilizationRecord.getId())); + + List reviewedBasketList = sterilizationRecord.getReviewedBaskets(); + for (ReviewedBasket reviewedBasket : reviewedBasketList) { + allTousseInstances = CollectionUtils.union(allTousseInstances, + reviewedBasket.getTousseInstances(objectDao)); + } + } - Collection allTousseInstances = CollectionUtils.emptyCollection(); - allTousseInstances = CollectionUtils.union(allTousseInstances, - tousseInstanceManager.getTousseInstancesOfSterilization_tousseInstance(sterilizationRecord.getId())); - - List reviewedBasketList = sterilizationRecord.getReviewedBaskets(); - for (ReviewedBasket reviewedBasket : reviewedBasketList) { - allTousseInstances = CollectionUtils.union(allTousseInstances, - reviewedBasket.getTousseInstances(objectDao)); - } if (CollectionUtils.isNotEmpty(allTousseInstances)) { for (TousseInstance tousseInstance : allTousseInstances) { @@ -5199,7 +5201,7 @@ boolean enableSterilizerConsumptiveMaterialConsumptionFunction = CssdUtils.getSystemSetConfigByNameBool("enableSterilizerConsumptiveMaterialConsumptionFunction", false); if(enableScanSterilizationMonitoringPackage && !enableSterilizerConsumptiveMaterialConsumptionFunction){ - isNeedScanMonitoringTousse(sr); + isNeedScanMonitoringTousse(sr, null); } }catch(UnScanSterilizationMonitoringPackageException e) { e.printStackTrace(); @@ -7651,7 +7653,7 @@ boolean enableSterilizerConsumptiveMaterialConsumptionFunction = CssdUtils.getSystemSetConfigByNameBool("enableSterilizerConsumptiveMaterialConsumptionFunction", false); if(enableScanSterilizationMonitoringPackage && !enableSterilizerConsumptiveMaterialConsumptionFunction){ - isNeedScanMonitoringTousse(sterilizationRecord); + isNeedScanMonitoringTousse(sterilizationRecord, null); } result.put(JSONUtil.JSON_KEY_SUCCESS, true); result.put(JSONUtil.JSON_KEY_MESSAGE, "保存成功");