Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java =================================================================== diff -u -r14988 -r15146 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 14988) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 15146) @@ -460,4 +460,11 @@ return null; } + @Override + public List getContainerListBySql(String sql) { + + return objectDao.findBySql(Container.class.getSimpleName(), sql); + + } + } Index: ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js =================================================================== diff -u -r15135 -r15146 --- ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js (.../sterileBasketMonitorView.js) (revision 15135) +++ ssts-web/src/main/webapp/disinfectsystem/washanddisinfectmanager/basketMonitor/sterileBasketMonitorView.js (.../sterileBasketMonitorView.js) (revision 15146) @@ -91,8 +91,8 @@ loadBarcodeDevice(barcodeTemp); barcodeTemp=''; } - stopBubble(event); - stopDefault(event); +// stopBubble(event); +// stopDefault(event); } @@ -136,12 +136,63 @@ }); basketStore.reload(); + var gridTbar = ['->', { + width : 70, + text : '搜索列', + menu : { + id : 'searchMenu', + items: [{ + xtype : 'menucheckitem', + name : 'containerName', + checked : true, + text : '篮筐名' + }, { + xtype : 'menucheckitem', + name : 'status', + checked : true, + text : '篮筐状态' + }] + }, + listeners : { + mouseover : function (thisButton, e, eOpts ) { + thisButton.showMenu(); + } + } + }, { + xtype : 'textfield', + name : 'searchKeyWord', + id : 'searchKeyWord', + listeners : { + keydown : function (thisTextfield, e, eOpts) { + alert(89); + } + } + }, { + text : '搜索', + handler : function (thisButton) { + var searchColumns = ''; + Ext4.getCmp('searchMenu').items.each(function(item) { + if (item.checked) { + searchColumns += item.name + ';'; + } + }); + searchColumns = searchColumns.substring(0, searchColumns.length - 1); + + basketStore.proxy.extraParams.searchKeyWord = Ext4.getCmp('searchKeyWord').getValue(); + basketStore.proxy.extraParams.searchColumns = searchColumns; + + basketStore.reload(); + Ext4.getCmp('searchKeyWord').setValue(''); + } + }]; + grid = new Ext4.grid.Panel({ title : '灭菌篮筐列表', columns : columns, frame : false, autoScroll : true, store: basketStore, + tbar : gridTbar, viewConfig: { forceFit: true, loadMask : {msg : '正在加载,请稍候...'} @@ -154,6 +205,7 @@ itemsInBasketGrid.setTitle("灭菌筐【" + record.get('containerName') + "】历史装载记录"); treeStore.proxy.extraParams = {barcode : barcode}; treeStore.reload(); + basketStore.reload(); } } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java =================================================================== diff -u -r13819 -r15146 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java (.../ContainerAction.java) (revision 13819) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java (.../ContainerAction.java) (revision 15146) @@ -1,6 +1,7 @@ package com.forgon.disinfectsystem.basedatamanager.container.action; import java.io.IOException; +import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -98,8 +99,29 @@ public void getAllContainersByPurpose(){ String purpose = StrutsParamUtils.getPraramValue("purpose", null); String departCode = AcegiHelper.getLoginUser().getCurrentOrgUnitCode(); + String searchKeyWord = StrutsParamUtils.getPraramValue("searchKeyWord", null); + String searchColumns = StrutsParamUtils.getPraramValue("searchColumns", null); + if(StringUtils.isNotBlank(purpose)){ - List containers = containerManager.getDepartmentContainerByPurpose(purpose,departCode); + + List containers = new ArrayList(); + if (searchKeyWord != null && searchColumns != null) { + String sql = ""; + String[] searchColumnArray = searchColumns.split(";"); + + for (String searchColumn : searchColumnArray) { + sql += "po." + searchColumn + " like '%" + searchKeyWord + "%' or "; + } + sql = sql.substring(0, sql.length() - 4); + sql = " where 1 = 1 and (" + sql + ")" + " and po.purpose = '" + purpose + "'"; + + + containers = containerManager.getContainerListBySql(sql); + + } else { + containers = containerManager.getDepartmentContainerByPurpose(purpose,departCode); + } + JSONArray array = new JSONArray(); if (containers != null && containers.size() > 0) { for (int i = 0; i < containers.size(); i++) { Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java =================================================================== diff -u -r14156 -r15146 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 14156) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 15146) @@ -55,4 +55,11 @@ */ public List callVirtualContainer(int amount , String taskGroup); + /** + * 根据sql得到篮筐的集合 + * @param sql + * @return + */ + public List getContainerListBySql(String sql); + }