Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java =================================================================== diff -u -r36089 -r36120 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 36089) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/action/TousseInstanceAction.java (.../TousseInstanceAction.java) (revision 36120) @@ -43,10 +43,12 @@ import com.forgon.disinfectsystem.common.CssdUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DisposableGoods; import com.forgon.disinfectsystem.entity.assestmanagement.ExpensiveDisposablegoods; +import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethod; import com.forgon.disinfectsystem.entity.basedatamanager.container.Container; import com.forgon.disinfectsystem.entity.basedatamanager.imagefilemanager.ImageFile; import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; +import com.forgon.disinfectsystem.entity.basedatamanager.sterilisation.Sterilisation; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstance; import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseInstanceImplantData; @@ -1927,5 +1929,58 @@ } StrutsResponseUtils.output(result); } + + /** + * 查询器械包实例的“灭菌程序的灭菌使用时间”、“清洗程序的清洗时间”GYEY-805 + */ + @SuppressWarnings("unchecked") + public void loadTousseInstanceCleanMinuteSterilisationUseTime(){ + JSONObject result = JSONUtil.buildJsonObject(true); + try { + Long id = StrutsParamUtils.getPraramLongValue("id", null); + TousseInstance tousseInstance = tousseInstanceManager.get(id); + if(tousseInstance == null){ + throw new SystemException("未找到id=" + id + "的器械包实例"); + } + TousseDefinition tousseDefinition = tousseInstance.getTousseDefinition(); + Long ancestorId = null; + if(tousseDefinition != null){ + if(tousseDefinition.isSplit()){ + TousseDefinition parentTousseDefinition = tousseDefinitionManager.get(tousseDefinition.getParentID()); + if(parentTousseDefinition != null){ + ancestorId = parentTousseDefinition.getAncestorID(); + } + }else{ + ancestorId = tousseDefinition.getAncestorID(); + } + } + TousseDefinition ancestorTd = tousseDefinitionManager.get(ancestorId); + if(ancestorTd == null){ + throw new SystemException("未找到id=" + id + "的器械包实例关联的包定义"); + } + Integer cleanMinutes = 0; + Integer sterilisationUseTime = 0; + String sterilisationName = ancestorTd.getSterilingMethod(); + if(StringUtils.isNotBlank(sterilisationName)){ + List sterilisationList = objectDao.findByProperty(Sterilisation.class.getSimpleName(), "sterilisation", sterilisationName); + if(CollectionUtils.isNotEmpty(sterilisationList)){ + sterilisationUseTime = sterilisationList.get(0).getUseTime(); + } + } + String cleanMethod = ancestorTd.getCleanMethod(); + if(StringUtils.isNotBlank(cleanMethod)){ + List cleanMethodList = objectDao.findByProperty(CleanMethod.class.getSimpleName(), "cleanMethod", cleanMethod); + if(CollectionUtils.isNotEmpty(cleanMethodList)){ + cleanMinutes = cleanMethodList.get(0).getCleanMinutes(); + } + } + result.put("cleanMinutes", cleanMinutes); + result.put("sterilisationUseTime", sterilisationUseTime); + } catch (Exception e) { + e.printStackTrace(); + result = JSONUtil.buildJsonObject(false, "查询失败:" + e.getMessage()); + } + StrutsResponseUtils.output(result); + } } \ No newline at end of file