Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java =================================================================== diff -u -r40669 -r40677 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 40669) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/service/SterilizationRecordManagerImpl.java (.../SterilizationRecordManagerImpl.java) (revision 40677) @@ -9359,22 +9359,28 @@ record.setCycleCounter(cycleCounter); record.setRemark(remark); // 灭菌记录的的温度压力数据条数 - DeviceInterface devInterface = record.getSterilizer().getDeviceInterface(); - long count = 0L; - if(record.getSterilizationParaType() == null && devInterface != null && (record.getSterilizerRecordAmount() == null || record.getSterilizerRecordAmount() == 0)){ - boolean sterilizaMatchPatternForDate = CssdUtils.getSystemSetConfigByNameBool("sterilizaMatchPatternForDate", false); - if(DeviceInterface.BELIMED.equals(devInterface.getDeviceBrand()) - && !DeviceInterface.PARAMATCHINGMETHOD_CYCLECOUNTER.equals(devInterface.getParaMatchingMethod()) - || sterilizaMatchPatternForDate && DeviceInterface.GETINGE.equals(devInterface.getDeviceBrand()) - || DeviceInterface.PARAMATCHINGMETHOD_STARTDATE.equals(devInterface.getParaMatchingMethod())){ - count = getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(), - record.getSterilizer().getMachineNumber(), - record.getStartDate()); - }else{ - count = (long)getSterilerRecordsCount(record.getSterilizer().getDeviceInterfaceId(),record.getSterilizer().getMachineNumber(),record.getCycleCounter()); - } - record.setSterilizerRecordAmount(count); - } + Sterilizer sterilizer = record.getSterilizer(); + if(record.getSterilizationParaType() == null && needReadSterilerRecordsCount(sterilizer)){ + // 灭菌记录的的温度压力数据条数 + DeviceInterface devInterface = sterilizer.getDeviceInterface(); + if(devInterface != null && (record.getSterilizerRecordAmount() == null || record.getSterilizerRecordAmount() == 0)){ + int count = 0; + boolean sterilizaMatchPatternForDate = CssdUtils.getSystemSetConfigByNameBool("sterilizaMatchPatternForDate", false); + if(DeviceInterface.BELIMED.equals(devInterface.getDeviceBrand()) && !DeviceInterface.PARAMATCHINGMETHOD_CYCLECOUNTER.equals(devInterface.getParaMatchingMethod()) + || sterilizaMatchPatternForDate && DeviceInterface.GETINGE.equals(devInterface.getDeviceBrand()) + || DeviceInterface.PARAMATCHINGMETHOD_STARTDATE.equals(devInterface.getParaMatchingMethod())){ + count = getSterilerRecordsCount(sterilizer.getDeviceInterfaceId(), + sterilizer.getMachineNumber(), + record.getStartDate()); + }else{ + count = getSterilerRecordsCount(sterilizer.getDeviceInterfaceId(), + sterilizer.getMachineNumber(), + record.getCycleCounter()); + } + record.setSterilizerRecordAmount((long) count); + } + } + tousseInstanceManager.updateIsRoutineAttribute(record.getId(), record.getBiologicalMonitoringEndDate(), record.getBiologyResult()); saveOrUpdate(record); boolean enableTheSterilizationResultJudgmentFunction = CssdUtils.getSystemSetConfigByNameBool("enableTheSterilizationResultJudgmentFunction", false);