Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r15547 -r15566 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 15547) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 15566) @@ -7,6 +7,7 @@ import java.util.HashSet; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -34,6 +35,7 @@ import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.db.InitDbConnection; import com.forgon.tools.hibernate.ObjectDao; +import com.forgon.tools.string.StringTools; import com.forgon.tools.util.SqlUtils; import com.forgon.treenode.ext.model.ExtCheckTreeNode; import com.forgon.treenode.ext.model.ExtTreeNode; @@ -936,31 +938,39 @@ } return null; } - - /** - * @author Chenjiaru 2016-09-05 - * @param attributeArray:需要查找的属性数组 - * @return:List - */ + @Override - public List findOrgUnitCodingAndNameByUserName(String userName) { + public List searchOrgUnitCodingAndNameByName( + String orgUnitName) { + + orgUnitName = StringTools.defaultString(orgUnitName); + String likeSql = "".equals(orgUnitName) ? "" : "and ou.name like '%" + orgUnitName + "%'"; - String sql = "select ou.orgUnitCoding,ou.name from SS_USERS u,OrgUnit ou,OrgUserRelation our where u.id=our.userId and ou.id=our.orgUnitId and u.name='"+userName+"'"; - ResultSet rs = objectDao.executeSql(sql); - List arrayList = new ArrayList(); + + String sql = + "select ou.orgUnitCoding orgUnitCoding," + + "ou.name orgUnitName " + + "from OrgUnit ou " + + "where 1=1 " + + likeSql + ; + + ResultSet result = objectDao.executeSql(sql); + List orgUnitList = new ArrayList(); try { - while(rs.next()){ - arrayList.add(new String[]{rs.getString(1), rs.getString(2)}); + while(result.next()){ + OrgUnit orgUnit = new OrgUnit(); + orgUnit.setOrgUnitCoding(result.getString("orgUnitCoding")); + orgUnit.setName(result.getString("orgUnitName")); + orgUnitList.add(orgUnit); } - return arrayList; } catch (SQLException e) { e.printStackTrace(); }finally { - DatabaseUtil.closeResultSetAndStatement(rs); + DatabaseUtil.closeResultSetAndStatement(result); } - return null; - + return orgUnitList; } @Override Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r15547 -r15566 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 15547) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 15566) @@ -4,11 +4,6 @@ import java.util.List; import java.util.Set; -import com.forgon.tools.util.SqlUtils; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.lang.StringUtils; - -import com.forgon.directory.action.OrgUnitAction; import com.forgon.directory.model.CssdHandleTousses; import com.forgon.directory.model.CssdServiceDepts; import com.forgon.directory.model.OrgUnit; @@ -132,19 +127,10 @@ public void updateOldData(String orgCoding,String oldOrgName,String newOrgName); /** - * 根据用户名得到前科室的名称和科室编码 - * @author Chenjiaru 2016-09-08 - * @param userName - * @return List - */ - public List findOrgUnitCodingAndNameByUserName(String userName); - - /** - * 根据部门的编号找出对应的部门名字 - * @param codes 部门的编号 + * 根据科室名称查找"科室编码"和"科室名称",支持模糊查询 + * @param orgUnitName:科室的名称(支持模糊查询,如果为空字符串,则默认全查) * @return */ - List findDeptNameByOrgUnitCodes(Collection codes); - + public List searchOrgUnitCodingAndNameByName(String orgUnitName); }