Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java =================================================================== diff -u -r27940 -r27975 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 27940) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/service/TousseDefinitionManagerImpl.java (.../TousseDefinitionManagerImpl.java) (revision 27975) @@ -2039,7 +2039,12 @@ } List> mapList = new ArrayList>(); ResultSet rs = null; - String querySql = String.format("select distinct name from %s po %s",TousseDefinition.class.getSimpleName() ,sql); + String orderBy = " order by po.name "; + String strlen = sqlFunctionsAdapter.strlen("po.name"); + if(StringUtils.isNotBlank(keyword)){ + orderBy = String.format(" order by %s, po.name ", strlen); + } + String querySql = String.format("select distinct %s, name from %s po %s", strlen, TousseDefinition.class.getSimpleName() ,sql+orderBy); try { rs = objectDao.executeSql(querySql); while(rs.next()){ Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java =================================================================== diff -u -r27642 -r27975 --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 27642) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/toussedefinition/action/TousseDefinitionAction.java (.../TousseDefinitionAction.java) (revision 27975) @@ -45,6 +45,7 @@ import com.forgon.Constants; import com.forgon.databaseadapter.service.DateQueryAdapter; +import com.forgon.databaseadapter.service.SqlFunctionsAdapter; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.directory.model.CssdHandleTousses; @@ -155,6 +156,8 @@ private WareHouseManager wareHouseManager; + private SqlFunctionsAdapter sqlFunctionsAdapter; + public void setAppLogManager(LogManager appLogManager) { this.appLogManager = appLogManager; } @@ -232,6 +235,10 @@ this.tousseDefinitionBelongDepartManager = tousseDefinitionBelongDepartManager; } + public void setSqlFunctionsAdapter(SqlFunctionsAdapter sqlFunctionsAdapter) { + this.sqlFunctionsAdapter = sqlFunctionsAdapter; + } + /** * 保存器械包之前检查是否重复. * @@ -1359,6 +1366,7 @@ * @return * @throws Exception */ + @SuppressWarnings("unchecked") public String getAllTousseDefinitionData() { try { //下拉框分页(开始记录数及每页记录数) @@ -1397,7 +1405,11 @@ int totalCount = objectDao.countBySql("select count(0) from " + TousseDefinition.class.getSimpleName() + condition); if(totalCount > 0){ json.put("totalCount", totalCount); - List list = objectDao.findBySql(TousseDefinition.class.getSimpleName(), condition, start, limit, "name"); + String orderBy = " order by name "; + if(StringUtils.isNotBlank(spell)){ + orderBy = String.format(" order by %s, name ",sqlFunctionsAdapter.strlen("name")); + } + List list = objectDao.findByHql(" from " + TousseDefinition.class.getSimpleName() + condition + orderBy, start, limit); for (TousseDefinition tousseDefinition : list) { JSONObject jsonObject = new JSONObject(); jsonObject.put("id", tousseDefinition.getId());