Index: ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java =================================================================== diff -u -r34039 -r36990 --- ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java (.../WashAndDisinfectRecordTableManager.java) (revision 34039) +++ ssts-wash/src/main/java/com/forgon/disinfectsystem/washanddisinfectmanager/washanddisinfectrecord/dwr/table/WashAndDisinfectRecordTableManager.java (.../WashAndDisinfectRecordTableManager.java) (revision 36990) @@ -4,6 +4,8 @@ import java.util.Date; import java.util.List; import java.util.Map; +import java.util.regex.Matcher; +import java.util.regex.Pattern; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; @@ -22,6 +24,7 @@ import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethod; import com.forgon.disinfectsystem.entity.basedatamanager.cleanmethod.CleanMethodConsumptionVolume; import com.forgon.disinfectsystem.entity.basedatamanager.rinser.Rinser; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; import com.forgon.disinfectsystem.entity.washanddisinfectmanager.washanddisinfectrecord.WashAndDisinfectRecord; import com.forgon.disinfectsystem.washanddisinfectmanager.washanddisinfectrecord.service.WashAndDisinfectRecordManager; import com.forgon.tools.string.StringTools; @@ -46,6 +49,8 @@ private DateQueryAdapter dateQueryAdapter; + private final Pattern pat = Pattern.compile("[\\u4E00-\\u9FA5]+"); // 匹配中文字符的正则表达式 + public void setRinserManager(RinserManager rinserManager) { this.rinserManager = rinserManager; } @@ -126,6 +131,22 @@ String sql = "where po.orgUnitCoding = '" + AcegiHelper.getLoginUser() .getCurrentOrgUnitCode() + "'" + timeSql; + //ZSSXLRMYY-225 【清洗消毒】查询项“器械包名称” + String tousseName = sqlWhereParamMap.get("tousseName"); + if(StringUtils.isNotBlank(tousseName)){ + String tousseNameSql = ""; + Matcher m = pat.matcher(tousseName); + if (m.find()) { + tousseNameSql = "select td.id from " + TousseDefinition.class.getSimpleName() + " td where td.name like '%" + tousseName + "%'"; + }else{ + tousseNameSql = "select td.id from " + TousseDefinition.class.getSimpleName() + " td where td.name like '%" + tousseName + "%' " + + " or td.spelling like '%" + tousseName + "%' " + + " or td.wbCode like '%" + tousseName + "%' "; + } + sql += String.format(" and po.id in (select wdr.id from %s wdr join wdr.classifyBaskets cb join cb.classfiedItems ci where ci.tousseDefinitionID in(%s)) ", + WashAndDisinfectRecord.class.getSimpleName(), + tousseNameSql); + } String result = gridManager.renderGrid(parameterMap, WashAndDisinfectRecord.class .getSimpleName(), sql, new String[] {"classifyBaskets","washAndDisinfectMaterials","washAndDisinfectPictures"}); return resultBackHandler(result);