Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r28695 -r29265 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 28695) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 29265) @@ -227,6 +227,10 @@ * 器械包(含敷料包和消毒物品) */ public static final String PACKAGE_TYPE_INSIDE_AND_DISINFECTION = "器械包与消毒物品"; + /** + * 器械包,消毒物品,敷料包,外部代理灭菌 + */ + public static final String PACKAGE_TYPE_INSIDE_DRESSING_DISINFECTION_FOREIGNPROXY = "器械包,消毒物品,敷料包,外部代理灭菌"; public static final String PACKAGE_TYPE_CAN_CUSTOM_PACKING = "允许自定义装配的器械包"; public static final String PACKAGE_TYPE_INSIDE_AND_DRESSING = "器械包与敷料包"; public static final String PACKAGE_TYPE_FOREIGN = "外来器械包"; Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r29100 -r29265 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 29100) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 29265) @@ -1785,9 +1785,17 @@ String settleAccountsDepartCoding, String deptCode, boolean useAssetsBelong) { List> mapList = new ArrayList>(); - // 只搜索器械包(包含敷料包和消毒物品),如果启用了聚合包功能则包括聚合包 - if (TousseDefinition.PACKAGE_TYPE_INSIDE_AND_DISINFECTION.equals(tousseType)){ + if(TousseDefinition.PACKAGE_TYPE_INSIDE_DRESSING_DISINFECTION_FOREIGNPROXY.equals(tousseType)){ String[] searchTousseTypeArray = new String[]{TousseDefinition.PACKAGE_TYPE_INSIDE, + TousseDefinition.PACKAGE_TYPE_DRESSING,TousseDefinition.PACKAGE_TYPE_DISINFECTION,TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY }; + if(CssdUtils.getSystemSetConfigByNameBool("enableComboTousse")){ + searchTousseTypeArray = new String[]{TousseDefinition.PACKAGE_TYPE_INSIDE, + TousseDefinition.PACKAGE_TYPE_DRESSING,TousseDefinition.PACKAGE_TYPE_DISINFECTION,TousseDefinition.PACKAGE_TYPE_FOREIGNPROXY,TousseDefinition.PACKAGE_TYPE_COMBO }; + } + mapList = searchTousseByKeywordAndTousseTypeArr( + searchString, searchTousseTypeArray,false ,false,true, null); + }else if (TousseDefinition.PACKAGE_TYPE_INSIDE_AND_DISINFECTION.equals(tousseType)){// 只搜索器械包(包含敷料包和消毒物品),如果启用了聚合包功能则包括聚合包 + String[] searchTousseTypeArray = new String[]{TousseDefinition.PACKAGE_TYPE_INSIDE, TousseDefinition.PACKAGE_TYPE_DRESSING,TousseDefinition.PACKAGE_TYPE_DISINFECTION }; if(CssdUtils.getSystemSetConfigByNameBool("enableComboTousse")){ searchTousseTypeArray = new String[]{TousseDefinition.PACKAGE_TYPE_INSIDE, @@ -3788,21 +3796,24 @@ if(newTousse && (tousseDefinition.isInsideTousse() || tousseDefinition.isDisinfection() - || tousseDefinition.isDressing())){ + || tousseDefinition.isDressing() + || tousseDefinition.isForeignProxyTousse())){ //添加对应供应室处理器械包配置 addCssdHandleToussesConfig(tousseDefinition); }else{ //如果包类型为器械包、消毒物品或敷料包时,应该新增或更新供应室处理器械包配置,否则应该删除供应室处理器械包配置数据(防止包定义修改之前包类型为器械包、消毒物品或敷料包然后修改成外部代理灭菌等情况) if(tousseDefinition.isInsideTousse() || tousseDefinition.isDisinfection() - || tousseDefinition.isDressing()){ + || tousseDefinition.isDressing() + || tousseDefinition.isForeignProxyTousse()){ //如果优先处理科室发生修改且供应室处理器械包配置未配置该包的处理科室,则新增对应供应室处理器械包配置 CssdHandleTousses cssdHandleTousses = (CssdHandleTousses)objectDao.getBySql(CssdHandleTousses.class.getSimpleName(), " where tousseDefinitionId = " + tousseDefinition.getAncestorID() + " and orgUnitCode = '" + tousseDefinition.getHandlerDepartCode() + "'"); if(cssdHandleTousses == null && (TousseDefinition.PACKAGE_TYPE_INSIDE.equals(tousseType) || TousseDefinition.PACKAGE_TYPE_DISINFECTION.equals(tousseType) - || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType))){ + || TousseDefinition.PACKAGE_TYPE_DRESSING.equals(tousseType) + || tousseDefinition.isForeignProxyTousse())){ addCssdHandleToussesConfig(tousseDefinition); }else{ //否则更新任务组 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r28606 -r29265 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 28606) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 29265) @@ -2324,7 +2324,7 @@ } try { spell = java.net.URLDecoder.decode(spell, "UTF-8"); - Map result = tousseDefinitionManager.searchComboGoods(spell, TousseDefinition.PACKAGE_TYPE_INSIDE_AND_DISINFECTION,false,false,null,null,false); + Map result = tousseDefinitionManager.searchComboGoods(spell, TousseDefinition.PACKAGE_TYPE_INSIDE_DRESSING_DISINFECTION_FOREIGNPROXY,false,false,null,null,false); List> data = (List>) result.get("data"); PageUtil.outPutResult(PageUtil.getPagePara(), data); } catch (IOException e) { Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java =================================================================== diff -u -r29243 -r29265 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 29243) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseInstanceManagerImpl.java (.../TousseInstanceManagerImpl.java) (revision 29265) @@ -3538,7 +3538,7 @@ // jsonObj.put("taskGroup", getTousseInstancePackingTaskGroup(tousseInstance)); //根据科室编码查供应室处理器械包配置的器械包相应的任务组 TousseDefinition td = tousseInstance.getTousseDefinition(); - if(td.isInsideTousse() || td.isDisinfection() || td.isDressing()){ + if(td.isInsideTousse() || td.isDisinfection() || td.isDressing() || td.isForeignProxyTousse()){ jsonObj.put("taskGroup", cssdHandleTousseManager.getTousseTaskGroup(tousseInstance.getTousseDefinition() , AcegiHelper.getCurrentOrgUnitCode())); }else{ jsonObj.put("taskGroup", tousseInstance.getTaskGroup());