Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java =================================================================== diff -u -r25926 -r26060 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 25926) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManager.java (.../TousseDefinitionManager.java) (revision 26060) @@ -491,9 +491,21 @@ public List> searchTousseByKeywordAndTousseTypeArr(String keyword, String[] tousseTypeArr ,boolean showDisableGoods, boolean sortBySpelling); - - /** + * overload + * (器械包工作量报表使用,只需要名字,不需要查询过多的数据,加快报表设置统计类型的效率)在指定的器械包类型的基础上,根据关键字模糊查询,获取器械包的名字 + * @param filterForDisplay 是否过滤掉ForDisplay=0的器械包 + * @param keyword 搜索的关键字:为空时则不需要模糊查询(即:全部符合条件),否则按照用户的检索习惯进行模糊查询 + * @param tousseTypeArr 指定的器械包类型的数组,如果不指定则为:所有器械包类型 + * @param showDisableGoods 是否要显示已经停用的器械包 + * @return 返回值格式如下,取每个器械包对象包定义名称:
+ * [{
+ * name:器械包名称,
+ * },{}......] + */ + public List> searchTousseByKeywordAndTousseTypeArr(boolean filterForDisplay, String keyword, + String[] tousseTypeArr ,boolean showDisableGoods); + /** * 查询科室处理器械包. * @param cssdOrgUnit 处理科室的科室编码 * @param spell 搜索关键字 Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r25943 -r26060 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 25943) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 26060) @@ -59,6 +59,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.materialdefinition.MaterialDefinition; import com.forgon.disinfectsystem.entity.basedatamanager.materialinstance.MaterialInstance; import com.forgon.disinfectsystem.entity.basedatamanager.position.TousseOperation; +import com.forgon.disinfectsystem.entity.basedatamanager.reportoption.GoodsOption; import com.forgon.disinfectsystem.entity.basedatamanager.sterilizer.Sterilizer; import com.forgon.disinfectsystem.entity.basedatamanager.supplyroomconfig.SupplyRoomConfig; import com.forgon.disinfectsystem.entity.basedatamanager.taskGroup.TaskGroup; @@ -2587,12 +2588,17 @@ */ public void searchTousseByTypeArr() { String tousseTypes = StrutsParamUtils.getPraramValue("tousseTypes", ""); - + String model = StrutsParamUtils.getPraramValue("model", ""); String[] tousseTypeArray = StringUtils.isNotBlank(tousseTypes) ? tousseTypes.split(";") : new String[] {}; - - List> list = tousseDefinitionManager - .searchTousseByKeywordAndTousseTypeArr(spell, tousseTypeArray, true ,false); + List> list = null; + if(GoodsOption.MODEL_TOUSSEWORKLOAD.equals(model)){ + list = tousseDefinitionManager + .searchTousseByKeywordAndTousseTypeArr(false, spell, tousseTypeArray, true); + }else{ + list = tousseDefinitionManager + .searchTousseByKeywordAndTousseTypeArr(spell, tousseTypeArray, true ,false); + } PageUtil.outPutResult(PageUtil.getPagePara(), list); } /** Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r26036 -r26060 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 26036) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 26060) @@ -1879,7 +1879,51 @@ return mapList; } - + @Override + public List> searchTousseByKeywordAndTousseTypeArr(boolean filterForDisplay, + String keyword, String[] tousseTypeArr, boolean showDisableGoods) { + String sql = createQuerySQL(keyword); + //只在指定器械包类型做查询 + if (tousseTypeArr != null && tousseTypeArr.length > 0) { + String tempTousseTypeSql = ""; + for (String tousseType : tousseTypeArr) { + if (tousseType != null) { + if (StringUtils.isNotBlank(tempTousseTypeSql)) { + tempTousseTypeSql += " or "; + } + tempTousseTypeSql += " po.tousseType = '" + + tousseType.trim() + "'"; + } + } + if (StringUtils.isNotBlank(tempTousseTypeSql)) { + sql += " and (" + tempTousseTypeSql + ") "; + } + } + if(filterForDisplay){ + sql += " and po.forDisplay != 0 "; //forDisplay=0的过滤掉 + } + if (!showDisableGoods) { //过滤已停用的器械包(注意:如果isDisable属性为空,当成非停用的器械包,不过滤) + sql += String.format(" and(po.isDisable is null or po.isDisable<>'%s') ", + TousseDefinition.STR_YES); + } + List> mapList = new ArrayList>(); + ResultSet rs = null; + String querySql = String.format("select distinct name from %s po %s",TousseDefinition.class.getSimpleName() ,sql); + try { + rs = objectDao.executeSql(querySql); + while(rs.next()){ + Map temp = new HashMap(); + String name = rs.getString("name"); + temp.put("name", name); + mapList.add(temp); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally{ + DatabaseUtil.closeResultSetAndStatement(rs); + } + return mapList; + } /** * 构建器械包定义的部分属性,供前台使用. * @param tousseDefinition 器械包定义 Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/js/setGoodsOption.js =================================================================== diff -u -r18491 -r26060 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/js/setGoodsOption.js (.../setGoodsOption.js) (revision 18491) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/js/setGoodsOption.js (.../setGoodsOption.js) (revision 26060) @@ -190,7 +190,8 @@ if (isTousse){ //物品类型为器械包 var searchUrl = WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchTousseByTypeArr.do'; baseParams = { - tousseTypes : tousseTypes + tousseTypes : tousseTypes, + model : model }; } else { //物品类型为一次性物品 var searchUrl = WWWROOT + '/disinfectSystem/diposableGoodsAction!searchDisposableGoods.do'; @@ -256,7 +257,8 @@ Ext.Ajax.request({ url : WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchTousseByTypeArr.do', params : { - tousseTypes : tousseTypes + tousseTypes : tousseTypes, + model : model }, success : function(response, options) { var result = Ext.decode(response.responseText);