Index: ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java =================================================================== diff -u -r36314 -r36381 --- ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 36314) +++ ssts-sterile/src/main/java/com/forgon/disinfectsystem/sterilizationmanager/sterilizationrecord/dwr/table/SterilizationRecordTableManager.java (.../SterilizationRecordTableManager.java) (revision 36381) @@ -223,11 +223,16 @@ boolean enableDoubleCheckOfSterilizationFunction = CssdUtils.getSystemSetConfigByNameBool("enableDoubleCheckOfSterilizationFunction", false); if(enableDoubleCheckOfSterilizationFunction){ - String verifierAndReviewers = sqlWhereParamMap.get("verifierAndReviewers"); - if(StringUtils.isNotBlank(verifierAndReviewers)){ - verifierAndReviewers = verifierAndReviewers.trim(); - sql += " and (po.verifier.fullName like '%"+ verifierAndReviewers +"%' or po.reviewers.fullName like '%"+ verifierAndReviewers+"%') "; + String verifierFullName = sqlWhereParamMap.get("verifier.fullName"); + if(StringUtils.isNotBlank(verifierFullName)){ + verifierFullName = verifierFullName.trim(); + sql += " and po.verifier.fullName like '%"+ verifierFullName +"%' "; } + String reviewersFullName = sqlWhereParamMap.get("reviewers.fullName"); + if(StringUtils.isNotBlank(reviewersFullName)){ + reviewersFullName = reviewersFullName.trim(); + sql += " and po.reviewers.fullName like '%"+ reviewersFullName+"%' "; + } } sql += " and po.orgUnitCoding = '" + AcegiHelper.getLoginUser() @@ -276,44 +281,35 @@ sbf.append(SterilizationRecord.class.getSimpleName()); sbf.append(" sr left join SS_USERS uv on uv.id=sr.verifier_id left join SS_USERS ur on ur.id=sr.reviewers_id where "); sbf.append(SqlUtils.getNonStringFieldInLargeCollectionsPredicate("sr.id", sterilizationRecordIdList)); - Map resultMap = new HashMap(); + Map uvMap = new HashMap(); + Map urMap = new HashMap(); Boolean haveUser = jdbcTemplate.query(sbf.toString(), new ResultSetExtractor(){ @Override public Boolean extractData(ResultSet rs) throws SQLException, DataAccessException { - Boolean haveUser = false; while(rs.next()){ String uvFullName = rs.getString("uvFullName"); String urFullName = rs.getString("urFullName"); - if(StringUtils.isNotBlank(uvFullName) && StringUtils.isNotBlank(urFullName)){ - resultMap.put(rs.getLong("id"), uvFullName + ";" + urFullName); - if(!haveUser){ - haveUser = true; - } - }else if(StringUtils.isNotBlank(uvFullName)){ - resultMap.put(rs.getLong("id"), uvFullName + ";"); - if(!haveUser){ - haveUser = true; - } - }else if(StringUtils.isNotBlank(urFullName)){ - resultMap.put(rs.getLong("id"), ";" + urFullName); - if(!haveUser){ - haveUser = true; - } - }else{ - resultMap.put(rs.getLong("id"), ""); + if(StringUtils.isNotBlank(uvFullName)){ + uvMap.put(rs.getLong("id"), uvFullName); } + if(StringUtils.isNotBlank(urFullName)){ + urMap.put(rs.getLong("id"), urFullName); + } } - return haveUser; + return true; }}); - if(haveUser != null && haveUser){ + if(urMap.size() > 0 || uvMap.size() > 0){ for(int i = 0; i < tempArray.size();i++){ JSONObject row = tempArray.optJSONObject(i); Long id = row.optLong("id"); - if(resultMap.containsKey(id)){ - row.put("verifierAndReviewers", resultMap.get(id)); + if(uvMap.containsKey(id)){ + row.put("verifier.fullName", uvMap.get(id)); } + if(urMap.containsKey(id)){ + row.put("reviewers.fullName", urMap.get(id)); + } } } }