Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r32970 -r32994 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 32970) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 32994) @@ -9463,7 +9463,7 @@ } //器械包实例的灭菌使用时间(分钟) Integer sterilingUseTime = 0; - String sterilingType = tousseInstance.getSterilingType(); + String sterilingType = getTousseInstanceSterilingType(tousseInstance); if(StringUtils.isNotEmpty(sterilingType)){ Sterilisation sterilisation = sterilisationManager.getSterilisationByName(sterilingType); if(sterilisation != null && sterilisation.getUseTime() != null){ @@ -9494,6 +9494,39 @@ return 0; } + /** + * 获取器械包实例的灭菌方式 + * @param tousseInstance + * @return + */ + @SuppressWarnings("unchecked") + private String getTousseInstanceSterilingType(TousseInstance tousseInstance) { + if(tousseInstance.isSteriling()){ + SterilizationRecord sr = null; + if(tousseInstance.getReviewBasket_id() != null){ + // 根据灭菌篮筐id关联查找灭菌记录 + String hql = String.format("select sr from SterilizationRecord sr join sr.reviewedBaskets rb where rb.id = %d", tousseInstance.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", tousseInstance.getId()); + List list = objectDao.findByHql(hql); + if(CollectionUtils.isNotEmpty(list)){ + sr = list.get(0); + } + } + if(sr == null){ + return tousseInstance.getSterilingType(); + } + return sr.getSterilizationType(); + } + return tousseInstance.getSterilingType(); + } + + /** * 获取预计灭菌完成时间GYEY-759 * @param tousseInstance