Index: ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java =================================================================== diff -u -r28279 -r28289 --- ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 28279) +++ ssts-qualitymon/src/main/java/com/forgon/disinfectsystem/qualitymonitoring/instance/service/QualityMonitoringInstanceManagerImpl.java (.../QualityMonitoringInstanceManagerImpl.java) (revision 28289) @@ -851,12 +851,32 @@ //灭菌记录 JSONObject sterilizationRecordJSON = new JSONObject(); - if(TousseInstance.STATUS_STERILING.equals(ti.getStatus()) || DatabaseUtil.isPoIdValid(ti.getSterilizationRecord_id())){ - sterilizationRecordJSON.put("sterilizerName", ti.getSterilizerName() == null ? "" : ti.getSterilizerName()); //灭菌记录_灭菌炉 - sterilizationRecordJSON.put("sterilizationType", ti.getSterilingType() == null ? "" : ti.getSterilingType()); //灭菌记录_灭菌程序 - sterilizationRecordJSON.put("frequency", ti.getSterileFrequency() == null ? "" : ti.getSterileFrequency());//灭菌记录_炉次 - sterilizationRecordJSON.put("startDate", ti.getSterileStartTime() == null ? "" : ti.getSterileStartTime()); //灭菌记录_开始时间 + SterilizationRecord sr = null; + if(ti.getSterilizationRecord_id() != null){ + // 根据灭菌记录id关联查询灭菌信息 + sr = ti.getSterilizationRecord(objectDao); + } else if(ti.getReviewBasket_id() != null){ + // 根据灭菌篮筐id关联查找灭菌记录 + String hql = String.format("select sr from SterilizationRecord sr join sr.reviewedBaskets rb where rb.id = %d", ti.getReviewBasket_id()); + List list = objectDao.findByHql(hql); + if(CollectionUtils.isNotEmpty(list)){ + sr = list.get(0); + } + } else { + // 根据sterilization_tousseInstance中间表查灭菌记录 + String hql = String.format("select sr from SterilizationRecord sr join sr.tousseInstanceList ti where ti.id = %d", ti.getId()); + List list = objectDao.findByHql(hql); + if(CollectionUtils.isNotEmpty(list)){ + sr = list.get(0); + } } + if(sr != null){ + sterilizationRecordJSON.put("sterilizerName", sr.getSterilizerName() == null ? "" : sr.getSterilizerName()); //灭菌记录_灭菌炉 + sterilizationRecordJSON.put("sterilizationType", sr.getSterilizationType() == null ? "" : sr.getSterilizationType()); //灭菌记录_灭菌程序 + sterilizationRecordJSON.put("frequency", sr.getFrequency() == null ? "" : sr.getFrequency());//灭菌记录_炉次 + sterilizationRecordJSON.put("startDate", sr.getStartDateStr() == null ? "" : sr.getStartDateStr()); //灭菌记录_开始时间 + sterilizationRecordJSON.put("endDate", sr.getEndDateStr() == null ? "" : sr.getEndDateStr()); //灭菌记录_结束时间 + } JSONObject result = new JSONObject(); result.put("tousseInstanceId", ti.getId());