Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java =================================================================== diff -u -r15156 -r15158 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 15156) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManagerImpl.java (.../ContainerManagerImpl.java) (revision 15158) @@ -461,17 +461,14 @@ } @Override - public List getContainerListBySql(String sql, String searchBarcode) { + public List getContainerListBySql(String sql) { + return objectDao.findBySql(Container.class.getSimpleName(), sql); + } - if (sql == null) { - return objectDao.findByProperty(Container.class.getSimpleName(), "barcode", searchBarcode); - } else if (searchBarcode == null) { - return objectDao.findBySql(Container.class.getSimpleName(), sql); - } else { - return new ArrayList(); - } - - + @Override + public List getContainerListByProperty(String propertyName, + String propertyValue) { + return objectDao.findByProperty(Container.class.getSimpleName(), propertyName, propertyValue); } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java =================================================================== diff -u -r15156 -r15158 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java (.../ContainerAction.java) (revision 15156) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/action/ContainerAction.java (.../ContainerAction.java) (revision 15158) @@ -97,33 +97,36 @@ * forgonvoid */ 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); String sterileBasketDarcode = StrutsParamUtils.getPraramValue("sterileBasketDarcode", null); //这个参数只供给扫条码灭菌篮筐使用 + if(StringUtils.isNotBlank(purpose)){ List containers = new ArrayList(); String sql = ""; - if (searchKeyWord != null && searchColumns != null) { //搜索列执行的函数(cjr) + if (searchKeyWord != null && searchColumns != null) { //关键字检索执行的函数(cjr) 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, null); + sql = " where 1 = 1 and (" + sql + ")" + " and po.purpose = '" + purpose + "'" + (departCode != null ? " and po.departCode = '" + departCode + "'" : ""); + containers = containerManager.getContainerListBySql(sql); } else if (sterileBasketDarcode != null) { //扫条码灭菌篮筐执行的函数 - containers = containerManager.getContainerListBySql(null, sterileBasketDarcode); - } else { - containers = containerManager.getDepartmentContainerByPurpose(purpose,departCode); + containers = containerManager.getContainerListByProperty("barcode", sterileBasketDarcode); + } else { //关键字检索时没传出关键字执行的函数(cjr) + containers = containerManager.getDepartmentContainerByPurpose(purpose, departCode); } - + JSONArray array = new JSONArray(); if (containers != null && containers.size() > 0) { for (int i = 0; i < containers.size(); i++) { @@ -147,7 +150,9 @@ } catch (IOException e) { e.printStackTrace(); } + } + } public void getAllContainers(){ Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java =================================================================== diff -u -r15156 -r15158 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 15156) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/container/service/ContainerManager.java (.../ContainerManager.java) (revision 15158) @@ -59,9 +59,17 @@ * 2016-09-27(cjr) * 根据sql得到篮筐的集合 * @param sql:要查询的sql语句 - * @param searchBarcode:过滤的篮筐条码 - * @return + * @return:List */ - public List getContainerListBySql(String sql, String searchBarcode); + public List getContainerListBySql(String sql); + /** + * 2016-09-27(cjr) + * 根据属性得到篮筐的集合(只适合单个属性) + * @param propertyName:属性名称 + * @param propertyValue:属性值 + * @return:List + */ + public List getContainerListByProperty(String propertyName, String propertyValue); + }