@Override public PagingLoadResult<GWTRecordedCase> GetGWTRecordedCasePageList( String sysId, String searchKey, PagingLoadConfig config) { try { List<GWTRecordedCase> returnList = new ArrayList<GWTRecordedCase>(); Op[] conditions; int count; List<RecordedCase> lst; List<Op> conList = new ArrayList<Op>(); conList.add(Op.EQ("systemId", Integer.parseInt(sysId))); if (config.get("date") != null) { String date = config.get("date"); conList.add(Op.LIKE("createTime", date)); } if (config.get("reponseFlag") != null) { if (!config.get("reponseFlag").equals("-1")) { conList.add( Op.EQ( GWTRecordedCase.N_ResponseFlag, Integer.parseInt(config.get("reponseFlag").toString()))); } } if (config.get("isCased") != null) { if (!config.get("isCased").equals("-1")) { conList.add( Op.EQ(GWTRecordedCase.N_IsCased, Integer.parseInt(config.get("isCased").toString()))); } } if (config.get("user") != null) { if (!config.get("user").equals("-1")) { conList.add(Op.EQ("recordUserId", Integer.parseInt(config.get("user").toString()))); } } conditions = new Op[conList.size()]; for (int i = 0; i < conList.size(); i++) { conditions[i] = conList.get(i); } if (searchKey.isEmpty()) { count = dataDao.Count(conditions); PageStartEnd pse = new PageStartEnd(config, count); lst = dataDao.List(pse.getStart(), pse.getEnd(), conditions); } else { String[] properties = {"requestMsg", "responseMsg", GWTRecordedCase.N_Memo}; count = dataDao.MatchCount(searchKey, properties, conditions); PageStartEnd pse = new PageStartEnd(config, count); lst = dataDao.Match(searchKey, properties, pse.getStart(), pse.getEnd(), conditions); } for (RecordedCase recrdCase : lst) { if (recrdCase != null) returnList.add(BeanToModel(recrdCase)); } return new BasePagingLoadResult<GWTRecordedCase>(returnList, config.getOffset(), count); } catch (Exception ex) { log.error(ex, ex); throw new RuntimeException(ex); } }