Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java =================================================================== diff -u -r23610 -r24002 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 23610) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/dwr/table/PackingTableManager.java (.../PackingTableManager.java) (revision 24002) @@ -324,6 +324,12 @@ String startDate = sqlWhereParamMap.get("startDateSearch"); String endDate = sqlWhereParamMap.get("endDateSearch"); String tousseBarcode = sqlWhereParamMap.get("tousseBarcode"); + // 任务组 + String taskGroups = sqlWhereParamMap.get("taskGroups"); + // 器械包类型 + String tousseTypes = sqlWhereParamMap.get("tousseTypes"); + // 器械包分组 + String tousseGroups = sqlWhereParamMap.get("tousseGroups"); JSONObject obj = new JSONObject(); obj.put("packer", packer); obj.put("packerNumber", packerNumber); @@ -332,6 +338,11 @@ obj.put("startDate", startDate); obj.put("endDate", endDate); obj.put("tousseBarcode", tousseBarcode); + + obj.put("taskGroups", taskGroups); + obj.put("tousseTypes", tousseTypes); + obj.put("tousseGroups", tousseGroups); + String sql = packingManager.getHistoryPackingRecordSql(obj); return gridManager.renderGrid(parameterMap, PackingRecord.class.getSimpleName(), sql, Index: ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java =================================================================== diff -u -r23872 -r24002 --- ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 23872) +++ ssts-packing/src/main/java/com/forgon/disinfectsystem/packing/service/PackingManagerImpl.java (.../PackingManagerImpl.java) (revision 24002) @@ -12,6 +12,7 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Arrays; import java.util.Calendar; import java.util.Collection; import java.util.Collections; @@ -6728,6 +6729,12 @@ String startDate = JSONUtil.optString(obj, "startDate", null); String endDate = JSONUtil.optString(obj, "endDate", null); String tousseBarcode = JSONUtil.optString(obj, "tousseBarcode", null); + // 任务组 + String taskGroups = JSONUtil.optString(obj, "taskGroups", null); + // 器械包类型 + String tousseTypes = JSONUtil.optString(obj, "tousseTypes", null); + // 器械包分组 + String tousseGroups = JSONUtil.optString(obj, "tousseGroups", null); boolean SSTS_SelectAllPackingRecord = operationManager.isCurrentUserHaveAnyOperation(Operation.SSTS_SelectAllPackingRecord); String sql = " where po.orgUnitCoding = '" @@ -6785,6 +6792,18 @@ if (StringUtils.isNotBlank(tousseBarcode)) { sql += String.format(" and po.id in (select packingRecord_id from %s where barcode='%s' and packingRecord_id is not null) " , TousseInstance.class.getSimpleName(),tousseBarcode); } + if (StringUtils.isNotBlank(taskGroups)) { + sql += String.format(" and %s ", SqlUtils.getStringFieldInLargeCollectionsPredicate("po.taskGroup", Arrays.asList(taskGroups.split(",")))); + } + if (StringUtils.isNotBlank(tousseTypes)) { + sql += String.format(" and %s ", SqlUtils.getStringFieldInLargeCollectionsPredicate("po.tousseType", Arrays.asList(tousseTypes.split(",")))); + } + if (StringUtils.isNotBlank(tousseGroups)) { + String tdSql = String.format(" select po.id from %s po where %s and po.forDisplay=true",TousseDefinition.class.getSimpleName(),SqlUtils.getStringFieldInLargeCollectionsPredicate("po.tousseGroupName", Arrays.asList(tousseGroups.split(",")))); + List list = (List)objectDao.findByHql(tdSql); + + sql += String.format(" and po.tousseDefinitionId in(select id from %s where %s or %s) " ,TousseDefinition.class.getSimpleName(),SqlUtils.getNonStringFieldInLargeCollectionsPredicate("id", list),SqlUtils.getNonStringFieldInLargeCollectionsPredicate("ancestorID", list)); + } return sql; } @Override